@charset "UTF-8";
/*!
Theme Name: Expedite Health
Theme URI: https://expeditehealth.com/
Author: Underdog Design
Author URI: https://www.underdogdesign.co.uk
Tags: light, responsive-layout
Description: A bespoke theme designed and developed for Expedite Health based on the Underdog Boilerplate.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: exphealth
Domain Path: /languages/

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

underdog Boilerplate is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.

Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
and Blueprint http://www.blueprintcss.org/

Do not remove the below styles. Needed to pass the 'theme check'.*/
.sticky,
.gallery-caption,
.bypostauthor {
  text-align: left;
}

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS
----------------------------------------------------------------
1.0 - Global
2.0 - Modules
3.0 - Theme
4.0 - Packages
--------------------------------------------------------------*/
/*--------------------------------------------------------------
1.0 Global
--------------------------------------------------------------*/
/* Mixins */
/* Global Styles */
:root {
  --bgcol: "";
  --bgimg: "";
}

/* Reset */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  overflow-y: scroll;
  box-sizing: border-box;
  height: 100%;
  font-size: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smooth: antialiased;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

*,
*:before,
*:after {
  box-sizing: inherit;
  padding: 0;
  margin: 0;
}

.js-loading *,
.js-loading *:before,
.js-loading *:after {
  animation-play-state: paused !important;
}

body {
  height: 100%;
  font-family: "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #07415a;
  background: #ffffff;
}
@media only screen and (min-width: 768px) {
  body {
    font-size: 1rem;
    line-height: 1.7;
  }
}

img {
  display: block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  border: 0;
  -ms-interpolation-mode: bicubic;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: separate;
  border-spacing: 0;
}

caption,
th,
td {
  font-weight: normal;
  text-align: left;
}

blockquote:before, blockquote:after,
q:before,
q:after {
  content: "";
}

blockquote,
q {
  quotes: "" "";
}

/* Clearings */
.wrapper:before, .wrapper:after,
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after,
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.wrapper:before, .wrapper:after,
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after,
.clearfix:before,
.clearfix:after {
  clear: both;
}

/* Content */
.byline,
.updated {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.entry-content ul:not(.slick-dots):not(.list__list) {
  font-weight: 500;
}
.entry-content ul:not(.slick-dots):not(.list__list) li {
  list-style: disc;
  margin-bottom: 8px;
}
.entry-content ul:last-child {
  margin-bottom: 0;
}
.entry-content ol {
  list-style: none;
  counter-reset: rhfc-counter;
  margin: 0;
  padding-bottom: 16px;
}
.entry-content ol > li {
  list-style: none;
  counter-increment: rhfc-counter;
  padding-left: 48px;
  margin-bottom: 16px;
  position: relative;
}
.entry-content ol > li::before {
  content: "";
  width: 0;
  height: 0;
  -webkit-animation-duration: 0.3s;
  -moz-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInLeftSmall;
  -moz-animation-name: fadeInLeftSmall;
  animation-name: fadeInLeftSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  animation-delay: 0.3s;
  border-top: 1.4em solid transparent;
  border-left: 2em solid #fdb415;
  border-bottom: 1.4em solid transparent;
  position: absolute;
  left: 24px;
  top: 0.5em;
}
.entry-content ol > li:after {
  position: absolute;
  content: counter(rhfc-counter);
  font-weight: bold;
  color: #07415a;
  left: 30px;
  top: 1em;
}

/* Asides */
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
  display: none;
}

/* Comments */
.comment-content a {
  word-wrap: break-word;
}

/* Media */
.page-content img.wp-smiley,
.entry-content img.wp-smiley,
.comment-content img.wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers */
embed,
iframe,
object {
  max-width: 100%;
}

/* Screen Reader Text */
.srt,
.screen-reader-text {
  position: absolute !important;
  left: -999em;
}

/* Alignment */
.alignleft {
  float: left;
}

.alignright {
  float: right;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

blockquote.alignleft,
figure.wp-caption.alignleft,
img.alignleft {
  margin: 7px 24px 7px 0;
}

.wp-caption.alignleft {
  margin: 7px 14px 7px 0;
}

blockquote.alignright,
figure.wp-caption.alignright,
img.alignright {
  margin: 7px 0 7px 24px;
}

.wp-caption.alignright {
  margin: 7px 0 7px 14px;
}

blockquote.aligncenter,
img.aligncenter,
.wp-caption.aligncenter {
  margin-top: 7px;
  margin-bottom: 7px;
}

.site-content blockquote.alignleft,
.site-content blockquote.alignright {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 17px;
  width: 50%;
}

.site-content blockquote.alignleft p,
.site-content blockquote.alignright p {
  margin-bottom: 17px;
}

.wp-caption {
  margin-bottom: 24px;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin: 0;
}

.wp-caption {
  color: #767676;
}

.wp-caption-text {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 12px;
  font-style: italic;
  line-height: 1.5;
  margin: 9px 0;
}

div.wp-caption .wp-caption-text {
  padding-right: 10px;
}

div.wp-caption.alignright img[class*=wp-image-],
div.wp-caption.alignright .wp-caption-text {
  padding-left: 10px;
  padding-right: 0;
}

.wp-smiley {
  border: 0;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/*  Captions */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin: 0 auto;
}

.wp-caption-text {
  text-align: center;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

/* Forms */
input::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
  color: currentColor;
}

/* Firefox 19+ */
input:-moz-placeholder,
textarea:-moz-placeholder,
select:-moz-placeholder {
  color: currentColor;
}

/* Firefox 18- */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
  color: currentColor;
}

/* IE */
input::-webkit-input-placeholder,
select::-webkit-input-placeholder {
  color: currentColor;
}

textarea::-webkit-input-placeholder {
  color: currentColor;
}

/* Forms */
button,
input,
select,
textarea {
  font-size: 14px;
  margin: 0;
  vertical-align: baseline;
  font-family: "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif;
  line-height: inherit;
}

select {
  border: 3px solid #07415a;
  height: 52px;
  border-radius: 3px;
  padding: 0 16px;
  background-color: #fff;
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button;
  padding: 5px 32px;
  outline: none;
}

input[type=checkbox],
input[type=radio] {
  padding: 0;
}

input[type=search] {
  -webkit-appearance: textfield;
  /*-webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;*/
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=password],
input[type=search],
textarea {
  color: #07415a;
  border: 0;
  border-bottom: 3px solid #07415a;
  transition: border-color 0.3s;
  width: 100%;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
textarea:focus {
  color: #07415a;
  border-color: #fdb415;
  outline: 0;
}

input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=password],
input[type=search] {
  padding: 0 16px;
  height: 52px;
}

textarea {
  overflow: auto;
  padding: 16px;
  vertical-align: top;
  width: 100%;
  border: 3px solid #07415a;
  background-color: #fff;
  border-radius: 3px;
}

input[type=file] {
  max-width: 100%;
}

/* Widget */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

.widget_search .search-submit {
  display: none;
}

a {
  color: #fdb415;
  text-decoration: none;
  background: transparent;
  cursor: pointer;
  font-weight: 600;
}
a:hover, a:focus, a:active {
  outline: 0;
  text-decoration: underline;
}

p {
  margin-bottom: 2rem;
  font-size: 14px;
  line-height: 1.8;
}
@media screen and (min-width: 1024px) {
  p {
    font-size: 16px;
    line-height: 1.8;
  }
}

.p-small {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 16px;
}

.preheading {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.8;
  text-transform: uppercase;
  color: #83a0ac;
  letter-spacing: 0.2em;
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  .preheading {
    font-size: 16px;
    line-height: 1.8;
  }
}

h1:not(.no-tri),
.h1:not(.no-tri) {
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 2rem;
  position: relative;
}
@media screen and (min-width: x-small) {
  h1:not(.no-tri),
.h1:not(.no-tri) {
    font-size: 36px;
    line-height: 1.2;
  }
}
@media screen and (min-width: 1024px) {
  h1:not(.no-tri),
.h1:not(.no-tri) {
    font-size: 48px;
    line-height: 1;
  }
}
h1:not(.no-tri).has-tri:before,
.h1:not(.no-tri).has-tri:before {
  top: 10px;
  left: -23px;
  width: 0;
  height: 0;
  -webkit-animation-duration: 0.3s;
  -moz-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInLeftSmall;
  -moz-animation-name: fadeInLeftSmall;
  animation-name: fadeInLeftSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  animation-delay: 0.3s;
  border-top: 0.25em solid transparent;
  border-left: 0.5em solid #fdb415;
  border-bottom: 0.25em solid transparent;
  content: "";
  position: absolute;
}
@media only screen and (min-width: 768px) {
  h1:not(.no-tri).has-tri:before,
.h1:not(.no-tri).has-tri:before {
    top: 15px;
    left: -32px;
  }
}
.section-header.align-center h1:not(.no-tri).has-tri:after, .hero-image.align-center h1:not(.no-tri).has-tri:after,
.section-header.align-center .h1:not(.no-tri).has-tri:after,
.hero-image.align-center .h1:not(.no-tri).has-tri:after {
  top: 10px;
  right: -16px;
  width: 0;
  height: 0;
  -webkit-animation-duration: 0.3s;
  -moz-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInLeftSmall;
  -moz-animation-name: fadeInLeftSmall;
  animation-name: fadeInLeftSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  animation-delay: 0.3s;
  border-top: 0.25em solid transparent;
  border-right: 0.5em solid #fdb415;
  border-bottom: 0.25em solid transparent;
  content: "";
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .section-header.align-center h1:not(.no-tri).has-tri:after, .hero-image.align-center h1:not(.no-tri).has-tri:after,
.section-header.align-center .h1:not(.no-tri).has-tri:after,
.hero-image.align-center .h1:not(.no-tri).has-tri:after {
    top: 15px;
    right: -32px;
  }
}

.fz-hero {
  font-size: 26px;
  line-height: 0.93;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: 800;
  margin-bottom: 2rem;
  position: relative;
}
@media screen and (min-width: x-small) {
  .fz-hero {
    font-size: 36px;
    line-height: 0.93;
  }
}
@media screen and (min-width: small) {
  .fz-hero {
    font-size: 48px;
    line-height: 0.93;
  }
}
@media screen and (min-width: 1024px) {
  .fz-hero {
    font-size: 54px;
    line-height: 0.93;
  }
}

h2,
.h2 {
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-size: 24px;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  h2,
.h2 {
    font-size: 28px;
    line-height: 1.1;
  }
}
@media screen and (min-width: 1200px) {
  h2,
.h2 {
    font-size: 36px;
    line-height: 1.1;
  }
}

h3,
.h3 {
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  h3,
.h3 {
    font-size: 22px;
    line-height: 1.3;
  }
}

ul,
ol {
  margin-bottom: 2rem;
  margin-left: 32px;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin: 0 2rem;
}

b,
strong {
  font-weight: bold;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font: 15px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

sup,
sub {
  font-size: 75%;
  height: 0;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

small {
  font-size: 75%;
}

big {
  font-size: 125%;
}

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT
Copyright (c) 2014 Daniel Eden
*/
@keyframes wipeUp {
  0% {
    transform: scaleY(1);
  }
  100% {
    transform: scaleY(0);
  }
}
@keyframes wipeRight {
  0% {
    clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
  }
  10% {
    clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
}
@keyframes zoomIn {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
@keyframes bob {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-12px);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRightVSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3%, 0, 0);
    transform: translate3d(3%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightVSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3%, 0, 0);
    transform: translate3d(3%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInRightSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInLeftSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-webkit-keyframes fadeInUpSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes welcomeIntro {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0) rotate(90deg);
    transform: translate3d(0, 10%, 0) rotate(90deg);
  }
  100% {
    opacity: 0.6;
    -webkit-transform: translate3d(0, 0, 0) rotate(90deg);
    transform: translate3d(0, 0, 0) rotate(90deg);
  }
}
@-webkit-keyframes fadeInUpVSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 5%, 0);
    transform: translate3d(0, 5%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpVSmall {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 5%, 0);
    transform: translate3d(0, 5%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpSmall {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
}
@keyframes fadeOutUpSmall {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
}
@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@keyframes sliderOval1 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(10%, 5%, 0) scale(0.95) rotate(0deg);
    transform: translate3d(10%, 5%, 0) scale(0.95) rotate(0deg);
  }
  100% {
    opacity: 0.9;
    -webkit-transform: translate3d(0, 0, 0) scale(1) rotate(16deg);
    transform: translate3d(0, 0, 0) scale(1) rotate(16deg);
  }
}
@keyframes sliderOval2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-5%, -5%, 0) scale(0.95) rotate(0deg);
    transform: translate3d(-5%, -5%, 0) scale(0.95) rotate(0deg);
  }
  100% {
    opacity: 0.2;
    -webkit-transform: translate3d(0, 0, 0) scale(1) rotate(16deg);
    transform: transtranslate3d(0, 0, 0) scale(1) rotate(16deg);
  }
}
/*--------------------------------------------------------------
2.0 Theme
--------------------------------------------------------------*/
.wrap {
  max-width: 1256px;
  margin: 0 auto;
  padding: 0 32px;
  width: 100%;
}
.wrap--narrow {
  max-width: 720px;
  padding: 0 32px;
}
@media only screen and (min-width: 1200px) {
  .wrap {
    max-width: 1440px;
  }
  .wrap--narrow {
    max-width: 850px;
  }
}

.site-main {
  position: relative;
  z-index: 2;
}
.site-main > section {
  padding: 32px;
  overflow: hidden;
}
.site-main > section.spacer {
  padding: 0;
}
.site-main > section.bg--:not(.spacer), .site-main > section.bg--none {
  padding: 32px 0;
}

#primary {
  display: grid;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 1024px) {
  #primary {
    gap: 32px;
    grid-template-columns: 360px 1fr;
    gap: 64px;
  }
}
@media only screen and (min-width: 1200px) {
  #primary {
    grid-template-columns: 360px 1fr;
  }
}
@media only screen and (min-width: 1400px) {
  #primary {
    gap: 128px;
  }
}

section {
  padding: 32px 0;
  position: relative;
}
@media only screen and (min-width: 1024px) {
  section {
    padding: 64px 0;
  }
}

.section {
  padding: 32px 0;
  position: relative;
}
.section__inner {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 1024px) {
  .section {
    padding: 64px 0;
  }
}
.section__background {
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
}

.sidebar {
  order: 1;
}
@media only screen and (min-width: 1024px) {
  .sidebar {
    order: 0;
  }
}
.sidebar__pages {
  padding-top: 32px;
  position: sticky;
  top: 80px;
}
.sidebar__list {
  margin: 0;
  margin-bottom: 32px;
}
.sidebar__list li {
  margin-bottom: 16px;
}
.sidebar__list a {
  width: 100%;
  text-align: left;
}

/* Helper styles */
.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.align-center {
  text-align: center;
}

.align-justify {
  text-align: justify;
}

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.clearfix {
  *zoom: 1;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.c--none {
  color: "none" !important;
}

.c--white {
  color: #ffffff !important;
}

.c--black {
  color: #0d1a2d !important;
}

.c--yellow {
  color: #fdb415 !important;
}

.c--lblue {
  color: #83a0ac !important;
}

.c--dblue {
  color: #07415a !important;
}

.c--grey {
  color: #5e6772 !important;
}

.c--lgrey {
  color: #aeb3b8 !important;
}

.c--xlgrey {
  color: #f4f4f4 !important;
}

.c--red {
  color: #fc0002 !important;
}

.bg--none {
  background-color: "none";
}
.bg--white {
  background-color: #ffffff;
  color: #07415a;
}
.bg--white h1,
.bg--white .h1,
.bg--white h2,
.bg--white .h2,
.bg--white > h3,
.bg--white > .h3 {
  color: #07415a;
}
.bg--black {
  background-color: #0d1a2d;
  color: #fff;
}
.bg--black a:not([class*=button]) {
  color: #fdb415;
}
.bg--black h1,
.bg--black .h1,
.bg--black h2,
.bg--black .h2 {
  color: #fff;
}
.bg--yellow {
  background-color: #fdb415;
  color: #fff;
}
.bg--yellow a:not([class*=button]) {
  color: #fdb415;
}
.bg--yellow h1,
.bg--yellow .h1,
.bg--yellow h2,
.bg--yellow .h2 {
  color: #fff;
}
.bg--lblue {
  background-color: #83a0ac;
  color: #fff;
}
.bg--lblue a:not([class*=button]) {
  color: #fdb415;
}
.bg--lblue h1,
.bg--lblue .h1,
.bg--lblue h2,
.bg--lblue .h2 {
  color: #fff;
}
.bg--dblue {
  background-color: #07415a;
  color: #fff;
}
.bg--dblue a:not([class*=button]) {
  color: #fdb415;
}
.bg--dblue h1,
.bg--dblue .h1,
.bg--dblue h2,
.bg--dblue .h2 {
  color: #fff;
}
.bg--grey {
  background-color: #5e6772;
  color: #fff;
}
.bg--grey a:not([class*=button]) {
  color: #fdb415;
}
.bg--grey h1,
.bg--grey .h1,
.bg--grey h2,
.bg--grey .h2 {
  color: #fff;
}
.bg--lgrey {
  background-color: #aeb3b8;
  color: #07415a;
}
.bg--lgrey h1,
.bg--lgrey .h1,
.bg--lgrey h2,
.bg--lgrey .h2,
.bg--lgrey > h3,
.bg--lgrey > .h3 {
  color: #07415a;
}
.bg--xlgrey {
  background-color: #f4f4f4;
  color: #07415a;
}
.bg--xlgrey h1,
.bg--xlgrey .h1,
.bg--xlgrey h2,
.bg--xlgrey .h2,
.bg--xlgrey > h3,
.bg--xlgrey > .h3 {
  color: #07415a;
}
.bg--red {
  background-color: #fc0002;
  color: #fff;
}
.bg--red a:not([class*=button]) {
  color: #fdb415;
}
.bg--red h1,
.bg--red .h1,
.bg--red h2,
.bg--red .h2 {
  color: #fff;
}
.bg--gradient-black {
  background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, #000 100%);
}

.has-bg-img {
  color: #fff;
}

.f--none {
  fill: "none";
}

.f--white {
  fill: #ffffff;
}

.f--black {
  fill: #0d1a2d;
}

.f--yellow {
  fill: #fdb415;
}

.f--lblue {
  fill: #83a0ac;
}

.f--dblue {
  fill: #07415a;
}

.f--grey {
  fill: #5e6772;
}

.f--lgrey {
  fill: #aeb3b8;
}

.f--xlgrey {
  fill: #f4f4f4;
}

.f--red {
  fill: #fc0002;
}

.gradient-black {
  background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, #000 100%);
}

.ff2 {
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
}

.m-none {
  margin: 0 !important;
}

.mb-none {
  margin-bottom: 0 !important;
}

.mb-half {
  margin-bottom: 16px !important;
}

.mb-qtr {
  margin-bottom: 8px !important;
}

.mb {
  margin-bottom: 32px !important;
}

.mb-2x {
  margin-bottom: 64px !important;
}

.mt-half {
  margin-top: 16px !important;
}

.mt {
  margin-top: 32px !important;
}

.mt-2x {
  margin-top: 64px !important;
}

.p-none {
  padding: 0 !important;
}

.p-all {
  padding: 32px !important;
}

.p-half {
  padding: 16px !important;
}

.pt-none {
  padding-top: 0 !important;
}

.pt-half {
  padding-top: 16px !important;
}

.pt {
  padding-top: 32px !important;
}

.pt-2x {
  padding-top: 64px !important;
}

.pt-4x {
  padding-top: 128px !important;
}

.pb-none {
  padding-bottom: 0 !important;
}

.pb-half {
  padding-bottom: 16px !important;
}

.pb-half {
  padding-bottom: 16px !important;
}

.pb {
  padding-bottom: 32px !important;
}

.pb-2x {
  padding-bottom: 64px !important;
}

.pb-4x {
  padding-bottom: 128px !important;
}

.pl {
  padding-left: 32px !important;
}

.pl-2x {
  padding-left: 64px !important;
}

.pl-4x {
  padding-left: 128px !important;
}

.mob-only {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .mob-only {
    display: block;
  }
}

@media only screen and (max-width: 1023px) {
  .dt-only {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .to-tab {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .from-tab {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  .from-tab {
    display: block !important;
  }
}

.db {
  display: block;
}

.dib {
  display: inline-block;
}

.df {
  display: flex;
}
.df--col {
  flex-direction: column;
}

.has-icon {
  display: flex;
  gap: 8px;
  align-items: center;
}
.has-icon svg {
  fill: currentColor;
}

.lh--normal {
  line-height: normal;
}

.tt-upper {
  text-transform: uppercase;
}

.overflow-h {
  overflow: hidden;
}

@media only screen and (max-width: 598px) {
  .order-1 {
    order: 1;
  }
}
@media only screen and (min-width: 599px) {
  .order-1-sm {
    order: 1;
  }
}

@media only screen and (max-width: 598px) {
  .order-2 {
    order: 2;
  }
}
@media only screen and (min-width: 599px) {
  .order-2-sm {
    order: 2;
  }
}

.posr {
  position: relative;
}

.image-as-bg {
  object-fit: cover;
  object-position: right;
  width: 100%;
  height: 100%;
}

.bg-image--full img {
  object-fit: cover;
  object-position: right;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 768px) {
  .bg-image--half img {
    width: 50%;
  }
}

.image-contain {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.has-divider {
  position: relative;
}
.has-divider:before {
  width: 80%;
  max-width: 700px;
  height: 3px;
  content: "";
  display: block;
  border-radius: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.has-divider.bg--white::before {
  background-color: #07415a;
}
.has-divider.bg--black::before {
  background-color: #fff;
}
.has-divider.bg--yellow::before {
  background-color: #fff;
}
.has-divider.bg--lblue::before {
  background-color: #fff;
}
.has-divider.bg--dblue::before {
  background-color: #fff;
}
.has-divider.bg--grey::before {
  background-color: #fff;
}
.has-divider.bg--lgrey::before {
  background-color: #07415a;
}
.has-divider.bg--xlgrey::before {
  background-color: #07415a;
}
.has-divider.bg--red::before {
  background-color: #fff;
}
.has-divider.bg--none:before {
  background-color: #07415a;
}

.button-set {
  display: flex;
  gap: 16px;
  flex-direction: column;
}
@media only screen and (min-width: 599px) {
  .button-set {
    flex-direction: row;
  }
}

.tick-list {
  margin: 0;
}
.tick-list li {
  list-style: none !important;
  position: relative;
  padding-left: 32px;
  margin-bottom: 16px;
}
.tick-list li:before {
  content: "";
  width: 22px;
  height: 22px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 4px;
  left: 0;
}

.js-visible {
  transition: opacity 0.5s, transform 1s ease-in-out;
}

/*--------------------------------------------------------------
3.0 Modules
--------------------------------------------------------------*/
.main-navigation {
  display: flex;
  transition: 0.3s background-color;
  align-items: center;
}
.home .main-navigation {
  background-color: transparent;
}
@media only screen and (max-width: 1023px) {
  .main-navigation {
    display: none;
  }
}
.main-navigation > div {
  display: flex;
  flex: 1;
}
@media only screen and (min-width: 1024px) {
  .main-navigation > div > ul > li {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .main-navigation > div > ul > li.has-columns {
    position: static;
  }
  .main-navigation > div > ul > li.menu-item-has-children > .main-navigation__submenu-toggle {
    display: inline-block;
    transition: transform 0.2s;
  }
  [stuck] .main-navigation > div > ul > li.menu-item-has-children > .main-navigation__submenu-toggle {
    fill: #07415a;
  }
  .main-navigation > div > ul > li > a {
    font-weight: bold;
    font-family: "Titillium Web", "Lucida Grande", sans-serif;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    display: block;
    color: #fff;
    white-space: nowrap;
    transition: color 0.2s cubic-bezier(0.46, 0.96, 0.43, 0.94) 0.2s;
    position: relative;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
  }
  .main-navigation > div > ul > li > a:before {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translate(-50%) scaleX(0);
    transform-origin: left;
    opacity: 0;
    transition: transform 0.3s 0.1s, opacity 0.3s;
    background-color: #fdb415;
    width: 100%;
    border-radius: 10px;
    height: 2px;
    line-height: 1;
  }
  .home .main-navigation > div > ul > li > a {
    color: #fff;
  }
  [stuck] .main-navigation > div > ul > li > a {
    color: #07415a;
  }
  .is-fixed .main-navigation > div > ul > li > a {
    transform: translateY(12px);
  }
  .main-navigation > div > ul > li:hover .mega-menu-panel {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transition-delay: 0s;
  }
  .main-navigation > div > ul > li:hover .mega-menu-panel__inner {
    transform: none;
    transition-delay: 0s;
  }
  .main-navigation > div > ul > li:hover .mega-menu-panel:before {
    transform: scaleY(1);
    opacity: 1;
    transition-delay: 0s;
  }
  .main-navigation > div > ul > li:hover > a:not([class^=pm-button]) {
    transition-delay: 0s;
    color: #fdb415;
  }
  .main-navigation > div > ul > li:hover > a:not([class^=pm-button]):before {
    opacity: 1;
    transform: translate(-50%) scaleX(1);
    transition: transform 0.3s 0s, opacity 0.3s;
  }
  .main-navigation > div > ul > li:hover .main-navigation__submenu-toggle svg {
    transition-delay: 0s;
    fill: #fdb415;
  }
  .main-navigation > div > ul > li.menu-item-has-children > a {
    position: relative;
    float: left;
  }
}
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
@media only screen and (min-width: 1024px) {
  .main-navigation ul {
    display: flex;
    flex: 1;
    gap: 32px;
  }
  .no-flexbox .main-navigation ul {
    display: inline-block;
  }
}
.main-navigation ul a {
  display: block;
  text-decoration: none;
}
.main-navigation ul li:nth-child(n+4) .sub-menu.level-0 {
  right: 0;
  left: auto;
}
.main-navigation ul li:hover > .sub-menu.level-0 {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s;
}
.main-navigation ul li .sub-menu.level-0 {
  background: #fff;
  padding: 0;
  position: absolute;
  z-index: 99999;
  transition: visibility 0s linear 0.4s, opacity 0.4s cubic-bezier(0.46, 0.96, 0.43, 0.94) 0.2s;
  opacity: 0;
  visibility: hidden;
  left: 0;
  top: 100%;
  margin-top: 16px;
  box-shadow: 0 9px 9px rgba(0, 0, 0, 0.14);
  display: block;
  width: 470px;
  border-radius: 20px;
  border-top-left-radius: 0;
}
.main-navigation ul li .sub-menu.level-0.sub-menu--list-style {
  display: block;
  width: auto;
  min-width: 250px;
}
.main-navigation ul li .sub-menu.level-0.sub-menu--list-style li {
  margin-bottom: 8px;
}
.main-navigation ul li .sub-menu.level-0.sub-menu--list-style li a {
  font-size: 14px;
}
.main-navigation ul li .sub-menu.level-0 li.current-menu-item a:hover {
  color: #07415a;
}
.main-navigation ul li .sub-menu.level-0 a {
  color: #0d1a2d;
  transition: color 0.2s, background-color 0.2s;
  padding: 16px 16px 16px 32px;
}
.main-navigation ul li .sub-menu.level-0 a:after {
  content: ">";
  margin-left: 16px;
  transition: transform 0.2s;
  display: inline-block;
  transform: scaleX(0.6);
}
.main-navigation ul li .sub-menu.level-0 a:hover {
  background-color: #fdb415;
}
.main-navigation ul li .sub-menu.level-0 a:hover:after {
  transform: translateX(8px);
}
.main-navigation ul li .sub-menu.level-0 li:first-child a {
  border-top-right-radius: 20px;
}
.main-navigation ul li .sub-menu.level-0 li:last-child a {
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.main-navigation ul li .sub-menu.level-0 > li.menu-item-has-children {
  position: relative;
}
.main-navigation ul li .sub-menu.level-0 > li.menu-item-has-children > a > .menu-item__title {
  margin-bottom: 16px;
  display: inline-block;
}
.main-navigation ul li .sub-menu.level-0 > li.menu-item-has-children:hover .sub-menu.level-1 {
  opacity: 1;
  transform: none;
}
.main-navigation ul li .sub-menu.level-0 .sub-menu.level-1 {
  display: block;
  position: absolute;
  width: 320px;
  background-color: #fff;
  top: -16px;
  padding: 16px;
  left: 105%;
  opacity: 0;
  transition: transform 0.2s, opacity 0.2s;
  transform: translateX(50%);
  box-shadow: 0 0px 9px rgba(0, 0, 0, 0.14);
}
.main-navigation ul li .sub-menu.level-0 .sub-menu.level-1 li {
  margin-bottom: 8px;
}
.main-navigation__submenu-toggle {
  display: none;
}
.main-navigation__submenu-toggle svg {
  transition: fill 0.4s cubic-bezier(0.46, 0.96, 0.43, 0.94) 0.2s;
  fill: #fff;
  width: 12px;
  height: 12px;
}
[stuck] .main-navigation__submenu-toggle svg {
  fill: #07415a;
}

.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current-page-ancestor > a {
  color: #fdb415;
}
.is-fixed .main-navigation .current_page_item > a,
.is-fixed .main-navigation .current-menu-item > a,
.is-fixed .main-navigation .current-page-ancestor > a {
  color: #fdb415;
}
.main-navigation .current_page_item svg,
.main-navigation .current-menu-item svg,
.main-navigation .current-page-ancestor svg {
  fill: #fdb415;
}
.is-fixed .main-navigation .current_page_item svg,
.is-fixed .main-navigation .current-menu-item svg,
.is-fixed .main-navigation .current-page-ancestor svg {
  fill: #fdb415;
}

/* Cookies Table */
#cookies-table {
  border-collapse: collapse;
  border: 1px solid #e7e7e7;
  border-top: 0;
  border-left: 0;
  text-align: left;
}

#cookies-table td, #cookies-table th {
  border-top: 1px solid #e7e7e7;
  border-left: 1px solid #e7e7e7;
  padding: 5px;
}

#cookies-table thead th {
  vertical-align: middle;
  background: #f7f7f7;
}

#cookies-table tbody td {
  vertical-align: top;
}

.button {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #fdb415;
  border: 2px solid #fdb415;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button:hover {
  background: #dd9802;
  border-color: #dd9802;
  text-decoration: none;
}
.button--solid--none {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: "none";
  border: 2px solid "none";
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--none {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid "none";
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: "none";
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--none:hover {
  background: "none";
  color: #fff;
  border-color: "none";
  text-decoration: none;
}
.button--white {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #ffffff;
  border: 2px solid #ffffff;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #07415a;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--white:hover {
  background: #e6e6e6;
  border-color: #e6e6e6;
  text-decoration: none;
}
.button--solid--white {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #ffffff;
  border: 2px solid #ffffff;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--white:hover {
  background: #e6e6e6;
  border-color: #e6e6e6;
  text-decoration: none;
}
.button--ghost--white {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid #ffffff;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #ffffff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--white:hover {
  background: #ffffff;
  color: #fff;
  border-color: #ffffff;
  text-decoration: none;
}
.button--black {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #0d1a2d;
  border: 2px solid #0d1a2d;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--black:hover {
  background: #020305;
  border-color: #020305;
  text-decoration: none;
}
.button--solid--black {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #0d1a2d;
  border: 2px solid #0d1a2d;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--black:hover {
  background: #020305;
  border-color: #020305;
  text-decoration: none;
}
.button--ghost--black {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid #0d1a2d;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #0d1a2d;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--black:hover {
  background: #0d1a2d;
  color: #fff;
  border-color: #0d1a2d;
  text-decoration: none;
}
.button--yellow {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #fdb415;
  border: 2px solid #fdb415;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--yellow:hover {
  background: #dd9802;
  border-color: #dd9802;
  text-decoration: none;
}
.button--yellow:hover {
  background-color: #0d1a2d;
  color: #fdb415;
  border-color: #0d1a2d;
}
.button--solid--yellow {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #fdb415;
  border: 2px solid #fdb415;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--yellow:hover {
  background: #dd9802;
  border-color: #dd9802;
  text-decoration: none;
}
.button--ghost--yellow {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid #fdb415;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fdb415;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--yellow:hover {
  background: #fdb415;
  color: #fff;
  border-color: #fdb415;
  text-decoration: none;
}
.button--lblue {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #83a0ac;
  border: 2px solid #83a0ac;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--lblue:hover {
  background: #658897;
  border-color: #658897;
  text-decoration: none;
}
.button--solid--lblue {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #83a0ac;
  border: 2px solid #83a0ac;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--lblue:hover {
  background: #658897;
  border-color: #658897;
  text-decoration: none;
}
.button--ghost--lblue {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid #83a0ac;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #83a0ac;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--lblue:hover {
  background: #83a0ac;
  color: #fff;
  border-color: #83a0ac;
  text-decoration: none;
}
.button--dblue {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #07415a;
  border: 2px solid #07415a;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--dblue:hover {
  background: #031f2b;
  border-color: #031f2b;
  text-decoration: none;
}
.button--dblue:hover {
  background-color: #0d1a2d;
  color: #fdb415;
  border-color: #0d1a2d;
}
.button--solid--dblue {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #07415a;
  border: 2px solid #07415a;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--dblue:hover {
  background: #031f2b;
  border-color: #031f2b;
  text-decoration: none;
}
.button--ghost--dblue {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid #07415a;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #07415a;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--dblue:hover {
  background: #07415a;
  color: #fff;
  border-color: #07415a;
  text-decoration: none;
}
.button--grey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #5e6772;
  border: 2px solid #5e6772;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--grey:hover {
  background: #474e56;
  border-color: #474e56;
  text-decoration: none;
}
.button--solid--grey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #5e6772;
  border: 2px solid #5e6772;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--grey:hover {
  background: #474e56;
  border-color: #474e56;
  text-decoration: none;
}
.button--ghost--grey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid #5e6772;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #5e6772;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--grey:hover {
  background: #5e6772;
  color: #fff;
  border-color: #5e6772;
  text-decoration: none;
}
.button--lgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #aeb3b8;
  border: 2px solid #aeb3b8;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #07415a;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--lgrey:hover {
  background: #939aa0;
  border-color: #939aa0;
  text-decoration: none;
}
.button--solid--lgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #aeb3b8;
  border: 2px solid #aeb3b8;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--lgrey:hover {
  background: #939aa0;
  border-color: #939aa0;
  text-decoration: none;
}
.button--ghost--lgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid #aeb3b8;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #aeb3b8;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--lgrey:hover {
  background: #aeb3b8;
  color: #fff;
  border-color: #aeb3b8;
  text-decoration: none;
}
.button--xlgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #f4f4f4;
  border: 2px solid #f4f4f4;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #07415a;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--xlgrey:hover {
  background: #dbdbdb;
  border-color: #dbdbdb;
  text-decoration: none;
}
.button--solid--xlgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #f4f4f4;
  border: 2px solid #f4f4f4;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--xlgrey:hover {
  background: #dbdbdb;
  border-color: #dbdbdb;
  text-decoration: none;
}
.button--ghost--xlgrey {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid #f4f4f4;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #f4f4f4;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--xlgrey:hover {
  background: #f4f4f4;
  color: #fff;
  border-color: #f4f4f4;
  text-decoration: none;
}
.button--red {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #fc0002;
  border: 2px solid #fc0002;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--red:hover {
  background: #c90002;
  border-color: #c90002;
  text-decoration: none;
}
.button--solid--red {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: #fc0002;
  border: 2px solid #fc0002;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fff;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--solid--red:hover {
  background: #c90002;
  border-color: #c90002;
  text-decoration: none;
}
.button--ghost--red {
  -webkit-appearance: none;
  display: inline-block;
  text-align: center;
  padding: 9px 32px;
  text-decoration: none;
  background: none;
  border: 2px solid #fc0002;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  line-height: 1;
  font-size: 16px;
  border-radius: 100px;
  color: #fc0002;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  position: relative;
  max-width: 100%;
  cursor: pointer;
  z-index: 1;
}
.button--ghost--red:hover {
  background: #fc0002;
  color: #fff;
  border-color: #fc0002;
  text-decoration: none;
}
.button--has-icon {
  display: inline-flex;
}
.button--has-icon .button__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.button--has-icon svg {
  fill: currentColor;
  width: 16px;
  height: 16px;
}
.button--has-icon--before {
  padding-left: 16px;
}
.button--arrow-button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transform: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transition-delay: 0;
  -moz-transition-delay: 0;
  -transition-delay: 0;
  width: 48px;
  height: 48px;
  border-radius: 100%;
}
.button--arrow-button--none {
  background-color: "none";
}
.button--arrow-button--none:hover {
  background-color: #fc0002;
}
.button--arrow-button--white {
  background-color: #ffffff;
}
.button--arrow-button--white .svgicon {
  fill: #07415a;
}
.button--arrow-button--white:hover {
  background-color: #0d1a2d;
}
.button--arrow-button--black {
  background-color: #0d1a2d;
}
.button--arrow-button--black .svgicon {
  fill: #fff;
}
.button--arrow-button--black:hover {
  background-color: #fc0002;
}
.button--arrow-button--yellow {
  background-color: #fdb415;
}
.button--arrow-button--yellow .svgicon {
  fill: #fff;
}
.button--arrow-button--yellow:hover {
  background-color: #fc0002;
}
.button--arrow-button--lblue {
  background-color: #83a0ac;
}
.button--arrow-button--lblue .svgicon {
  fill: #fff;
}
.button--arrow-button--lblue:hover {
  background-color: #fc0002;
}
.button--arrow-button--dblue {
  background-color: #07415a;
}
.button--arrow-button--dblue .svgicon {
  fill: #fff;
}
.button--arrow-button--dblue:hover {
  background-color: #fc0002;
}
.button--arrow-button--grey {
  background-color: #5e6772;
}
.button--arrow-button--grey .svgicon {
  fill: #fff;
}
.button--arrow-button--grey:hover {
  background-color: #fc0002;
}
.button--arrow-button--lgrey {
  background-color: #aeb3b8;
}
.button--arrow-button--lgrey .svgicon {
  fill: #07415a;
}
.button--arrow-button--lgrey:hover {
  background-color: #fc0002;
}
.button--arrow-button--xlgrey {
  background-color: #f4f4f4;
}
.button--arrow-button--xlgrey .svgicon {
  fill: #07415a;
}
.button--arrow-button--xlgrey:hover {
  background-color: #fc0002;
}
.button--arrow-button--red {
  background-color: #fc0002;
}
.button--arrow-button--red .svgicon {
  fill: #fff;
}
.button--arrow-button--red:hover {
  background-color: #fc0002;
}
.button--arrow-button svg {
  transition: transform 0.3s, opacity 0.2s;
  width: 27px;
  height: 20px;
}
.button--arrow-button:hover {
  transform: scale(1.1);
}
.button__icon {
  transition: fill 0.2s, transform 0.2s;
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.button__icon--before {
  margin-right: 8px;
}
.button--big {
  padding: 16px 32px;
  width: 100%;
  font-size: 1.125rem;
}
.button--wide {
  padding: 16px 64px;
  font-size: 1.125rem;
}
.button__icon {
  transition: fill 0.2s;
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.button__icon--before {
  margin-right: 8px;
}

.site-header {
  width: 100%;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 15px 15px rgba(0, 0, 0, 0);
  padding: 16px;
  position: absolute;
  z-index: 4;
  top: 0;
}
.site-header:after {
  position: absolute;
  top: 23px;
  height: 60px;
  left: 50%;
  transform: translateX(-50%);
  right: 0;
  content: "";
  display: block;
  background-color: transparent;
  transition: background-color 0.2s;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0);
  pointer-events: none;
  width: calc(100% - 32px);
  border-radius: 100px;
  z-index: 2;
}
.site-header:before {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: -moz-linear-gradient(top, rgba(13, 26, 45, 0.6) 0%, rgba(13, 26, 45, 0) 100%);
  background: -webkit-linear-gradient(top, rgba(13, 26, 45, 0.6) 0%, rgba(13, 26, 45, 0) 100%);
  background: linear-gradient(to bottom, rgba(13, 26, 45, 0.6) 0%, rgba(13, 26, 45, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#a6000000", endColorstr="#00000000",GradientType=0 );
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 2;
  height: 100px;
}
@media only screen and (min-width: 1024px) {
  .site-header {
    padding: 32px;
    padding-top: 16px;
    position: sticky;
    top: -12px;
    margin-bottom: -123px;
  }
  .site-header[stuck]:after {
    pointer-events: auto;
    background-color: #fff;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  }
  .site-header[stuck] .site-header__contact {
    transition: opacity 0.5s;
    opacity: 1;
  }
}
.error404 .site-header {
  padding-bottom: 0;
}
.site-header .wrap {
  position: relative;
  z-index: 2;
}
.site-header.is-fixed:not(.site-header--no-nav) {
  position: fixed;
  top: 0;
  transform: translateY(-32px);
  box-shadow: 0 15px 15px rgba(0, 0, 0, 0.1);
}
.site-header.is-visible:not(.site-header--no-nav):before {
  opacity: 1;
  transition-delay: 0s;
}
.site-header.is-hidden:not(.site-header--no-nav) {
  border-color: transparent;
  box-shadow: none;
}
.site-header.is-hidden:not(.site-header--no-nav):before {
  opacity: 0;
}
.site-header__main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 3;
}
@media only screen and (min-width: 1024px) {
  .site-header__main {
    background: none;
    width: 100%;
    padding: 16px 0;
  }
}
.site-header__contact {
  color: #fff;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 16px;
  text-align: center;
  justify-content: flex-end;
}
.site-header__contact > a {
  font-size: 14px;
  line-height: 1.5;
}
@media only screen and (min-width: 599px) {
  .site-header__contact {
    text-align: right;
  }
}

.site-footer {
  position: relative;
  z-index: 2;
  background-color: #0d1a2d;
  padding-top: 32px;
  padding-bottom: 32px;
  color: #fff;
}
@media only screen and (min-width: 599px) {
  .site-footer {
    padding-top: 96px;
  }
}
.site-footer__links {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 32px;
  padding-bottom: 32px;
}
@media only screen and (min-width: 768px) {
  .site-footer__links {
    padding-bottom: 0;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (min-width: 1200px) {
  .site-footer__links {
    grid-gap: 96px;
  }
}
.site-footer__top .wrap {
  display: flex;
  gap: 32px;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  border-bottom: 1px solid #aeb3b8;
}
@media only screen and (min-width: 768px) {
  .site-footer__top .wrap {
    gap: 64px;
    flex-direction: row;
  }
}
@media only screen and (min-width: 1024px) {
  .site-footer__top .wrap {
    gap: 96px;
  }
}
@media only screen and (min-width: 1600px) {
  .site-footer__top .wrap {
    gap: 128px;
  }
}
.site-footer__main {
  padding: 64px 0;
  position: relative;
  display: none;
}
@media only screen and (min-width: 768px) {
  .site-footer__main {
    display: block;
  }
}
.site-footer__accreditations {
  padding: 64px 0;
}
.site-footer__accreditations__list {
  margin: 0;
  display: flex;
  gap: 64px;
  justify-content: center;
  flex-wrap: wrap;
}
.site-footer__accreditations__item {
  max-width: 120px;
}
@media only screen and (min-width: 1024px) {
  .site-footer__accreditations {
    padding: 128px 0 64px 0;
  }
}
@media only screen and (min-width: 768px) {
  .site-footer__column {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .site-footer__column--contact {
    order: 1;
  }
}
.site-footer__column__heading {
  cursor: pointer;
  position: relative;
  margin-bottom: 16px;
  color: #fdb415;
  text-align: center;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .site-footer__column__heading {
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .site-footer__column--is-accordian .site-footer__column__heading:after {
    position: absolute;
    font-family: "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif;
    content: "+";
    font-size: 30px;
    right: 0;
    top: -9px;
    width: 32px;
    transition: transform 0.2s;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .site-footer__column--is-accordian.open .site-footer__column__heading:after {
    transform: rotate(45deg);
  }
}
.site-footer__column__content-wrap {
  width: max-content;
}
@media only screen and (min-width: 1024px) {
  .site-footer__column__aligner {
    display: flex;
    flex-direction: column;
  }
  .site-footer__column__aligner--start {
    align-items: flex-start;
  }
  .site-footer__column__aligner--center {
    align-items: center;
  }
  .site-footer__column__aligner--end {
    align-items: flex-end;
  }
}
.site-footer__column__content {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .site-footer__column__content {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .site-footer__column--is-accordian .site-footer__column__content {
    max-height: 0;
    transition: max-height 0.3s;
    overflow: hidden;
  }
}
@media only screen and (max-width: 767px) {
  .site-footer__column--is-accordian.open .site-footer__column__content {
    max-height: 500px !important;
  }
}
.site-footer__contact-links {
  display: flex;
  flex-direction: column;
  padding-bottom: 32px;
}
@media only screen and (min-width: 599px) {
  .site-footer__contact-links {
    padding-bottom: 0;
    gap: 32px;
    flex-direction: row;
  }
}
.site-footer .contact-link {
  margin-bottom: 16px;
}
.site-footer .contact-link__link {
  color: #fdb415;
  transition: color 0.2s;
}
.site-footer .contact-link__link:hover {
  text-decoration: none;
  color: #ffffff;
  fill: #ffffff;
}
@media only screen and (max-width: 767px) {
  .site-footer .contact-link__text {
    justify-content: center;
    display: flex;
  }
}
.site-footer .menu {
  margin: 0;
  padding-top: 32px;
}
@media only screen and (min-width: 599px) {
  .site-footer .menu {
    padding-top: 0;
  }
}
.site-footer .menu li {
  margin-bottom: 8px;
}
.site-footer .menu a {
  color: #ffffff;
  transition: color 0.2s;
  font-weight: 500;
}
.site-footer .menu a:hover {
  text-decoration: none;
  color: #fdb415;
}
.site-footer__info {
  padding-top: 32px;
}
@media only screen and (min-width: 599px) {
  .site-footer__info {
    padding-top: 96px;
  }
}
.site-footer__info .wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  justify-items: center;
}
.site-footer__logo {
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-footer__credit {
  background: #0d1a2d;
  padding: 16px 0;
  color: #fff;
  font-weight: 600;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .site-footer__credit {
    text-align: left;
  }
}
.site-footer__credit .wrap {
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .site-footer__credit .wrap {
    display: flex;
    gap: 64px;
    justify-content: space-between;
  }
}
.site-footer__credit p {
  margin-bottom: 16px;
  font-size: 10px;
}
@media only screen and (min-width: 768px) {
  .site-footer__credit p {
    font-size: 12px;
    margin-bottom: 0;
  }
}
.site-footer__credit .credit-link {
  color: #ffffff;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .site-footer__address-text {
    flex-direction: column;
    text-align: center;
  }
}
.site-footer__address-text span {
  flex: 1;
  display: block;
  margin-bottom: 8px;
}

.logo--header {
  text-align: center;
  display: flex;
}
.logo--header .logo__image {
  width: 170px;
  transition: transform 0.2s;
}
.logo--header .logo__image:hover {
  transform: scale(1.05);
}
@media only screen and (min-width: 1200px) {
  .logo--header .logo__image {
    width: 250px;
  }
}
.logo--header .logo__text {
  transition: fill 0.2s;
  fill: #fff;
}
[stuck] .logo--header .logo__text {
  fill: #5e6772;
}
.logo--header .logo__icon {
  transition: fill 0.2s;
  fill: #fdb415;
}
.logo--footer {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  .logo--footer {
    text-align: center;
  }
}
.logo--footer img {
  display: inline-block;
  width: 240px;
}
.logo__link {
  display: inline-block;
  line-height: 0;
}

.mobile-nav-panel {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel {
    display: block;
    transition: transform 0.3s;
    background-color: #5e6772;
    padding: 32px;
    flex-direction: column;
    height: 100vh;
    transform: translateX(-100%);
    position: absolute;
    z-index: 6;
    top: 0;
    overflow-y: scroll;
    display: flex;
  }
  .mobile-nav-panel:before {
    position: absolute;
    inset: 0;
    background-image: url("./dist/img/tri-bg.svg");
    background-repeat: no-repeat;
    background-position: calc(100% + 250px) calc(100% + 300px);
    mix-blend-mode: overlay;
    opacity: 0.7;
    content: "";
    display: block;
  }
  .mobile-nav-panel__main {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-bottom: 64px;
  }
  .mobile-nav-panel__heading {
    float: left;
    color: #fff;
  }
  .mobile-nav-panel__header {
    overflow: hidden;
  }
  .mobile-nav-panel__bottom {
    flex: 1;
    background-position: center;
    background-size: 100%;
    background-repeat: no-repeat;
    display: flex;
    margin-bottom: 96px;
    margin-top: 16px;
  }
  .mobile-nav-panel__bottom .search-form {
    align-self: flex-end;
  }
  .mobile-nav-panel .site-header__tel {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
  }
  .menu-open .mobile-nav-panel {
    transform: none;
  }
  .mobile-nav-panel .menu {
    margin: 0;
  }
  .mobile-nav-panel .menu-item {
    padding: 8px 0;
  }
  .mobile-nav-panel .menu-item--quote-c2a {
    margin-top: 64px;
  }
  .mobile-nav-panel .menu-item a {
    color: #fff;
    transition: transform 0.3s;
    display: block;
    width: calc(100% - 48px);
    font-size: 18px;
    line-height: 1.4;
    font-family: "Titillium Web", "Lucida Grande", sans-serif;
    text-transform: uppercase;
  }
}
@media only screen and (max-width: 1023px) and (min-width: 768px) {
  .mobile-nav-panel .menu-item a {
    font-size: 22px;
    line-height: 1.3;
  }
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel .menu-item a:hover {
    transform: translateX(5px);
  }
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel .menu-item-has-children {
    position: relative;
  }
  .mobile-nav-panel .menu-item-has-children.submenu-open > .sub-menu {
    max-height: 499px !important;
  }
  .mobile-nav-panel .menu-item-has-children.submenu-open > .sub-menu:after {
    transform: none;
  }
  .mobile-nav-panel .menu-item-has-children.submenu-open > .submenu-toggle {
    transform: rotate(180deg);
  }
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel .sub-menu {
    max-height: 0;
    transition: max-height 0.8s;
    overflow: hidden;
    position: relative;
    margin-left: 0;
    padding-left: 32px;
  }
  .mobile-nav-panel .sub-menu:after {
    content: "";
    height: calc(100% - 30px);
    display: flex;
    width: 2px;
    background: #ffffff;
    transition: transform 0.3s;
    transition-delay: 0.3s;
    transform: scaleY(0);
    transform-origin: top;
    position: absolute;
    top: 32px;
    left: 0;
  }
  .mobile-nav-panel .sub-menu > .menu-item:first-child {
    padding-top: 32px;
  }
  .mobile-nav-panel .sub-menu > .menu-item:first-child .submenu-toggle {
    top: 32px;
  }
}
@media only screen and (max-width: 1023px) {
  .mobile-nav-panel .submenu-toggle {
    margin-top: 0;
    right: 5px;
  }
  .mobile-nav-panel .submenu-toggle svg {
    fill: #fff;
    width: 22px;
    height: 22px;
    transform: translateY(3px);
  }
}

.menu-open {
  overflow: hidden;
}

/**
 * Owl Carousel v2.2.0
 * Copyright 2013-2016 David Deutsch
 * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE)
 */
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
  -webkit-transform-style: preserve-3d;
}

.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none;
}

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
  animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.owl-carousel .owl-animated-in {
  z-index: 0;
}

.owl-carousel .owl-animated-out {
  z-index: 1;
}

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out;
}

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
}

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
  -ms-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
}

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

.owl-dots {
  text-align: center;
  padding: 32px 0 0 0;
}

.owl-dot {
  background: #0d1a2d;
  width: 21.3333333333px;
  height: 21.3333333333px;
  display: inline-block;
  margin: 0 5px;
  border-radius: 100%;
}
.owl-dot.active {
  background: #fdb415;
}

.owl-prev {
  position: absolute;
  height: 48px;
  width: 48px;
  left: 8px;
  top: 35%;
  transform: translate(-50%, -50%);
  background-color: #fc0002;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.owl-prev svg {
  fill: #0d1a2d;
  margin-right: 5px;
}

.owl-next {
  position: absolute;
  height: 48px;
  width: 48px;
  right: 8px;
  top: 35%;
  transform: translate(50%, -50%);
  background-color: #fc0002;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.owl-next svg {
  fill: #0d1a2d;
  margin-left: 5px;
}

.owl-cs-slider .owl-nav {
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  gap: 16px;
}
.owl-cs-slider .owl-prev,
.owl-cs-slider .owl-next {
  position: static;
  left: auto;
  top: auto;
  transform: none;
  transition: transform 0.2s;
}
.owl-cs-slider .owl-prev:hover {
  transform: translate(-5px);
}
.owl-cs-slider .owl-next:hover {
  transform: translate(5px);
}

.toggle-nav {
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transition-delay: 0;
  -moz-transition-delay: 0;
  -transition-delay: 0;
  display: none;
  padding: 8px;
  justify-self: end;
  background: none;
}
.toggle-nav__icon {
  width: 36px;
  height: 36px;
  fill: #ffffff;
}
.toggle-nav--mobile {
  float: right;
  padding: 0 5px 0 8px;
  background: none;
}
.toggle-nav--mobile .toggle-nav__icon {
  fill: #fff;
  width: 32px;
  height: 32px;
}
.toggle-nav--close {
  color: #fff;
  height: auto;
  font-size: 16px;
  border-radius: 0;
}
.toggle-nav--close .toggle-nav__icon {
  fill: #fff;
  width: 13px;
  height: 13px;
  transform: translateY(2px);
}
@media only screen and (min-width: 768px) {
  .toggle-nav--close {
    height: auto;
  }
}

.submenu-toggle {
  float: right;
  margin-left: 8px;
  display: none;
}
.submenu-toggle svg {
  fill: #0d1a2d;
  width: 10px;
  height: 8px;
  transition: fill 0.2s cubic-bezier(0.46, 0.96, 0.43, 0.94) 0.2s;
}

@media only screen and (max-width: 1023px) {
  .menu-item-has-children > .submenu-toggle {
    display: inline-block;
  }

  .toggle-nav {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .submenu-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 8px;
    width: 25px;
    height: 25px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    line-height: 1;
    font-family: arial, sans-serif;
    color: #fff;
    transition: transform 0.3s;
    text-align: center;
  }

  .menu-item-has-children {
    overflow: hidden;
  }
  .menu-item-has-children > .submenu-toggle {
    display: block;
    z-index: 1;
  }
}
.social-links__list {
  margin: 0;
  margin-bottom: 16px;
}
.social-links__item {
  display: inline-block;
  margin-right: 16px;
  line-height: 1;
}
.social-links__item:last-child {
  margin-right: 0;
}
.social-links__link {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s;
  background-color: #fff;
  border-radius: 100%;
  width: 48px;
  height: 48px;
}
.social-links__link--round {
  border-radius: 100%;
  padding: 32px;
}
.social-links__link:hover {
  background-color: #0d1a2d;
}
.social-links__link:hover .social-links__icon {
  fill: #fdb415;
}
.social-links__icon {
  width: 18px;
  height: 18px;
  fill: #07415a;
  transition: fill 0.3s;
}
.social-links__icon--large {
  width: 38.4px;
  height: 38.4px;
}
.social-links--contact-page .social-links__item {
  margin: 0 16px;
}
.social-links--contact-page .social-links__list {
  text-align: center;
}
.social-links--footer {
  margin-top: 16px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .social-links--footer {
    text-align: left;
  }
}

.contact-link__text {
  display: flex;
  align-items: center;
}
.contact-link--icon svg {
  margin-right: 16px;
  width: 24px;
  height: 24px;
  transition: fill 0.2s;
}
.contact-link--light svg {
  fill: #fff;
}
.contact-link--yellow {
  fill: #fdb415;
}
.contact-link--dark svg {
  fill: #07415a;
}

.error-404 {
  max-width: 650px;
  position: relative;
}
@media only screen and (min-width: 599px) {
  .error-404 {
    padding: 96px 0;
  }
}
.error-404:before {
  content: "404";
  font-size: 50vw;
  font-weight: bold;
  color: #eaeaea;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-60%, -50%);
}
@media only screen and (min-width: 599px) {
  .error-404:before {
    left: 65%;
  }
}
.error-404 .search-field {
  width: calc(100% - 120px);
  float: left;
  font-family: "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif;
  background-color: #fff;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.07);
  height: 44px;
}
.error-404 .search-submit {
  background-color: #fdb415;
  color: #fff;
  text-transform: uppercase;
  height: 44px;
}

.gradient-shadow--top:before {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: -moz-linear-gradient(top, rgba(13, 26, 45, 0.6) 0%, rgba(13, 26, 45, 0) 100%);
  background: -webkit-linear-gradient(top, rgba(13, 26, 45, 0.6) 0%, rgba(13, 26, 45, 0) 100%);
  background: linear-gradient(to bottom, rgba(13, 26, 45, 0.6) 0%, rgba(13, 26, 45, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#a6000000", endColorstr="#00000000",GradientType=0 );
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.gradient-shadow--bottom:before {
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: -webkit-linear-gradient(rgba(13, 26, 45, 0) 0%, rgba(13, 26, 45, 0) 1%, rgba(13, 26, 45, 0.9) 100%);
  background: -o-linear-gradient(rgba(13, 26, 45, 0) 0%, rgba(13, 26, 45, 0) 1%, rgba(13, 26, 45, 0.9) 100%);
  background: linear-gradient(rgba(13, 26, 45, 0) 0%, rgba(13, 26, 45, 0) 1%, rgba(13, 26, 45, 0.9) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#00000000", endColorstr="#a6000000",GradientType=0 );
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media only screen and (max-width: 1023px) {
  .gradient-shadow--bottom:before {
    height: 90%;
  }
}
.gradient-shadow--both:before {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.45) 100%);
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.45) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.45) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#a6000000", endColorstr="#a6000000",GradientType=0 );
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 2;
  transition: opacity 0.3s;
}

.overlay:not(.hero-image):after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  display: block;
}
.overlay:not(.hero-image).overlay--none:after {
  opacity: 0;
}
.overlay:not(.hero-image).overlay--light:after {
  opacity: 0.15;
}
.overlay:not(.hero-image).overlay--medium:after {
  opacity: 0.4;
}
.overlay:not(.hero-image).overlay--strong:after {
  opacity: 0.6;
}
.overlay:not(.hero-image).overlay--none:after {
  background-color: "none";
}
.overlay:not(.hero-image).overlay--white {
  color: #07415a;
}
.overlay:not(.hero-image).overlay--white:after {
  background-color: #ffffff;
}
.overlay:not(.hero-image).overlay--white svg {
  fill: #07415a;
}
.overlay:not(.hero-image).overlay--white .section-header__heading {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--black {
  color: #fff;
}
.overlay:not(.hero-image).overlay--black:after {
  background-color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--black a:not([class^=button]) {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--black svg {
  fill: #fff;
}
.overlay:not(.hero-image).overlay--black .section-header__heading {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--black .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #fdb415;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--black .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--yellow {
  color: #fff;
}
.overlay:not(.hero-image).overlay--yellow:after {
  background-color: #fdb415;
}
.overlay:not(.hero-image).overlay--yellow a:not([class^=button]) {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--yellow svg {
  fill: #fff;
}
.overlay:not(.hero-image).overlay--yellow .section-header__heading {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--yellow .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #fdb415;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--yellow .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--lblue {
  color: #fff;
}
.overlay:not(.hero-image).overlay--lblue:after {
  background-color: #83a0ac;
}
.overlay:not(.hero-image).overlay--lblue a:not([class^=button]) {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--lblue svg {
  fill: #fff;
}
.overlay:not(.hero-image).overlay--lblue .section-header__heading {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--lblue .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #fdb415;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--lblue .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--dblue {
  color: #fff;
}
.overlay:not(.hero-image).overlay--dblue:after {
  background-color: #07415a;
}
.overlay:not(.hero-image).overlay--dblue a:not([class^=button]) {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--dblue svg {
  fill: #fff;
}
.overlay:not(.hero-image).overlay--dblue .section-header__heading {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--dblue .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #fdb415;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--dblue .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--grey {
  color: #fff;
}
.overlay:not(.hero-image).overlay--grey:after {
  background-color: #5e6772;
}
.overlay:not(.hero-image).overlay--grey a:not([class^=button]) {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--grey svg {
  fill: #fff;
}
.overlay:not(.hero-image).overlay--grey .section-header__heading {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--grey .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #fdb415;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--grey .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--lgrey {
  color: #07415a;
}
.overlay:not(.hero-image).overlay--lgrey:after {
  background-color: #aeb3b8;
}
.overlay:not(.hero-image).overlay--lgrey svg {
  fill: #07415a;
}
.overlay:not(.hero-image).overlay--lgrey .section-header__heading {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--xlgrey {
  color: #07415a;
}
.overlay:not(.hero-image).overlay--xlgrey:after {
  background-color: #f4f4f4;
}
.overlay:not(.hero-image).overlay--xlgrey svg {
  fill: #07415a;
}
.overlay:not(.hero-image).overlay--xlgrey .section-header__heading {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--red {
  color: #fff;
}
.overlay:not(.hero-image).overlay--red:after {
  background-color: #fc0002;
}
.overlay:not(.hero-image).overlay--red a:not([class^=button]) {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--red svg {
  fill: #fff;
}
.overlay:not(.hero-image).overlay--red .section-header__heading {
  color: #fdb415;
}
.overlay:not(.hero-image).overlay--red .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #fdb415;
  color: #0d1a2d;
}
.overlay:not(.hero-image).overlay--red .gform_wrapper.gravity-theme input[type=submit]:hover {
  background-color: #fff;
  color: #0d1a2d;
}
.overlay.hero-image .hero-image__background:after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  display: block;
}
.overlay.hero-image.overlay--none .hero-image__background:after {
  opacity: 0;
}
.overlay.hero-image.overlay--light .hero-image__background:after {
  opacity: 0.15;
}
.overlay.hero-image.overlay--medium .hero-image__background:after {
  opacity: 0.4;
}
.overlay.hero-image.overlay--strong .hero-image__background:after {
  opacity: 0.6;
}
.overlay.hero-image.overlay--none .hero-image__background:after {
  background-color: "none";
}
.overlay.hero-image.overlay--white {
  color: #07415a;
}
.overlay.hero-image.overlay--white .hero-image__background:after {
  background-color: #ffffff;
}
.overlay.hero-image.overlay--white svg {
  fill: #07415a;
}
.overlay.hero-image.overlay--black {
  color: #fff;
}
.overlay.hero-image.overlay--black .hero-image__background:after {
  background-color: #0d1a2d;
}
.overlay.hero-image.overlay--yellow {
  color: #fff;
}
.overlay.hero-image.overlay--yellow .hero-image__background:after {
  background-color: #fdb415;
}
.overlay.hero-image.overlay--lblue {
  color: #fff;
}
.overlay.hero-image.overlay--lblue .hero-image__background:after {
  background-color: #83a0ac;
}
.overlay.hero-image.overlay--dblue {
  color: #fff;
}
.overlay.hero-image.overlay--dblue .hero-image__background:after {
  background-color: #07415a;
}
.overlay.hero-image.overlay--grey {
  color: #fff;
}
.overlay.hero-image.overlay--grey .hero-image__background:after {
  background-color: #5e6772;
}
.overlay.hero-image.overlay--lgrey {
  color: #07415a;
}
.overlay.hero-image.overlay--lgrey .hero-image__background:after {
  background-color: #aeb3b8;
}
.overlay.hero-image.overlay--lgrey svg {
  fill: #07415a;
}
.overlay.hero-image.overlay--xlgrey {
  color: #07415a;
}
.overlay.hero-image.overlay--xlgrey .hero-image__background:after {
  background-color: #f4f4f4;
}
.overlay.hero-image.overlay--xlgrey svg {
  fill: #07415a;
}
.overlay.hero-image.overlay--red {
  color: #fff;
}
.overlay.hero-image.overlay--red .hero-image__background:after {
  background-color: #fc0002;
}
.svgicon {
  width: 24px;
  height: 24px;
}

.avatar {
  border-radius: 100%;
  border: 3px solid #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  width: 96px !important;
  height: 96px;
}

body .gform_wrapper.gravity-theme input[type=submit] {
  background-color: #fdb415;
  padding: 12px 32px;
  border-radius: 100px;
  transition: color 0.2s, background-color 0.2s;
  color: #fff;
}
body .gform_wrapper.gravity-theme input[type=submit]:hover {
  text-decoration: none;
  background-color: #07415a;
}
body .gform_wrapper.gravity-theme .gfield-choice-input + label {
  vertical-align: top;
}
body .gform_heading {
  margin-bottom: 32px;
}
body .gform_wrapper.gravity-theme .gform_fields {
  grid-row-gap: 16px;
}
@media only screen and (min-width: 599px) {
  body .gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 32px;
  }
}
body #gform_wrapper_1 .gform_description {
  color: #fff;
}
body .gform_wrapper.gravity-theme .gform_footer {
  justify-content: center;
}
body .gform_wrapper .gfield_error .gfield_repeater_cell label,
body .gform_wrapper .gfield_error label,
body .gform_wrapper .gfield_error legend,
body .gform_wrapper .gfield_validation_message,
body .gform_wrapper .validation_message,
body .gform_wrapper [aria-invalid=true] + label,
body .gform_wrapper label + [aria-invalid=true] {
  color: #ff4646;
}
body .gform_wrapper.gravity-theme .description,
body .gform_wrapper.gravity-theme .gfield_description,
body .gform_wrapper.gravity-theme .gsection_description,
body .gform_wrapper.gravity-theme .instruction {
  font-size: 13px;
}
body .gform_wrapper .gfield_validation_message,
body .gform_wrapper .validation_message {
  border-radius: 5px;
}
body .gform_wrapper.gravity-theme .field_description_above .gfield_description {
  padding-bottom: 0;
  padding-left: 10px;
  background: #260000;
  width: max-content;
}
body .gform_confirmation_wrapper {
  padding: 16px;
  border: 1px solid #fdb415;
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 32px;
}
body .gform_ajax_spinner {
  box-shadow: none !important;
  object-fit: unset !important;
  object-position: unset !important;
  height: initial !important;
  width: initial !important;
}

/*! Lity - v2.4.1 - 2020-04-26
* http://sorgalla.com/lity/
* Copyright (c) 2015-2020 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  outline: none !important;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.lity.lity-opened {
  opacity: 1;
}

.lity.lity-closed {
  opacity: 0;
}

.lity * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important;
}

.lity-wrap:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}

.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.lity-loading .lity-loader {
  opacity: 1;
}

.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
}

.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease, -o-transform 0.3s ease;
}

.lity-loading .lity-content,
.lity-closed .lity-content {
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
}

.lity-content:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.lity-close:active {
  top: 1px;
}

/* Image */
.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0;
}

/* iFrame */
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px;
}

.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch;
}

.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

.lity-hide {
  display: none;
}

.post__intro {
  font-size: 24px;
  line-height: 1.1;
  margin-bottom: 32px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .post__intro {
    font-size: 28px;
    line-height: 1.1;
  }
}
@media screen and (min-width: 1200px) {
  .post__intro {
    font-size: 36px;
    line-height: 1.1;
  }
}
.post__intro h2,
.post__intro .h2 {
  line-height: 1.5;
  text-transform: initial;
}
@media only screen and (min-width: 768px) {
  .post__intro h2,
.post__intro .h2 {
    line-height: 1.5;
  }
}
@media only screen and (min-width: 1024px) {
  .post__intro h2,
.post__intro .h2 {
    line-height: 1.3;
  }
}
.post__thumbnail {
  margin-bottom: 32px;
  text-align: center;
}
.post__thumbnail img {
  border-radius: 8px;
  overflow: hidden;
  display: inline-block;
}
@media only screen and (min-width: 1024px) {
  .post__thumbnail {
    margin: 0 -104px 32px -104px;
  }
  .post__thumbnail img {
    border-radius: 16px;
  }
}
@media only screen and (min-width: 1024px) {
  .post__title {
    font-size: 60px;
  }
}
.post__one-column h2,
.post__one-column .h2 {
  margin-top: 64px;
}
@media only screen and (min-width: 768px) {
  .post__two-column {
    column-width: 280px;
    column-gap: 32px;
  }
}

.single {
  background-color: #fff;
}
.single .entry-title:before {
  color: #07415a;
  left: 50%;
  transform: translateX(-50%);
}
.single .entry-meta {
  text-align: Left;
  position: relative;
  background-color: #fff;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.2);
  z-index: 2;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  margin-bottom: 32px;
  border-radius: 16px;
}
@media only screen and (min-width: 599px) {
  .single .entry-meta {
    padding: 16px 32px;
    margin-bottom: -44px;
  }
}
@media only screen and (min-width: 768px) {
  .single .entry-meta {
    flex-direction: row;
  }
}
.single .entry-header {
  text-align: center;
  padding-top: 0;
}
.single .entry-author {
  display: flex;
  align-items: center;
}
.single .entry-author .author__bio {
  margin-bottom: 0;
  margin-left: 16px;
}
@media only screen and (min-width: 599px) {
  .single .entry-author .author__bio {
    margin-left: 32px;
  }
}
.single .entry-author .authorname {
  margin-bottom: 0;
  font-size: 16px;
}
@media only screen and (min-width: 599px) {
  .single .entry-author .authorname {
    font-size: 18px;
    line-height: 1.4;
  }
}
@media only screen and (min-width: 599px) and (min-width: 768px) {
  .single .entry-author .authorname {
    font-size: 22px;
    line-height: 1.3;
  }
}
.single .entry-author .author__image .avatar {
  width: 36px !important;
  height: 36px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}
@media only screen and (min-width: 599px) {
  .single .entry-author .author__image .avatar {
    width: auto !important;
    height: auto;
  }
}

.block-link {
  position: relative;
}
.block-link:hover {
  text-decoration: none;
}
@media only screen and (min-width: 1024px) {
  .block-link {
    margin-bottom: 0;
  }
}
.block-link.slick-slide {
  margin: 32px 16px;
}
.block-link__footer {
  display: flex;
  justify-content: flex-end;
  background-color: #fdb415;
  padding: 32px 8px;
  flex: 1;
  align-items: flex-end;
  clip-path: polygon(0 50%, 100% 0, 100% 100%, 0 100%);
  transition: clip-path 0.3s ease-in-out, background-color 0.3s, transform 0.3s;
}
.block-link__title {
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 32px;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 16px;
  flex: 1;
}
@media only screen and (min-width: 599px) {
  .block-link__title {
    padding-left: 24px;
    padding-right: 16px;
  }
}
.block-link__button {
  transition: color 0.3s, transform 0.3s, left 0.3s;
  display: block;
  position: absolute;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  left: calc(100% - 66px);
  transform: translateX(-50%);
  bottom: 16px;
  width: max-content;
}
.block-link__button:before {
  top: 0.55em;
  left: -16px;
  width: 0;
  height: 0;
  border-top: 0.3em solid transparent;
  border-left: 0.55em solid #07415a;
  border-bottom: 0.3em solid transparent;
  transition: border-color 0.3s;
  content: "";
  position: absolute;
  bottom: 0;
}
.block-link__link {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  color: #07415a;
  overflow: hidden;
  transition: transform 0.3s, color 0.3s, background-color 0.3s;
  position: relative;
  box-shadow: 0 10px 20px rgba(7, 65, 90, 0.15);
}
.block-link__link:hover {
  text-decoration: none;
  cursor: pointer;
  transform: translateY(-10px);
  background-color: #f4f4f4;
}
.block-link__link:hover .block-link__footer {
  background-color: #07415a;
  transform: scale(1.2);
  clip-path: polygon(0 0, 100% 50%, 100% 100%, 0 100%);
}
.block-link__link:hover .block-link__button {
  color: #fff;
  transform: translateX(-50%);
  left: 50%;
}
.block-link__link:hover .block-link__button:before {
  border-left-color: #fff;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-dots {
  position: absolute;
  display: flex;
  gap: 8px;
  bottom: -48px;
  left: 50%;
  transform: translate(-50%);
  margin: 0;
}
.slick-dots button {
  width: 32px;
  border-radius: 50px;
  text-indent: -9999px;
  background-color: #fff;
  transition: background-color 0.2s;
  height: 7px;
  padding: 0;
}
.slick-dots button:hover {
  background-color: #aaa;
}
.slick-dots li.slick-active button {
  background-color: #fdb415;
}
.slick-dots li.slick-active button:hover {
  background-color: #fdb415;
}

.slick-prev,
.slick-next {
  text-indent: -9999px;
  width: 96px;
  height: 96px;
  border: 2px solid #0d1a2d;
  border-radius: 100%;
}

.slick-slider--services .slick-prev {
  position: absolute;
  left: 32px;
}
.slick-slider--services .slick-next {
  position: absolute;
}
.slick-slider--services .slick-track {
  display: flex;
}

.icon-bullet-list {
  margin: 0;
}
.icon-bullet-list__item {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}
.icon-bullet-list__item a:not(.button) {
  color: #fff;
  transition: color 0.2s;
}
.icon-bullet-list__item a:not(.button):hover {
  text-decoration: none;
  color: #fdb415;
}
.icon-bullet-list__icon {
  margin-right: 8px;
}

.post-share {
  float: left;
}
.post-share > * {
  display: inline-block;
}
@media only screen and (min-width: 599px) {
  .post-share {
    float: none;
    display: flex;
    align-items: center;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) {
  .post-share {
    padding: 16px;
  }
}
.post-share__key {
  position: relative;
  padding-right: 8px;
  font-size: 14px;
}
.post-share__key p {
  font-weight: 500;
}
@media only screen and (min-width: 599px) {
  .post-share__key {
    padding-right: 16px;
    margin-right: 16px;
    font-size: 16px;
  }
  .post-share__key:after {
    content: "";
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-left: 5px solid currentColor;
    border-bottom: 6px solid transparent;
    display: inline-block;
    position: absolute;
    right: 0;
    top: 10px;
  }
}
.post-share__social {
  display: inline-flex;
  margin: 0 3px;
  width: 35px;
  height: 35px;
  border-radius: 100%;
  text-align: center;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s;
}
.post-share__social:hover {
  transform: scale(1.1);
}
.post-share__social svg {
  display: inline-block;
  fill: #fff;
}
.post-share__social--facebook {
  background-color: #43619c;
}
.post-share__social--twitter {
  background-color: #24a9e6;
}
.post-share__social--linkedin {
  background-color: #187fb8;
}

.blog .post-list {
  position: relative;
  padding-top: 0;
}
.post-list--row {
  padding-top: 0;
}
.post-list--post .post-list__content {
  background: #ffffff;
  padding: 32px;
  padding-top: 16px;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  overflow: hidden;
}
.post-list--post .post-list__link {
  color: #07415a;
}
.post-list--post .post-list__link:hover {
  color: #fff;
}
.post-list--post .post-list__link:hover .post-list__content {
  background-color: #07415a;
}
.post-list--post .post-list__link:hover .post-list__subheading {
  color: #fff;
}
.post-list--post .post-list__link:hover .post-list__category {
  color: #fdb415;
}
.post-list--post .post-list__link:hover .post-list__category svg {
  fill: #fdb415;
}
.post-list--post .post-list__cat-selector {
  background-color: #0d1a2d;
  border-radius: 20px;
  padding: 16px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  width: 100%;
}
@media only screen and (min-width: 599px) {
  .post-list--post .post-list__cat-selector {
    flex-direction: row;
  }
}
.post-list--post .post-list__cat-selector select {
  width: 100%;
}
@media only screen and (min-width: 599px) {
  .post-list--post .post-list__cat-selector select {
    width: 370px;
  }
}
.post-list--post .post-list__category {
  color: #07415a;
  transition: color 0.2s;
}
.post-list--post .post-list__category svg {
  transition: fill 0.2s;
}
.post-list--post .post-list__heading {
  position: absolute;
  padding: 16px;
  padding-right: 96px;
  bottom: 0;
  left: 0;
  color: #fff;
  z-index: 2;
  margin-bottom: 0;
  width: 100%;
}
.post-list--post .post-list__heading::after {
  content: "";
  position: absolute;
  background-image: url("./dist/img/svg/arrow-right--white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px;
  bottom: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
}
.post-list--post .post-list__thumbnail:before {
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  background: -webkit-linear-gradient(rgba(7, 65, 90, 0) 0%, rgba(7, 65, 90, 0) 1%, rgba(7, 65, 90, 0.9) 100%);
  background: -o-linear-gradient(rgba(7, 65, 90, 0) 0%, rgba(7, 65, 90, 0) 1%, rgba(7, 65, 90, 0.9) 100%);
  background: linear-gradient(rgba(7, 65, 90, 0) 0%, rgba(7, 65, 90, 0) 1%, rgba(7, 65, 90, 0.9) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#00000000", endColorstr="#a6000000",GradientType=0 );
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.post-list--post .post-list__posts {
  margin-bottom: 64px;
}
@media only screen and (min-width: 1024px) {
  .post-list--post {
    padding: 32px 0;
  }
}
.home .post-list--post {
  padding-bottom: 128px;
}
.post-list__main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  padding: 32px 0;
}
@media only screen and (min-width: 768px) {
  .post-list__main {
    gap: 96px;
    grid-template-columns: 270px 1fr;
  }
}
@media only screen and (min-width: 1024px) {
  .post-list__main {
    padding-top: 64px;
  }
}
.post-list__item {
  display: flex;
}
.post-list__item--padded {
  padding: 8px;
}
@media only screen and (min-width: 768px) {
  .post-list__item--padded {
    padding: 16px;
  }
}
.post-list__item--inline {
  margin-bottom: 32px;
  background-color: #aeb3b8;
  border-radius: 5px;
  padding: 32px;
  display: block;
}
.post-list__item--inline .post-list__content {
  padding-top: 0;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media only screen and (min-width: 599px) {
  .post-list__item--inline .post-list__content {
    align-items: initial;
    text-align: left;
  }
}
.post-list__item--inline .post-list__thumbnail {
  margin-bottom: 16px;
}
@media only screen and (min-width: 599px) {
  .post-list__item--inline .post-list__thumbnail {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 599px) {
  .post-list__item--inline {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 32px;
  }
}
@media only screen and (min-width: 768px) {
  .post-list__item--inline {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 64px;
  }
}
.post-list__text-link {
  transition: color 0.2s;
}
.post-list__text-link:hover {
  text-decoration: none;
  color: #07415a;
}
.post-list__posts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media only screen and (min-width: 768px) {
  .post-list__posts {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 1024px) {
  .post-list__posts {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.post-list__posts--carousel, .post-list__posts--row {
  display: block;
}
.post-list__posts--2col {
  gap: 16px;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 599px) {
  .post-list__posts--2col {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 768px) {
  .post-list__posts--2col {
    gap: 16px;
    grid-template-columns: 1fr;
  }
}
@media only screen and (min-width: 1024px) {
  .post-list__posts--2col {
    grid-template-columns: 1fr 1fr;
  }
}
.post-list__date {
  text-align: center;
}
.post-list__date > * {
  display: block;
}
.post-list__date .date {
  font-size: 21px;
  line-height: 0.75;
  line-height: 0.7;
}
.post-list__date .month {
  font-family: "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1;
}
.post-list__date svg {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  fill: #fff;
}
.post-list__thumbnail {
  position: relative;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  overflow: hidden;
}
.post-list__link {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: #07415a;
  position: relative;
  transition: transform 0.3s, color 0.3s;
  box-shadow: 0px 20px 40px rgba(20, 48, 62, 0.13);
  border-radius: 12px;
}
.post-list__link:hover {
  text-decoration: none;
  color: #fdb415;
}
@media only screen and (min-width: 768px) {
  .post-list__link:hover {
    transform: translateY(-16px);
    text-decoration: none;
  }
}
.post-list__excerpt {
  font-size: 14px;
}
.post-list__sidebar {
  position: relative;
}
.post-list__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 0;
  padding-top: 32px;
  transition: background-color 0.2s;
  gap: 32px;
}
@media only screen and (min-width: 768px) {
  .post-list__content {
    gap: 64px;
  }
}
@media only screen and (max-width: 598px) {
  .post-list__header {
    padding: 0;
  }
}
@media only screen and (min-width: 599px) {
  .post-list__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.post-list__heading {
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 1.2;
}
.post-list__subheading {
  font-family: "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif;
  color: #07415a;
  transition: color 0.2s;
}
.post-list__c2a {
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 16px;
  align-self: flex-end;
}

.features-list {
  background-color: #07415a;
  color: #fff;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.2);
  padding: 16px 32px;
  border-radius: 100px;
  margin: -32px auto 0 auto;
  display: block;
  width: fit-content;
  position: relative;
}
.features-list__list {
  margin: 0;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}
@media only screen and (min-width: 599px) {
  .features-list__list {
    gap: 64px;
  }
}
.features-list__item {
  display: flex;
  gap: 16px;
  align-items: center;
}
.features-list svg {
  fill: #fff;
}
.features-list__value {
  margin: 0;
  font-weight: 900;
}

.breadcrumbs {
  position: relative;
  z-index: 1;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  text-transform: uppercase;
  opacity: 0;
}
.loaded .breadcrumbs {
  animation-delay: 0.3s;
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInRightVSmall;
  -moz-animation-name: fadeInRightVSmall;
  animation-name: fadeInRightVSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
.breadcrumbs__separator {
  width: 16px;
  height: 16px;
  background-image: url("./dist/img/svg/angle-right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
}
.breadcrumbs__text {
  margin-bottom: 16px;
}
@media only screen and (min-width: 599px) {
  .breadcrumbs__text {
    margin-bottom: 48px;
  }
}
.breadcrumbs--dark .breadcrumbs__separator {
  background-image: url("./dist/img/svg/angle-right--dark.svg");
}

.widget {
  border-radius: 6px;
  background-color: #aeb3b8;
  padding: 16px 0;
}
.widget > * {
  padding: 32px;
  padding-bottom: 16px;
}
.widget ul {
  margin: 0;
}
.widget li {
  display: flex;
  justify-content: space-between;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
}
.widget li:before, .widget li:after {
  display: none !important;
}
.widget li:hover a {
  color: #fdb415;
  text-decoration: none;
}
.widget a {
  color: #07415a;
  font-family: "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: normal;
  transition: color 0.2s;
}
.widget-title {
  border-bottom: 1px solid #fff;
  padding: 0 24px;
  padding-bottom: 16px;
  margin-bottom: 0;
}
.widget .wp-block-search__label {
  position: absolute;
  text-indent: -9999px;
  width: auto;
}
.widget .wp-block-search__button {
  display: none;
}
.widget .wp-block-search input[type=search] {
  background-color: #fff;
}

.woocommerce .woocommerce-widget-layered-nav-list .woocommerce-widget-layered-nav-list__item {
  padding: 0 24px;
}

body.woocommerce .widget_price_filter .price_slider_amount {
  display: flex;
  flex-direction: column;
  text-align: left;
}
body.woocommerce .widget_price_filter .price_slider_amount .button {
  float: none;
  order: 1;
}

.ticklist {
  margin: 0;
  margin-bottom: 32px;
}
.ticklist__text {
  display: flex;
  align-items: center;
  gap: 32px;
}
.ticklist__text:last-child {
  margin-bottom: 0;
}
.ticklist__text span {
  flex: 1;
}
.ticklist__item {
  margin-bottom: 32px;
}
.ticklist__item--has-icon {
  display: flex;
  gap: 16px;
}
.ticklist__item--has-icon:before {
  content: "";
  width: 18px;
  height: 18px;
  background-size: 100%;
  background-image: url("./dist/img/svg/circle-tick--yellow.svg");
  background-repeat: no-repeat;
  transform: translateY(6px);
}
.ticklist__item--has-icon p {
  flex: 1;
}

/* Pagination */
.pagination {
  clear: both;
  position: relative;
  width: 100%;
  padding: 32px 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagination__items {
  display: flex;
}
.pagination__count {
  padding-right: 32px;
  margin-bottom: 0;
  font-weight: bold;
}
.pagination a.pagination__next {
  float: right;
}
.pagination a.pagination__next svg {
  width: 16px;
  height: 16px;
  fill: #07415a;
}
.pagination a.pagination__prev {
  float: left;
}
.pagination a.pagination__prev svg {
  width: 16px;
  height: 16px;
  fill: #07415a;
}
@media only screen and (min-width: 768px) {
  .pagination {
    padding: 64px 0;
  }
}

.pagination span,
.pagination a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  text-decoration: none;
  color: #07415a;
  /* Pagination text color */
  -webkit-transition: background 0.15s ease-in-out;
  -moz-transition: background 0.15s ease-in-out;
  -ms-transition: background 0.15s ease-in-out;
  -o-transition: background 0.15s ease-in-out;
  transition: background 0.15s ease-in-out;
  border-radius: 100%;
  border: 2px solid #fdb415;
  margin: 0 4px;
}
.pagination span.pagination__helip,
.pagination a.pagination__helip {
  border: 0;
}
@media only screen and (min-width: 599px) {
  .pagination span,
.pagination a {
    margin: 0 5.3333333333px;
  }
}

.pagination a:hover {
  background: #fdb415;
  /* Pagination background on hover */
}

.pagination .current {
  background: #07415a;
  /* Current page background */
  border-color: #07415a;
  color: #fff;
}

.carousel-nav__nav {
  display: flex;
  gap: 16px;
}
@media only screen and (max-width: 1023px) {
  .carousel-nav__nav {
    justify-content: center;
    margin-bottom: 0;
    margin-top: 0;
  }
}
.carousel-nav__nav--vertical {
  flex-direction: column;
}
.carousel-nav__nav--vertical .carousel-nav__prev:hover {
  transform: translateY(-5px);
}
.carousel-nav__nav--vertical .carousel-nav__next:hover {
  transform: translateY(5px);
}
@media only screen and (max-width: 1023px) {
  .carousel-nav__nav--vertical {
    margin-top: 0;
  }
}
.carousel-nav__nav--centered .carousel-nav__prev {
  position: absolute;
  top: 50%;
  left: 75px;
  transform: translateY(-50%);
  z-index: 1;
}
.carousel-nav__nav--centered .carousel-nav__prev:hover {
  transform: translate(-5px, -50%);
}
.carousel-nav__nav--centered .carousel-nav__next {
  position: absolute;
  top: 50%;
  right: 75px;
  transform: translateY(-50%);
  z-index: 1;
}
.carousel-nav__nav--centered .carousel-nav__next:hover {
  transform: translate(5px, -50%);
}
.carousel-nav__prev svg {
  transform: translateX(-3px);
}
.carousel-nav__prev:hover {
  transform: translateX(-5px);
  border: 1px solid #fdb415;
}
.carousel-nav__prev:hover svg {
  fill: #fdb415;
}
.carousel-nav__next svg {
  transform: translateX(3px);
}
.carousel-nav__next:hover {
  transform: translateX(5px);
  border: 1px solid #fdb415;
}
.carousel-nav__next:hover svg {
  fill: #fdb415;
}
.carousel-nav__prev, .carousel-nav__next {
  width: 48px;
  height: 48px;
  border-radius: 100%;
  border: 1px solid #07415a;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: none;
  transition: background-color 0.2s, border-color 0.2s, transform 0.2s;
}
.carousel-nav__prev svg, .carousel-nav__next svg {
  transition: fill 0.2s;
  fill: #07415a;
  width: 24px;
  height: 24px;
  pointer-events: none;
}
.bg--white .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next), .bg--white .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) {
  border-color: #0d1a2d;
}
.bg--white .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg, .bg--white .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg {
  fill: #0d1a2d;
}
.bg--black .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next), .bg--black .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) {
  border-color: #fff;
}
.bg--black .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg, .bg--black .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg {
  fill: #fff;
}
.bg--yellow .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next), .bg--yellow .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) {
  border-color: #fff;
}
.bg--yellow .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg, .bg--yellow .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg {
  fill: #fff;
}
.bg--lblue .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next), .bg--lblue .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) {
  border-color: #fff;
}
.bg--lblue .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg, .bg--lblue .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg {
  fill: #fff;
}
.bg--dblue .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next), .bg--dblue .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) {
  border-color: #fff;
}
.bg--dblue .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg, .bg--dblue .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg {
  fill: #fff;
}
.bg--grey .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next), .bg--grey .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) {
  border-color: #fff;
}
.bg--grey .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg, .bg--grey .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg {
  fill: #fff;
}
.bg--lgrey .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next), .bg--lgrey .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) {
  border-color: #0d1a2d;
}
.bg--lgrey .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg, .bg--lgrey .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg {
  fill: #0d1a2d;
}
.bg--xlgrey .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next), .bg--xlgrey .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) {
  border-color: #0d1a2d;
}
.bg--xlgrey .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg, .bg--xlgrey .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg {
  fill: #0d1a2d;
}
.bg--red .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next), .bg--red .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) {
  border-color: #fff;
}
.bg--red .carousel-nav__prev:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg, .bg--red .carousel-nav__next:not(.case-study-carousel__prev):not(.case-study-carousel__next) svg {
  fill: #fff;
}
@media only screen and (min-width: 768px) {
  .carousel-nav__prev, .carousel-nav__next {
    width: 64px;
    height: 64px;
  }
}

.hero-image {
  position: relative;
  min-height: 200px;
  overflow: hidden;
  padding-top: 96px;
}
.hero-image:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50%;
  right: 0;
  content: "";
  background-color: #fdb415;
  display: block;
  clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
  pointer-events: none;
  z-index: 2;
}
.hero-image:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50%;
  right: 0;
  content: "";
  background-color: #5e6772;
  display: block;
  clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
  display: block;
  pointer-events: none;
  z-index: 2;
}
.hero-image .wrap {
  position: relative;
  z-index: 2;
  padding: 0 48px;
}
@media only screen and (min-width: 1024px) {
  .hero-image {
    min-height: 340px;
    display: flex;
    align-items: center;
  }
}
@media only screen and (min-width: 1024px) {
  .hero-image--home {
    padding-bottom: 128px;
    margin-bottom: -64px;
  }
}
@media only screen and (min-width: 1024px) {
  .hero-image--short {
    min-height: 400px;
  }
}
@media only screen and (min-width: 1200px) {
  .hero-image--short {
    min-height: 400px;
  }
}
.hero-image--search .hero-image__subheading {
  font-family: "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif;
  background-color: #fc0002;
  border-radius: 2px;
  padding: 2px 16px 2px 8px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
}
.hero-image--search .hero-image__subheading svg {
  width: 18px;
  height: 18px;
}
@media only screen and (min-width: 1024px) {
  .home .hero-image {
    min-height: 850px;
  }
}
.loaded .hero-image:after {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: wipeRight;
  -moz-animation-name: wipeRight;
  animation-name: wipeRight;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
.loaded .hero-image:before {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: wipeRight;
  -moz-animation-name: wipeRight;
  animation-name: wipeRight;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  animation-delay: 0.2s;
}
.loaded .hero-image .hero-image__background img {
  -webkit-animation-duration: 8s;
  -moz-animation-duration: 8s;
  animation-duration: 8s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: zoomIn;
  -moz-animation-name: zoomIn;
  animation-name: zoomIn;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
}
@media only screen and (max-width: 598px) {
  .loaded .hero-image .hero-image__background img {
    object-position: 80%;
  }
}
.nav-fixed .hero-image {
  margin-top: 0;
}
.hero-image--no-image {
  padding: 64px 0;
  margin: 0 0 128px 0;
  position: relative;
}
.hero-image--no-image .hero-image__subheading {
  margin-bottom: 64px;
}
.hero-image--no-image .hero-image__subheading--mb-none {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .hero-image__google-map {
    margin-top: 64px;
  }
}
.hero-image__background {
  -webkit-animation-duration: 0.3s;
  -moz-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeIn;
  -moz-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  display: flex;
  justify-content: flex-end;
}
.hero-image__background:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to right, #5e6772, rgba(94, 103, 114, 0.35));
  width: 100%;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .hero-image__background:before {
    width: 80%;
    background: linear-gradient(to right, #5e6772, transparent);
  }
}
@media only screen and (min-width: 768px) {
  .hero-image__background:has(.image-as-bg--half):before {
    left: 40%;
  }
}
.hero-image.align-center .hero-image__preheading {
  justify-content: center;
}
.loaded .hero-image.align-center .hero-image__preheading {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeIn;
  -moz-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  animation-delay: 0.3s;
}
.hero-image.align-center .hero-image__subheading {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(10px);
  opacity: 0;
  transition: transform 1s 0.5s, opacity 1s 0.5s;
}
.loaded .hero-image.align-center .hero-image__subheading {
  transform: none;
  opacity: 1;
}
.hero-image.align-center .hero-image__heading {
  display: inline-block;
  margin: 0 auto 32px auto;
  transform: translateY(10px);
  opacity: 0;
  transition: transform 1s 0.3s, opacity 1s 0.3s;
}
.hero-image.align-center .hero-image__heading--mb-half {
  margin-bottom: 16px;
}
.loaded .hero-image.align-center .hero-image__heading {
  transform: none;
  opacity: 1;
}
.hero-image.align-center .hero-image__category-icon {
  transform: translateY(10px);
  opacity: 0;
  transition: transform 1s 0.3s, opacity 1s 0.3s;
}
.loaded .hero-image.align-center .hero-image__category-icon {
  transform: none;
  opacity: 1;
}
.hero-image.align-left .hero-image__subheading {
  transform: translateX(10px);
  opacity: 0;
  transition: transform 1s 1.2s, opacity 1s 1.2s;
}
.loaded .hero-image.align-left .hero-image__subheading {
  transform: none;
  opacity: 1;
}
.hero-image.align-left .hero-image__heading {
  transform: translateX(10px);
  opacity: 0;
  transition: transform 1s 1s, opacity 1s 1s;
}
.loaded .hero-image.align-left .hero-image__heading {
  transform: none;
  opacity: 1;
}
.hero-image.align-left .button-set {
  transform: translateY(10px);
  opacity: 0;
  transition: transform 1s 1s, opacity 1s 1s;
}
.loaded .hero-image.align-left .button-set {
  transform: none;
  opacity: 1;
}
.hero-image.align-left .button {
  max-width: fit-content;
}
.hero-image__scroll-down {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  text-align: center;
  width: 150px;
  height: 120px;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
  font-weight: bold;
  opacity: 0;
  transition: opacity 1s;
  transition-delay: 2s;
}
@media only screen and (max-width: 1023px) {
  .hero-image__scroll-down {
    display: none;
  }
}
.loaded .hero-image__scroll-down {
  opacity: 1;
}
.hero-image__scroll-down__link {
  color: #fff;
  display: block;
  height: 100%;
  width: 100%;
  -webkit-animation-duration: 3s;
  -moz-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: bob;
  -moz-animation-name: bob;
  animation-name: bob;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(0.47, 0.4, 0.42, 1.72);
  -moz-animation-timing-function: cubic-bezier(0.47, 0.4, 0.42, 1.72);
  animation-timing-function: cubic-bezier(0.47, 0.4, 0.42, 1.72);
}
.hero-image__scroll-down__link:before {
  width: 0;
  height: 0;
  border-left: 75px solid transparent;
  border-right: 75px solid transparent;
  border-top: 120px solid #fdb415;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
}
.hero-image__scroll-down__link:after {
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 26px solid #ffffff;
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
}
.hero-image__scroll-down__text {
  display: inline-block;
  padding: 0 32px;
  line-height: 1.2;
  margin-top: 8px;
  position: relative;
}
.hero-image__content {
  color: #fff;
  width: 100%;
  padding-top: 32px;
  padding-bottom: 32px;
}
@media only screen and (min-width: 1024px) {
  .hero-image__content {
    padding: 32px 0;
  }
  .home .hero-image__content {
    padding: 64px 0;
  }
}
@media only screen and (min-width: 768px) {
  .bg-image--half .hero-image__content {
    width: 40%;
  }
}
.hero-image__content img {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.align-left .hero-image__content__text {
  max-width: 560px;
}
@media only screen and (min-width: 768px) {
  .page-contact-us .hero-image__content__text {
    flex: 1;
  }
}
.hero-image__content__form {
  width: 100%;
  transform: translateX(-10px);
  opacity: 0;
  transition: transform 1s 1s, opacity 1s 1s;
  padding: 32px;
  background: rgba(255, 255, 255, 0.6);
  background: #fdb415;
  background-color: #fff;
  backdrop-filter: blur(10px);
  border-top-right-radius: 50px;
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px;
  color: #07415a;
}
.hero-image__content__form input,
.hero-image__content__form select,
.hero-image__content__form textarea {
  background: none;
}
.loaded .hero-image__content__form {
  transform: none;
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .hero-image__content__form {
    flex: 1;
  }
}
.hero-image__content-wrapper--has-form {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .hero-image__content-wrapper--has-form {
    gap: 64px;
    flex-direction: row;
  }
}
.hero-image__button {
  transition: transform 1.5s cubic-bezier(0.29, 0.74, 0.41, 0.91), opacity 1.5s cubic-bezier(0.29, 0.74, 0.41, 0.91);
  transition-delay: 1.1s;
  display: block;
  line-height: 1;
}
.hero-image__subheading {
  font-weight: 600;
  backface-visibility: hidden;
}
.hero-image__subheading p:last-child:not(+ .button-set) {
  margin-bottom: 0;
}
.hero-image__heading {
  max-width: none;
  backface-visibility: hidden;
}

.spacer {
  --multiplier: 1;
  --lh: 32px;
  margin-top: -1px;
  margin-bottom: -1px;
  padding: 0;
}
.spacer__div {
  height: calc(var(--lh) * var(--multiplier) / 2);
}
@media only screen and (min-width: 768px) {
  .spacer__div {
    height: calc(var(--lh) * var(--multiplier));
  }
}

.section-header {
  margin-bottom: 32px;
}
@media only screen and (min-width: 1024px) {
  .section-header {
    padding: 0;
  }
}
.section-header.is-visible:after {
  transform: none;
}
.section-header.is-visible .section-header__headings {
  transform: none;
  opacity: 1;
}
.section-header.is-visible a[class*=button] {
  transform: none;
  opacity: 1;
}
.section-header__headings {
  opacity: 0;
  transition: opacity 0.5s, transform 1s ease-in-out;
  flex: 1;
}
.align-center .section-header__headings {
  transform: translateY(-20px);
}
.align-left .section-header__headings {
  transform: translateX(-20px);
}
.section-header a[class*=button] {
  opacity: 0;
  transition: opacity 0.5s, transform 1s ease-in-out;
  transform: translateX(20px);
}
.section-header__heading {
  margin-bottom: 16px;
  position: relative;
  display: inline-block;
}
.section-header__heading.h1 {
  margin-bottom: 16px;
}
.section-header__subheading {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .section-header__subheading {
    line-height: 1.5;
  }
  .align-center .section-header__subheading {
    max-width: 670px;
    margin: 0 auto;
  }
  .align-left .section-header__subheading {
    max-width: 670px;
  }
}

.service-carousel {
  position: relative;
}
.service-carousel__list {
  position: relative;
  opacity: 0;
}
.service-carousel__list.is-visible {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInUpSmall;
  -moz-animation-name: fadeInUpSmall;
  animation-name: fadeInUpSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
.service-carousel__list--static {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
@media only screen and (min-width: 768px) {
  .service-carousel__list--static {
    grid-template-columns: repeat(4, 1fr);
  }
}
.service-carousel__list--static .service-carousel__item {
  margin: 0;
}
@media only screen and (min-width: 599px) {
  .service-carousel__carousel-nav {
    position: absolute;
    top: 0;
    right: 32px;
  }
}
.service-carousel__item.slick-slide {
  display: flex;
  height: auto;
}
@media only screen and (max-width: 598px) {
  .service-carousel__item.slick-slide {
    text-align: center;
  }
  .service-carousel__item.slick-slide .block-link__link {
    max-width: 270px;
    margin: 0 auto;
  }
}
.service-carousel__intro {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 32px;
  opacity: 0;
}
.service-carousel__intro.is-visible {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInRightSmall;
  -moz-animation-name: fadeInRightSmall;
  animation-name: fadeInRightSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
@media only screen and (min-width: 599px) {
  .service-carousel__intro {
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    margin-bottom: 0;
  }
}
.service-carousel__nav {
  display: flex;
  gap: 16px;
}
@media only screen and (max-width: 1023px) {
  .service-carousel__nav {
    justify-content: center;
    margin-bottom: 32px;
  }
}

.image-text-row {
  position: relative;
  z-index: 2;
  clear: both;
}
.home .image-text-row {
  padding-top: 0;
}
@media only screen and (min-width: 1024px) {
  .home .image-text-row {
    padding-top: 96px;
  }
}
.home .image-text-row .wrap {
  position: relative;
}
.image-text-row p:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 1024px) {
  .image-text-row--cs {
    margin: 0 -104px 32px -104px;
  }
}
.image-text-row.valign--top .image-text-row__content {
  align-items: flex-start;
}
.image-text-row.valign--middle .image-text-row__content {
  align-items: center;
}
.image-text-row.valign--bottom .image-text-row__content {
  align-items: flex-end;
}
.image-text-row__background + .wrap {
  position: relative;
  z-index: 2;
}
.image-text-row__content {
  padding: 32px 0;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
.image-text-row__content:before, .image-text-row__content:after {
  display: none;
}
@media only screen and (min-width: 1024px) {
  .image-text-row__content {
    padding: 0;
    flex-direction: row;
    gap: 32px;
    margin: 0;
    max-width: none;
  }
  .image-text-row__content.js-visible {
    opacity: 0;
    transition: opacity 1.5s 0.5s, transform 3s cubic-bezier(0, 0.92, 0, 1) 0.5s;
    transform: translateY(-10%);
  }
  .image-text-row__content.is-visible, .no-js .image-text-row__content {
    opacity: 1;
    transform: none;
  }
}
@media only screen and (min-width: 1024px) {
  .site-main .image-text-row__content {
    padding: 32px 0;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
  }
  .site-main .image-text-row__content:before, .site-main .image-text-row__content:after {
    display: none;
  }
}
@media only screen and (min-width: 1200px) {
  .site-main .image-text-row__content {
    padding: 0;
    flex-direction: row;
    gap: 32px;
    margin: 0;
    max-width: none;
  }
}
.image-text-row__text {
  flex: 1;
  order: 1;
  position: relative;
  margin-bottom: 32px;
}
@media only screen and (min-width: 1024px) {
  .image-text-row__text {
    margin-bottom: 0;
  }
}
.image-text-row__image {
  position: relative;
  flex: 1;
  order: 2;
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
.image-text-row__image a[class^=button] {
  margin-top: 32px;
}
.image-text-row__image--image-sticky {
  position: sticky;
  top: 32px;
}
@media only screen and (min-width: 1024px) {
  .image-text-row__image--image-first {
    order: 1;
    padding-right: 96px;
    padding-left: 0;
  }
}
.image-text-row__image img {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 10px;
}

.image-row {
  background-color: #fff;
  padding-left: 32px;
  padding-right: 32px;
}
.image-row__images:not(.slick-slider--accreditations) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 32px;
  justify-items: center;
  align-items: center;
}
.image-row__images:not(.slick-slider--accreditations) img {
  max-height: 120px;
  width: auto;
}
@media only screen and (min-width: 768px) {
  .image-row__images:not(.slick-slider--accreditations) {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
}

.case-studies-slider__header {
  margin-bottom: 32px;
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
}
.case-studies-slider__item {
  position: relative;
  padding: 32px;
  background: #0d1a2d;
  border-radius: 12px;
}
@media only screen and (min-width: 768px) {
  .case-studies-slider__item {
    padding: 0;
    background: none;
  }
}
.case-studies-slider__heading {
  margin-bottom: 32px;
}
@media only screen and (min-width: 768px) {
  .case-studies-slider__heading {
    margin-bottom: 0;
  }
}
.case-studies-slider__item-heading {
  margin-bottom: 16px;
  font-weight: 600;
}
.case-studies-slider__image {
  border-radius: 12px;
  overflow: hidden;
}
@media only screen and (min-width: 1024px) {
  .case-studies-slider__image {
    width: 80%;
    margin-left: 20%;
    opacity: 0;
    transition: opacity 0.5s;
  }
  .owl-item.active .case-studies-slider__image {
    opacity: 1;
  }
}
.case-studies-slider__text {
  flex: 1;
}
.case-studies-slider__text svg {
  fill: #fc0002;
  width: 137px;
  height: 24px;
}
.case-studies-slider__textbox {
  padding: 16px 0;
  flex: 1;
  width: 100%;
  background-color: #0d1a2d;
  color: #fff;
  border-radius: 12px;
}
@media only screen and (min-width: 768px) {
  .case-studies-slider__textbox {
    padding: 16px 32px;
    position: absolute;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 1024px) {
  .case-studies-slider__textbox {
    padding: 64px 48px;
    top: 50%;
    left: 30px;
    bottom: auto;
    transform: translate(10%, -50%);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    width: 460px;
    opacity: 0;
    transition: transform 0.5s 0.3s, opacity 0.3s 0.3s cubic-bezier(0.06, 0.51, 0.24, 0.97);
  }
  .owl-item.active .case-studies-slider__textbox {
    opacity: 1;
    transform: translate(0%, -50%);
  }
}
.case-studies-slider__controls {
  margin-bottom: 32px;
  position: relative;
}

.c2a-section {
  position: relative;
}
.c2a-section__main {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  padding: 32px;
}
@media only screen and (min-width: 1200px) {
  .c2a-section__main {
    padding: 32px;
  }
}
.c2a-section--column {
  text-align: center;
}
.c2a-section--column.has-contact-links .c2a-section__subheading, .c2a-section--column.has-button .c2a-section__subheading {
  margin-bottom: 32px;
}
.c2a-section--row {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .c2a-section--row .c2a-section__content {
    text-align: left;
    display: flex;
    gap: 64px;
    align-items: center;
    justify-content: space-between;
  }
}
.c2a-section--row .c2a-section__text {
  flex: 1;
}
.c2a-section__content {
  position: relative;
  z-index: 1;
}
.c2a-section__heading {
  margin-bottom: 16px;
}
.c2a-section__subheading {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
  .c2a-section__subheading {
    font-size: 18px;
    line-height: 1.3;
  }
}
.c2a-section__subheading p:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .c2a-section__subheading {
    margin-bottom: 0;
  }
}
.c2a-section__contact-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media only screen and (min-width: 1024px) {
  .c2a-section__contact-links {
    flex-direction: row;
    gap: 32px;
  }
}

.form .section__inner {
  background-color: #fff;
  box-shadow: 0 20px 40px rgba(7, 65, 90, 0.17);
  padding: 32px;
  margin: 0 32px;
  position: relative;
  width: calc(100% - 64px);
}
@media only screen and (min-width: 1024px) {
  .form .section__inner {
    width: auto;
    margin: 0 auto;
    padding: 64px 0 32px 0;
  }
}
.form .section__inner:before {
  position: absolute;
  inset: 0;
  background-image: url("./dist/img/tri-bg--orange.svg");
  background-repeat: no-repeat;
  background-position: calc(100% + 100px) calc(100% + 100px);
  opacity: 1;
  content: "";
  display: block;
}
.form__main {
  max-width: 650px;
  margin: 0 auto;
  position: relative;
}

.one-column {
  position: relative;
  z-index: 1;
}
.one-column__text :last-child {
  margin-bottom: 0;
}
.one-column__header {
  max-width: 650px;
}
@media only screen and (min-width: 1024px) {
  .one-column--narrow .one-column__text {
    margin: 0 auto;
    max-width: 80%;
  }
}

.usps {
  width: 100%;
  z-index: 2;
  color: #fff;
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .usps {
    display: block;
  }
}
.usps__list {
  margin: 0;
}
.usps__content {
  font-weight: 500;
  position: relative;
  font-size: 20px;
  display: flex;
  align-items: center;
  font-family: "Titillium Web", "Lucida Grande", sans-serif;
}
@media only screen and (max-width: 1023px) {
  .usps__content {
    justify-content: center;
  }
}
.usps__icon {
  width: 48px;
  height: 48px;
  display: none;
}
@media only screen and (min-width: 599px) {
  .usps__icon {
    display: flex;
    align-items: center;
  }
}
@media only screen and (min-width: 1024px) {
  .usps .svgicon {
    display: block;
  }
}

.contact-main {
  position: relative;
  padding-top: 32px;
}
@media only screen and (min-width: 1024px) {
  .contact-main__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
  }
}
.contact-main #googlemap {
  width: 100%;
  aspect-ratio: 4/3;
  margin-bottom: 16px;
}
@media only screen and (min-width: 1024px) {
  .contact-main__form-wrapper {
    margin-bottom: 0;
  }
}
.contact-main__form {
  max-width: 600px;
  margin: 0 auto;
}
.contact-main__form__subheading {
  font-size: 18px;
}
.contact-main__main {
  max-width: 650px;
}
.contact-main__main .box {
  padding: 64px 32px;
}
@media only screen and (min-width: 1024px) {
  .contact-main__main .box {
    padding: 64px;
  }
}

.sibling-page-grid {
  position: relative;
  overflow: hidden;
}
.sibling-page-grid .wrap {
  display: grid;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 768px) {
  .sibling-page-grid .wrap {
    grid-template-columns: 300px 1fr;
    grid-gap: 32px;
  }
}
.sibling-page-grid__list {
  margin: 0;
  text-align: left;
  position: relative;
  z-index: 2;
}
.sibling-page-grid__item {
  padding: 16px 0;
  position: relative;
}
.sibling-page-grid__icon {
  width: 48px;
  height: 48px;
}
.sibling-page-grid__icon svg {
  transition: transform 0.3s, opacity 0.2s;
  width: 23px;
  height: 11px;
}
.sibling-page-grid__icon:before {
  width: 23px;
  height: 11px;
}
@media only screen and (min-width: 1024px) {
  .sibling-page-grid__icon {
    position: absolute;
    top: 16px;
    right: 0;
  }
}
.sibling-page-grid__text {
  margin-top: 8px;
  border-radius: 5px;
  transition: background-color 0.3s;
}
.sibling-page-grid__header.section-header {
  padding: 0;
}
.sibling-page-grid__heading.page-link-grid__heading {
  font-size: 18px;
  transition: transform 0.3s;
  transform: translateX(-12px);
}
.sibling-page-grid__heading__button {
  display: flex;
  transition: transform 0.3s;
}
.sibling-page-grid__heading__button svg {
  transition: fill 0.3s;
}
.sibling-page-grid__link:hover {
  text-decoration: none;
}
.sibling-page-grid__link:hover .sibling-page-grid__text {
  background-color: #fdb415;
}
.sibling-page-grid__link:hover .sibling-page-grid__heading {
  transform: translateX(0);
  color: #fff;
}
.sibling-page-grid__link:hover .sibling-page-grid__heading__button {
  transform: translateX(-5px);
}
.sibling-page-grid__link:hover .sibling-page-grid__heading__button svg {
  fill: #fff;
}

.page-link-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 16px;
}
.page-link-grid--type2 {
  grid-gap: 32px;
}
@media only screen and (min-width: 768px) {
  .page-link-grid--type2 {
    grid-gap: 48px;
  }
}
.page-link-grid--type1 {
  background-color: #fff;
  grid-gap: 16px;
}
@media only screen and (min-width: 480px) {
  .page-link-grid--3col {
    grid-template-columns: 1fr 1fr;
  }
  .page-link-grid--2col {
    grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
  }
}
@media only screen and (min-width: 768px) {
  .page-link-grid {
    grid-gap: 32px;
    position: relative;
  }
  .page-link-grid--3col {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media only screen and (min-width: 1200px) {
  .page-link-grid--2col {
    grid-template-columns: repeat(auto-fit, minmax(550px, 1fr));
  }
}
.page-link-grid__text {
  gap: 16px;
  display: flex;
  padding: 16px;
  align-items: center;
  justify-content: space-between;
}
.page-link-grid__text__main {
  flex: 1;
  position: relative;
  margin-top: -1px;
}
.page-link-grid__link img {
  border-radius: 10px;
}
.page-link-grid__heading {
  line-height: 1.16;
  margin-bottom: 50px;
  transition: margin-bottom 0.2s;
  flex: 1;
}
.page-link-grid__header {
  max-width: 650px;
  margin-bottom: 48px;
}

.dropdown-list__main {
  max-width: 90%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .dropdown-list__main {
    max-width: 650px;
  }
}
@media only screen and (min-width: 1024px) {
  .dropdown-list--sidebar {
    margin-bottom: 64px;
  }
}
.dropdown-list__list {
  margin: 0;
}
@media only screen and (min-width: 599px) {
  .dropdown-list__list {
    padding-top: 32px;
  }
}
.dropdown-list__item {
  margin-bottom: 24px !important;
  background-color: #fdb415;
  border-radius: 10px;
  padding: 16px 16px 1px 64px;
}
.dropdown-list__item__heading {
  margin-bottom: 16px;
  transition: color 0.2s;
  cursor: pointer;
}
.dropdown-list__item__heading:hover {
  color: #0d1a2d;
}
.dropdown-list__item__heading:hover .dropdown-list__button {
  background-color: #aeb3b8;
}
.dropdown-list__item--is-open .dropdown-list__item__heading:hover .dropdown-list__button {
  background-color: #0d1a2d;
}
.dropdown-list__content {
  transition: max-height 0.5s cubic-bezier(0.46, 0.96, 0.43, 0.94);
  display: none;
  overflow: hidden;
  text-transform: none;
}
.dropdown-list__header {
  font-weight: bold;
  text-align: center;
}
.dropdown-list__button {
  width: 28px;
  height: 28px;
  position: absolute;
  background-color: #fff;
  transition: background-color 0.2s cubic-bezier(0.46, 0.96, 0.43, 0.94);
  display: flex;
  align-items: center;
  justify-content: center;
  left: 16px;
  border-radius: 50px;
}
.dropdown-list__item--is-open .dropdown-list__button {
  background-color: #0d1a2d;
}
.dropdown-list__item--is-open .dropdown-list__button:hover {
  background-color: #0d1a2d;
}
.dropdown-list__button:before {
  content: "";
  width: 13px;
  height: 3px;
  border-radius: 5px;
  background-color: #fdb415;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: background-color 0.3s;
}
.dropdown-list__item--is-open .dropdown-list__button:before {
  background-color: #fff;
}
.dropdown-list__button:after {
  content: "";
  width: 3px;
  height: 13px;
  border-radius: 5px;
  background-color: #fdb415;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s cubic-bezier(0.46, 0.96, 0.43, 0.94), background-color 0.3s;
}
.dropdown-list__item--is-open .dropdown-list__button:after {
  opacity: 0;
}
.dropdown-list__item {
  list-style: none !important;
  position: relative;
}

.accreditations {
  background-color: #fff;
  padding-left: 32px;
  padding-right: 32px;
}
.accreditations__logos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 32px;
  justify-items: center;
  align-items: center;
}
.accreditations__logos img {
  max-height: 120px;
  width: auto;
}
@media only screen and (min-width: 768px) {
  .accreditations__logos {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
}
.accreditations__logos.owl-carousel {
  display: block;
}

.twocol {
  position: relative;
  z-index: 1;
}
.twocol__row {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .twocol__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (max-width: 767px) {
  .twocol__row--has-image-col .twocol__col--has-image {
    margin: 0 32px;
    position: absolute;
    top: 32px;
    left: 0;
    width: calc(100% - 32px* 2);
    padding: 0;
    height: 200px;
    z-index: 1;
  }
  .twocol__row--has-image-col .twocol__col--text {
    padding-top: 270px;
  }
}
.twocol__col {
  padding: 32px;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  position: relative;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s 0.2s, transform 0.5s 0.2s;
}
.twocol__col.is-visible {
  opacity: 1;
  transform: none;
}
.twocol__col--col1 {
  transform: translateX(-15px);
}
.twocol__col--col2 {
  transform: translateX(15px);
}
.twocol__col--text {
  background-position: left top;
}
.twocol__col p:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 1024px) {
  .twocol__col {
    padding: 32px;
  }
  .twocol__row--has-image-col .twocol__col {
    min-height: 460px;
    padding: 64px 96px;
  }
}
@media only screen and (min-width: 1200px) {
  .twocol__row--has-image-col .twocol__col {
    min-height: 540px;
  }
}
.twocol__image {
  border-radius: 20px;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .twocol__image {
    border-radius: 40px;
    margin: 64px 32px 32px 32px;
  }
}
.twocol__content {
  position: relative;
  z-index: 2;
}
.twocol__content img {
  border-radius: 20px;
}

.gallery__item {
  width: 100%;
  margin-bottom: 16px;
  transform: translateY(32px);
  transition: transform 1s ease-in-out, opacity 1.5s;
  width: calc(50% - 16px);
}
@media only screen and (min-width: 1024px) {
  .gallery__item {
    width: calc(33.3333% - 10.6666666667px);
  }
}
.gallery__item img {
  transition: transform 0.3s;
  width: 100%;
}
.gallery__subheading {
  font-size: 14px;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .gallery__subheading {
    font-size: 18px;
    line-height: 1.3;
  }
}
.gallery__link {
  overflow: hidden;
  position: relative;
  display: block;
}
.gallery__link:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  background-color: #000;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 1;
}
.gallery__link:after {
  content: "";
  width: 48px;
  height: 48px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url("./dist/img/svg/circle-plus--white.svg");
  background-size: 100%;
  transition: opacity 0.3s;
  opacity: 0;
  z-index: 2;
}
.gallery__link:hover:before, .gallery__link:hover:after {
  opacity: 0.7;
}
.gallery__link:hover img {
  transform: scale(1.1);
}

.pswp__button--share {
  display: none;
}

.m-container {
  padding-bottom: 32px;
  max-width: 1440px;
  margin: 0 auto;
}

.m-sizer {
  width: 100%;
  width: calc(50% - 16px);
}
@media only screen and (min-width: 1024px) {
  .m-sizer {
    width: calc(33.3333% - 10.6666666667px);
  }
}

.m-gutter {
  width: 16px;
}
@media only screen and (min-width: 1024px) {
  .m-gutter {
    width: 16px;
  }
}

.pswp__caption .pswp__caption__center {
  max-width: fit-content;
}

.list ol.list__list {
  padding: 0;
}
.list ol.list__list > li {
  padding-left: 64px;
}
.list ul.list__list {
  margin: 0;
}
.list__content ul {
  margin: 0;
}
.page-template-default .list__main {
  max-width: 680px;
  margin: 0 auto;
}
.list__item {
  padding: 0;
  padding-top: 16px;
  opacity: 0;
}
.is-visible .list__item {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInUpSmall;
  -moz-animation-name: fadeInUpSmall;
  animation-name: fadeInUpSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.4, 0.12, 0.1, 1.35);
  -moz-animation-timing-function: cubic-bezier(0.4, 0.12, 0.1, 1.35);
  animation-timing-function: cubic-bezier(0.4, 0.12, 0.1, 1.35);
}
.is-visible .list__item:nth-child(1) {
  animation-delay: 0.25s;
}
.is-visible .list__item:nth-child(2) {
  animation-delay: 0.5s;
}
.is-visible .list__item:nth-child(3) {
  animation-delay: 0.75s;
}
.is-visible .list__item:nth-child(4) {
  animation-delay: 1s;
}
.is-visible .list__item:nth-child(5) {
  animation-delay: 1.25s;
}
.is-visible .list__item:nth-child(6) {
  animation-delay: 1.5s;
}
.list__item--has-icon {
  list-style: none;
}
.list__item--has-icon .list__item__heading {
  display: flex;
  align-items: center;
  gap: 8px;
}
.list__item__heading span {
  flex: 1;
}
.list__item:not(.bg--none) {
  padding-right: 16px;
  padding-bottom: 16px;
  border-radius: 24px;
}
.list__item:not(.bg--none):last-child {
  margin-bottom: 0;
}

.internal-slider {
  clear: both;
  position: relative;
  z-index: 2;
}
.internal-slider__slide-wrapper {
  margin: 0 auto;
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .internal-slider__slide-wrapper {
    margin: 0 -104px 32px -104px;
  }
}
.internal-slider .slick-prev,
.internal-slider .slick-next {
  border: 0;
  background: #fff;
  width: 64px;
  height: 64px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  transition: transform 0.2s;
}
.internal-slider .slick-prev {
  left: 16px;
}
.internal-slider .slick-prev:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 32px;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("./dist/img/svg/arrow-left.svg");
}
.internal-slider .slick-prev:hover {
  transform: translate(-5px, -50%);
}
.internal-slider .slick-next {
  right: 16px;
}
.internal-slider .slick-next:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 32px;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("./dist/img/svg/arrow-right.svg");
}
.internal-slider .slick-next:hover {
  transform: translate(5px, -50%);
}
.internal-slider__image {
  border-radius: 40px;
  overflow: hidden;
}
@media only screen and (max-width: 479px) {
  .internal-slider__image {
    height: 250px;
  }
  .internal-slider__image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
.internal-slider__item {
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 1024px) {
  .internal-slider__item {
    padding-bottom: 64px;
  }
}
@media only screen and (min-width: 1600px) {
  .internal-slider__item {
    padding-bottom: 0;
  }
}
.internal-slider__subheading {
  margin-bottom: 16px;
}
.internal-slider__text {
  position: absolute;
  color: #07415a;
  bottom: 24px;
  left: 32px;
  display: none;
  background-color: #fff;
  max-width: 315px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  border-radius: 20px;
}
@media only screen and (min-width: 480px) {
  .internal-slider__text {
    max-width: 450px;
  }
}
@media only screen and (min-width: 1024px) {
  .internal-slider__text {
    display: block;
  }
}
@media only screen and (min-width: 1600px) {
  .internal-slider__text {
    bottom: 32px;
  }
}
.internal-slider__text-wrapper {
  position: relative;
  z-index: 2;
  transition: transform 0.3s cubic-bezier(0.29, 0.74, 0.41, 0.91), opacity 0.3s;
  transition-delay: 0.5s;
  transform: translateY(50px);
  opacity: 0;
}
@media only screen and (min-width: 599px) {
  .internal-slider__text-wrapper {
    padding: 16px 32px;
  }
}
.slick-current .internal-slider__text-wrapper {
  opacity: 1;
  transform: none;
}
.internal-slider__heading {
  color: #07415a;
}

.tabbed-panels {
  position: relative;
  overflow: hidden;
}
.tabbed-panels:before {
  position: absolute;
  inset: 0;
  background-image: url("./dist/img/tri-bg.svg");
  background-repeat: no-repeat;
  background-position: calc(100% + 250px) calc(100% + 300px);
  mix-blend-mode: overlay;
  opacity: 0.7;
  content: "";
  display: block;
}
.tabbed-panels-section .tabbed-panels-section__heading {
  margin-bottom: 64px;
}
.tabbed-panels__content.js-visible {
  transform: translateY(20px);
  opacity: 0;
}
.tabbed-panels__content.js-visible.is-visible {
  transform: none;
  opacity: 1;
}
.tabbed-panels__panel-container {
  position: relative;
  z-index: 1;
}
.tabbed-panels .wrap {
  position: relative;
}
.tabbed-panels__tabs {
  clear: both;
  position: relative;
  z-index: 1;
  text-align: center;
  margin-bottom: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .tabbed-panels__tabs {
    margin: 32px 0;
  }
}
@media only screen and (min-width: 1024px) {
  .tabbed-panels__tabs {
    justify-content: space-between;
  }
}
@media only screen and (min-width: 1200px) {
  .tabbed-panels__tabs {
    gap: 32px;
  }
}
@media only screen and (min-width: 1024px) {
  .tabbed-panels__tabs--align-left {
    justify-content: flex-start;
    text-align: left;
  }
}
.tabbed-panels__footer {
  display: flex;
  gap: 32px;
  align-items: center;
  justify-content: center;
  padding-top: 32px;
}
.tabbed-panels__tab {
  padding-top: 16px;
  padding-bottom: 16px;
  background: none;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  border-bottom: 3px solid rgba(255, 255, 255, 0.5);
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: 700;
  padding-left: 16px;
  padding-right: 16px;
  font-size: 12px;
}
@media only screen and (min-width: 768px) {
  .tabbed-panels__tab {
    font-size: 16px;
  }
}
@media only screen and (min-width: 1024px) {
  .tabbed-panels__tab {
    flex: 1;
  }
}
@media only screen and (min-width: 1200px) {
  .tabbed-panels__tab {
    font-size: 18px;
    padding-left: 32px;
    padding-right: 32px;
  }
}
.tabbed-panels__tab:hover {
  color: rgba(255, 255, 255, 0.8);
  border-color: rgba(255, 255, 255, 0.8);
}
.tabbed-panels__tab--active {
  color: #fdb415;
  border-bottom: 3px solid #fdb415;
}
.tabbed-panels__tab--active:hover {
  color: #fdb415;
  border-bottom: 3px solid #fdb415;
}
.tabbed-panels__item {
  display: none;
  position: absolute;
}
.tabbed-panels__item--2col.tabbed-panels__item--active {
  display: flex;
  gap: 32px;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .tabbed-panels__item--2col.tabbed-panels__item--active {
    flex-direction: row;
  }
}
.tabbed-panels__item--2col .tabbed-panels__panel-content {
  flex: 1;
}
.tabbed-panels__item--2col .tabbed-panels__panel-image {
  border-radius: 12px;
  flex: 1;
  overflow: hidden;
  -webkit-animation-duration: 1.2s;
  -moz-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInRightSmall;
  -moz-animation-name: fadeInRightSmall;
  animation-name: fadeInRightSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  -moz-animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  animation-delay: 0.3s;
}
@media only screen and (max-width: 767px) {
  .tabbed-panels__item--2col .tabbed-panels__panel-image {
    display: none;
  }
}
.tabbed-panels__item--2col .tabbed-panels img {
  border-radius: 12px;
}
.tabbed-panels__item--active {
  position: static;
  display: block;
}
.tabbed-panels__panel-content {
  -webkit-animation-duration: 1.2s;
  -moz-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInUpSmall;
  -moz-animation-name: fadeInUpSmall;
  animation-name: fadeInUpSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  -moz-animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  animation-timing-function: cubic-bezier(0.42, 0, 0.28, 1);
  animation-delay: 0.3s;
}
.tabbed-panels__panel-content p:last-child {
  margin-bottom: 0;
}
.tabbed-panels__panel-heading {
  text-align: center;
}
.tabbed-panels__panel-text {
  text-align: center;
  max-width: 650px;
  margin: 0 auto 64px auto;
}

.icon-text-columns {
  padding-top: 64px;
  padding-bottom: 64px;
  position: relative;
}
@media only screen and (min-width: 599px) {
  .icon-text-columns {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}
@media only screen and (min-width: 1024px) {
  .icon-text-columns {
    padding-top: 192px;
    padding-bottom: 192px;
  }
}
.icon-text-columns--has-bg .icon-text-columns__item {
  background-color: #fff;
}
.icon-text-columns__wrapper {
  border-radius: 12px;
  padding: 96px;
}
.icon-text-columns__main {
  position: relative;
  z-index: 2;
  display: grid;
  justify-content: center;
  gap: 20px;
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 480px) {
  .icon-text-columns__main {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 1024px) {
  .icon-text-columns__main--3col {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.icon-text-columns__item {
  width: 100%;
  flex: 1;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 32px 16px;
  opacity: 0;
  justify-content: center;
}
.is-visible .icon-text-columns__item {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInUpSmall;
  -moz-animation-name: fadeInUpSmall;
  animation-name: fadeInUpSmall;
  -webkit-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.4, 0.12, 0.1, 1.35);
  -moz-animation-timing-function: cubic-bezier(0.4, 0.12, 0.1, 1.35);
  animation-timing-function: cubic-bezier(0.4, 0.12, 0.1, 1.35);
}
.is-visible .icon-text-columns__item:nth-child(1) {
  animation-delay: 0.25s;
}
.is-visible .icon-text-columns__item:nth-child(2) {
  animation-delay: 0.5s;
}
.is-visible .icon-text-columns__item:nth-child(3) {
  animation-delay: 0.75s;
}
.is-visible .icon-text-columns__item:nth-child(4) {
  animation-delay: 1s;
}
.is-visible .icon-text-columns__item:nth-child(5) {
  animation-delay: 1.25s;
}
.is-visible .icon-text-columns__item:nth-child(6) {
  animation-delay: 1.5s;
}
.icon-text-columns__item.align-center {
  align-items: center;
}
.bg--none .icon-text-columns__item, .bg--white .icon-text-columns__item, .bg--lgrey-200 .icon-text-columns__item {
  background: #fff;
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__item {
    padding: 64px 32px 32px 32px;
    min-height: 234px;
  }
  .icon-text-columns__item--has-text {
    padding: 32px;
  }
}
.icon-text-columns__item-text p:last-of-type {
  margin-bottom: 0;
}
.icon-text-columns__item-heading {
  margin-bottom: 16px;
  transition: color 0.5s;
}
.icon-text-columns__item-heading.subheading {
  letter-spacing: normal;
}
.icon-text-columns__image {
  display: inline-block;
  transition: transform 0.45s cubic-bezier(0.4, 0.12, 0.1, 1.35);
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__image {
    margin-bottom: 16px;
  }
}
.icon-text-columns__image img {
  width: 32px;
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__image img {
    width: 64px;
  }
}
.icon-text-columns__image--medium img {
  width: 32px;
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__image--medium img {
    width: 64px;
  }
}
.icon-text-columns__image--large img {
  width: 40px;
}
@media only screen and (min-width: 768px) {
  .icon-text-columns__image--large img {
    width: 80px;
  }
}
.icon-text-columns__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  align-items: center;
  text-decoration: none;
  color: #07415a;
  font-weight: normal;
}
.icon-text-columns__link--displayarrow:after {
  content: "→";
  transition: transform 0.3s, opacity 0.3s;
  opacity: 0;
  color: #fdb415;
  font-size: 28px;
  transform: translateX(-8px);
  display: inline-block;
}
.icon-text-columns__link--displayarrow:hover:after {
  opacity: 1;
  transform: none;
}
.icon-text-columns__link--rotateicon:hover .icon-text-columns__image {
  transform: rotate(180deg);
}
.icon-text-columns__link--rotateicon:hover .icon-text-columns__item-heading {
  color: #fdb415;
}
.icon-text-columns__link:hover {
  text-decoration: none;
  color: #07415a;
}
.icon-text-columns__subheading {
  display: none;
}
@media only screen and (min-width: 480px) {
  .icon-text-columns__subheading {
    display: block;
  }
}
.icon-text-columns__c2a {
  position: absolute;
  bottom: -48px;
}
.icon-text-columns__c2a svg {
  fill: #07415a;
  width: 32px;
  height: 32px;
}
.icon-text-columns__text {
  display: flex;
  flex-direction: column;
}
.icon-text-columns__text ul {
  display: flex;
  flex-direction: column;
  text-align: left;
  margin: 0;
  padding-left: 16px;
}
.icon-text-columns__text ul li {
  font-size: 14px;
}

/*--------------------------------------------------------------
4.0 Vendor
--------------------------------------------------------------*/
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none;
}

.pswp * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--open {
  display: block;
}

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #0d1a2d;
  opacity: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  -webkit-transition: none;
  transition: none;
}

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
}

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
}

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222;
}

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0;
}

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC;
}

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline;
}

/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*

	1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0 21px 0 0;
  float: right;
  opacity: 0.75;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.pswp__button--close, .pswp__button--arrow--right {
  margin-right: 0;
}

.pswp__button:focus,
.pswp__button:hover {
  opacity: 1;
}

.pswp__button:active {
  outline: none;
  opacity: 0.9;
}

.pswp__button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1;
}

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background-image: url(./photoswipe/default-skin.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 264px 88px;
  border-radius: 100%;
  width: 30px;
  height: 30px;
}

@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
.pswp--svg .pswp__button--arrow--left:before,
.pswp--svg .pswp__button--arrow--right:before {
    background-image: url(./photoswipe/default-skin.svg);
  }

  .pswp--svg .pswp__button--arrow--left,
.pswp--svg .pswp__button--arrow--right {
    background: none;
  }
}
.pswp__button--close {
  background-position: -7px -51px;
  background-color: #fff;
}

.pswp__button--share {
  background-position: -50px -51px;
  background-color: #fff;
  display: none;
}

.pswp__button--fs {
  display: none;
  background-position: -7px -7px;
  background-color: #fff;
}

.pswp--supports-fs .pswp__button--fs {
  display: block;
}

.pswp--fs .pswp__button--fs {
  background-position: -59px -7px;
}

.pswp__button--zoom {
  display: none;
  background-position: -94px -7px;
  background-color: #fff;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -138px -7px;
}

/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden;
}

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute;
}

.pswp__button--arrow--left {
  left: 0;
}

.pswp__button--arrow--right {
  right: 0;
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: "";
  top: 35px;
  background-color: white;
  height: 30px;
  width: 30px;
  border-radius: 100%;
  position: absolute;
}

.pswp__button--arrow--left:before {
  left: 20px;
  background-position: -141px -44px;
}

.pswp__button--arrow--right:before {
  right: 20px;
  background-position: -94px -44px;
}

/*

	2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__share-modal--hidden {
  display: none;
}

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #fff;
  top: 60px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 60px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(6px);
  -ms-transform: translateY(6px);
  transform: translateY(6px);
  -webkit-transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}

.pswp__share-tooltip a {
  display: block;
  padding: 8px 12px;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  line-height: 18px;
}

.pswp__share-tooltip a:hover {
  text-decoration: none;
  color: #000;
}

.pswp__share-tooltip a:first-child {
  /* round corners on the first/last list item */
  border-radius: 2px 2px 0 0;
}

.pswp__share-tooltip a:last-child {
  border-radius: 0 0 2px 2px;
}

.pswp__share-modal--fade-in {
  opacity: 1;
}

.pswp__share-modal--fade-in .pswp__share-tooltip {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px;
}

a.pswp__share--facebook:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #fff;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none;
}

a.pswp__share--facebook:hover {
  background: #3e5c9a;
  color: #fff;
}

a.pswp__share--facebook:hover:before {
  border-bottom-color: #3e5c9a;
}

a.pswp__share--twitter:hover {
  background: #55acee;
  color: #fff;
}

a.pswp__share--pinterest:hover {
  background: #ccc;
  color: #ce272d;
}

a.pswp__share--download:hover {
  background: #ddd;
}

/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 11px;
  line-height: 20px;
  letter-spacing: 1.5px;
  color: #fff;
  padding: 25px 10px 10px 26px;
  font-family: "Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif;
}

/*

	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px;
}

.pswp__caption small {
  font-size: 11px;
  color: #bbb;
}

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 18px;
  padding: 10px;
  line-height: 24px;
  color: #ccc;
}

.pswp__caption--empty {
  display: none;
}

/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden;
}

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr;
}

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px;
}

.pswp__preloader--active {
  opacity: 1;
}

.pswp__preloader--active .pswp__preloader__icn {
  /* We use .gif in browsers that don't support CSS animation */
  background: url(./photoswipe/preloader.gif) 0 0 no-repeat;
}

.pswp--css_animation .pswp__preloader--active {
  opacity: 1;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
  -webkit-animation: clockwise 500ms linear infinite;
  animation: clockwise 500ms linear infinite;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
  -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
  animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}

.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0;
}

.pswp--css_animation .pswp__preloader__cut {
  /* 
  	The idea of animating inner circle is based on Polymer ("material") loading indicator 
  	 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
  */
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden;
}

.pswp--css_animation .pswp__preloader__donut {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #fff;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0;
}

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right;
  }
}
@-webkit-keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
/*

	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
}

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  padding: 32px;
}

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible;
}

.pswp__top-bar,
.pswp__caption {
  background-color: none;
}

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: none;
}

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0;
}

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0;
}

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001;
}

/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none;
}

.pswp__element--disabled {
  display: none !important;
}

.pswp--minimal--dark .pswp__top-bar {
  background: none;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfZ2xvYmFsLnNjc3MiLCJ2YXJzL19nZW5lcmFsLnNjc3MiLCJ2YXJzL19jb2xvdXJzLnNjc3MiLCJfdHlwb2dyYXBoeS5zY3NzIiwiX2FuaW1hdGUuc2NzcyIsIl9sYXlvdXQuc2NzcyIsIl9oZWxwZXJzLnNjc3MiLCJtb2R1bGVzL19uYXYuc2NzcyIsIm1vZHVsZXMvX3RhYmxlcy5zY3NzIiwibW9kdWxlcy9fYnV0dG9uLnNjc3MiLCJtb2R1bGVzL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fbG9nby5zY3NzIiwibW9kdWxlcy9fc2xpZGVtZW51LnNjc3MiLCJtb2R1bGVzL19vd2xjYXJvdXNlbC5zY3NzIiwibW9kdWxlcy9fdG9nZ2xlLW5hdi5zY3NzIiwibW9kdWxlcy9fc29jaWFsLWxpbmtzLnNjc3MiLCJtb2R1bGVzL19jb250YWN0LWxpbmsuc2NzcyIsIm1vZHVsZXMvX2Vycm9yLTQwNC5zY3NzIiwibW9kdWxlcy9fZ3JhZGllbnQtc2hhZG93LnNjc3MiLCJtb2R1bGVzL19vdmVybGF5LnNjc3MiLCJtb2R1bGVzL19zdmdpY29uLnNjc3MiLCJtb2R1bGVzL19hdmF0YXIuc2NzcyIsIm1vZHVsZXMvX2dmb3JtLnNjc3MiLCJtb2R1bGVzL19saXR5LnNjc3MiLCJtb2R1bGVzL19wb3N0LnNjc3MiLCJtb2R1bGVzL19ibG9jay1saW5rLnNjc3MiLCJtb2R1bGVzL19zbGljay5zY3NzIiwibW9kdWxlcy9faWNvbi1idWxsZXQtbGlzdC5zY3NzIiwibW9kdWxlcy9fcG9zdC1zaGFyZS5zY3NzIiwibW9kdWxlcy9fcG9zdC1saXN0LnNjc3MiLCJtb2R1bGVzL19mZWF0dXJlcy1saXN0LnNjc3MiLCJtb2R1bGVzL19icmVhZGNydW1icy5zY3NzIiwibW9kdWxlcy9fd2lkZ2V0LnNjc3MiLCJtb2R1bGVzL190aWNrbGlzdC5zY3NzIiwibW9kdWxlcy9fcGFnaW5hdGlvbi5zY3NzIiwibW9kdWxlcy9fY2Fyb3VzZWwtbmF2LnNjc3MiLCJsYXlvdXRzL19oZXJvLnNjc3MiLCJsYXlvdXRzL19zcGFjZXIuc2NzcyIsImxheW91dHMvX3NlY3Rpb24taGVhZGVyLnNjc3MiLCJsYXlvdXRzL19zZXJ2aWNlLWNhcm91c2VsLnNjc3MiLCJsYXlvdXRzL19pbWFnZS10ZXh0LXJvdy5zY3NzIiwibGF5b3V0cy9faW1hZ2Utcm93LnNjc3MiLCJsYXlvdXRzL19jYXNlLXN0dWRpZXMtc2xpZGVyLnNjc3MiLCJsYXlvdXRzL19jMmEtc2VjdGlvbi5zY3NzIiwibGF5b3V0cy9fZm9ybS1zZWN0aW9uLnNjc3MiLCJsYXlvdXRzL19vbmUtY29sdW1uLnNjc3MiLCJsYXlvdXRzL191c3BzLnNjc3MiLCJsYXlvdXRzL19jb250YWN0LW1haW4uc2NzcyIsImxheW91dHMvX3NpYmxpbmctcGFnZS1ncmlkLnNjc3MiLCJsYXlvdXRzL19wYWdlLWxpbmstZ3JpZC5zY3NzIiwibGF5b3V0cy9fZHJvcGRvd24tbGlzdC5zY3NzIiwibGF5b3V0cy9fYWNjcmVkaXRhdGlvbnMuc2NzcyIsImxheW91dHMvX3R3b2NvbC5zY3NzIiwibGF5b3V0cy9fZ2FsbGVyeS5zY3NzIiwibGF5b3V0cy9fbGlzdC5zY3NzIiwibGF5b3V0cy9faW50ZXJuYWwtc2xpZGVyLnNjc3MiLCJsYXlvdXRzL190YWJiZWQtcGFuZWxzLnNjc3MiLCJsYXlvdXRzL19pY29uLXRleHQtY29sdW1ucy5zY3NzIiwidmVuZG9yL3Bob3Rvc3dpcGUvX3Bob3Rvc3dpcGUuc2NzcyIsInZlbmRvci9waG90b3N3aXBlL19kZWZhdWx0LXNraW4uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUF3QkE7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUN2Q0E7QUNBQTtBQUNBO0VBQ0k7RUFDQTs7O0FBR0o7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUF5REk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtFQUdJOzs7QUFHSjtFQUNJO0VBQ0EsYUNyR0M7RURzR0Q7RUFDQTtFQUNBLE9FdEdNO0VGdUdOLFlFM0dNOztBSGdHTjtFQ0tKO0lBYVE7SUFDQTs7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVVJOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7RUFDQTs7O0FBS0E7QUFBQTtBQUFBO0VBRUk7OztBQUlSO0FBQUE7RUFFSTs7O0FBR0o7QUFTSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFSTtFQUNBOzs7QUFXSjtBQUFBO0FB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TTtFQ3dCTjtFQUNBOztBSkdRO0VJVFo7SUpxQlE7SUFFSTs7OztBSWRaO0FBQUE7RUFFSSxhRmpDRTtFRjJDRTtFQUVJO0VJVlI7RUFDQTtFQUNBOztBSk5RO0VJQVo7QUFBQTtJSllRO0lBRUk7OztBQWRBO0VJQVo7QUFBQTtJSllRO0lBRUk7OztBSUxKO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFSitFUiw0Qkk5RXlCO0VKK0V6Qix5QkkvRXlCO0VKZ0Z6QixvQkloRnlCO0VKaUZ6QjtFQUNBO0VBQ0E7RUFDQSx3QklwRitCO0VKcUYvQixxQklyRitCO0VKc0YvQixnQkl0RitCO0VKdUYvQixtQ0l2RmdEO0VKd0ZoRCxnQ0l4RmdEO0VKeUZoRCwyQkl6RmdEO0VKMEZoRCxtQ0kxRm1EO0VKMkZuRCxnQ0kzRm1EO0VKNEZuRCwyQkk1Rm1EO0VBQzNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUowQ1I7RUlyREk7QUFBQTtJQWNRO0lBQ0E7OztBQU1KO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VKMERaLDRCSXpENkI7RUowRDdCLHlCSTFENkI7RUoyRDdCLG9CSTNENkI7RUo0RDdCO0VBQ0E7RUFDQTtFQUNBLHdCSS9EbUM7RUpnRW5DLHFCSWhFbUM7RUppRW5DLGdCSWpFbUM7RUprRW5DLG1DSWxFb0Q7RUptRXBELGdDSW5Fb0Q7RUpvRXBELDJCSXBFb0Q7RUpxRXBELG1DSXJFdUQ7RUpzRXZELGdDSXRFdUQ7RUp1RXZELDJCSXZFdUQ7RUFDM0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBSnFCWjtFSWhDUTtBQUFBO0FBQUE7SUFjUTtJQUNBOzs7O0FBT3BCO0VKeENRO0VBRUk7RUl3Q1IsYUZyRkU7RUVzRkY7RUFDQTtFQUNBOztBSnpEUTtFSW9EWjtJSnhDUTtJQUVJOzs7QUFkQTtFSW9EWjtJSnhDUTtJQUVJOzs7QUFkQTtFSW9EWjtJSnhDUTtJQUVJOzs7O0FJOENaO0FBQUE7RUFFSSxhRjdGRTtFRjJDRTtFQUVJO0VJa0RSO0VBQ0E7O0FKakVRO0VJNERaO0FBQUE7SUpoRFE7SUFFSTs7O0FBZEE7RUk0RFo7QUFBQTtJSmhEUTtJQUVJOzs7O0FJc0RaO0FBQUE7RUFFSSxhRnJHRTtFRjJDRTtFQUVJO0VJMERSO0VBQ0E7O0FKekVRO0VJb0VaO0FBQUE7SUp4RFE7SUFFSTs7OztBSThEWjtBQUFBO0VBRUk7RUFDQSxhRjFHQzs7QUU0R0Q7QUFBQTtBQUFBO0FBQUE7RUFFSTs7O0FBSVI7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUNoTUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBRUo7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUVKO0lBQ0k7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBRUo7SUFDSTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFFSjtJQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7SUFD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RUhrS1A7RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPVXRLd0M7RVZ1S3hDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVcEpKO0VWNkhKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9VeEl3QztFVnlJeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVUxSUk7RVZ5SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0h3QjtFVjhIeEI7RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPRXBFTTtFRnFFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBVXZJUTtFQUNJLFlSNkROO0VRNURNO0VBQ0EsY1IyRE47RVExRE07O0FBckNSO0VWdUpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9HdEtNO0VIdUtOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVcEpKO0VWNkhKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9VeEl3QztFVnlJeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVoSko7RVZ5SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0h3QjtFVjhIeEI7RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPRXBFTTtFRnFFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBVXZJUTtFQUNJLFlSNkROO0VRNURNO0VBQ0EsY1IyRE47RVExRE07O0FBckNSO0VWdUpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9Vaks0QztFVmtLNUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVwSko7RVY2SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFN0RNO0VGOEROO0VBQ0EsYUVsS0U7RUZtS0Y7RUFDQTtFQUNBLFdFbEtDO0VGbUtEO0VBQ0EsT1V4SXdDO0VWeUl4QztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVWhKSjtFVnlISjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWVU3SHdCO0VWOEh4QjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9FcEVNO0VGcUVOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FVdklRO0VBQ0ksWVI2RE47RVE1RE07RUFDQSxjUjJETjtFUTFETTs7QUFyQ1I7RVZ1Sko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFN0RNO0VGOEROO0VBQ0EsYUVsS0U7RUZtS0Y7RUFDQTtFQUNBLFdFbEtDO0VGbUtEO0VBQ0EsT1VqSzRDO0VWa0s1QztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVXpLUTtFQUNJLGtCUExkO0VPTWMsT1J3RmQ7RVF2RmMsY1BQZDs7QU95QkY7RVY2SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFN0RNO0VGOEROO0VBQ0EsYUVsS0U7RUZtS0Y7RUFDQTtFQUNBLFdFbEtDO0VGbUtEO0VBQ0EsT1V4SXdDO0VWeUl4QztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVWhKSjtFVnlISjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWVU3SHdCO0VWOEh4QjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9FcEVNO0VGcUVOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FVdklRO0VBQ0ksWVI2RE47RVE1RE07RUFDQSxjUjJETjtFUTFETTs7QUFyQ1I7RVZ1Sko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFN0RNO0VGOEROO0VBQ0EsYUVsS0U7RUZtS0Y7RUFDQTtFQUNBLFdFbEtDO0VGbUtEO0VBQ0EsT1VqSzRDO0VWa0s1QztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOztBVXBKSjtFVjZISjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUU3RE07RUY4RE47RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPVXhJd0M7RVZ5SXhDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVaEpKO0VWeUhKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZVTdId0I7RVY4SHhCO0VBQ0EsYUVsS0U7RUZtS0Y7RUFDQTtFQUNBLFdFbEtDO0VGbUtEO0VBQ0EsT0VwRU07RUZxRU47RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVV2SVE7RUFDSSxZUjZETjtFUTVETTtFQUNBLGNSMkROO0VRMURNOztBQXJDUjtFVnVKSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUU3RE07RUY4RE47RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPVWpLNEM7RVZrSzVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVaktRO0VBQ0ksa0JQYmQ7RU9jYyxPUHBCYjtFT3FCYSxjUGZkOztBT3lCRjtFVjZISjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUU3RE07RUY4RE47RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPVXhJd0M7RVZ5SXhDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVaEpKO0VWeUhKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZVTdId0I7RVY4SHhCO0VBQ0EsYUVsS0U7RUZtS0Y7RUFDQTtFQUNBLFdFbEtDO0VGbUtEO0VBQ0EsT0VwRU07RUZxRU47RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVV2SVE7RUFDSSxZUjZETjtFUTVETTtFQUNBLGNSMkROO0VRMURNOztBQXJDUjtFVnVKSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUU3RE07RUY4RE47RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPVWpLNEM7RVZrSzVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVcEpKO0VWNkhKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9VeEl3QztFVnlJeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVoSko7RVZ5SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0h3QjtFVjhIeEI7RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPRXBFTTtFRnFFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBVXZJUTtFQUNJLFlSNkROO0VRNURNO0VBQ0EsY1IyRE47RVExRE07O0FBckNSO0VWdUpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9HdEtNO0VIdUtOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVcEpKO0VWNkhKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9VeEl3QztFVnlJeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVoSko7RVZ5SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0h3QjtFVjhIeEI7RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPRXBFTTtFRnFFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBVXZJUTtFQUNJLFlSNkROO0VRNURNO0VBQ0EsY1IyRE47RVExRE07O0FBckNSO0VWdUpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9HdEtNO0VIdUtOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7O0FVcEpKO0VWNkhKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9VeEl3QztFVnlJeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVoSko7RVZ5SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlVN0h3QjtFVjhIeEI7RUFDQSxhRWxLRTtFRm1LRjtFQUNBO0VBQ0EsV0VsS0M7RUZtS0Q7RUFDQSxPRXBFTTtFRnFFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBVXZJUTtFQUNJLFlSNkROO0VRNURNO0VBQ0EsY1IyRE47RVExRE07O0FBckNSO0VWdUpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRTdETTtFRjhETjtFQUNBLGFFbEtFO0VGbUtGO0VBQ0E7RUFDQSxXRWxLQztFRm1LRDtFQUNBLE9Vaks0QztFVmtLNUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7RUFDQTs7QVVwSko7RVY2SEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlFN0RNO0VGOEROO0VBQ0EsYUVsS0U7RUZtS0Y7RUFDQTtFQUNBLFdFbEtDO0VGbUtEO0VBQ0EsT1V4SXdDO0VWeUl4QztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7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WW1JVzs7RUFHSjtJQUNJLGFadklYOztFWXlJVztJQUNJLEtaMUlmOzs7QUZ5RkQ7RWNzREk7SUFDSTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7Ozs7QUFNaEI7RUFDSTs7O0FDdEtKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtBQUNBO0VBQ0E7RUFDQTs7O0FBQ0E7RUFDRTtFQUNBOzs7QUFDRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBQ0Y7RUFDRTtFQUNBO0FBQ0E7RUFDQTs7O0FBQ0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUNGO0VBQ0U7RUFDQTtFQUNBOzs7QUFDRjtBQUFBO0VBRUU7OztBQUNGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFDRjtFQUNFOzs7QUFDRjtFQUNFO0VBQ0E7OztBQUNGO0VBQ0U7OztBQUNGO0VBQ0U7OztBQUNGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUNGO0VBQ0U7RUFDQTs7O0FBQ0Y7RUFDRTs7O0FBQ0Y7RUFDRTs7O0FBRUo7QUFDQTtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ1E7RUFDUjtFQUNROzs7QUFFVjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ1E7OztBQUVWO0VBQ0U7SUFDRTs7RUFDRjtJQUNFOzs7QUFFSjtFQUNFO0lBQ0U7O0VBQ0Y7SUFDRTs7O0FBRUo7QUFBQTtBQUFBO0FBR0E7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ1E7OztBQUVWO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0k7RUFDSTs7O0FBRVY7QUFBQTtFQUVFOzs7QUFFRjtF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QUNJOztBQU1BO0VBQ0ksa0JuQjREVjs7QW1COURFO0VBZ0NRLE9sQnBFVjs7QWtCcUNNO0VBQ0ksa0JuQjREVjs7QW1CN0JVO0VBQ0ksTWxCdEVkOztBa0J5RVU7RUFDSSxPbEI1RWI7O0FrQnNDQztFQU1ROztBQUxKO0VBQ0ksa0JuQjREVjs7QW1CdERVO0VBQ0ksT2xCL0NiOztBa0JrRFM7RUFDSTs7QUFHSjtFQUNJLE9sQnZEYjs7QWtCMERTO0VBQ0ksa0JsQjNEYjtFa0I0RGEsT2xCdERkOztBa0J3RGM7RUFDSTtFQUNBLE9sQjFEbEI7O0FrQmdDRTtFQU1ROztBQUxKO0VBQ0ksa0JuQjREVjs7QW1CdERVO0VBQ0ksT2xCL0NiOztBa0JrRFM7RUFDSTs7QUFHSjtFQUNJLE9sQnZEYjs7QWtCMERTO0VBQ0ksa0JsQjNEYjtFa0I0RGEsT2xCdERkOztBa0J3RGM7RUFDSTtFQUNBLE9sQjFEbEI7O0FrQmdDRTtFQU1ROztBQUxKO0VBQ0ksa0JuQjREVjs7QW1CdERVO0VBQ0ksT2xCL0NiOztBa0JrRFM7RUFDSTs7QUFHSjtFQUNJLE9sQnZEYjs7QWtCMERTO0VBQ0ksa0JsQjNEYjtFa0I0RGEsT2xCdERkOztBa0J3RGM7RUFDSTtFQUNBLE9sQjFEbEI7O0FrQmdDRTtFQU1ROztBQUxKO0VBQ0ksa0JuQjREVjs7QW1CdERVO0VBQ0ksT2xCL0NiOztBa0JrRFM7RUFDSTs7QUFHSjtFQUNJLE9sQnZEYjs7QWtCMERTO0VBQ0ksa0JsQjNEYjtFa0I0RGEsT2xCdERkOztBa0J3RGM7RUFDSTtFQUNBLE9sQjFEbEI7O0FrQmdDRTtFQU1ROztBQUxKO0VBQ0ksa0JuQjREVjs7QW1CdERVO0VBQ0ksT2xCL0NiOztBa0JrRFM7RUFDSTs7QUFHSjtFQUNJLE9sQnZEYjs7QWtCMERTO0VBQ0ksa0JsQjNEYjtFa0I0RGEsT2xCdERkOztBa0J3RGM7RUFDSTtFQUNBLE9sQjFEbEI7O0FrQmdDRTtFQWdDUSxPbEJwRVY7O0FrQnFDTTtFQUNJLGtCbkI0RFY7O0FtQjdCVTtFQUNJLE1sQnRFZDs7QWtCeUVVO0VBQ0ks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QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QXRDdURKO0VzQzdGSjtJQTBDUTtJQUNBO0lBQ0E7OztBdENpREo7RXNDOUNBO0lBRVE7SUFDQTs7O0F0QzJDUjtFc0N2Q0E7SUFFUTs7O0F0Q3FDUjtFc0N2Q0E7SUFNUTs7O0FBS0o7RUFDSSxhcENuRVA7RW9Db0VPLGtCbkN0REo7RW1DdURJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0F0Q2dCWjtFc0NYQTtJQUVROzs7QUFLSjtFdENrQ0osNEJzQ2pDeUI7RXRDa0N6Qix5QnNDbEN5QjtFdENtQ3pCLG9Cc0NuQ3lCO0V0Q29DekI7RUFDQTtFQUNBO0VBQ0Esd0JzQ3ZDNkI7RXRDd0M3QixxQnNDeEM2QjtFdEN5QzdCLGdCc0N6QzZCO0V0QzBDN0IsbUNzQzFDd0M7RXRDMkN4QyxnQ3NDM0N3QztFdEM0Q3hDLDJCc0M1Q3dDO0V0QzZDeEMsbUNzQzdDMkM7RXRDOEMzQyxnQ3NDOUMyQztFdEMrQzNDLDJCc0MvQzJDOztBQUd2QztFdEM4QkosNEJzQzdCeUI7RXRDOEJ6Qix5QnNDOUJ5QjtFdEMrQnpCLG9Cc0MvQnlCO0V0Q2dDekI7RUFDQTtFQUNBO0VBQ0Esd0JzQ25DNkI7RXRDb0M3QixxQnNDcEM2QjtFdENxQzdCLGdCc0NyQzZCO0V0Q3NDN0IsbUNzQ3RDd0M7RXRDdUN4QyxnQ3NDdkN3QztFdEN3Q3hDLDJCc0N4Q3dDO0V0Q3lDeEMsbUNzQ3pDMkM7RXRDMEMzQyxnQ3NDMUMyQztFdEMyQzNDLDJCc0MzQzJDO0VBQ25DOztBQUtJO0V0Q3VCWiw0QnNDdEJpQztFdEN1QmpDLHlCc0N2QmlDO0V0Q3dCakMsb0JzQ3hCaUM7RXRDeUJqQztFQUNBO0VBQ0E7RUFDQSx3QnNDNUJxQztFdEM2QnJDLHFCc0M3QnFDO0V0QzhCckMsZ0JzQzlCcUM7RXRDK0JyQyxtQ3NDL0I2QztFdENnQzdDLGdDc0NoQzZDO0V0Q2lDN0MsMkJzQ2pDNkM7RXRDa0M3QyxtQ3NDbENnRDtFdENtQ2hELGdDc0NuQ2dEO0V0Q29DaEQsMkJzQ3BDZ0Q7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Q0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQ0E7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNJO0VBQ0o7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7RUFDQTtFQUNROzs7QUFFVjtFQUNFO0FBQ0E7RUFDQTtFQUNROzs7QUFFVjtBQUFBO0VBRUU7RUFDQTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUNwTEY7QUFDQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFZQTs7QUFBQTs7QUFBQTtBQUtBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBRUk7OztBQUdSO0FBQUE7RUFFSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0FBQ0E7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQ0k7RUFDQTtBQUFBO0FBQUE7SUFHSTs7O0VBRUo7QUFBQTtJQUVJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQ0E7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKOztBQUFBOztBQUFBO0FBS0E7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7QUFDSTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7QUFDQTtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7O0FBQUE7O0FBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGEzRHJUQzs7O0EyRHdUTDs7QUFBQTs7QUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUNBO0VBQ0k7OztBQUdKOztBQUFBOztBQUFBOztBQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUo7QUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUNJO0FBQUE7QUFBQTtBQUFBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOztFQUVKO0lBQ0k7SUFDQTs7O0FBSVI7O0FBQUE7O0FBQUE7QUFLQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBLFMzRDlmQzs7O0EyRGlnQkw7QUFBQTtBQUFBO0FBQUE7RUFJSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFDQTtBQUFBO0VBRUk7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7QUFDQTtBQUFBO0VBRUk7OztBQUdKO0FBQ0E7RUFDSTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBSUk7RUFDQTs7O0FBR0o7QUFDQTtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblRoZW1lIE5hbWU6IEV4cGVkaXRlIEhlYWx0aFxuVGhlbWUgVVJJOiBodHRwczovL2V4cGVkaXRlaGVhbHRoLmNvbS9cbkF1dGhvcjogVW5kZXJkb2cgRGVzaWduXG5BdXRob3IgVVJJOiBodHRwczovL3d3dy51bmRlcmRvZ2Rlc2lnbi5jby51a1xuVGFnczogbGlnaHQsIHJlc3BvbnNpdmUtbGF5b3V0XG5EZXNjcmlwdGlvbjogQSBiZXNwb2tlIHRoZW1lIGRlc2lnbmVkIGFuZCBkZXZlbG9wZWQgZm9yIEV4cGVkaXRlIEhlYWx0aCBiYXNlZCBvbiB0aGUgVW5kZXJkb2cgQm9pbGVycGxhdGUuXG5WZXJzaW9uOiAxLjBcbkxpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXG5MaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuVGV4dCBEb21haW46IGV4cGhlYWx0aFxuRG9tYWluIFBhdGg6IC9sYW5ndWFnZXMvXG5cblRoaXMgdGhlbWUsIGxpa2UgV29yZFByZXNzLCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMLlxuVXNlIGl0IHRvIG1ha2Ugc29tZXRoaW5nIGNvb2wsIGhhdmUgZnVuLCBhbmQgc2hhcmUgd2hhdCB5b3UndmUgbGVhcm5lZCB3aXRoIG90aGVycy5cblxudW5kZXJkb2cgQm9pbGVycGxhdGUgaXMgYmFzZWQgb24gVW5kZXJzY29yZXMgaHR0cDovL3VuZGVyc2NvcmVzLm1lLywgKEMpIDIwMTItMjAxNCBBdXRvbWF0dGljLCBJbmMuXG5cblJlc2V0dGluZyBhbmQgcmVidWlsZGluZyBzdHlsZXMgaGF2ZSBiZWVuIGhlbHBlZCBhbG9uZyB0aGFua3MgdG8gdGhlIGZpbmUgd29yayBvZlxuRXJpYyBNZXllciBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L2luZGV4Lmh0bWxcbmFsb25nIHdpdGggTmljb2xhcyBHYWxsYWdoZXIgYW5kIEpvbmF0aGFuIE5lYWwgaHR0cDovL25lY29sYXMuZ2l0aHViLmNvbS9ub3JtYWxpemUuY3NzL1xuYW5kIEJsdWVwcmludCBodHRwOi8vd3d3LmJsdWVwcmludGNzcy5vcmcvXG5cbkRvIG5vdCByZW1vdmUgdGhlIGJlbG93IHN0eWxlcy4gTmVlZGVkIHRvIHBhc3MgdGhlICd0aGVtZSBjaGVjaycuKi9cbi5zdGlja3ksXG4uZ2FsbGVyeS1jYXB0aW9uLFxuLmJ5cG9zdGF1dGhvciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuPj4+IFRBQkxFIE9GIENPTlRFTlRTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xLjAgLSBHbG9iYWxcbjIuMCAtIE1vZHVsZXNcbjMuMCAtIFRoZW1lXG40LjAgLSBQYWNrYWdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xLjAgR2xvYmFsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJnbG9iYWxcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiYW5pbWF0ZVwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4yLjAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGltcG9ydCBcImxheW91dFwiO1xuQGltcG9ydCBcImhlbHBlcnNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMy4wIE1vZHVsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGltcG9ydCBcIm1vZHVsZXNcIjtcbkBpbXBvcnQgXCJsYXlvdXRzXCI7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjQuMCBWZW5kb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGltcG9ydCBcInZlbmRvclwiO1xuIiwiLyogTWl4aW5zICovXG5cbkBtaXhpbiB0ZXh0LXNpemUtYWRqdXN0KCRzaXplKSB7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAkc2l6ZTtcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogJHNpemU7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCR0b3AsICRsZWZ0LCAkYmx1ciwgJGNvbG9yLCAkaW5zZXQ6IGZhbHNlKSB7XG4gICAgQGlmICRpbnNldCB7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcbiAgICB9XG59XG5cbkBtaXhpbiBmb250LXNpemUoJGZzLW1hcCwgJGZzLWJyZWFrcG9pbnRzOiAkYnBzKSB7XG4gICAgQGVhY2ggJGZzLWJyZWFrcG9pbnQsICRmcy1mb250LXNpemUgaW4gJGZzLW1hcCB7XG4gICAgICAgIEBpZiAkZnMtYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtZm9udC1zaXplKCRmcy1mb250LXNpemUpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIC8vIElmICRmcy1mb250LXNpemUgaXMgYSBrZXkgdGhhdCBleGlzdHMgaW5cbiAgICAgICAgICAgIC8vICRmcy1icmVha3BvaW50cywgdXNlIHRoZSB2YWx1ZVxuICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRmcy1icmVha3BvaW50cywgJGZzLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAkZnMtYnJlYWtwb2ludDogbWFwLWdldCgkZnMtYnJlYWtwb2ludHMsICRmcy1icmVha3BvaW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRmcy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1mb250LXNpemUoJGZzLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFV0aWxpdHkgZnVuY3Rpb24gZm9yIG1peGluIGZvbnQtc2l6ZVxuQG1peGluIG1ha2UtZm9udC1zaXplKCRmcy1mb250LXNpemUpIHtcbiAgICAvLyBJZiAkZnMtZm9udC1zaXplIGlzIGEgbGlzdCwgaW5jbHVkZVxuICAgIC8vIGJvdGggZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICAgIEBpZiB0eXBlLW9mKCRmcy1mb250LXNpemUpID09IFwibGlzdFwiIHtcbiAgICAgICAgZm9udC1zaXplOiBudGgoJGZzLWZvbnQtc2l6ZSwgMSk7XG4gICAgICAgIEBpZiAobGVuZ3RoKCRmcy1mb250LXNpemUpID4gMSkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG50aCgkZnMtZm9udC1zaXplLCAyKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRmcy1mb250LXNpemU7XG4gICAgfVxufVxuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbkBtaXhpbiBncmFkaWVudCgkdG9wY29sb3VyLCAkYm90Y29sb3VyLCAkc3RhcnQ6IDAlLCAkc3RvcDogMTAwJSkge1xuICAgIGJhY2tncm91bmQ6ICR0b3Bjb2xvdXI7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkdG9wY29sb3VyICRzdGFydCwgJGJvdGNvbG91ciAkc3RvcCk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgkc3RhcnQsICR0b3Bjb2xvdXIpLCBjb2xvci1zdG9wKCRzdG9wLCAkYm90Y29sb3VyKSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkdG9wY29sb3VyICRzdGFydCwgJGJvdGNvbG91ciAkc3RvcCk7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHRvcGNvbG91ciAkc3RhcnQsICRib3Rjb2xvdXIgJHN0b3ApO1xuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAkdG9wY29sb3VyICRzdGFydCwgJGJvdGNvbG91ciAkc3RvcCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHRvcGNvbG91ciAkc3RhcnQsICRib3Rjb2xvdXIgJHN0b3ApO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkdyYWRpZW50KEdyYWRpZW50VHlwZT0wLCBzdGFydENvbG9yc3RyPScjeyR0b3Bjb2xvdXJ9JywgZW5kQ29sb3JzdHI9JyN7JGJvdGNvbG91cn0nKTtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjeyR0b3Bjb2xvdXJ9JywgZW5kQ29sb3JzdHI9JyN7JGJvdGNvbG91cn0nKVwiO1xufVxuXG5AbWl4aW4gYWJzb2x1dGUtcG9zaXRpb24oJHRvcDogZmFsc2UsICRyaWdodDogZmFsc2UsICRib3R0b206IGZhbHNlLCAkbGVmdDogZmFsc2UpIHtcbiAgICBAaWYgJHRvcCB7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICB9XG4gICAgQGlmICRyaWdodCB7XG4gICAgICAgIHJpZ2h0OiAkcmlnaHQ7XG4gICAgfVxuICAgIEBpZiAkYm90dG9tIHtcbiAgICAgICAgYm90dG9tOiAkYm90dG9tO1xuICAgIH1cbiAgICBAaWYgJGxlZnQge1xuICAgICAgICBsZWZ0OiAkbGVmdDtcbiAgICB9XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5AbWl4aW4gYnAoJHdpZHRoLCAkYnJlYWtwb2ludCkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKCR3aWR0aDogJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBnZW5lcmljIHRyYW5zZm9ybVxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuLy8gcm90YXRlXG5AbWl4aW4gcm90YXRlKCRkZWcpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKCN7JGRlZ31kZWcpKTtcbn1cblxuLy8gc2NhbGVcbkBtaXhpbiBzY2FsZSgkc2NhbGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoJHNjYWxlKSk7XG59XG4vLyB0cmFuc2xhdGVcbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbn1cblxuLy8gQW5pbWF0aW9ucyAvIFRyYW5zaXRpb25zXG5cbkBtaXhpbiBhbmltYXRlKCR0aW1lLCAkbGFiZWwsICRjb3VudDogMSwgJHRpbWluZzogbGluZWFyKSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246ICR0aW1lO1xuICAgIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAkdGltZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICR0aW1lO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbGFiZWw7XG4gICAgLW1vei1hbmltYXRpb24tbmFtZTogJGxhYmVsO1xuICAgIGFuaW1hdGlvbi1uYW1lOiAkbGFiZWw7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkY291bnQ7XG4gICAgLW1vei1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkY291bnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGNvdW50O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbn1cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tcHJvcGVydHksICR0cmFuc2l0aW9uLXRpbWUsICRtZXRob2QsICR0cmFuc2l0aW9uLWRlbGF5OiAwKSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XG4gICAgLW1vei10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XG4gICAgLW1zLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcbiAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tcHJvcGVydHkgJHRyYW5zaXRpb24tdGltZSAkbWV0aG9kO1xuXG4gICAgQGlmICR0cmFuc2l0aW9uLWRlbGF5IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbiAgICAgICAgLXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbigkY29sb3VyLCAkY29sb3VyMjogI2ZmZiwgJHRleHQtY29sb3VyOiAkYy10ZXh0KSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOXB4ICRsaDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJGNvbG91cjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMjtcbiAgICBmb250LWZhbWlseTogJGZmMjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6ICRmejtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBjb2xvcjogJHRleHQtY29sb3VyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMTtcblxuICAgIEBpZiAkY29sb3VyICE9IG5vbmUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3VyLCAxMCUpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG91ciwgMTAlKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGJvdHRvbS1ncmFkLXNoYWRvdygkc3RyZW5ndGg6IDAuNDUsICRoZWlnaHQ6IDEwMCUsICRjb2xvdXI6ICRjLWJsYWNrKSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYmEoJGNvbG91ciwgMCkgMCUsIHJnYmEoJGNvbG91ciwgMCkgMSUsIHJnYmEoJGNvbG91ciwgJHN0cmVuZ3RoKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQocmdiYSgkY29sb3VyLCAwKSAwJSwgcmdiYSgkY29sb3VyLCAwKSAxJSwgcmdiYSgkY29sb3VyLCAkc3RyZW5ndGgpIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKCRjb2xvdXIsIDApIDAlLCByZ2JhKCRjb2xvdXIsIDApIDElLCByZ2JhKCRjb2xvdXIsICRzdHJlbmd0aCkgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAwMCcsIGVuZENvbG9yc3RyPScjYTYwMDAwMDAnLEdyYWRpZW50VHlwZT0wICk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgei1pbmRleDogMjtcbn1cblxuQG1peGluIHRvcC1ncmFkLXNoYWRvdygkc3RyZW5ndGg6IDAuNDUsICRoZWlnaHQ6IDEwMCUsICRjb2xvdXI6ICRjLWJsYWNrKSB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoJGNvbG91ciwgJHN0cmVuZ3RoKSAwJSwgcmdiYSgkY29sb3VyLCAwKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoJGNvbG91ciwgJHN0cmVuZ3RoKSAwJSwgcmdiYSgkY29sb3VyLCAwKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKCRjb2xvdXIsICRzdHJlbmd0aCkgMCUsIHJnYmEoJGNvbG91ciwgMCkgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNhNjAwMDAwMCcsIGVuZENvbG9yc3RyPScjMDAwMDAwMDAnLEdyYWRpZW50VHlwZT0wICk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgei1pbmRleDogMjtcbn1cblxuQG1peGluIGJvdGgtZ3JhZC1zaGFkb3coKSB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC40NSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgNDAlLCByZ2JhKDAsIDAsIDAsIDApIDUwJSwgcmdiYSgwLCAwLCAwLCAwKSA2MCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQwJSwgcmdiYSgwLCAwLCAwLCAwKSA1MCUsIHJnYmEoMCwgMCwgMCwgMCkgNjAlLCByZ2JhKDAsIDAsIDAsIDAuNDUpIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC40NSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgNDAlLCByZ2JhKDAsIDAsIDAsIDApIDUwJSwgcmdiYSgwLCAwLCAwLCAwKSA2MCUsIHJnYmEoMCwgMCwgMCwgMC40NSkgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNhNjAwMDAwMCcsIGVuZENvbG9yc3RyPScjYTYwMDAwMDAnLEdyYWRpZW50VHlwZT0wICk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG59XG4iLCIvKiBHbG9iYWwgU3R5bGVzICovXG46cm9vdCB7XG4gICAgLS1iZ2NvbDogXCJcIjtcbiAgICAtLWJnaW1nOiBcIlwiO1xufVxuXG4vKiBSZXNldCAqL1xuaHRtbCxcbmJvZHksXG5kaXYsXG5zcGFuLFxuYXBwbGV0LFxub2JqZWN0LFxuaWZyYW1lLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbmJsb2NrcXVvdGUsXG5wcmUsXG5hLFxuYWJicixcbmFjcm9ueW0sXG5hZGRyZXNzLFxuYmlnLFxuY2l0ZSxcbmNvZGUsXG5kZWwsXG5kZm4sXG5lbSxcbmZvbnQsXG5pbnMsXG5rYmQsXG5xLFxucyxcbnNhbXAsXG5zbWFsbCxcbnN0cmlrZSxcbnN0cm9uZyxcbnN1YixcbnN1cCxcbnR0LFxudmFyLFxuZGwsXG5kdCxcbmRkLFxub2wsXG51bCxcbmxpLFxuZmllbGRzZXQsXG5mb3JtLFxubGFiZWwsXG5sZWdlbmQsXG50YWJsZSxcbmNhcHRpb24sXG50Ym9keSxcbnRmb290LFxudGhlYWQsXG50cixcbnRoLFxudGQge1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuaHRtbCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zbW9vdGg6IGFudGlhbGlhc2VkO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5qcy1sb2FkaW5nICosXG4uanMtbG9hZGluZyAqOmJlZm9yZSxcbi5qcy1sb2FkaW5nICo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQgIWltcG9ydGFudDtcbn1cblxuYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgZm9udC1zaXplOiBweHRvcmVtKCRmeiAtIDJweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJGMtdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkYy1iZztcbiAgICBAaWYgJHZlcnRpY2FsLXJoeXRobSA9PSB0cnVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAxcHgsIHRyYW5zcGFyZW50IDFweCk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAkbGg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHB4dG9yZW0oJGZ6KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICB9XG59XG5cbmltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5uYXYsXG5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxub2wsXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmNhcHRpb24sXG50aCxcbnRkIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmJsb2NrcXVvdGUsXG5xIHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG59XG5cbmJsb2NrcXVvdGUsXG5xIHtcbiAgICBxdW90ZXM6IFwiXCIgXCJcIjtcbn1cblxuLyogQ2xlYXJpbmdzICovXG4ud3JhcHBlcixcbi5jbGVhcixcbi5lbnRyeS1jb250ZW50LFxuLmNvbW1lbnQtY29udGVudCxcbi5zaXRlLWhlYWRlcixcbi5zaXRlLWNvbnRlbnQsXG4uc2l0ZS1mb290ZXIsXG4uY2xlYXJmaXgge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG59XG4ud3JhcHBlcixcbi5jbGVhcixcbi5lbnRyeS1jb250ZW50LFxuLmNvbW1lbnQtY29udGVudCxcbi5zaXRlLWhlYWRlcixcbi5zaXRlLWNvbnRlbnQsXG4uc2l0ZS1mb290ZXIsXG4uY2xlYXJmaXgge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi8qIENvbnRlbnQgKi9cblxuLmJ5bGluZSxcbi51cGRhdGVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2luZ2xlIC5ieWxpbmUsXG4uZ3JvdXAtYmxvZyAuYnlsaW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5lbnRyeS1jb250ZW50IHtcbiAgICB1bDpub3QoLnNsaWNrLWRvdHMpOm5vdCgubGlzdF9fbGlzdCkge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzQ7XG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogJGZ6ICsgMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIHVsOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgY291bnRlci1yZXNldDogcmhmYy1jb3VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbGgvMjtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHJoZmMtY291bnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxoICogMS41O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZSgwLjNzLCBmYWRlSW5MZWZ0U21hbGwsIDEsIGxpbmVhcik7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDEuNGVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAyZW0gc29saWQgJGMteWVsbG93O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEuNGVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyNHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMC41ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKHJoZmMtY291bnRlcik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQXNpZGVzICovXG4uYmxvZyAuZm9ybWF0LWFzaWRlIC5lbnRyeS10aXRsZSxcbi5hcmNoaXZlIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDb21tZW50cyAqL1xuLmNvbW1lbnQtY29udGVudCBhIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIE1lZGlhICovXG4ucGFnZS1jb250ZW50IGltZy53cC1zbWlsZXksXG4uZW50cnktY29udGVudCBpbWcud3Atc21pbGV5LFxuLmNvbW1lbnQtY29udGVudCBpbWcud3Atc21pbGV5IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIE1ha2Ugc3VyZSBlbWJlZHMgYW5kIGlmcmFtZXMgZml0IHRoZWlyIGNvbnRhaW5lcnMgKi9cbmVtYmVkLFxuaWZyYW1lLFxub2JqZWN0IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIFNjcmVlbiBSZWFkZXIgVGV4dCAqL1xuLnNydCxcbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IC05OTllbTtcbn1cblxuLyogQWxpZ25tZW50ICovXG5cbi5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuYmxvY2txdW90ZS5hbGlnbmxlZnQsXG5maWd1cmUud3AtY2FwdGlvbi5hbGlnbmxlZnQsXG5pbWcuYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW46IDdweCAyNHB4IDdweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICAgIG1hcmdpbjogN3B4IDE0cHggN3B4IDA7XG59XG5cbmJsb2NrcXVvdGUuYWxpZ25yaWdodCxcbmZpZ3VyZS53cC1jYXB0aW9uLmFsaWducmlnaHQsXG5pbWcuYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiA3cHggMCA3cHggMjRweDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiA3cHggMCA3cHggMTRweDtcbn1cblxuYmxvY2txdW90ZS5hbGlnbmNlbnRlcixcbmltZy5hbGlnbmNlbnRlcixcbi53cC1jYXB0aW9uLmFsaWduY2VudGVyIHtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG4uc2l0ZS1jb250ZW50IGJsb2NrcXVvdGUuYWxpZ25sZWZ0LFxuLnNpdGUtY29udGVudCBibG9ja3F1b3RlLmFsaWducmlnaHQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4uc2l0ZS1jb250ZW50IGJsb2NrcXVvdGUuYWxpZ25sZWZ0IHAsXG4uc2l0ZS1jb250ZW50IGJsb2NrcXVvdGUuYWxpZ25yaWdodCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gICAgY29sb3I6ICM3Njc2NzY7XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luOiA5cHggMDtcbn1cblxuZGl2LndwLWNhcHRpb24gLndwLWNhcHRpb24tdGV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuZGl2LndwLWNhcHRpb24uYWxpZ25yaWdodCBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdLFxuZGl2LndwLWNhcHRpb24uYWxpZ25yaWdodCAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLndwLXNtaWxleSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiAgQ2FwdGlvbnMgKi9cbi53cC1jYXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgICBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBtYXJnaW46IDAuODA3NWVtIDA7XG59XG5cbi8qIEZvcm1zICovXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbnRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyLFxuc2VsZWN0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xufSAvKiBGaXJlZm94IDE5KyAqL1xuXG5pbnB1dDotbW96LXBsYWNlaG9sZGVyLFxudGV4dGFyZWE6LW1vei1wbGFjZWhvbGRlcixcbnNlbGVjdDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xufSAvKiBGaXJlZm94IDE4LSAqL1xuXG5pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG50ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG5zZWxlY3Q6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xufSAvKiBJRSAqL1xuXG5pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbnNlbGVjdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxudGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi8qIEZvcm1zICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBmb250LWZhbWlseTogJGZmO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zZWxlY3Qge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICRjLWRibHVlO1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogMCAkbGgvMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5idXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICBwYWRkaW5nOiA1cHggJGxoO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLyotd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHQtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDsqL1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6ICRjLXRleHQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYy1kYmx1ZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgICBjb2xvcjogJGMtdGV4dDtcbiAgICBib3JkZXItY29sb3I6ICRjLXllbGxvdztcbiAgICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgcGFkZGluZzogMCAkbGgvMjtcbiAgICBoZWlnaHQ6IDUycHg7XG59XG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nOiAkbGgvMjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICRjLWRibHVlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBXaWRnZXQgKi9cbi53aWRnZXQge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xufVxuXG4ud2lkZ2V0IHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ud2lkZ2V0X3NlYXJjaCB7XG4gICAgLnNlYXJjaC1zdWJtaXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8vIFZhcmlhYmxlc1xuXG4vLyBGb250c1xuJGZmOiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcbiRmZjI6IFwiVGl0aWxsaXVtIFdlYlwiLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcblxuLy8gQmFzZSB0eXBvZ3JhcGh5IHNldHRpbmdzXG4kZno6IDE2cHg7XG4kbGg6IDMycHg7XG5cbiRwLWZvbnQtc2l6ZXM6IChcbiAgICBudWxsOiAoXG4gICAgICAgIDE0cHgsXG4gICAgICAgIDEuOCxcbiAgICApLFxuXG4gICAgbGc6IChcbiAgICAgICAgMTZweCxcbiAgICAgICAgMS44LFxuICAgICksXG4pO1xuXG4kaDEtZm9udC1zaXplczogKFxuICAgIG51bGw6IChcbiAgICAgICAgMjZweCxcbiAgICAgICAgMS4yLFxuICAgICksXG4gICAgeC1zbWFsbDogKFxuICAgICAgICAzNnB4LFxuICAgICAgICAxLjIsXG4gICAgKSxcbiAgICBsZzogKFxuICAgICAgICA0OHB4LFxuICAgICAgICAxLFxuICAgICksXG4pO1xuXG4kaDItZm9udC1zaXplczogKFxuICAgIG51bGw6IChcbiAgICAgICAgMjRweCxcbiAgICAgICAgMS4xLFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgMjhweCxcbiAgICAgICAgMS4xLFxuICAgICksXG4gICAgeGw6IChcbiAgICAgICAgMzZweCxcbiAgICAgICAgMS4xLFxuICAgICksXG4pO1xuXG4kaDMtZm9udC1zaXplczogKFxuICAgIG51bGw6IChcbiAgICAgICAgMThweCxcbiAgICAgICAgMS40LFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgMjJweCxcbiAgICAgICAgMS4zLFxuICAgICksXG4pO1xuXG4kbmF2LWZvbnQtc2l6ZXM6IChcbiAgICBudWxsOiAoXG4gICAgICAgIDE0cHgsXG4gICAgICAgIDEuNSxcbiAgICApLFxuKTtcblxuJHN1YmhlYWQtZm9udC1zaXplczogKFxuICAgIG51bGw6IChcbiAgICAgICAgMTRweCxcbiAgICAgICAgMS40LFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgICAgMThweCxcbiAgICAgICAgMS4zLFxuICAgICksXG4pO1xuXG4kaGVyby1mb250LXNpemVzOiAoXG4gICAgbnVsbDogKFxuICAgICAgICAyNnB4LFxuICAgICAgICAwLjkzLFxuICAgICksXG4gICAgeC1zbWFsbDogKFxuICAgICAgICAzNnB4LFxuICAgICAgICAwLjkzLFxuICAgICksXG4gICAgc21hbGw6IChcbiAgICAgICAgNDhweCxcbiAgICAgICAgMC45MyxcbiAgICApLFxuICAgIGxnOiAoXG4gICAgICAgIDU0cHgsXG4gICAgICAgIDAuOTMsXG4gICAgKSxcbik7XG5cbi8vIFNob3cgdmVydGljYWwgcmh5dGhtXG4kdmVydGljYWwtcmh5dGhtOiBmYWxzZTtcblxuJGNvbG91cnM6IChcbiAgICBcIm5vbmVcIjogXCJub25lXCIsXG4gICAgXCJ3aGl0ZVwiOiAkYy13aGl0ZSxcbiAgICBcImJsYWNrXCI6ICRjLWJsYWNrLFxuICAgIFwieWVsbG93XCI6ICRjLXllbGxvdyxcbiAgICBcImxibHVlXCI6ICRjLWxibHVlLFxuICAgIFwiZGJsdWVcIjogJGMtZGJsdWUsXG4gICAgXCJncmV5XCI6ICRjLWdyZXksXG4gICAgXCJsZ3JleVwiOiAkYy1sZ3JleSxcbiAgICBcInhsZ3JleVwiOiAkYy14bGdyZXksXG4gICAgXCJyZWRcIjogJGMtcmVkLFxuKTtcblxuJGdyYWRpZW50czogKFxuICAgIFwiZ3JhZGllbnQtYmxhY2tcIjogJGctYmxhY2ssXG4pO1xuXG4kYy10ZXh0OiAkYy1kYmx1ZTtcbiRjLWJnOiAkYy13aGl0ZTtcbiRjLXByaW1hcnk6ICRjLXllbGxvdztcblxuJGRhcmstY29sb3VyczogXCJibGFja1wiLCBcInllbGxvd1wiLCBcImdyZXlcIiwgXCJkYmx1ZVwiLCBcImxibHVlXCIsIFwicmVkXCI7XG4kbGlnaHQtY29sb3VyczogXCJ3aGl0ZVwiLCBcImxncmV5XCIsIFwieGxncmV5XCI7XG5cbi8vIE90aGVyIENvbG91cnNcblxuLy9mYWNlYm9vay8vXG4kYy1mYWNlYm9vazogIzQzNjE5Yztcbi8vdHdpdHRlci8vXG4kYy10d2l0dGVyOiAjMjRhOWU2O1xuLy9saW5rZWRpbi8vXG4kYy1saW5rZWRpbjogIzE4N2ZiODtcblxuLy8gU3RydWN0dXJlXG4kd3JhcDogMTI1NnB4O1xuXG4vLyBNZWRpYSBRdWVyaWVzXG5cbiRtaW46IG1pbi13aWR0aDtcbiRtYXg6IG1heC13aWR0aDtcbiR4LXNtYWxsOiA0ODBweDtcbiRzbWFsbDogNTk5cHg7XG4kbWVkaXVtOiA3NjhweDtcbiRsYXJnZTogMTAyNHB4O1xuJHgtbGFyZ2U6IDEyMDBweDtcbiR4eC1sYXJnZTogMTQwMHB4O1xuJHN1cGVyOiAxNjAwcHg7XG5cbiRicHM6IChcbiAgICB4czogJHgtc21hbGwsXG4gICAgc206ICRzbWFsbCxcbiAgICBtZDogJG1lZGl1bSxcbiAgICBsZzogJGxhcmdlLFxuICAgIHhsOiAkeC1sYXJnZSxcbiAgICB4eGw6ICR4eC1sYXJnZSxcbiAgICBzdXBlcjogJHN1cGVyLFxuKTtcblxuJGd1dHRlcjogJGxoO1xuIiwiLy93aGl0ZS8vXG4kYy13aGl0ZTogI2ZmZmZmZjtcbi8veWVsbG93Ly9cbiRjLXllbGxvdzogI2ZkYjQxNTtcbi8vZGJsdWUvL1xuJGMtZGJsdWU6ICMwNzQxNWE7XG4vL2xibHVlLy9cbiRjLWxibHVlOiAjODNhMGFjO1xuLy9ibGFjay8vXG4kYy1ibGFjazogIzBkMWEyZDtcbi8vZ3JleS8vXG4kYy1ncmV5OiAjNWU2NzcyO1xuLy9sZ3JleS8vXG4kYy1sZ3JleTogI2FlYjNiODtcbi8veGxncmV5Ly9cbiRjLXhsZ3JleTogI2Y0ZjRmNDtcbi8vcmVkLy9cbiRjLXJlZDogI2ZjMDAwMjtcbiIsImEge1xuICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxucCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcHh0b3JlbSgkbGgpO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcC1mb250LXNpemVzKTtcbn1cblxuLnAtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xufVxuXG4ucHJlaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJHAtZm9udC1zaXplcyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGMtbGJsdWU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmgxOm5vdCgubm8tdHJpKSxcbi5oMTpub3QoLm5vLXRyaSkge1xuICAgIGZvbnQtZmFtaWx5OiAkZmYyO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplcyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiBweHRvcmVtKCRsaCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5oYXMtdHJpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbGVmdDogLTIzcHg7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoMC4zcywgZmFkZUluTGVmdFNtYWxsLCAxLCBsaW5lYXIpO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMC4yNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDAuNWVtIHNvbGlkICRjLXllbGxvdztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogLSRsaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLWhlYWRlci5hbGlnbi1jZW50ZXIgJixcbiAgICAgICAgLmhlcm8taW1hZ2UuYWxpZ24tY2VudGVyICYge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtJGxoLzI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoMC4zcywgZmFkZUluTGVmdFNtYWxsLCAxLCBsaW5lYXIpO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwLjI1ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwLjVlbSBzb2xpZCAkYy15ZWxsb3c7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4yNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtJGxoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZ6LWhlcm8ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaGVyby1mb250LXNpemVzKTtcbiAgICBmb250LWZhbWlseTogJGZmMjtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIG1hcmdpbi1ib3R0b206IHB4dG9yZW0oJGxoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmgyLFxuLmgyIHtcbiAgICBmb250LWZhbWlseTogJGZmMjtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZXMpO1xuICAgIG1hcmdpbi1ib3R0b206IHB4dG9yZW0oJGxoICogMC43NSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuaDMsXG4uaDMge1xuICAgIGZvbnQtZmFtaWx5OiAkZmYyO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplcyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiBweHRvcmVtKCRsaC8yKTtcbn1cblxudWwsXG5vbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcHh0b3JlbSgkbGgpO1xuICAgIG1hcmdpbi1sZWZ0OiAkbGg7XG5cbiAgICB1bCxcbiAgICBvbCB7XG4gICAgICAgIG1hcmdpbjogMCBweHRvcmVtKCRsaCk7XG4gICAgfVxufVxuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZGZuLFxuY2l0ZSxcbmVtLFxuaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMS41ZW07XG59XG5cbmFkZHJlc3Mge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xufVxuXG5wcmUge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgZm9udC1mYW1pbHk6IFwiQ291cmllciAxMCBQaXRjaFwiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjZlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcGFkZGluZzogMS42ZW07XG59XG5cbmNvZGUsXG5rYmQsXG50dCxcbnZhciB7XG4gICAgZm9udDogMTVweCBNb25hY28sIENvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBtb25vc3BhY2U7XG59XG5cbmFiYnIsXG5hY3JvbnltIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XG4gICAgY3Vyc29yOiBoZWxwO1xufVxuXG5tYXJrLFxuaW5zIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOWMwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuc3VwLFxuc3ViIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICBib3R0b206IDFleDtcbn1cblxuc3ViIHtcbiAgICB0b3A6IDAuNWV4O1xufVxuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG59XG5cbmJpZyB7XG4gICAgZm9udC1zaXplOiAxMjUlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG5BbmltYXRlLmNzcyAtIGh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGVcbkxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbkNvcHlyaWdodCAoYykgMjAxNCBEYW5pZWwgRWRlblxuKi9cblxuQGtleWZyYW1lcyB3aXBlVXAge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgd2lwZVJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigzMCUgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xuICAgIH1cblxuICAgIDEwJSB7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigzMCUgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDEwMCUgMTAwJSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib2Ige1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgICAyNSUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEycHgpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5mYWRlSW4ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93blNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93blNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4uZmFkZUluRG93bkJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRWU21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0VlNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMyUsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0U21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRTbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRTbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRTbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4uZmFkZUluUmlnaHQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4uZmFkZUluUmlnaHRCaWcge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwU21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBTbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB3ZWxjb21lSW50cm8ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwJSwgMCkgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMCUsIDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlKDkwZGVnKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcFZTbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNSUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBWU21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1JSwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4uZmFkZUluVXAge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4uZmFkZU91dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXREb3duQmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG4uZmFkZU91dExlZnQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRSaWdodCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgfVxufVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBTbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwJSwgMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwJSwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcFNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAlLCAwKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIH1cbn1cblxuLmZhZGVPdXRVcEJpZyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVyT3ZhbDEge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgNSUsIDApIHNjYWxlKDAuOTUpIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDUlLCAwKSBzY2FsZSgwLjk1KSByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpIHJvdGF0ZSgxNmRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSkgcm90YXRlKDE2ZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVyT3ZhbDIge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgLTUlLCAwKSBzY2FsZSgwLjk1KSByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAtNSUsIDApIHNjYWxlKDAuOTUpIHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSkgcm90YXRlKDE2ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc3RyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpIHJvdGF0ZSgxNmRlZyk7XG4gICAgfVxufVxuIiwiLy8gVGhlbWUgQmFzZWQgc3R5bGVzXG5cbi53cmFwIHtcbiAgICBtYXgtd2lkdGg6ICR3cmFwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgJGxoO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi0tbmFycm93IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgICAgcGFkZGluZzogMCAkbGg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtbGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDQwcHg7XG5cbiAgICAgICAgJi0tbmFycm93IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaXRlLW1haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgPiBzZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICYuc3BhY2VyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJnLS06bm90KC5zcGFjZXIpLFxuICAgICAgICAmLmJnLS1ub25lIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jcHJpbWFyeSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICBnYXA6ICRsaDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzNjBweCAxZnI7XG4gICAgICAgIGdhcDogJGxoICogMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM2MHB4IDFmcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkeHgtbGFyZ2UpIHtcbiAgICAgICAgZ2FwOiAkbGggKiA0O1xuICAgIH1cbn1cblxuc2VjdGlvbiB7XG4gICAgcGFkZGluZzogJGxoIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6ICRsaCAqIDIgMDtcbiAgICB9XG59XG5cbi5zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAkbGggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogJGxoICogMiAwO1xuICAgIH1cblxuICAgICZfX2JhY2tncm91bmQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG59XG5cbi8vIFNpZGViYXJcblxuLnNpZGViYXIge1xuICAgIG9yZGVyOiAxO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgIG9yZGVyOiAwO1xuICAgIH1cbiAgICAmX19wYWdlcyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkbGg7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogJGxoICogMi41O1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogSGVscGVyIHN0eWxlcyAqL1xuXG4uYWxpZ24tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5hbGlnbi1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uYWxpZ24tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYWxpZ24tanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cbi5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5jbGVhcmZpeCB7XG4gICAgKnpvb206IDE7XG59XG4uY2xlYXJmaXg6YmVmb3JlLFxuLmNsZWFyZml4OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbkBlYWNoICRjb2xvdXIsICRjb2xvciBpbiAkY29sb3VycyB7XG4gICAgLmMtLSN7JGNvbG91cn0ge1xuICAgICAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uYmcge1xuICAgIEBlYWNoICRjb2xvdXIsICRiZ2NvbG9yIGluICRjb2xvdXJzIHtcbiAgICAgICAgJi0tI3skY29sb3VyfSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdjb2xvcjtcblxuICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRkYXJrLWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgIGE6bm90KFtjbGFzcyo9XCJidXR0b25cIl0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xvdXIgPT0gXCJibHVlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgYTpub3QoW2NsYXNzKj1cImJ1dHRvblwiXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMSxcbiAgICAgICAgICAgICAgICAuaDEsXG4gICAgICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICAgICAgLmgyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgY29udGFpbnMoJGxpZ2h0LWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcblxuICAgICAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgICAgIC5oMSxcbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICAuaDIsXG4gICAgICAgICAgICAgICAgPiBoMyxcbiAgICAgICAgICAgICAgICA+IC5oMyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkZ3JhZGllbnQsICRiZ3JhZCBpbiAkZ3JhZGllbnRzIHtcbiAgICAgICAgJi0tI3skZ3JhZGllbnR9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRiZ3JhZDtcblxuICAgICAgICAgICAgLy8gQGlmICgkZ3JhZGllbnQgPT0gXCJncmFkaWVudC1ibGFjay1tYmx1ZVwiKSB7XG4gICAgICAgICAgICAvLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLy8gICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgb3ZhbCh0b3ByaWdodCwgLTIwJSwgLTAuNWVtLCA1cHgsIDAuNyk7XG4gICAgICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgICAgICAvLyAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIG92YWwodG9wcmlnaHQsIC0xMCUsIDEwJSwgNXB4LCAwLjIpO1xuICAgICAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAgICAgLy8gICAgIC53cmFwIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgQGluY2x1ZGUgb3ZhbChib3R0b21sZWZ0LCAtMjAlLCAtMTAlLCAzcHgsIDAuMik7XG4gICAgICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgIC8vIEBpZiAoJGdyYWRpZW50ID09IFwiZ3JhZGllbnQtZGJsdWUtYmxhY2tcIikge1xuICAgICAgICAgICAgLy8gICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgb3ZhbCh0b3ByaWdodCwgLTIwJSwgLTAuNWVtLCA1cHgsIDAuNyk7XG4gICAgICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgICAgICAvLyAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIG92YWwodG9wcmlnaHQsIC0xMCUsIDEwJSwgNXB4LCAwLjIpO1xuICAgICAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAgICAgLy8gICAgIC53cmFwIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgQGluY2x1ZGUgb3ZhbChib3R0b21sZWZ0LCAtMjAlLCAtMTAlLCAzcHgsIDAuMik7XG4gICAgICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgIEBpZiBjb250YWlucygkZGFyay1jb2xvdXJzLCAkZ3JhZGllbnQpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgIC5wcmVoZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigjZmZmLCA1JSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYTpub3QoW2NsYXNzKj1cImJ1dHRvblwiXSkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiBjb250YWlucygkbGlnaHQtY29sb3VycywgJGdyYWRpZW50KSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICAgICAgICAgICAgICBoMSxcbiAgICAgICAgICAgICAgICAuaDEsXG4gICAgICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICAgICAgLmgyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmVoZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGFzLWJnLWltZyB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbkBlYWNoICRjb2xvdXIsICRmaWxsIGluICRjb2xvdXJzIHtcbiAgICAuZi0tI3skY29sb3VyfSB7XG4gICAgICAgIGZpbGw6ICRmaWxsO1xuICAgIH1cbn1cblxuQGVhY2ggJGdyYWRpZW50LCAkYmdyYWQgaW4gJGdyYWRpZW50cyB7XG4gICAgLiN7JGdyYWRpZW50fSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRiZ3JhZDtcbiAgICB9XG59XG5cbi5mZjIge1xuICAgIGZvbnQtZmFtaWx5OiAkZmYyO1xufVxuXG4vLyBNYXJnaW5cblxuLm0tbm9uZSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1oYWxmIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGgvMiAhaW1wb3J0YW50O1xufVxuXG4ubWItcXRyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGgvNCAhaW1wb3J0YW50O1xufVxuXG4ubWIge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaCAhaW1wb3J0YW50O1xufVxuXG4ubWItMngge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaCAqIDIgIWltcG9ydGFudDtcbn1cblxuLm10LWhhbGYge1xuICAgIG1hcmdpbi10b3A6ICRsaC8yICFpbXBvcnRhbnQ7XG59XG5cbi5tdCB7XG4gICAgbWFyZ2luLXRvcDogJGxoICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0yeCB7XG4gICAgbWFyZ2luLXRvcDogJGxoICogMiAhaW1wb3J0YW50O1xufVxuXG4vLyBQYWRkaW5nXG5cbi5wLW5vbmUge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnAtYWxsIHtcbiAgICBwYWRkaW5nOiAkbGggIWltcG9ydGFudDtcbn1cblxuLnAtaGFsZiB7XG4gICAgcGFkZGluZzogJGxoLzIgIWltcG9ydGFudDtcbn1cblxuLnB0LW5vbmUge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wdC1oYWxmIHtcbiAgICBwYWRkaW5nLXRvcDogJGxoLzIgIWltcG9ydGFudDtcbn1cblxuLnB0IHtcbiAgICBwYWRkaW5nLXRvcDogJGxoICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0yeCB7XG4gICAgcGFkZGluZy10b3A6ICRsaCAqIDIgIWltcG9ydGFudDtcbn1cblxuLnB0LTR4IHtcbiAgICBwYWRkaW5nLXRvcDogJGxoICogNCAhaW1wb3J0YW50O1xufVxuLnBiLW5vbmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYi1oYWxmIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGxoLzIgIWltcG9ydGFudDtcbn1cblxuLnBiLWhhbGYge1xuICAgIHBhZGRpbmctYm90dG9tOiAkbGgvMiAhaW1wb3J0YW50O1xufVxuXG4ucGIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkbGggIWltcG9ydGFudDtcbn1cblxuLnBiLTJ4IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGxoICogMiAhaW1wb3J0YW50O1xufVxuXG4ucGItNHgge1xuICAgIHBhZGRpbmctYm90dG9tOiAkbGggKiA0ICFpbXBvcnRhbnQ7XG59XG5cbi5wbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGggIWltcG9ydGFudDtcbn1cblxuLnBsLTJ4IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsaCAqIDIgIWltcG9ydGFudDtcbn1cblxuLnBsLTR4IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsaCAqIDQgIWltcG9ydGFudDtcbn1cblxuLy8gUmVzcG9uc2l2ZVxuXG4ubW9iLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicCgkbWF4LCAkbGFyZ2UgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmR0LW9ubHkge1xuICAgIEBpbmNsdWRlIGJwKCRtYXgsICRsYXJnZSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnRvLXRhYiB7XG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uZnJvbS10YWIge1xuICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0gLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBEaXNwbGF5XG5cbi5kYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kaWIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmRmIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJi0tY29sIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG59XG5cbi5oYXMtaWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICRsaC80O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBzdmcge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG4ubGgge1xuICAgICYtLW5vcm1hbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgfVxufVxuXG4vLyBUZXh0IFRyYW5zZm9ybVxuXG4udHQtdXBwZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIE92ZXJmbG93XG5cbi5vdmVyZmxvdy1oIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBPcmRlclxuXG4ub3JkZXItMSB7XG4gICAgQGluY2x1ZGUgYnAoJG1heCwgJHNtYWxsIC0gMSkge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAmLXNtIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9yZGVyLTIge1xuICAgIEBpbmNsdWRlIGJwKCRtYXgsICRzbWFsbCAtIDEpIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgJi1zbSB7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFBvc2l0aW9uXG5cbi5wb3NyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIEltYWdlXG5cbi5pbWFnZS1hcy1iZyB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiByaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5iZy1pbWFnZS0tZnVsbCBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYmctaW1hZ2UtLWhhbGYgaW1nIHtcbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG4uaW1hZ2UtY29udGFpbiB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5oYXMtZGl2aWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG91ciwgJGJnY29sb3IgaW4gJGNvbG91cnMge1xuICAgICAgICAmLmJnLS0jeyRjb2xvdXJ9IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRkYXJrLWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgY29udGFpbnMoJGxpZ2h0LWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5iZy0tbm9uZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRibHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnV0dG9uLXNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICRsaC8yO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG59XG5cbi8vIFRpY2sgTGlzdFxuXG4udGljay1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5qcy12aXNpYmxlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAxcyBlYXNlLWluLW91dDtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogTWFpbiBOYXZpZ2F0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGJhY2tncm91bmQtY29sb3I7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuaG9tZSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoJG1heCwgJGxhcmdlIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICA+IHVsID4gbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogJGxoLzQ7XG5cbiAgICAgICAgICAgICAgICAmLmhhcy1jb2x1bW5zIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICA+IC5tYWluLW5hdmlnYXRpb25fX3N1Ym1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R1Y2tdICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRjLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmZjI7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQ2LCAwLjk2LCAwLjQzLCAwLjk0KSAwLjJzO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXYtZm9udC1zaXplcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpIHNjYWxlWCgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgMC4xcywgb3BhY2l0eSAwLjNzO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5ob21lICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBbc3R1Y2tdICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaXMtZml4ZWQgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTJweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLm1lZ2EtbWVudS1wYW5lbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiBhOm5vdChbY2xhc3NePVwicG0tYnV0dG9uXCJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKSBzY2FsZVgoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgMHMsIG9wYWNpdHkgMC4zcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5tYWluLW5hdmlnYXRpb25fX3N1Ym1lbnUtdG9nZ2xlIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRjLXllbGxvdztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGdhcDogJGxoO1xuXG4gICAgICAgICAgICAubm8tZmxleGJveCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQobiArIDQpIHtcbiAgICAgICAgICAgICAgICAuc3ViLW1lbnUubGV2ZWwtMCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIgPiAuc3ViLW1lbnUubGV2ZWwtMCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN1Yi1tZW51LmxldmVsLTAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk5OTk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC40cywgb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjQ2LCAwLjk2LCAwLjQzLCAwLjk0KSAwLjJzO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRsaC8yO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOXB4IDlweCByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NzBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAgICAgICAmLnN1Yi1tZW51LS1saXN0LXN0eWxlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC80O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmeiAtIDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGxoLzIgJGxoLzIgJGxoLzIgJGxoO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGxoLzI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuNik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXllbGxvdztcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRsaC80KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgID4gYSA+IC5tZW51LWl0ZW1fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc3ViLW1lbnUubGV2ZWwtMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc3ViLW1lbnUubGV2ZWwtMSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtJGxoLzI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsaC8yO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDUlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycywgb3BhY2l0eSAwLjJzO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwcHggOXB4IHJnYmEoMCwgMCwgMCwgMC4xNCk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtZW51LXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuNDYsIDAuOTYsIDAuNDMsIDAuOTQpIDAuMnM7XG4gICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICBbc3R1Y2tdICYge1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYy10ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIC5jdXJyZW50X3BhZ2VfaXRlbSxcbi5tYWluLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1pdGVtLFxuLm1haW4tbmF2aWdhdGlvbiAuY3VycmVudC1wYWdlLWFuY2VzdG9yIHtcbiAgICA+IGEge1xuICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuXG4gICAgICAgIC5pcy1maXhlZCAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICBmaWxsOiAkYy15ZWxsb3c7XG4gICAgICAgIC5pcy1maXhlZCAmIHtcbiAgICAgICAgICAgIGZpbGw6ICRjLXllbGxvdztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyogQ29va2llcyBUYWJsZSAqL1xuXG4jY29va2llcy10YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO1xuICAgIGJvcmRlcjoxcHggc29saWQgI2U3ZTdlNztcbiAgICBib3JkZXItdG9wOjA7XG4gICAgYm9yZGVyLWxlZnQ6MDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG59XG4jY29va2llcy10YWJsZSB0ZCwgI2Nvb2tpZXMtdGFibGUgdGgge1xuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgcGFkZGluZzo1cHg7XG59XG4jY29va2llcy10YWJsZSB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgIGJhY2tncm91bmQ6I2Y3ZjdmNztcbn1cbiNjb29raWVzLXRhYmxlIHRib2R5IHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBCdXR0b25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJGMtcHJpbWFyeSwgJGMtcHJpbWFyeSwgI2ZmZik7XG5cbiAgICBAZWFjaCAkY29sb3VyLCAkY29sb3IgaW4gJGNvbG91cnMge1xuICAgICAgICAmLS0jeyRjb2xvdXJ9IHtcbiAgICAgICAgICAgIEBpZiBjb250YWlucygkZGFyay1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCRjb2xvciwgJGNvbG9yLCAjZmZmKTtcblxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbG91ciA9PSBcInllbGxvd1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbG91ciA9PSBcImRibHVlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgY29udGFpbnMoJGxpZ2h0LWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oJGNvbG9yLCAkY29sb3IsICRjLXRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc29saWQtLSN7JGNvbG91cn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCRjb2xvciwgJGNvbG9yLCAjZmZmKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdob3N0LS0jeyRjb2xvdXJ9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihub25lLCAkY29sb3IsICRjb2xvcik7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oYXMtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgIC5idXR0b25fX2xhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6ICRsaC80O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIHdpZHRoOiAkbGgvMjtcbiAgICAgICAgICAgIGhlaWdodDogJGxoLzI7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1iZWZvcmUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGgvMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWFycm93LWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDAuMnMsIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgd2lkdGg6ICRsaCAqIDEuNTtcbiAgICAgICAgaGVpZ2h0OiAkbGggKiAxLjU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cbiAgICAgICAgQGVhY2ggJGNvbG91ciwgJGNvbG9yIGluICRjb2xvdXJzIHtcbiAgICAgICAgICAgICYtLSN7JGNvbG91cn0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgICAgICBAaWYgY29udGFpbnMoJGRhcmstY29sb3VycywgJGNvbG91cikge1xuICAgICAgICAgICAgICAgICAgICAuc3ZnaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRsaWdodC1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgIC5zdmdpY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRjLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xvdXIgPT0gXCJ3aGl0ZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1yZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4ycztcbiAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjJzLCB0cmFuc2Zvcm0gMC4ycztcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuXG4gICAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRsaC80O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYmlnIHtcbiAgICAgICAgcGFkZGluZzogJGxoLzIgJGxoO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiBweHRvcmVtKDE4cHgpO1xuICAgIH1cblxuICAgICYtLXdpZGUge1xuICAgICAgICBwYWRkaW5nOiAkbGgvMiAkbGggKiAyO1xuICAgICAgICBmb250LXNpemU6IHB4dG9yZW0oMThweCk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4ycztcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuXG4gICAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRsaC80O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBIZWFkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc2l0ZS1oZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzLCBib3gtc2hhZG93IDAuMnM7XG4gICAgYm94LXNoYWRvdzogMCAxNXB4IDE1cHggcmdiYSgjMDAwLCAwKTtcbiAgICBwYWRkaW5nOiAkbGgvMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogNDtcbiAgICB0b3A6IDA7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDIzcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRsaH0pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRvcC1ncmFkLXNoYWRvdygwLjYpO1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAkbGg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkbGgvMjtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEyM3B4O1xuXG4gICAgICAgICZbc3R1Y2tdIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltzdHVja10ge1xuICAgICAgICAgICAgLnNpdGUtaGVhZGVyX19jb250YWN0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lcnJvcjQwNCAmIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLndyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJi5pcy1maXhlZDpub3QoLnNpdGUtaGVhZGVyLS1uby1uYXYpIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGxoKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxNXB4IDE1cHggcmdiYSgjMDAwLCAwLjEpO1xuICAgIH1cblxuICAgICYuaXMtdmlzaWJsZTpub3QoLnNpdGUtaGVhZGVyLS1uby1uYXYpIHtcbiAgICAgICAgLy9ib3JkZXItY29sb3I6JGMtbGdyZXk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtaGlkZGVuOm5vdCguc2l0ZS1oZWFkZXItLW5vLW5hdikge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbGgvMiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFjdCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRsaC8yO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2LWZvbnQtc2l6ZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogRm9vdGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNpdGUtZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcbiAgICBwYWRkaW5nLXRvcDogJGxoO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbGg7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaCAqIDM7XG4gICAgfVxuXG4gICAgJl9fbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC1nYXA6ICRsaDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRsaDtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAgICAgZ3JpZC1nYXA6ICRsaCAqIDM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b3Age1xuICAgICAgICAud3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAkbGg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1sZ3JleTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGdhcDogJGxoICogMjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBnYXA6ICRsaCAqIDM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzdXBlcikge1xuICAgICAgICAgICAgICAgIGdhcDogJGxoICogNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBwYWRkaW5nOiAkbGggKiAyIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjY3JlZGl0YXRpb25zIHtcbiAgICAgICAgcGFkZGluZzogJGxoICogMiAwO1xuXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogJGxoICogMjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbGggKiA0IDAgJGxoICogMiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb250YWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0gLSAxcHgpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2l0ZS1mb290ZXJfX2NvbHVtbi0taXMtYWNjb3JkaWFuICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0gLSAxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkbGg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNpdGUtZm9vdGVyX19jb2x1bW4tLWlzLWFjY29yZGlhbi5vcGVuICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0gLSAxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50LXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYWxpZ25lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAmLS1zdGFydCB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLWNlbnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tZW5kIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNpdGUtZm9vdGVyX19jb2x1bW4tLWlzLWFjY29yZGlhbiAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcztcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zaXRlLWZvb3Rlcl9fY29sdW1uLS1pcy1hY2NvcmRpYW4ub3BlbiAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFjdC1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbGg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGdhcDogJGxoO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LWxpbmsge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgZmlsbDogJGMtd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0gLSAxcHgpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkbGg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC80O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaDtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGxoICogMztcbiAgICAgICAgfVxuXG4gICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMwMHB4LCAxZnIpKTtcbiAgICAgICAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2NyZWRpdCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjLWJsYWNrO1xuICAgICAgICBwYWRkaW5nOiAkbGgvMiAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLndyYXAge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBnYXA6ICRsaCAqIDI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNyZWRpdC1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkcmVzcy10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1heCwgJG1lZGl1bSAtIDFweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IExvZ29cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubG9nbyB7XG4gICAgJi0taGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC5sb2dvX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTcwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9nb19fdGV4dCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMnM7XG4gICAgICAgICAgICBmaWxsOiAjZmZmO1xuXG4gICAgICAgICAgICBbc3R1Y2tdICYge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjLWdyZXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9nb19faWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMnM7XG4gICAgICAgICAgICBmaWxsOiAkYy15ZWxsb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mb290ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtIC0gMXB4KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBTbGlkZSBNZW51XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm1vYmlsZS1uYXYtcGFuZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnAoJG1heCwgMTAyM3B4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JleTtcbiAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9kaXN0L2ltZy90cmktYmcuc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSArIDI1MHB4KSBjYWxjKDEwMCUgKyAzMDBweCk7XG4gICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21haW4ge1xuICAgICAgICAgICAgLy93aWR0aDpjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkbGggKiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAmX19ib3R0b20ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoICogMztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRsaC8yO1xuXG4gICAgICAgICAgICAuc2VhcmNoLWZvcm0ge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNpdGUtaGVhZGVyX190ZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtb3BlbiAmIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogJGxoLzQgMDtcblxuICAgICAgICAgICAgJi0tcXVvdGUtYzJhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkbGggKiAyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDhweCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemVzKTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZmMjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJi5zdWJtZW51LW9wZW4ge1xuICAgICAgICAgICAgICAgID4gLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDk5cHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+IC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsaDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAkbGg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAubWVudS1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGxoO1xuXG4gICAgICAgICAgICAgICAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAkbGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICByaWdodDogNXB4O1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIiwiLyoqXG4gKiBPd2wgQ2Fyb3VzZWwgdjIuMi4wXG4gKiBDb3B5cmlnaHQgMjAxMy0yMDE2IERhdmlkIERldXRzY2hcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gICAgY29udGVudDogXCIuXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGhlaWdodDogMDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVkLFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3Qge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWRyYWcgLm93bC1pdGVtIHtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBjdXJzb3I6IGdyYWI7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1pbiB7XG4gIHotaW5kZXg6IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLm93bC1jYXJvdXNlbCAuZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG4ub3dsLWhlaWdodCB7XG4gIHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDsgfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenkge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gIG1hcmdpbi10b3A6IC00MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJvd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby10biB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8vIEN1c3RvbVxuXG4ub3dsLWRvdHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6JGxoIDAgMCAwO1xuICAvL2Rpc3BsYXk6bm9uZTtcbn1cblxuLm93bC1kb3Qge1xuICBiYWNrZ3JvdW5kOiAkYy1ibGFjaztcbiAgd2lkdGg6ICRsaCAvIDEuNTtcbiAgaGVpZ2h0OiAkbGggLyAxLjU7XG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgNXB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1wcmltYXJ5O1xuICB9XG59XG5cbi5vd2wtcHJldiB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgaGVpZ2h0OjQ4cHg7XG4gICAgd2lkdGg6NDhweDtcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4vaW1nL3N2Zy9wcmV2LnN2ZycpO1xuICAgIC8vIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogMjAlIGNlbnRlcjtcbiAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IDIzcHg7XG4gICAgbGVmdDokbGgvNDtcbiAgICB0b3A6MzUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXJlZDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiRjLWJsYWNrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICAgIFxuICAgIFxufVxuXG4ub3dsLW5leHQge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGhlaWdodDo0OHB4O1xuICAgIHdpZHRoOjQ4cHg7XG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuL2ltZy9zdmcvbmV4dC5zdmcnKTtcbiAgICAvLyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC8vIGJhY2tncm91bmQtcG9zaXRpb246IDIwJSBjZW50ZXI7XG4gICAgLy8gYmFja2dyb3VuZC1zaXplOiAyM3B4O1xuICAgIHJpZ2h0OiRsaC80O1xuICAgIHRvcDozNSU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1yZWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBzdmcge1xuICAgICAgZmlsbDokYy1ibGFjaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgfVxuICAgIFxuXG59XG5cbi5vd2wtY3Mtc2xpZGVyIHtcbiAgLm93bC1uYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6JGxoLzI7XG4gICAgbGVmdDokbGgvMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogJGxoLzI7XG4gIH1cblxuICAub3dsLXByZXYsXG4gIC5vd2wtbmV4dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBsZWZ0OmF1dG87XG4gICAgdG9wOmF1dG87XG4gICAgdHJhbnNmb3JtOm5vbmU7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC4yc1xuICB9XG5cbiAgLm93bC1wcmV2IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTVweCk7XG4gICAgfVxuICB9XG5cbiAgLm93bC1uZXh0IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoNXB4KTtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFRvZ2dsZSBOYXZcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4udG9nZ2xlLW5hdiB7IFxuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAwLjJzLCBlYXNlLWluLW91dCk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOjhweDtcbiAgICBqdXN0aWZ5LXNlbGY6ZW5kO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6MzZweDtcbiAgICAgICAgaGVpZ2h0OjM2cHg7XG4gICAgICAgIGZpbGw6ICRjLXdoaXRlO1xuICAgIH1cblxuICAgICYtLW1vYmlsZSB7XG4gICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDhweDtcbiAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAudG9nZ2xlLW5hdl9faWNvbiB7XG4gICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgd2lkdGg6JGxoO1xuICAgICAgICAgICAgaGVpZ2h0OiRsaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNsb3NlIHtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogJGZ6O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgIC50b2dnbGUtbmF2X19pY29uIHtcbiAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgICB3aWR0aDoxM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OjEzcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcblxuICAgICAgICAmLS1jbG9zZSB7XG4gICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN1Ym1lbnUtdG9nZ2xlIHsgXG5cdGZsb2F0OnJpZ2h0O1xuXHRtYXJnaW4tbGVmdDogJGxoLzQ7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0c3ZnIHtcblx0XHRmaWxsOiRjLWJsYWNrO1xuXHRcdHdpZHRoOjEwcHg7XG5cdFx0aGVpZ2h0OjhweDtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjJzIGN1YmljLWJlemllcigwLjQ2LCAwLjk2LCAwLjQzLCAwLjk0KSAwLjJzO1xuXHRcdFxuXHR9XG59XG5cblxuQGluY2x1ZGUgYnAoJG1heCwgJGxhcmdlIC0gMSkge1xuXG4gICAgLnN1Ym1lbnUtdG9nZ2xlIHsgXG5cbiAgICAgICAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b2dnbGUtbmF2IHsgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDoxMnB4O1xuICAgICAgICB0b3A6OHB4O1xuICAgICAgICB3aWR0aDoyNXB4O1xuICAgICAgICBoZWlnaHQ6MjVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuXG4gICAgICAgID4gLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogU29jaWFsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNvY2lhbC1saW5rcyB7XG4gICAgJl9fbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbGgvMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICB3aWR0aDogJGxoICogMS41O1xuICAgICAgICBoZWlnaHQ6ICRsaCAqIDEuNTtcblxuICAgICAgICAmLS1yb3VuZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcblxuICAgICAgICAgICAgLnNvY2lhbC1saW5rc19faWNvbiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGMteWVsbG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkbGgvMiArIDI7XG4gICAgICAgIGhlaWdodDogJGxoLzIgKyAyO1xuICAgICAgICBmaWxsOiAkYy1kYmx1ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzO1xuXG4gICAgICAgICYtLWxhcmdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAkbGggKiAxLjI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRsaCAqIDEuMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvbnRhY3QtcGFnZSB7XG4gICAgICAgIC5zb2NpYWwtbGlua3NfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwICRsaC8yO1xuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWwtbGlua3NfX2xpc3Qge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGxoLzI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBDb250YWN0IExpbmtcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY29udGFjdC1saW5rIHtcbiAgICAmX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS1pY29uIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGxoLzI7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4ycztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxpZ2h0IHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS15ZWxsb3cge1xuICAgICAgICBmaWxsOiAkYy15ZWxsb3c7XG4gICAgfVxuXG4gICAgJi0tZGFyayB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkYy10ZXh0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiA0MDRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZXJyb3ItNDA0IHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAkbGggKiAzIDA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIjQwNFwiO1xuICAgICAgICBmb250LXNpemU6IDUwdnc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogI2VhZWFlYTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTYwJSwgLTUwJSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDY1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtZmllbGQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgLy9ib3JkZXI6MXB4IHNvbGlkICRjLWJvcmRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKCMwMDAsIDAuMDcpO1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1zdWJtaXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogR3JhZGllbnQgU2hhZG93XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmdyYWRpZW50LXNoYWRvdyB7XG5cdCYtLXRvcCB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0QGluY2x1ZGUgdG9wLWdyYWQtc2hhZG93KDAuNik7XG5cdFx0fVxuXHR9XG5cblx0Ji0tYm90dG9tIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRAaW5jbHVkZSBib3R0b20tZ3JhZC1zaGFkb3coMC45KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicCgkbWF4LCAkbGFyZ2UgLSAxcHgpIHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0aGVpZ2h0OiA5MCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji0tYm90aCB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0QGluY2x1ZGUgYm90aC1ncmFkLXNoYWRvdygpO1xuXHRcdH1cblx0fVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogT3ZlcmxheVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5vdmVybGF5Om5vdCguaGVyby1pbWFnZSkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5vdmVybGF5IHtcbiAgICAgICAgJi0tbm9uZSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tbWVkaXVtIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1zdHJvbmcge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJGNvbG91ciwgJGJnY29sb3IgaW4gJGNvbG91cnMge1xuICAgICAgICAgICAgJi0tI3skY29sb3VyfSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ2NvbG9yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiBjb250YWlucygkZGFyay1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAgICAgICAgIGE6bm90KFtjbGFzc149XCJidXR0b25cIl0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRlcl9faGVhZGluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgY29udGFpbnMoJGxpZ2h0LWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYy10ZXh0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnNlY3Rpb24taGVhZGVyX19oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkZ3JhZGllbnQsICRiZ3JhZCBpbiAkZ3JhZGllbnRzIHtcbiAgICAgICAgICAgICYtLSN7JGdyYWRpZW50fSB7XG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRkYXJrLWNvbG91cnMsICRncmFkaWVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRiZ3JhZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiBjb250YWlucygkbGlnaHQtY29sb3VycywgJGdyYWRpZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGJncmFkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3ZlcmxheS5oZXJvLWltYWdlIHtcbiAgICAuaGVyby1pbWFnZV9fYmFja2dyb3VuZCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5vdmVybGF5IHtcbiAgICAgICAgJi0tbm9uZSB7XG4gICAgICAgICAgICAuaGVyby1pbWFnZV9fYmFja2dyb3VuZDphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1saWdodCB7XG4gICAgICAgICAgICAuaGVyby1pbWFnZV9fYmFja2dyb3VuZDphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1tZWRpdW0ge1xuICAgICAgICAgICAgLmhlcm8taW1hZ2VfX2JhY2tncm91bmQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1zdHJvbmcge1xuICAgICAgICAgICAgLmhlcm8taW1hZ2VfX2JhY2tncm91bmQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRjb2xvdXIsICRiZ2NvbG9yIGluICRjb2xvdXJzIHtcbiAgICAgICAgICAgICYtLSN7JGNvbG91cn0ge1xuICAgICAgICAgICAgICAgIC5oZXJvLWltYWdlX19iYWNrZ3JvdW5kOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRkYXJrLWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRsaWdodC1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGMtdGV4dDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRncmFkaWVudCwgJGJncmFkIGluICRncmFkaWVudHMge1xuICAgICAgICAgICAgJi0tI3skZ3JhZGllbnR9IHtcbiAgICAgICAgICAgICAgICBAaWYgY29udGFpbnMoJGRhcmstY29sb3VycywgJGdyYWRpZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGJncmFkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRsaWdodC1jb2xvdXJzLCAkZ3JhZGllbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYmdyYWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNWRyBJY29uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnN2Z2ljb24ge1xuXHR3aWR0aDogMjRweDtcblx0aGVpZ2h0OjI0cHg7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBBdmF0YXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYXZhdGFyIHtcblx0Ym9yZGVyLXJhZGl1czoxMDAlO1xuXHRib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuXHRib3gtc2hhZG93OiAwIDAgNHB4IHJnYmEoIzAwMCwwLjUpO1xuXHR3aWR0aDogJGxoKjMhaW1wb3J0YW50O1xuXHRoZWlnaHQ6ICRsaCozO1xufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogR3Jhdml0eSBGb3Jtc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmJvZHkge1xuICAgIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUge1xuICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggJGxoO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdmaWVsZC1jaG9pY2UtaW5wdXQgKyBsYWJlbCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmb3JtX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgZ3JpZC1yb3ctZ2FwOiAkbGgvMjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogJGxoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2dmb3JtX3dyYXBwZXJfMSB7XG4gICAgICAgIC5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgLmdmaWVsZF9yZXBlYXRlcl9jZWxsIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBsZWdlbmQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSArIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxhYmVsICsgW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICBjb2xvcjogI2ZmNDY0NjtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5kZXNjcmlwdGlvbixcbiAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZGVzY3JpcHRpb24sXG4gICAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ3NlY3Rpb25fZGVzY3JpcHRpb24sXG4gICAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuaW5zdHJ1Y3Rpb24ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzI2MDAwMDtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIH1cblxuICAgIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6ICRsaC8yO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy15ZWxsb3c7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fYWpheF9zcGlubmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBvYmplY3QtZml0OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8qISBMaXR5IC0gdjIuNC4xIC0gMjAyMC0wNC0yNlxuKiBodHRwOi8vc29yZ2FsbGEuY29tL2xpdHkvXG4qIENvcHlyaWdodCAoYykgMjAxNS0yMDIwIEphbiBTb3JnYWxsYTsgTGljZW5zZWQgTUlUICovXG4ubGl0eSB7XG4gICAgei1pbmRleDogOTk5MDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgfVxuICAubGl0eS5saXR5LW9wZW5lZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAubGl0eS5saXR5LWNsb3NlZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAubGl0eSAqIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAubGl0eS13cmFwIHtcbiAgICB6LWluZGV4OiA5OTkwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubGl0eS13cmFwOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgfVxuICAubGl0eS1sb2FkZXIge1xuICAgIHotaW5kZXg6IDk5OTE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgfVxuICAubGl0eS1sb2FkaW5nIC5saXR5LWxvYWRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAubGl0eS1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDk5OTI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxpdHktY29udGVudCB7XG4gICAgei1pbmRleDogOTk5MztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2UsIC1vLXRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIH1cbiAgLmxpdHktbG9hZGluZyAubGl0eS1jb250ZW50LFxuICAubGl0eS1jbG9zZWQgLmxpdHktY29udGVudCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIH1cbiAgLmxpdHktY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICB9XG4gIC5saXR5LWNsb3NlIHtcbiAgICB6LWluZGV4OiA5OTk0O1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAubGl0eS1jbG9zZTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmxpdHktY2xvc2U6aG92ZXIsXG4gIC5saXR5LWNsb3NlOmZvY3VzLFxuICAubGl0eS1jbG9zZTphY3RpdmUsXG4gIC5saXR5LWNsb3NlOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLmxpdHktY2xvc2U6YWN0aXZlIHtcbiAgICB0b3A6IDFweDtcbiAgfVxuICAvKiBJbWFnZSAqL1xuICAubGl0eS1pbWFnZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cbiAgLyogaUZyYW1lICovXG4gIC5saXR5LWlmcmFtZSAubGl0eS1jb250YWluZXIsXG4gIC5saXR5LXlvdXR1YmUgLmxpdHktY29udGFpbmVyLFxuICAubGl0eS12aW1lbyAubGl0eS1jb250YWluZXIsXG4gIC5saXR5LWZhY2Vib29rdmlkZW8gLmxpdHktY29udGFpbmVyLFxuICAubGl0eS1nb29nbGVtYXBzIC5saXR5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5NjRweDtcbiAgfVxuICAubGl0eS1pZnJhbWUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDU2LjI1JTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLmxpdHktaWZyYW1lLWNvbnRhaW5lciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gIH1cbiAgLmxpdHktaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAiLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFBvc3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucG9zdCB7XG4gICAgJl9faW50cm8ge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZXMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBoMixcbiAgICAgICAgLmgyIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGxoLzQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIC0xMDRweCAkbGggLTEwNHB4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRsaC8yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29uZS1jb2x1bW4ge1xuICAgICAgICBoMixcbiAgICAgICAgLmgyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRsaCAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190d28tY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgY29sdW1uLXdpZHRoOiAyODBweDtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRsaDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpbmdsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgIC5lbnRyeS10aXRsZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lbnRyeS1tZXRhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogTGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMThweCByZ2JhKCMwMDAsIDAuMik7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBhZGRpbmc6ICRsaC80ICRsaC8yO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGxoLzI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbGgvMiAkbGg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtNDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZW50cnktaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAuZW50cnktYXV0aG9yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAuYXV0aG9yX19iaW8ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbGgvMjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRsaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hdXRob3JuYW1lIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmejtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hdXRob3JfX2ltYWdlIHtcbiAgICAgICAgICAgIC5hdmF0YXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNlcnZpY2UgQmxvY2sgTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYmxvY2stbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5zbGljay1zbGlkZSB7XG4gICAgICAgIG1hcmdpbjogJGxoICRsaCAqIDAuNTtcbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgIHBhZGRpbmc6ICRsaCAkbGgvNDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCA1MCUsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjbGlwLXBhdGggMC4zcyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmYyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGxoLzI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRsaC8yO1xuICAgICAgICBwYWRkaW5nLXRvcDogJGxoLzI7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsaCAqIDAuNzU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbGgvMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MsIHRyYW5zZm9ybSAwLjNzLCBsZWZ0IDAuM3M7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmYyO1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSA2NnB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3R0b206ICRsaC8yO1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAwLjU1ZW07XG4gICAgICAgICAgICBsZWZ0OiAtJGxoLzI7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDAuNTVlbSBzb2xpZCAkYy1kYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIGNvbG9yIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKCRjLWRibHVlLCAwLjE1KTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy14bGdyZXk7XG5cbiAgICAgICAgICAgIC5ibG9jay1saW5rX19mb290ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRibHVlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDUwJSwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmxvY2stbGlua19fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICRsaC80O1xuICAgIGJvdHRvbTogLSRsaCAqIDEuNTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6ICRsaDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgd2lkdGg6ICRsaCAqIDM7XG4gICAgaGVpZ2h0OiAkbGggKiAzO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjLWJsYWNrO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cbi8vIEN1c3RvbSBTbGlkZXIgU3R5bGVzXG5cbi5zbGljay1zbGlkZXIge1xuICAgICYtLXNlcnZpY2VzIHtcbiAgICAgICAgLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogJGxoO1xuICAgICAgICB9XG4gICAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBJY29uIEJ1bGxldCBMaXN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmljb24tYnVsbGV0LWxpc3Qge1xuICAgIG1hcmdpbjogMDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcblxuICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbGgvNDtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFBvc3QgU2hhcmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnBvc3Qtc2hhcmUge1xuXG5cdGZsb2F0OmxlZnQ7XG5cblx0PiAqIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0XG5cdEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuXHRcdGZsb2F0Om5vbmU7XG5cdFx0ZGlzcGxheTpmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0QGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuXHRcdHBhZGRpbmc6ICRsaC8yO1xuXHR9XG5cblxuXHQmX19rZXkge1xuXHRcdFxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkbGgvNDtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cblx0XHRwIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkbGgvMjtcblx0XHRcdG1hcmdpbi1yaWdodDogJGxoLzI7XG5cdFx0XHRmb250LXNpemU6ICRmejtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OicnO1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA1cHggc29saWQgY3VycmVudENvbG9yO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDowO1xuXHRcdFx0XHR0b3A6MTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19zb2NpYWwge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdG1hcmdpbjowIDNweDtcblx0XHR3aWR0aDogJGxoICsgM3B4O1xuXHRcdGhlaWdodDogJGxoICsgM3B4O1xuXHRcdGJvcmRlci1yYWRpdXM6MTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdGZpbGw6I2ZmZjtcblx0XHR9XG5cblx0XHQmLS1mYWNlYm9vayB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYy1mYWNlYm9vaztcblx0XHR9XG5cblx0XHQmLS10d2l0dGVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjLXR3aXR0ZXI7XG5cdFx0fVxuXG5cdFx0Ji0tbGlua2VkaW4ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGMtbGlua2VkaW47XG5cdFx0fVxuXHR9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBQb3N0IExpc3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucG9zdC1saXN0IHtcbiAgICAuYmxvZyAmIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmLS1yb3cge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgJi0tcG9zdCB7XG4gICAgICAgIC5wb3N0LWxpc3Qge1xuICAgICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkbGgvMjtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgLnBvc3QtbGlzdF9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wb3N0LWxpc3RfX3N1YmhlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucG9zdC1saXN0X19jYXRlZ29yeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRjLXllbGxvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fY2F0LXNlbGVjdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsaC8yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZ2FwOiAkbGgvMjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzcwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2NhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtZGJsdWU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4ycztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGgvMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbGggKiAzO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2Rpc3QvaW1nL3N2Zy9hcnJvdy1yaWdodC0td2hpdGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGxoO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206ICRsaC8yO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogJGxoLzI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkbGg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGxoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvdHRvbS1ncmFkLXNoYWRvdygwLjksIDEwMCUsICRjLWRibHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3Bvc3RzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGggKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbGggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob21lICYge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRsaCAqIDQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogJGxoO1xuICAgICAgICBwYWRkaW5nOiAkbGggMDtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBnYXA6ICRsaCAqIDM7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI3MHB4IDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRsaCAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAmLS1wYWRkZWQge1xuICAgICAgICAgICAgcGFkZGluZzogJGxoLzQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGgvMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWlubGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1sZ3JleTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAucG9zdC1saXN0X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LWxpc3RfX3RodW1ibmFpbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoIC8gMjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEyMHB4IDFmcjtcbiAgICAgICAgICAgICAgICBnYXA6ICRsaDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMDBweCAxZnI7XG4gICAgICAgICAgICAgICAgZ2FwOiAkbGggKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dC1saW5rIHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Bvc3RzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogJGxoO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNhcm91c2VsLFxuICAgICAgICAmLS1yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLS0yY29sIHtcbiAgICAgICAgICAgIGdhcDogJGxoLzI7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZ2FwOiAkbGgvMjtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgICAgIC8vbWF4LWhlaWdodDowO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGF0ZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuNzU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC43O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vbnRoIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRsaC8yO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbGgvMjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGxoLzQ7XG4gICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIGNvbG9yIDAuM3M7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAyMHB4IDQwcHggcmdiYSgyMCwgNDgsIDYyLCAwLjEzKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRsaC8yKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19leGNlcnB0IHtcbiAgICAgICAgZm9udC1zaXplOiAkZnogLSAycHg7XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogJGxoO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gICAgICAgIGdhcDogJGxoO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIGdhcDogJGxoICogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRzbWFsbCAtIDFweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgICZfX3N1YmhlYWRpbmcge1xuICAgICAgICBmb250LWZhbWlseTogJGZmO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICB9XG5cbiAgICAmX19jMmEge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRsaC8yO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEZlYXR1cmVzIExpc3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZmVhdHVyZXMtbGlzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGJsdWU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDE4cHggcmdiYSgjMDAwLCAwLjIpO1xuICAgIHBhZGRpbmc6ICRsaC8yICRsaDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBtYXJnaW46IC0kbGggYXV0byAwIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGxoLzI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBnYXA6ICRsaCAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAkbGgvMjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICBmaWxsOiAjZmZmO1xuICAgIH1cblxuICAgICZfX3ZhbHVlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogQnJlYWRjcnVtYnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYnJlYWRjcnVtYnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtZmFtaWx5OiAkZmYyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC5sb2FkZWQgJiB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbiAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZSgxcywgZmFkZUluUmlnaHRWU21hbGwsIDEsIGVhc2UtaW4tb3V0KTtcbiAgICB9XG5cbiAgICAmX19zZXBhcmF0b3Ige1xuICAgICAgICB3aWR0aDogJGxoLzI7XG4gICAgICAgIGhlaWdodDogJGxoLzI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vZGlzdC9pbWcvc3ZnL2FuZ2xlLXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGggKiAxLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kYXJrIHtcbiAgICAgICAgLmJyZWFkY3J1bWJzX19zZXBhcmF0b3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9kaXN0L2ltZy9zdmcvYW5nbGUtcmlnaHQtLWRhcmsuc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBXaWRnZXQgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLndpZGdldCB7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWxncmV5O1xuICAgIHBhZGRpbmc6ICRsaC8yIDA7XG5cbiAgICA+ICoge1xuICAgICAgICBwYWRkaW5nOiAkbGg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbGgvMjtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmZjI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAwICRsaCAqIDAuNzU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbGgvMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAud3AtYmxvY2stc2VhcmNoIHtcbiAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXdpZGdldC1sYXllcmVkLW5hdi1saXN0IC53b29jb21tZXJjZS13aWRnZXQtbGF5ZXJlZC1uYXYtbGlzdF9faXRlbSB7XG4gICAgcGFkZGluZzogMCAkbGggKiAwLjc1O1xufVxuXG5ib2R5Lndvb2NvbW1lcmNlIC53aWRnZXRfcHJpY2VfZmlsdGVyIHtcbiAgICAucHJpY2Vfc2xpZGVyIHtcbiAgICAgICAgJl9hbW91bnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogVGljayBMaXN0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnRpY2tsaXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxoO1xuICAgICZfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6ICRsaDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgICAgICYtLWhhcy1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6ICRsaC8yO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2Rpc3QvaW1nL3N2Zy9jaXJjbGUtdGljay0teWVsbG93LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBQYWdpbmF0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyogUGFnaW5hdGlvbiAqL1xuLnBhZ2luYXRpb24ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAkbGggMDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19pdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJl9fY291bnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbGg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICAmLnBhZ2luYXRpb25fX25leHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbGgvMjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRsaC8yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRjLWRibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgICYucGFnaW5hdGlvbl9fcHJldiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGxoLzI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkbGgvMjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYy1kYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogJGxoICogMiAwO1xuICAgIH1cbn1cblxuLnBhZ2luYXRpb24gc3Bhbixcbi5wYWdpbmF0aW9uIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogNDJweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkYy1kYmx1ZTsgLyogUGFnaW5hdGlvbiB0ZXh0IGNvbG9yICovXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYy15ZWxsb3c7XG5cbiAgICBtYXJnaW46IDAgJGxoLzg7XG5cbiAgICAmLnBhZ2luYXRpb25fX2hlbGlwIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICBtYXJnaW46IDAgJGxoLzY7XG4gICAgfVxufVxuXG4ucGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy15ZWxsb3c7IC8qIFBhZ2luYXRpb24gYmFja2dyb3VuZCBvbiBob3ZlciAqL1xufVxuXG4ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgYmFja2dyb3VuZDogJGMtZGJsdWU7IC8qIEN1cnJlbnQgcGFnZSBiYWNrZ3JvdW5kICovXG4gICAgYm9yZGVyLWNvbG9yOiAkYy1kYmx1ZTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogQ2Fyb3VzZWwgTmF2XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNhcm91c2VsLW5hdiB7XG4gICAgJl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAkbGgvMjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbGFyZ2UgLSAxcHgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAuY2Fyb3VzZWwtbmF2IHtcbiAgICAgICAgICAgICAgICAmX19wcmV2IHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19uZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1heCwgJGxhcmdlIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNlbnRlcmVkIHtcbiAgICAgICAgICAgIC5jYXJvdXNlbC1uYXYge1xuICAgICAgICAgICAgICAgICZfX3ByZXYge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA3NXB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4LCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX25leHQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByZXYge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy15ZWxsb3c7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGMteWVsbG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmV4dCB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy15ZWxsb3c7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGMteWVsbG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJldixcbiAgICAmX19uZXh0IHtcbiAgICAgICAgd2lkdGg6ICRsaCAqIDEuNTtcbiAgICAgICAgaGVpZ2h0OiAkbGggKiAxLjU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWRibHVlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycywgdHJhbnNmb3JtIDAuMnM7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4ycztcbiAgICAgICAgICAgIGZpbGw6ICRjLWRibHVlO1xuICAgICAgICAgICAgd2lkdGg6ICRsaCAqIDAuNzU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRsaCAqIDAuNzU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRjb2xvdXIsICRiZ2NvbG9yIGluICRjb2xvdXJzIHtcbiAgICAgICAgICAgIC5iZy0tI3skY29sb3VyfSAmOm5vdCguY2FzZS1zdHVkeS1jYXJvdXNlbF9fcHJldik6bm90KC5jYXNlLXN0dWR5LWNhcm91c2VsX19uZXh0KSB7XG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRkYXJrLWNvbG91cnMsICRjb2xvdXIpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIGNvbnRhaW5zKCRsaWdodC1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6ICRsaCAqIDI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRsaCAqIDI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dCA6IEhlcm9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaGVyby1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy10b3A6ICRsaCAqIDM7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgIC8vdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDMwJSAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCUgMTAwJSk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogLTUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZXk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMzAlIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC53cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwYWRkaW5nOiAwICRsaCAqIDEuNTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgbWluLWhlaWdodDogMzQwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi0taG9tZSB7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRsaCAqIDQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxoICogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNob3J0IHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICR4LWxhcmdlKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNlYXJjaCB7XG4gICAgICAgIC5oZXJvLWltYWdlX19zdWJoZWFkaW5nIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1yZWQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggJGxoLzIgMnB4ICRsaC80O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAkbGgvNDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaG9tZSAmIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4NTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2FkZWQgJiB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZSgxcywgd2lwZVJpZ2h0LCAxLCBlYXNlLWluLW91dCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRlKDFzLCB3aXBlUmlnaHQsIDEsIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4ycztcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZXJvLWltYWdlIHtcbiAgICAgICAgICAgICZfX2JhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoOHMsIHpvb21JbiwgMSwgbGluZWFyKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkc21hbGwgLSAxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogODAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1maXhlZCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmLS1uby1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmc6ICRsaCAqIDIgMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGxoICogNCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmhlcm8taW1hZ2VfX3N1YmhlYWRpbmcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoICogMjtcblxuICAgICAgICAgICAgJi0tbWItbm9uZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dvb2dsZS1tYXAge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkbGggKiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFja2dyb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoMC4zcywgZmFkZUluLCAxLCBsaW5lYXIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjLWdyZXksIHJnYmEoJGMtZ3JleSwgMC4zNSkpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjLWdyZXksIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aGFzKC5pbWFnZS1hcy1iZy0taGFsZikge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgICAgLmhlcm8taW1hZ2VfX3ByZWhlYWRpbmcge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAubG9hZGVkICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoMXMsIGZhZGVJbiwgMSwgbGluZWFyKTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhlcm8taW1hZ2VfX3N1YmhlYWRpbmcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyAwLjVzLCBvcGFjaXR5IDFzIDAuNXM7XG5cbiAgICAgICAgICAgIC5sb2FkZWQgJiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVyby1pbWFnZV9faGVhZGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAkbGggYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgMC4zcywgb3BhY2l0eSAxcyAwLjNzO1xuXG4gICAgICAgICAgICAmLS1tYi1oYWxmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxvYWRlZCAmIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZXJvLWltYWdlX19jYXRlZ29yeS1pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgMC4zcywgb3BhY2l0eSAxcyAwLjNzO1xuXG4gICAgICAgICAgICAubG9hZGVkICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1sZWZ0IHtcbiAgICAgICAgLmhlcm8taW1hZ2VfX3N1YmhlYWRpbmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyAxLjJzLCBvcGFjaXR5IDFzIDEuMnM7XG5cbiAgICAgICAgICAgIC5sb2FkZWQgJiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVyby1pbWFnZV9faGVhZGluZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIDFzLCBvcGFjaXR5IDFzIDFzO1xuXG4gICAgICAgICAgICAubG9hZGVkICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1zZXQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyAxcywgb3BhY2l0eSAxcyAxcztcblxuICAgICAgICAgICAgLmxvYWRlZCAmIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Njcm9sbC1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmZjI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAycztcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbGFyZ2UgLSAxcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGVkICYge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZSgzcywgYm9iLCBpbmZpbml0ZSwgY3ViaWMtYmV6aWVyKDAuNDcsIDAuNCwgMC40MiwgMS43MikpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA3NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogNzVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxMjBweCBzb2xpZCAkYy15ZWxsb3c7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDE2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDI2cHggc29saWQgJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMCAkbGg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGxoLzQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogJGxoO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGxoO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGxoIDA7XG5cbiAgICAgICAgICAgIC5ob21lICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsaCAqIDIgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5iZy1pbWFnZS0taGFsZiAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgLmFsaWduLWxlZnQgJiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBhZ2UtY29udGFjdC11cyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZm9ybSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIDFzLCBvcGFjaXR5IDFzIDFzO1xuICAgICAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgjZmZmLCAwLjYpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMteWVsbG93O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIC8vYm9yZGVyOiAycHggc29saWQgJGMteWVsbG93O1xuICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgICAgICAgICAgLy9ib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKCRjLWRibHVlLCAwLjQ3KSwgaW5zZXQgMCAwIDIwcHggcmdiYSgjZmZmLCAxKTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNTBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG5cbiAgICAgICAgICAgIGlucHV0LFxuICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sb2FkZWQgJiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgICAgICYtLWhhcy1mb3JtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBnYXA6ICRsaDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAkbGggKiAyO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxLjVzIGN1YmljLWJlemllcigwLjI5LCAwLjc0LCAwLjQxLCAwLjkxKSwgb3BhY2l0eSAxLjVzIGN1YmljLWJlemllcigwLjI5LCAwLjc0LCAwLjQxLCAwLjkxKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMS4xcztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgICZfX3N1YmhlYWRpbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkOm5vdCgrIC5idXR0b24tc2V0KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogU3BhY2VyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNwYWNlciB7XG4gICAgLS1tdWx0aXBsaWVyOiAxO1xuICAgIC0tbGg6ICN7JGxofTtcblxuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJl9fZGl2IHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWxoKSAqIHZhcigtLW11bHRpcGxpZXIpIC8gMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWxoKSAqIHZhcigtLW11bHRpcGxpZXIpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogU2VjdGlvbiBIZWFkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc2VjdGlvbi1oZWFkZXIge1xuICAgIC8vcGFkZGluZzowICRsaDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuc2VjdGlvbi1oZWFkZXJfX2hlYWRpbmdzIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBhW2NsYXNzKj1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZ3Mge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAxcyBlYXNlLWluLW91dDtcblxuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIC5hbGlnbi1jZW50ZXIgJiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFsaWduLWxlZnQgJiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYVtjbGFzcyo9XCJidXR0b25cIl0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAxcyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgJi5oMSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGgvMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YmhlYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgLmFsaWduLWNlbnRlciAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY3MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWxpZ24tbGVmdCAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBTZXJ2aWNlIENhcm91c2VsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNlcnZpY2UtY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2xpc3Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoMXMsIGZhZGVJblVwU21hbGwsIDEsIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN0YXRpYyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgICAgIGdhcDogJGxoO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlcnZpY2UtY2Fyb3VzZWxfX2l0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jYXJvdXNlbC1uYXYge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAkbGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkc21hbGwgLSAxcHgpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC5ibG9jay1saW5rX19saW5rIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW50cm8ge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRlKDFzLCBmYWRlSW5SaWdodFNtYWxsLCAxLCBlYXNlLWluLW91dCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIGdhcDogJGxoICogMjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6ICRsaC8yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRsYXJnZSAtIDFweCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEltYWdlICsgVGV4dCBSb3dcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaW1hZ2UtdGV4dC1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgLmhvbWUgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRsaCAqIDM7XG4gICAgICAgIH1cblxuICAgICAgICAud3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYtLWNzIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTEwNHB4ICRsaCAtMTA0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnZhbGlnbiB7XG4gICAgICAgICYtLXRvcCB7XG4gICAgICAgICAgICAuaW1hZ2UtdGV4dC1yb3cge1xuICAgICAgICAgICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1taWRkbGUge1xuICAgICAgICAgICAgLmltYWdlLXRleHQtcm93IHtcbiAgICAgICAgICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ib3R0b20ge1xuICAgICAgICAgICAgLmltYWdlLXRleHQtcm93IHtcbiAgICAgICAgICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhY2tncm91bmQgKyAud3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogJGxoIDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6ICRsaDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICAgICAgJi5qcy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS41cyAwLjVzLCB0cmFuc2Zvcm0gM3MgY3ViaWMtYmV6aWVyKDAsIDAuOTIsIDAsIDEpIDAuNXM7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLXZpc2libGUsXG4gICAgICAgICAgICAubm8tanMgJiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2l0ZS1tYWluICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxoIDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZ2FwOiAkbGg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6ICRsaCAqIDM7XG4gICAgICAgIH1cblxuICAgICAgICBhW2NsYXNzXj1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkbGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbWFnZS1zdGlja3kge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogJGxoO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taW1hZ2UtZmlyc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGxoICogMztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogSW1hZ2UgUm93XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmltYWdlLXJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsaDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbGg7XG5cbiAgICAmX19pbWFnZXM6bm90KC5zbGljay1zbGlkZXItLWFjY3JlZGl0YXRpb25zKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgZ3JpZC1nYXA6ICRsaDtcbiAgICAgICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNTBweCwgMWZyKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IENhc2UgU3R1ZGllcyBTbGlkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2FzZS1zdHVkaWVzLXNsaWRlciB7XG5cblx0Jl9faGVhZGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAkbGg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiA2NTBweDtcblx0XHRtYXJnaW46MCBhdXRvO1xuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmc6JGxoO1xuXHRcdGJhY2tncm91bmQ6ICRjLWJsYWNrO1xuXHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cblx0XHRAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCZfX2hlYWRpbmcge1xuXHRcdG1hcmdpbi1ib3R0b206ICRsaDtcblxuXHRcdEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbS1oZWFkaW5nIHtcblx0XHRtYXJnaW4tYm90dG9tOiAkbGgvMjtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHR9XG5cblx0Jl9faW1hZ2Uge1xuXHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuXHRcdFx0d2lkdGg6ODAlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDIwJTtcblx0XHRcdG9wYWNpdHk6MDtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcblxuXHRcdFx0Lm93bC1pdGVtLmFjdGl2ZSAmIHtcblx0XHRcdFx0b3BhY2l0eToxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3RleHQge1xuXHRcdGZsZXg6MTtcblxuXHRcdHN2ZyB7XG5cdFx0XHRmaWxsOiAkYy1yZWQ7XG5cdFx0XHR3aWR0aDogMTM3cHg7XG5cdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGV4dGJveCB7XG5cdFx0cGFkZGluZzogJGxoLzIgMDtcblx0XHRmbGV4OjE7XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcblx0XHRjb2xvcjojZmZmO1xuXHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cblx0XHRAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nOiAkbGgvMiAkbGg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206MDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuXHRcdFx0cGFkZGluZzokbGgqMiAkbGggKjEuNTtcblx0XHRcdHRvcDo1MCU7XG5cdFx0XHRsZWZ0OjMwcHg7XG5cdFx0XHRib3R0b206YXV0bztcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwJSwgLTUwJSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKCMwMDAsMC4zKTtcblx0XHRcdHdpZHRoOiA0NjBweDtcblx0XHRcdG9wYWNpdHk6MDtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIDAuM3MsIG9wYWNpdHkgMC4zcyAwLjNzIGN1YmljLWJlemllcigwLjA2LCAwLjUxLCAwLjI0LCAwLjk3KTtcblxuXHRcdFx0Lm93bC1pdGVtLmFjdGl2ZSAmIHtcblx0XHRcdFx0b3BhY2l0eToxO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udHJvbHMge1xuXHRcdG1hcmdpbi1ib3R0b206ICRsaDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEMyYSBTZWN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmMyYS1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAkbGg7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICR4LWxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jb2x1bW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi5oYXMtY29udGFjdC1saW5rcyxcbiAgICAgICAgJi5oYXMtYnV0dG9uIHtcbiAgICAgICAgICAgIC5jMmEtc2VjdGlvbl9fc3ViaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tcm93IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5jMmEtc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogJGxoICogMjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jMmEtc2VjdGlvbl9fdGV4dCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgICAgICYtLW5vLXN1YiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgLy9tYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJoZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCRzdWJoZWFkLWZvbnQtc2l6ZXMpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGg7XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFjdC1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGdhcDogJGxoO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBGb3JtIFNlY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZm9ybSB7XG4gICAgLnNlY3Rpb25fX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDQwcHggcmdiYSgkYy1kYmx1ZSwgMC4xNyk7XG4gICAgICAgIHBhZGRpbmc6ICRsaDtcbiAgICAgICAgbWFyZ2luOiAwICRsaDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjRweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogJGxoICogMiAwICRsaCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2Rpc3QvaW1nL3RyaS1iZy0tb3JhbmdlLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgKyAxMDBweCkgY2FsYygxMDAlICsgMTAwcHgpO1xuXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXQgOiBPbmUgQ29sdW1uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm9uZS1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIH1cblxuICAgICYtLW5hcnJvdyB7XG4gICAgICAgIC5vbmUtY29sdW1uIHtcbiAgICAgICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBVU1BzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnVzcHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJGZmMjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbGFyZ2UgLSAxcHgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkbGggKiAxLjU7XG4gICAgICAgIGhlaWdodDogJGxoICogMS41O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgLnN2Z2ljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dCA6IENvbnRhY3QgTWFpblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jb250YWN0LW1haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogJGxoO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIGdhcDogJGxoICogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNnb29nbGVtYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiA0LzM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgIH1cbiAgICAmX19mb3JtLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgJl9fc3ViaGVhZGluZyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmeiArIDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDY1MHB4O1xuXG4gICAgICAgIC5ib3gge1xuICAgICAgICAgICAgcGFkZGluZzogJGxoICogMiAkbGg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsaCAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IFNpYmxpbmcgUGFnZSBHcmlkIFNlY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc2libGluZy1wYWdlLWdyaWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLndyYXAge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAkbGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAkbGgvMiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkbGggKiAxLjU7XG4gICAgICAgIGhlaWdodDogJGxoICogMS41O1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgb3BhY2l0eSAwLjJzO1xuICAgICAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMjNweDtcbiAgICAgICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogJGxoLzI7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAkbGgvNDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nLnBhZ2UtbGluay1ncmlkX19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMnB4KTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nX19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgLnNpYmxpbmctcGFnZS1ncmlkX190ZXh0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2libGluZy1wYWdlLWdyaWRfX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNpYmxpbmctcGFnZS1ncmlkX19oZWFkaW5nX19idXR0b24ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2R1bGUgOiBDaGlsZCBQYWdlIExpbmsgR3JpZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wYWdlLWxpbmstZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLWdhcDogJGxoLzI7XG5cbiAgICAmLS10eXBlMiB7XG4gICAgICAgIGdyaWQtZ2FwOiAkbGg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC1nYXA6ICRsaCAqIDEuNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXR5cGUxIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgZ3JpZC1nYXA6ICRsaC8yO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICR4LXNtYWxsKSB7XG4gICAgICAgICYtLTNjb2wge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tMmNvbCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDQ1MHB4LCAxZnIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgZ3JpZC1nYXA6ICRsaDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYtLTNjb2wge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICR4LWxhcmdlKSB7XG4gICAgICAgICYtLTJjb2wge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg1NTBweCwgMWZyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZ2FwOiAkbGgvMjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogJGxoLzI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmX19tYWluIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tIDAuMnM7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoICogMS41O1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGF5b3V0IDogRHJvcGRvd24gTGlzdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5kcm9wZG93bi1saXN0IHtcbiAgICAmX19tYWluIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zaWRlYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGggKiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkbGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoICogMC43NSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6ICRsaC8yICRsaC8yIDFweCAkbGggKiAyO1xuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICAgICAgLmRyb3Bkb3duLWxpc3RfX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWxncmV5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWlzLW9wZW4ge1xuICAgICAgICAgICAgLmRyb3Bkb3duLWxpc3RfX2l0ZW1fX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbGlzdF9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cyBjdWJpYy1iZXppZXIoMC40NiwgMC45NiwgMC40MywgMC45NCk7XG4gICAgICAgIC8vbWF4LWhlaWdodDowcHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNDYsIDAuOTYsIDAuNDMsIDAuOTQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGVmdDogJGxoLzI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG5cbiAgICAgICAgLmRyb3Bkb3duLWxpc3RfX2l0ZW0tLWlzLW9wZW4gJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cbiAgICAgICAgICAgIC5kcm9wZG93bi1saXN0X19pdGVtLS1pcy1vcGVuICYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC40NiwgMC45NiwgMC40MywgMC45NCksIGJhY2tncm91bmQtY29sb3IgMC4zcztcblxuICAgICAgICAgICAgLmRyb3Bkb3duLWxpc3RfX2l0ZW0tLWlzLW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEFjY3JlZGl0YXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmFjY3JlZGl0YXRpb25zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmctbGVmdDogJGxoO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRsaDtcblxuICAgICZfX2xvZ29zIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBncmlkLWdhcDogJGxoO1xuICAgICAgICBqdXN0aWZ5LWl0ZW1zOmNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDoxMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoIGF1dG8tZml0LCBtaW5tYXgoMTUwcHgsIDFmcikgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYub3dsLWNhcm91c2VsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXQgOiBUd28gQ29sdW1uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnR3b2NvbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmX19yb3cge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taGFzLWltYWdlLWNvbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWF4LCAkbWVkaXVtIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgLnR3b2NvbF9fY29sLS1oYXMtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgJGxoO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogJGxoO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skbGh9KiAyKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnR3b2NvbF9fY29sLS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI3MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbCB7XG4gICAgICAgIHBhZGRpbmc6ICRsaDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAwLjJzLCB0cmFuc2Zvcm0gMC41cyAwLjJzO1xuXG4gICAgICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29sMSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29sMiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS10ZXh0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRsaDtcbiAgICAgICAgICAgIC50d29jb2xfX3Jvdy0taGFzLWltYWdlLWNvbCAmIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0NjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGggKiAyICRsaCAqIDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1sYXJnZSkge1xuICAgICAgICAgICAgLnR3b2NvbF9fcm93LS1oYXMtaW1hZ2UtY29sICYge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDU0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbWVkaXVtKSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAkbGggKiAyICRsaCAkbGggJGxoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogR2FsbGVyeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5nYWxsZXJ5IHtcbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGxoKTtcbiAgICAgICAgLy9vcGFjaXR5OjA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBlYXNlLWluLW91dCwgb3BhY2l0eSAxLjVzO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAjeyRsaC8yfSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzJSAtICN7JGxoLzN9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc3ViaGVhZC1mb250LXNpemVzKTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6ICRsaCAqIDEuNTtcbiAgICAgICAgICAgIGhlaWdodDogJGxoICogMS41O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vZGlzdC9pbWcvc3ZnL2NpcmNsZS1wbHVzLS13aGl0ZS5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHN3cF9fYnV0dG9uLS1zaGFyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGxoO1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubS1zaXplciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skbGgvMn0pO1xuXG4gICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMlIC0gI3skbGgvM30pO1xuICAgIH1cbn1cblxuLm0tZ3V0dGVyIHtcbiAgICB3aWR0aDogJGxoLzI7XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6ICRsaC8yO1xuICAgIH1cbn1cblxuLnBzd3BfX2NhcHRpb24gLnBzd3BfX2NhcHRpb25fX2NlbnRlciB7XG4gICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogTGlzdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5saXN0IHtcbiAgICBvbC5saXN0X19saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxoICogMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1bC5saXN0X19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAmIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaC8yO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAuaXMtdmlzaWJsZSAmIHtcbiAgICAgICAgICAgICR0aW1lT2Zmc2V0OiAwLjI1cztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZSgxcywgZmFkZUluVXBTbWFsbCwgMSwgY3ViaWMtYmV6aWVyKDAuNCwgMC4xMiwgMC4xLCAxLjM1KSk7XG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVuaXRzIGFyZSBpbiB0aGUgdmFyaWFibGUgc28gU0NTUyBqdXN0IGRvZXMgbWF0aFxuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRpICogJHRpbWVPZmZzZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taGFzLWljb24ge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgLmxpc3Qge1xuICAgICAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAkbGgvNDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtOm5vdCguYmctLW5vbmUpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGxoLzI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbGgvMjtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiAkbGggKiAwLjc1O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXQgOiBJbnRlcm5hbCBTbGlkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaW50ZXJuYWwtc2xpZGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICZfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMTA0cHggJGxoIC0xMDRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1wcmV2LFxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB3aWR0aDogJGxoICogMjtcbiAgICAgICAgaGVpZ2h0OiAkbGggKiAyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuICAgIH1cblxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogJGxoLzI7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6ICRsaDtcbiAgICAgICAgICAgIGhlaWdodDogJGxoO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vZGlzdC9pbWcvc3ZnL2Fycm93LWxlZnQuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4LCAtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6ICRsaC8yO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAkbGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRsaDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2Rpc3QvaW1nL3N2Zy9hcnJvdy1yaWdodC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCwgLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICR4LXNtYWxsIC0gMXB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRsaCAqIDI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkc3VwZXIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3ViaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaC8yO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICBib3R0b206ICRsaCAqIDAuNzU7XG4gICAgICAgIGxlZnQ6ICRsaDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgbWF4LXdpZHRoOiAzMTVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKCMwMDAsIDAuMTUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICR4LXNtYWxsKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzdXBlcikge1xuICAgICAgICAgICAgYm90dG9tOiAkbGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjI5LCAwLjc0LCAwLjQxLCAwLjkxKSwgb3BhY2l0eSAwLjNzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRzbWFsbCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsaC8yICRsaDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNsaWNrLWN1cnJlbnQgJiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6ICRjLWRibHVlO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9kdWxlIDogVGFiYmVkIFBhbmVsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi50YWJiZWQtcGFuZWxzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9kaXN0L2ltZy90cmktYmcuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgKyAyNTBweCkgY2FsYygxMDAlICsgMzAwcHgpO1xuICAgICAgICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLXNlY3Rpb24ge1xuICAgICAgICAudGFiYmVkLXBhbmVscy1zZWN0aW9uX19oZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAqIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgJi5qcy12aXNpYmxlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYW5lbC1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLndyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fdGFicyB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiAkbGgvMjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luOiAkbGggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJHgtbGFyZ2UpIHtcbiAgICAgICAgICAgIGdhcDogJGxoO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWxpZ24tbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGxoO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaDtcbiAgICB9XG5cbiAgICAmX190YWIge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGxoLzI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbGgvMjtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBjb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHJnYmEoJGMtd2hpdGUsIDAuNSk7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRjLXdoaXRlLCAwLjUpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGxoLzI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRsaC8yO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJGxhcmdlKSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICR4LWxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsaDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRsaDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJGMtd2hpdGUsIDAuOCk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoJGMtd2hpdGUsIDAuOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYy15ZWxsb3c7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy15ZWxsb3c7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjLXllbGxvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJi0tMmNvbCB7XG4gICAgICAgICAgICAmLnRhYmJlZC1wYW5lbHNfX2l0ZW0tLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBnYXA6ICRsaDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50YWJiZWQtcGFuZWxzIHtcbiAgICAgICAgICAgICAgICAmX19wYW5lbC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19wYW5lbC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGUoMS4ycywgZmFkZUluUmlnaHRTbWFsbCwgMSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuMjgsIDEpKTtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtYXgsICRtZWRpdW0gLSAxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYW5lbC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYW5pbWF0ZSgxLjJzLCBmYWRlSW5VcFNtYWxsLCAxLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC4yOCwgMSkpO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYW5lbC1oZWFkaW5nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3BhbmVsLXRleHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICRsaCAqIDIgYXV0bztcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsZSA6IEljb24gVGV4dCBDb2x1bW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmljb24tdGV4dC1jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXRvcDogJGxoICogMjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGxoICogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicCgkbWluLCAkc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRsaCAqIDM7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbGggKiAzO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKCRtaW4sICRsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGxoICogNjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRsaCAqIDY7XG4gICAgfVxuXG4gICAgJi0taGFzLWJnIHtcbiAgICAgICAgLmljb24tdGV4dC1jb2x1bW5zIHtcbiAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgcGFkZGluZzogJGxoICogMztcbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1zbWFsbCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tM2NvbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiAkbGggJGxoLzI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5pcy12aXNpYmxlICYge1xuICAgICAgICAgICAgJHRpbWVPZmZzZXQ6IDAuMjVzO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRlKDFzLCBmYWRlSW5VcFNtYWxsLCAxLCBjdWJpYy1iZXppZXIoMC40LCAwLjEyLCAwLjEsIDEuMzUpKTtcbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdW5pdHMgYXJlIGluIHRoZSB2YXJpYWJsZSBzbyBTQ1NTIGp1c3QgZG9lcyBtYXRoXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogJGkgKiAkdGltZU9mZnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJnLS1ub25lICYsXG4gICAgICAgIC5iZy0td2hpdGUgJixcbiAgICAgICAgLmJnLS1sZ3JleS0yMDAgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGxoICogMiAkbGggJGxoICRsaDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIzNHB4O1xuXG4gICAgICAgICAgICAmLS1oYXMtdGV4dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGxoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS10ZXh0IHtcbiAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0taGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsaCAvIDI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG5cbiAgICAgICAgJi5zdWJoZWFkaW5nIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNDVzIGN1YmljLWJlemllcigwLjQsIDAuMTIsIDAuMSwgMS4zNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxoLzI7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6ICRsaDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAoJG1pbiwgJG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbGggKiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWVkaXVtIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRsaDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRsaCAqIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGFyZ2Uge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKCRtaW4sICRtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAmLS1kaXNwbGF5YXJyb3cge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDIxOTJcIjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgb3BhY2l0eSAwLjNzO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kbGgvNCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJvdGF0ZWljb24ge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmljb24tdGV4dC1jb2x1bW5zX19pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmljb24tdGV4dC1jb2x1bW5zX19pdGVtLWhlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJoZWFkaW5nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicCgkbWluLCAkeC1zbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jMmEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLSRsaCAqIDEuNTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDogJGMtZGJsdWU7XG4gICAgICAgICAgICB3aWR0aDogJGxoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsaC8yO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyohIFBob3RvU3dpcGUgbWFpbiBDU1MgYnkgRG1pdHJ5IFNlbWVub3YgfCBwaG90b3N3aXBlLmNvbSB8IE1JVCBsaWNlbnNlICovXG4vKlxuXHRTdHlsZXMgZm9yIGJhc2ljIFBob3RvU3dpcGUgZnVuY3Rpb25hbGl0eSAoc2xpZGluZyBhcmVhLCBvcGVuL2Nsb3NlIHRyYW5zaXRpb25zKVxuKi9cbi8qIHBzd3AgPSBwaG90b3N3aXBlICovXG4ucHN3cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIHotaW5kZXg6IDE1MDA7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogY3JlYXRlIHNlcGFyYXRlIGxheWVyLCB0byBhdm9pZCBwYWludCBvbiB3aW5kb3cub25zY3JvbGwgaW4gd2Via2l0L2JsaW5rICovXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdXRsaW5lOiBub25lOyB9XG4gIC5wc3dwICoge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLnBzd3AgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLyogc3R5bGUgaXMgYWRkZWQgd2hlbiBKUyBvcHRpb24gc2hvd0hpZGVPcGFjaXR5IGlzIHNldCB0byB0cnVlICovXG4ucHN3cC0tYW5pbWF0ZV9vcGFjaXR5IHtcbiAgLyogMC4wMDEsIGJlY2F1c2Ugb3BhY2l0eTowIGRvZXNuJ3QgdHJpZ2dlciBQYWludCBhY3Rpb24sIHdoaWNoIGNhdXNlcyBsYWcgYXQgc3RhcnQgb2YgdHJhbnNpdGlvbiAqL1xuICBvcGFjaXR5OiAwLjAwMTtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIC8qIGZvciBvcGVuL2Nsb3NlIHRyYW5zaXRpb24gKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7IH1cblxuLnBzd3AtLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHN3cC0tem9vbS1hbGxvd2VkIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4ucHN3cC0tem9vbWVkLWluIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiAtbW96LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4ucHN3cC0tZHJhZ2dpbmcgLnBzd3BfX2ltZyB7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi8qXG5cdEJhY2tncm91bmQgaXMgYWRkZWQgYXMgYSBzZXBhcmF0ZSBlbGVtZW50LlxuXHRBcyBhbmltYXRpbmcgb3BhY2l0eSBpcyBtdWNoIGZhc3RlciB0aGFuIGFuaW1hdGluZyByZ2JhKCkgYmFja2dyb3VuZC1jb2xvci5cbiovXG4ucHN3cF9fYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGMtYmxhY2s7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5OyB9XG5cbi5wc3dwX19zY3JvbGwtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBQcmV2ZW50IHNlbGVjdGlvbiBhbmQgdGFwIGhpZ2hsaWdodHMgKi9cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9faW1nIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cF9fYmcge1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cC0tYW5pbWF0ZWQtaW4gLnBzd3BfX2JnLFxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX196b29tLXdyYXAge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX196b29tLXdyYXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ucHN3cF9faXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDsgXG5cbn1cblxuLypcblx0c3RyZXRjaGVkIHRodW1ibmFpbCBvciBkaXYgcGxhY2Vob2xkZXIgZWxlbWVudCAoc2VlIGJlbG93KVxuXHRzdHlsZSBpcyBhZGRlZCB0byBhdm9pZCBmbGlja2VyaW5nIGluIHdlYmtpdC9ibGluayB3aGVuIGxheWVycyBvdmVybGFwXG4qL1xuLnBzd3BfX2ltZy0tcGxhY2Vob2xkZXIge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKlxuXHRkaXYgZWxlbWVudCB0aGF0IG1hdGNoZXMgc2l6ZSBvZiBsYXJnZSBpbWFnZVxuXHRsYXJnZSBpbWFnZSBsb2FkcyBvbiB0b3Agb2YgaXRcbiovXG4ucHN3cF9faW1nLS1wbGFjZWhvbGRlci0tYmxhbmsge1xuICBiYWNrZ3JvdW5kOiAjMjIyOyB9XG5cbi5wc3dwLS1pZSAucHN3cF9faW1nIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4vKlxuXHRFcnJvciBtZXNzYWdlIGFwcGVhcnMgd2hlbiBpbWFnZSBpcyBub3QgbG9hZGVkXG5cdChKUyBvcHRpb24gZXJyb3JNc2cgY29udHJvbHMgbWFya3VwKVxuKi9cbi5wc3dwX19lcnJvci1tc2cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuICBjb2xvcjogI0NDQzsgfVxuXG4ucHN3cF9fZXJyb3ItbXNnIGEge1xuICBjb2xvcjogI0NDQztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiIsIi8qISBQaG90b1N3aXBlIERlZmF1bHQgVUkgQ1NTIGJ5IERtaXRyeSBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gfCBNSVQgbGljZW5zZSAqL1xuLypcblxuXHRDb250ZW50czpcblxuXHQxLiBCdXR0b25zXG5cdDIuIFNoYXJlIG1vZGFsIGFuZCBsaW5rc1xuXHQzLiBJbmRleCBpbmRpY2F0b3IgKFwiMSBvZiBYXCIgY291bnRlcilcblx0NC4gQ2FwdGlvblxuXHQ1LiBMb2FkaW5nIGluZGljYXRvclxuXHQ2LiBBZGRpdGlvbmFsIHN0eWxlcyAocm9vdCBlbGVtZW50LCB0b3AgYmFyLCBpZGxlIHN0YXRlLCBoaWRkZW4gc3RhdGUsIGV0Yy4pXG5cbiovXG4vKlxuXHRcblx0MS4gQnV0dG9uc1xuXG4gKi9cbi8qIDxidXR0b24+IGNzcyByZXNldCAqL1xuLnBzd3BfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwICRsaC8yICsgNSAwIDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgICYtLWNsb3NlLFxuICAgICYtLWFycm93LS1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG4ucHN3cF9fYnV0dG9uOmZvY3VzLFxuLnBzd3BfX2J1dHRvbjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbn1cbi5wc3dwX19idXR0b246YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cbi5wc3dwX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4vKiBwc3dwX191aS0tb3Zlci1jbG9zZSBjbGFzcyBpdCBhZGRlZCB3aGVuIG1vdXNlIGlzIG92ZXIgZWxlbWVudCB0aGF0IHNob3VsZCBjbG9zZSBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW92ZXItY2xvc2UgLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5wc3dwX19idXR0b24sXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi9waG90b3N3aXBlL2RlZmF1bHQtc2tpbi5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjY0cHggODhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMSksICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMDkzNzUpLCAobWluLXJlc29sdXRpb246IDEwNWRwaSksIChtaW4tcmVzb2x1dGlvbjogMS4xZHBweCkge1xuICAgIC8qIFNlcnZlIFNWRyBzcHJpdGUgaWYgYnJvd3NlciBzdXBwb3J0cyBTVkcgYW5kIHJlc29sdXRpb24gaXMgbW9yZSB0aGFuIDEwNWRwaSAqL1xuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbixcbiAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbiAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi9waG90b3N3aXBlL2RlZmF1bHQtc2tpbi5zdmcpO1xuICAgIH1cbiAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG59XG5cbi5wc3dwX19idXR0b24tLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtN3B4IC01MXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5wc3dwX19idXR0b24tLXNoYXJlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtNTFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wc3dwX19idXR0b24tLWZzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggLTdweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4ucHN3cC0tc3VwcG9ydHMtZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHN3cC0tZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01OXB4IC03cHg7XG59XG5cbi5wc3dwX19idXR0b24tLXpvb20ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk0cHggLTdweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4ucHN3cC0tem9vbS1hbGxvd2VkIC5wc3dwX19idXR0b24tLXpvb20ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHN3cC0tem9vbWVkLWluIC5wc3dwX19idXR0b24tLXpvb20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzhweCAtN3B4O1xufVxuXG4vKiBubyBhcnJvd3Mgb24gdG91Y2ggc2NyZWVucyAqL1xuLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuXHRBcnJvdyBidXR0b25zIGhpdCBhcmVhXG5cdChpY29uIGlzIGFkZGVkIHRvIDpiZWZvcmUgcHNldWRvLWVsZW1lbnQpXG4qL1xuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogMzVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDEpO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlIHtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDFweCAtNDRweDtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk0cHggLTQ0cHg7XG59XG5cbi8qXG5cblx0Mi4gU2hhcmUgbW9kYWwvcG9wdXAgYW5kIGxpbmtzXG5cbiAqL1xuLnBzd3BfX2NvdW50ZXIsXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5wc3dwX19zaGFyZS1tb2RhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxNjAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5wc3dwX19zaGFyZS1tb2RhbC0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCB7XG4gICAgei1pbmRleDogMTYyMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0b3A6IDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHJpZ2h0OiA2MHB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cbi5wc3dwX19zaGFyZS10b29sdGlwIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7XG59XG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmZpcnN0LWNoaWxkIHtcbiAgICAvKiByb3VuZCBjb3JuZXJzIG9uIHRoZSBmaXJzdC9sYXN0IGxpc3QgaXRlbSAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwO1xufVxuLnBzd3BfX3NoYXJlLXRvb2x0aXAgYTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMnB4IDJweDtcbn1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1mYWRlLWluIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuLnBzd3BfX3NoYXJlLW1vZGFsLS1mYWRlLWluIC5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogaW5jcmVhc2Ugc2l6ZSBvZiBzaGFyZSBsaW5rcyBvbiB0b3VjaCBkZXZpY2VzICovXG4ucHN3cC0tdG91Y2ggLnBzd3BfX3NoYXJlLXRvb2x0aXAgYSB7XG4gICAgcGFkZGluZzogMTZweCAxMnB4O1xufVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMnB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG4gICAgLXdlYmtpdC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtbW96LXBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzNlNWM5YTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbmEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNlNWM5YTtcbn1cblxuYS5wc3dwX19zaGFyZS0tdHdpdHRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzU1YWNlZTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuYS5wc3dwX19zaGFyZS0tcGludGVyZXN0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjY2UyNzJkO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1kb3dubG9hZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2RkZDtcbn1cblxuLypcblxuXHQzLiBJbmRleCBpbmRpY2F0b3IgKFwiMSBvZiBYXCIgY291bnRlcilcblxuICovXG4ucHN3cF9fY291bnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogNDRweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDI1cHggMTBweCAxMHB4IDI2cHg7XG4gICAgZm9udC1mYW1pbHk6ICRmZjtcbn1cblxuLypcblx0XG5cdDQuIENhcHRpb25cblxuICovXG4ucHN3cF9fY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG4ucHN3cF9fY2FwdGlvbiBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjYmJiO1xufVxuXG4ucHN3cF9fY2FwdGlvbl9fY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgY29sb3I6ICNjY2M7XG59XG5cbi5wc3dwX19jYXB0aW9uLS1lbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogRmFrZSBjYXB0aW9uIGVsZW1lbnQsIHVzZWQgdG8gY2FsY3VsYXRlIGhlaWdodCBvZiBuZXh0L3ByZXYgaW1hZ2UgKi9cbi5wc3dwX19jYXB0aW9uLS1mYWtlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG5cblx0NS4gTG9hZGluZyBpbmRpY2F0b3IgKHByZWxvYWRlcilcblxuXHRZb3UgY2FuIHBsYXkgd2l0aCBpdCBoZXJlIC0gaHR0cDovL2NvZGVwZW4uaW8vZGltc2VtZW5vdi9wZW4veXlCV29SXG5cbiAqL1xuLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgIGRpcmVjdGlvbjogbHRyO1xufVxuXG4ucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDEycHg7XG59XG5cbi5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cbi5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICAgIC8qIFdlIHVzZSAuZ2lmIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBDU1MgYW5pbWF0aW9uICovXG4gICAgYmFja2dyb3VuZDogdXJsKC4vcGhvdG9zd2lwZS9wcmVsb2FkZXIuZ2lmKSAwIDAgbm8tcmVwZWF0O1xufVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUgLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IGNsb2Nrd2lzZSA1MDBtcyBsaW5lYXIgaW5maW5pdGU7XG59XG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUgLnBzd3BfX3ByZWxvYWRlcl9fZG9udXQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogZG9udXQtcm90YXRlIDEwMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKSBpbmZpbml0ZTtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIHRvcDogMTVweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2N1dCB7XG4gICAgLyogXG5cdFx0XHRUaGUgaWRlYSBvZiBhbmltYXRpbmcgaW5uZXIgY2lyY2xlIGlzIGJhc2VkIG9uIFBvbHltZXIgKFwibWF0ZXJpYWxcIikgbG9hZGluZyBpbmRpY2F0b3IgXG5cdFx0XHQgYnkgS2VhbnUgTGVlIGh0dHBzOi8vYmxvZy5rZWFudWxlZS5jb20vMjAxNC8xMC8yMC90aGUtdGFsZS1vZi10aHJlZS1zcGlubmVycy5odG1sXG5cdFx0Ki9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDdweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9fZG9udXQge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucHN3cF9fcHJlbG9hZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGNsb2Nrd2lzZSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvY2t3aXNlIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGRvbnV0LXJvdGF0ZSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZG9udXQtcm90YXRlIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbn1cblxuLypcblx0XG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzXG5cbiAqL1xuLyogcm9vdCBlbGVtZW50IG9mIFVJICovXG4ucHN3cF9fdWkge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDE1NTA7XG59XG5cbi8qIHRvcCBibGFjayBiYXIgd2l0aCBidXR0b25zIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvciAqL1xuLnBzd3BfX3RvcC1iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICAvL2hlaWdodDogNDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAkbGg7XG59XG5cbi5wc3dwX19jYXB0aW9uLFxuLnBzd3BfX3RvcC1iYXIsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xufVxuXG4vKiBwc3dwLS1oYXNfbW91c2UgY2xhc3MgaXMgYWRkZWQgb25seSB3aGVuIHR3byBzdWJzZXF1ZW50IG1vdXNlbW92ZSBldmVudHMgb2NjdXIgKi9cbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbn1cblxuLyogcHN3cF9fdWktLWZpdCBjbGFzcyBpcyBhZGRlZCB3aGVuIG1haW4gaW1hZ2UgXCJmaXRzXCIgYmV0d2VlbiB0b3AgYmFyIGFuZCBib3R0b20gYmFyIChjYXB0aW9uKSAqL1xuLnBzd3BfX3VpLS1maXQgLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbn1cblxuLyogcHN3cF9fdWktLWlkbGUgY2xhc3MgaXMgYWRkZWQgd2hlbiBtb3VzZSBpc24ndCBtb3ZpbmcgZm9yIHNldmVyYWwgc2Vjb25kcyAoSlMgb3B0aW9uIHRpbWVUb0lkbGUpICovXG4ucHN3cF9fdWktLWlkbGUgLnBzd3BfX3RvcC1iYXIge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5wc3dwX191aS0taWRsZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0taWRsZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi8qXG5cdHBzd3BfX3VpLS1oaWRkZW4gY2xhc3MgaXMgYWRkZWQgd2hlbiBjb250cm9scyBhcmUgaGlkZGVuXG5cdGUuZy4gd2hlbiB1c2VyIHRhcHMgdG8gdG9nZ2xlIHZpc2liaWxpdHkgb2YgY29udHJvbHNcbiovXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fdG9wLWJhcixcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19jYXB0aW9uLFxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgIC8qIEZvcmNlIHBhaW50ICYgY3JlYXRlIGNvbXBvc2l0aW9uIGxheWVyIGZvciBjb250cm9scy4gKi9cbiAgICBvcGFjaXR5OiAwLjAwMTtcbn1cblxuLyogcHN3cF9fdWktLW9uZS1zbGlkZSBjbGFzcyBpcyBhZGRlZCB3aGVuIHRoZXJlIGlzIGp1c3Qgb25lIGl0ZW0gaW4gZ2FsbGVyeSAqL1xuLnBzd3BfX3VpLS1vbmUtc2xpZGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQsXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fY291bnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBzd3BfX2VsZW1lbnQtLWRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wc3dwLS1taW5pbWFsLS1kYXJrIC5wc3dwX190b3AtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuIl19 */
