File: D:/HostingSpaces/SBogers10/conmeq.komma.pro/wwwroot/css/style.css
@charset "UTF-8";
/* 1 - SETTINGS
* Global variables, site-wide settings,
* config switches etc.
*
* The order in which these Sass files
* are loaded is critical!
* So please be careful when editing
=========================================================== */
/* ========================================
Config settings
======================================== */
/* =========================================================
Organize color variables in a Sass Map.
This way, the colors can be iterated, are more organized,
and are more intuitive to reference.
========================================================= */
/* ==========================================================
Defines the typographic baseline.
We define every size in pixels, the underlying system
converts the respective units to the responsive REM value.
========================================================== */
/**
* Our base font-size and line-height
*/
/**
* Here we assign short names for the font families
*/
/* ============================================
Define breakpoints for given formats
============================================ */
/* 2 - TOOLS
* Site wide mixins and functions
=========================================================== */
/* ==========================================================================
Functions used in grid calculation
========================================================================== */
/**
* Return percentage based on amount of columns
* Use parent column size to adjust the origin
*/
/**
* Default function for columns
* Return as percentage
*/
/**
* Return as viewport width
*/
/* ==========================================================================
* Font related functions
* ========================================================================== */
/**
* Mixin for setting font-size in REM through a Sass Map with all available sizes
USAGE:
.myClass {
@include font-size(xl);
}
*/
/* Media query mixin for writing Mobile First
* ========================================== */
/* =============================================
Toolbox functions
================================================ */
/**
* Maths helpers.
* Halve and double numbers, returning rounded integers.
USAGE:
.foo {
padding: halve(30px);
}
*/
/**
* Remove the unit of a length
* @param {Number} $number - Number to remove unit from
* @return {Number} - Unitless number
*/
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/**
* A simple function for accessing the colors from our mapping
* To access colors in our palette, we use a very simple custom Sass function
USAGE:
a {
color: palette(primary);
&:hover {
color: palette(primary, 2);
}
}
*/
/*
* Set vertical spacing only for mobile viewport
USAGE:
.example {
@include vspacing-s(
'margin-top' 1
);
}
*/
/*
* Set vertical spacing for viewport larger than mobile
* In flexible units (vw) and on max viewport in a fixed amount (px)
USAGE:
.example {
@include vspacing-m-up(
'padding-top' 0.33,
'margin-bottom' 0.5
);
}
*/
/*
* From values given return the correct v-spacing for each breakpoint
*/
/**
* A simple function for setting a consistent box-shadow
USAGE:
.card {
@include box-shadow;
}
.card--alt {
@include box-shadow(low);
}
*/
/**
* A simple function for setting a consistent border-radius
USAGE:
.card {
@include border-radius;
}
.card--alt {
@include border-radius(l);
}
*/
/**
* Lobotomized Owl Selector mixin:
* - Set spacing for consecutive items with margin-top on all but the first item
USAGE:
.box {
@include owl-children;
}
.card__item {
@include owl;
}
*/
/*
* Lobotomized owl selector.
* - Gives the children of the element spacing
* - https://alistapart.com/article/axiomatic-css-and-lobotomized-owls
*/
/**
* Show hyphens for every browser supporting it
* and will break lines in every other browser
*/
/*
* Restrict an element to a max-width for creating gutters on the side
*/
/** =================================================================================================
* The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
* This way we have a overview of all the z-index values that are used across the project.
==================================================================================================== */
/**
USAGE:
@include z(z-modal);
*/
/* 3 - ELEMENTS
* Plain old simple HTML elements without a class (type selectors)
=========================================================== */
/* ==========================================================================
* Basic elements (no class selectors allowed)
* ========================================================================== */
/**
* Set up the html
*
* 1. Makes sure that some fonts are better rendered
* 2. Set font to lining figures
*/
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-feature-settings: "lnum";
box-sizing: border-box;
}
body {
font-size: 1rem;
line-height: 1.5;
position: relative;
line-height: 1.5;
font-family: "Roboto", sans-serif;
margin: 0;
color: #656565;
background: #ffffff;
overflow-x: hidden;
}
/**
* [1] Make sure elements like input and textarea inherit some base properties
* https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
*
* [2] Setting box-sizing the best way per:
* https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
*/
* {
font-family: inherit;
line-height: inherit;
color: inherit;
}
*, *:before, *:after {
box-sizing: inherit;
}
/**
* [1] Turn off text-shadow when selecting text for better readability
*/
::-moz-selection {
background: #25D2F7;
color: #fff7f2;
text-shadow: none;
/* [1] */
}
::selection {
background: #25D2F7;
color: #fff7f2;
text-shadow: none;
/* [1] */
}
/* Remove default margin around figure
*/
figure {
margin: 0;
}
/**
* [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
* elements when they are dropped into a page as-is. Safer alternative to
* using 'display: block;'.
* [2] Remove border / especially on older browsers
*/
img, svg {
vertical-align: middle;
/*[1]*/
border: none;
/*[2]*/
max-width: 100%;
}
/**
* Needed for iOS to prevent input zooming
* https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
*/
input,
select,
textarea {
font-size: 16px;
}
a:not([class]) {
position: relative;
color: #4079b8;
text-decoration: none;
-webkit-text-decoration-skip: ink;
text-decoration-skip-ink: auto;
}
a:not([class])::after {
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 1px;
background: #4079b8;
content: "";
opacity: 0;
-webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
transition: height 0.3s, opacity 0.3s, transform 0.3s;
transition: height 0.3s, opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
-webkit-transform: translateY(-5px);
transform: translateY(-5px);
}
a:not([class]):hover::after {
height: 2px;
opacity: 1;
-webkit-transform: translateY(0px);
transform: translateY(0px);
}
h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
margin-top: 0;
margin-bottom: 0;
}
h1 {
font-size: 2.5rem;
line-height: 1;
}
h2 {
font-size: 2rem;
line-height: 1.25;
font-weight: 400;
}
h3 {
font-size: 1.5rem;
line-height: 1.3333333333;
font-weight: 500;
}
h4 {
font-size: 1.25rem;
line-height: 1.6;
font-weight: 500;
}
h5, h6 {
font-size: 1rem;
line-height: 1.5;
font-weight: 600;
}
/** =====================================================================================
* Lists
===================================================================================== */
/**
* Default indentation value for lists
*/
ul,
ol {
padding: 0;
margin: 0;
margin-left: 1.125em;
}
dd {
margin-left: 0;
}
/**
* Remove extra vertical spacing when nesting lists.
*/
li > ul,
li > ol {
margin-bottom: 0;
}
/* 4 - Layout elements
* Design patterns (e.g. grids or media object)
=========================================================== */
/*==========================================================================
* Contain
* ========================================================================== */
.l-contain {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.l-contain {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.l-contain {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
/*===============================================================================
* Split layout in 2 equal columns
*
* Until viewport is wide enough the columns are stacked vertically
* ============================================================================== */
.l-split {
position: relative;
background-color: #ffffff;
height: 100%;
}
@media screen and (min-width: 840px) {
.l-split {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
/**
* Special contain version for split.
* Doesn't restrain content on medium viewport
*/
.l-split--contain {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.l-split--contain {
width: 100%;
}
}
@media screen and (min-width: 1152px) {
.l-split--contain {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 1152px) {
.l-split__column {
width: 50%;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split__column:first-child {
width: 62.5%;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.l-split__column:first-child {
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
@media screen and (max-width: 839px) {
.l-split__column:last-child {
margin-top: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split__column:last-child {
width: 37.5%;
}
}
.l-split--is-reversed .l-split__column:first-child {
-webkit-box-ordinal-group: 3;
order: 2;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split--is-reversed .l-split__column:first-child {
padding-left: 12.5%;
padding-right: 0;
}
}
@media screen and (min-width: 1152px) {
.l-split--is-reversed .l-split__column:first-child {
padding-left: 8.3333333333%;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split--breakout-on-m .l-split__column:first-child {
width: 60%;
padding-left: 10%;
padding-right: 10%;
}
.l-split--breakout-on-m .l-split__column:last-child {
width: 40%;
}
}
/**
* When there is only 1 column, align it to the middle and contain the width
* Only one column is used e.g. in the tabslider when there is no image set
*/
@media screen and (min-width: 840px) {
.l-split__column:only-child {
margin: 0 auto;
width: 75%;
padding-left: 0;
padding-right: 0;
}
}
@media screen and (min-width: 1152px) {
.l-split__column:only-child {
width: 50%;
padding-left: 0 !important;
}
}
.l-split__column--vpad {
margin-top: 40px;
margin-bottom: 40px;
}
@media screen and (min-width: 840px) {
.l-split__column--vpad {
margin-top: 80px;
margin-bottom: 80px;
}
}
@media screen and (min-width: 1152px) {
.l-split__column--leftpad {
padding-left: 8.3333333333%;
}
}
/*==========================================================================
* Restrict
*
* When a block shouldn't take up the whole width of the container
* we can restrict the maximum width
* ========================================================================== */
@media screen and (min-width: 840px) {
.l-restrict-narrow {
margin-left: auto;
margin-right: auto;
width: 75%;
max-width: 38em;
}
}
@media screen and (min-width: 1152px) {
.l-restrict-narrow {
width: 50%;
}
}
@media screen and (min-width: 840px) {
.l-restrict-wide {
margin-left: auto;
margin-right: auto;
width: 87.5%;
}
}
@media screen and (min-width: 1152px) {
.l-restrict-wide {
width: 66.6666666667%;
}
}
/* 5 - COMPONENTS
* Discrete complete chunks of UI.
* Designed components
=========================================================== */
/** ==========================================================================
* Components
* =========================================================================*/
.c-button {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
border-radius: 8px;
font-size: 0.875rem;
line-height: 1.1428571429;
color: #fff7f2;
background-color: #25D2F7;
text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
border: none;
padding: 16px 0;
text-transform: uppercase;
position: relative;
overflow: hidden;
cursor: pointer;
text-decoration: none;
}
.c-button:focus {
outline: none;
box-shadow: 0 0 0 1px #ffffff, 0 0 5px 2px #25D2F7;
}
.c-button:active:not(:disabled) {
outline: none;
box-shadow: none;
}
.c-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-button::after {
content: "";
position: absolute;
z-index: 1;
top: calc(50% - 2px);
left: calc(50% - 2px);
width: 4px;
height: 4px;
opacity: 0;
border-radius: 50%;
background: #08b6db;
pointer-events: none;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 0.5s;
transition-duration: 0.5s;
}
.c-button:hover:not(:disabled)::after {
opacity: 1;
-webkit-transform: scale(100);
transform: scale(100);
}
.c-button__text {
position: relative;
z-index: 2;
padding: 0 24px;
text-align: center;
}
.c-button--icon .c-button__text {
padding-right: 16px;
}
.c-button__icon {
display: none;
position: relative;
z-index: 2;
top: -1px;
margin-right: 15px;
-webkit-transition: -webkit-transform 0.3s;
transition: -webkit-transform 0.3s;
transition: transform 0.3s;
transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-button:hover:not(:disabled) .c-button__icon {
-webkit-transform: translateX(3px);
transform: translateX(3px);
}
.c-button__icon:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-button--icon .c-button__icon {
display: block;
width: 16px;
}
/* ==========================================================================
* Default button
* ========================================================================== */
.c-ghostbutton {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
border-radius: 8px;
font-size: 0.875rem;
line-height: 1.1428571429;
color: #ffffff;
background: transparent;
text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
border: 1px solid currentColor;
padding: 16px 0;
text-transform: uppercase;
position: relative;
cursor: pointer;
text-decoration: none;
}
.c-ghostbutton:focus {
outline: none;
box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.5);
}
.c-ghostbutton:active:not(:disabled) {
outline: none;
box-shadow: none !important;
}
.c-ghostbutton:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-ghostbutton::after {
border-radius: 8px;
border: 1px solid transparent;
background: rgba(0, 0, 0, 0.07);
background-clip: content-box;
content: "";
position: absolute;
top: -1px;
bottom: -1px;
right: -1px;
left: -1px;
-webkit-transform: scaleX(0);
transform: scaleX(0);
opacity: 0;
pointer-events: none;
-webkit-transition-duration: 0.5s;
transition-duration: 0.5s;
}
.c-ghostbutton:hover:not(:disabled)::after {
-webkit-transform: scaleX(1);
transform: scaleX(1);
opacity: 1;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 0.35s;
transition-duration: 0.35s;
-webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-ghostbutton__text {
position: relative;
z-index: 2;
padding: 0 24px;
text-align: center;
}
.c-button--icon .c-ghostbutton__text {
padding-right: 16px;
}
.c-ghostbutton__icon {
display: none;
position: relative;
z-index: 2;
top: -1px;
margin-right: 15px;
-webkit-transition: -webkit-transform 0.3s;
transition: -webkit-transform 0.3s;
transition: transform 0.3s;
transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-ghostbutton:hover:not(:disabled) .c-ghostbutton__icon {
-webkit-transform: translateX(3px);
transform: translateX(3px);
}
.c-ghostbutton--icon .c-ghostbutton__icon {
display: block;
width: 16px;
}
.c-ghostbutton__icon:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-card {
display: block;
text-decoration: none;
position: relative;
}
/*
* Card that does some animations on hover
*/
.c-card--has-action {
overflow: hidden;
z-index: 0;
}
.c-card--has-action::before, .c-card--has-action::after {
content: "";
position: absolute;
z-index: 1;
top: 0;
right: 0;
bottom: 0;
left: 0;
opacity: 0;
pointer-events: none;
}
.c-card--has-action::before {
background-color: rgba(0, 0, 0, 0.92);
background: radial-gradient(rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.92) 100%);
-webkit-transform: translateX(-135%) rotate(11deg) scale(1.3);
transform: translateX(-135%) rotate(11deg) scale(1.3);
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 300ms;
transition-duration: 300ms;
-webkit-transition-delay: 100ms;
transition-delay: 100ms;
-webkit-transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action::after {
z-index: 2;
width: 25px;
margin: auto;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2325D2F7' d='M13.4 6.783H.762A.772.772 0 0 1 0 6c0-.432.341-.783.762-.783H13.4L9.623 1.336a.798.798 0 0 1 0-1.107.747.747 0 0 1 1.077 0l5.077 5.218a.798.798 0 0 1 0 1.106L10.7 11.771a.747.747 0 0 1-1.077 0 .798.798 0 0 1 0-1.107L13.4 6.783z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
-webkit-transform: scale(1.75);
transform: scale(1.75);
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
}
.c-card--has-action:hover:before {
opacity: 0.92;
-webkit-transform: rotate(11deg) scale(1.3);
transform: rotate(11deg) scale(1.3);
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
-webkit-transition-delay: 50ms;
transition-delay: 50ms;
}
.c-card--has-action:hover:after {
opacity: 1;
-webkit-transform: none;
transform: none;
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
-webkit-transition-delay: 200ms;
transition-delay: 200ms;
}
.c-card--has-action:focus {
outline-offset: 2px;
outline-color: #4079b8;
}
.c-card__picture {
width: 100%;
display: block;
}
.c-card__img {
-o-object-fit: cover;
object-fit: cover;
width: 100%;
}
@media screen and (max-width: 839px) {
.c-card__img {
max-height: 53.5vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-card__img {
max-height: 25.6vw;
}
}
.c-card__label {
font-size: 0.875rem;
line-height: 1.1428571429;
position: relative;
z-index: 3;
overflow: hidden;
padding: 14px 10px 15px;
text-align: center;
font-weight: 500;
text-transform: uppercase;
color: #ffffff;
background-color: #004466;
-webkit-transition-property: background;
transition-property: background;
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
}
.c-card--has-action:hover .c-card__label {
color: #fff7f2;
}
.c-card__label::before {
content: "";
position: absolute;
z-index: -1;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #25D2F7;
pointer-events: none;
-webkit-transform: translateY(200%) rotate(5deg) scale(2);
transform: translateY(200%) rotate(5deg) scale(2);
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
-webkit-transition-delay: 200ms;
transition-delay: 200ms;
-webkit-transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action:hover .c-card__label::before {
opacity: 1;
-webkit-transform: rotate(5deg) scale(2);
transform: rotate(5deg) scale(2);
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
-webkit-transition-delay: 0ms;
transition-delay: 0ms;
}
.c-card__info {
padding: 16px 32px;
background-color: #F0F7FA;
}
.c-card__heading {
font-size: 1rem;
line-height: 1.5;
color: #656565;
}
.c-card__subheading {
color: #999999;
}
.c-card__textline {
color: #999999;
}
*:not(.c-card__textline) + .c-card__textline {
margin-top: 16px;
}
.c-close {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
background: none;
border: none;
outline: none;
cursor: pointer;
-webkit-transition: -webkit-transform 180ms ease-out;
transition: -webkit-transform 180ms ease-out;
transition: transform 180ms ease-out;
transition: transform 180ms ease-out, -webkit-transform 180ms ease-out;
}
.c-close:focus {
box-shadow: 0 0 3px 2px #ffffff;
}
.c-close:after, .c-close:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: #ffffff;
border-radius: 3px;
}
.c-close:before {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.c-close:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.c-close:hover {
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
.c-connect {
display: -webkit-box;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
flex-direction: column;
}
@media screen and (min-width: 840px) {
.c-connect {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.c-connect__phone {
font-size: 1.5rem;
line-height: 1.3333333333;
font-weight: 600;
text-decoration: none;
color: #1A1A1A;
-webkit-transition: opacity 300ms;
transition: opacity 300ms;
}
.c-connect__phone:hover {
opacity: 0.7;
text-decoration: underline;
}
.c-connect__phone:focus {
outline: none;
color: #4079b8;
text-shadow: 1px 1px 0 #fff, 2px 2px 0 rgba(26, 26, 26, 0.35);
text-decoration: underline;
}
.c-connect__or {
margin: 0 16px;
color: #656565;
}
@media screen and (max-width: 839px) {
.c-connect__or {
margin: 8px 0 16px;
}
}
.c-data {
margin: 8px 0;
}
.c-data__line {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
.c-data__label {
min-width: 64px;
font-weight: 600;
color: #1A1A1A;
}
.c-data__value {
-webkit-box-flex: 9999;
flex-grow: 9999;
color: #656565;
text-decoration: none;
}
.c-data__value[href]:hover {
text-decoration: underline;
}
.c-data__value[href]:focus {
outline-color: #4079b8;
}
.c-form-group__label {
font-size: 0.9375rem;
line-height: 1.6;
display: block;
padding: 4px 0;
color: #999999;
}
.c-form-group__error {
display: none;
}
.has-error .c-form-group__error:not(:empty) {
font-size: 0.875rem;
line-height: 1.1428571429;
display: block;
padding: 8px;
color: #4079b8;
background-color: rgba(64, 121, 184, 0.1);
border: 1px solid #4079b8;
border-top: none;
border-radius: 0 0 4px 4px;
}
.c-form-feedback {
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
margin: 0 0 8px;
padding: 24px 32px;
color: #1A1A1A;
background-color: rgba(255, 211, 58, 0.2);
border: 1px solid #ffd33a;
}
.c-form-feedback:not(:empty) {
display: block;
}
.c-form-feedback:before {
content: attr(data-feedback);
display: inline-block;
margin-left: -16px;
margin-bottom: 8px;
font-weight: 500;
}
.c-form-feedback li::first-letter {
text-transform: uppercase;
}
.c-hamburger {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
color: #000000;
background: none;
border: none;
outline: none;
cursor: pointer;
}
.c-hamburger:focus {
box-shadow: 0 0 3px 2px #4079b8;
}
.c-hamburger.is-light {
color: #ffffff;
}
.c-hamburger > span, .c-hamburger:after, .c-hamburger:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: currentColor;
border-radius: 3px;
-webkit-transform-origin: right;
transform-origin: right;
-webkit-transition-property: -webkit-transform;
transition-property: -webkit-transform;
transition-property: transform;
transition-property: transform, -webkit-transform;
-webkit-transition-duration: 150ms;
transition-duration: 150ms;
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
-webkit-transition-delay: 100ms;
transition-delay: 100ms;
}
.c-hamburger:before {
top: 12px;
-webkit-transform: scaleX(0.8);
transform: scaleX(0.8);
}
.c-hamburger:after {
top: 28px;
-webkit-transform: scaleX(0.5);
transform: scaleX(0.5);
}
.c-hamburger:hover > span {
-webkit-transform: scaleX(0.8);
transform: scaleX(0.8);
}
.c-hamburger:hover:after, .c-hamburger:hover:before {
-webkit-transform: scaleX(1);
transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
-webkit-transform: scaleX(1) !important;
transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger:before {
-webkit-transform: translateY(3px) scaleX(1) !important;
transform: translateY(3px) scaleX(1) !important;
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
.is-overlay-menu-active .c-hamburger:after {
-webkit-transform: translateY(-3px) scaleX(1) !important;
transform: translateY(-3px) scaleX(1) !important;
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
.c-heading {
font-size: 2rem;
line-height: 1.25;
margin: 40px 0;
color: #1A1A1A;
}
@media screen and (min-width: 1152px) {
.c-heading--indent {
padding-left: 8.3333333333%;
}
}
@media screen and (min-width: 840px) {
.c-hero {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
}
@media screen and (min-width: 840px) and (min-width: 840px) {
.c-hero {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 840px) and (min-width: 1152px) {
.c-hero {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.c-hero__main {
position: relative;
background-color: #ffffff;
}
.c-hero__slider {
overflow: hidden;
position: relative;
padding-bottom: 55.556%;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-hero__slider {
padding-bottom: 50%;
}
}
.c-hero__picture {
position: absolute;
top: 0;
left: 0;
opacity: 0;
-webkit-transition-property: opacity, -webkit-filter;
transition-property: opacity, -webkit-filter;
transition-property: opacity, filter;
transition-property: opacity, filter, -webkit-filter;
-webkit-transition-duration: 500ms;
transition-duration: 500ms;
-webkit-transition-timing-function: linear;
transition-timing-function: linear;
-webkit-filter: blur(5px);
filter: blur(5px);
}
.c-hero__picture.is-active {
opacity: 1;
-webkit-transform: translateY(0) scale(1);
transform: translateY(0) scale(1);
-webkit-filter: none;
filter: none;
}
.c-hero__image {
width: 100%;
}
.c-hero__caption {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
font-size: 6vw;
position: relative;
padding: 24px;
line-height: 1.16;
text-align: center;
color: #ffffff;
background-color: #217AA6;
pointer-events: none;
}
@media screen and (min-width: 840px) {
.c-hero__caption {
position: absolute;
top: 50%;
max-width: 66.6666666667%;
padding: 32px;
text-align: left;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.c-hero__caption {
max-width: 60%;
padding: 2.6vw;
font-size: 2rem;
line-height: 1.25;
}
}
@media screen and (min-width: 1152px) {
.c-hero__caption {
font-size: 2.5rem;
line-height: 1;
padding-left: 4.1666666667%;
}
}
.c-hero__controls {
position: absolute;
bottom: 0;
right: 0;
width: 100%;
padding: 8px;
}
.c-hero__controls::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
height: 48px;
width: 100%;
background: -webkit-gradient(linear, left bottom, left top, from(black), to(transparent));
background: linear-gradient(to top, black, transparent);
opacity: 0.3;
}
.c-hero__scroll {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
position: absolute;
bottom: 0;
left: 50%;
width: 40px;
height: 40px;
padding: 10px;
color: #ffffff;
background-color: #25D2F7;
border-radius: 100%;
-webkit-transform: translate(-50%, 50%) rotate(0.25turn);
transform: translate(-50%, 50%) rotate(0.25turn);
-webkit-transition: background-color 200ms;
transition: background-color 200ms;
}
@media screen and (max-width: 839px) {
.c-hero__scroll {
display: none;
}
}
.c-hero__scroll > svg {
-webkit-transition: -webkit-transform 200ms;
transition: -webkit-transform 200ms;
transition: transform 200ms;
transition: transform 200ms, -webkit-transform 200ms;
}
.c-hero__scroll:hover {
cursor: pointer;
background: #21bdde;
}
.c-hero__scroll:hover > svg {
-webkit-transform: translateX(3px);
transform: translateX(3px);
}
.c-hero__scroll:focus {
outline: none;
background: #21bdde;
box-shadow: 0 0 0 3px #ffffff;
}
/*
* Alternative version of the hero element
* Comment out when needed
*/
.c-input {
font-size: 0.9375rem;
line-height: 1.6;
width: 100%;
padding: 7px 16px;
color: #1A1A1A;
background-color: #ffffff;
border: 1px solid #C8C8C8;
outline: none;
}
.has-error .c-input {
box-shadow: 0 0 7px -3px #4079b8;
border-color: #4079b8;
}
.c-input:focus {
box-shadow: 0 0 7px -3px #1d1d1d;
border-color: #1d1d1d;
}
textarea.c-input {
display: block;
padding: 16px;
min-height: 158px;
line-height: 24px;
resize: vertical;
}
.c-language {
position: relative;
color: #C8C8C8;
}
.c-language.is-light {
color: #ffffff;
}
.c-language__button {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
position: relative;
width: 100%;
padding: 8px;
text-align: left;
background: transparent;
color: inherit;
border: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
-webkit-transition: background-color 0.15s, box-shadow 0.15s;
transition: background-color 0.15s, box-shadow 0.15s;
}
.c-language__button:focus {
outline: none;
}
.c-language:hover .c-language__button {
color: #25D2F7;
}
.c-language__icon {
-webkit-box-flex: 0;
flex: none;
pointer-events: none;
}
.c-language__label {
margin-left: 4px;
font-weight: bold;
}
.c-language__dropdown {
position: absolute;
right: 0;
top: 100%;
min-width: 100%;
margin: 0;
opacity: 0;
list-style: none;
border-radius: 4px;
box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.15);
pointer-events: none;
-webkit-transform: translate3d(0, -5px, 0);
transform: translate3d(0, -5px, 0);
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
transition: opacity 0.3s, -webkit-transform 0.3s;
transition: opacity 0.3s, transform 0.3s;
transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.c-language:hover .c-language__dropdown {
opacity: 1;
pointer-events: all;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.c-language__item {
background-color: #ffffff;
overflow: hidden;
}
.c-language__item:nth-child(even) {
background-color: #f2f2f2;
}
.c-language__item:first-child {
border-radius: 4px 4px 0 0;
}
.c-language__item:last-child {
border-radius: 0 0 4px 4px;
}
.c-language__item:first-child:last-child {
border-radius: 4px;
}
.c-language__link {
display: block;
padding: 4px 8px;
text-align: center;
font-weight: bold;
text-decoration: none;
color: #656565;
-webkit-transition: background-color 0.3s;
transition: background-color 0.3s;
}
.c-language__link:hover {
color: #fff7f2;
background-color: #25D2F7;
}
.c-nav {
height: 100%;
padding: 0;
}
.c-nav__list {
display: -webkit-box;
display: flex;
-webkit-box-pack: end;
justify-content: flex-end;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-left: 3vw;
padding: 0;
list-style: none;
}
.c-nav__item {
white-space: nowrap;
}
.c-nav__item:last-child {
margin-right: 0;
}
@media screen and (max-width: 1151px) {
.c-nav__item {
font-size: calc(1.3vw + 0.05rem);
margin-right: 1.3vw;
}
}
@media screen and (min-width: 1152px) {
.c-nav__item {
margin-right: 2.2vw;
}
}
@media screen and (min-width: 1344px) {
.c-nav__item {
margin-right: 4%;
}
}
.c-nav__link {
position: relative;
padding: 4px;
color: #1A1A1A;
text-decoration: none;
}
.is-header-alt .c-nav__link {
color: #fff7f2;
}
.c-nav__link::before {
content: "";
display: block;
position: absolute;
z-index: -1;
left: 4px;
bottom: 1px;
width: calc(100% - 8px);
height: 2px;
background-color: #C8C8C8;
-webkit-transform: scaleX(0);
transform: scaleX(0);
-webkit-transform-origin: bottom right;
transform-origin: bottom right;
-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
.is-header-alt .c-nav__link::before {
background-color: rgba(255, 255, 255, 0.5);
}
.c-nav__link:hover::before {
-webkit-transform: scaleX(1);
transform: scaleX(1);
-webkit-transform-origin: bottom left;
transform-origin: bottom left;
}
.c-nav__link.is-active {
font-weight: 500;
}
.c-nav__link.is-active::before {
background-color: #004466;
-webkit-transform: scaleX(1);
transform: scaleX(1);
-webkit-transform-origin: bottom left;
transform-origin: bottom left;
}
.c-nav__link:focus {
outline-color: #4079b8;
}
.c-pagination {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
border-radius: 8px;
border: 1px solid #c8c8c8;
list-style: none;
margin-left: 0;
overflow: hidden;
}
.c-pagination__item {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
@media screen and (max-width: 839px) {
.c-pagination__item {
display: none;
}
.c-pagination__item:first-child, .c-pagination__item:last-child, .c-pagination__item.is-last-page, .c-pagination__item.is-active {
display: -webkit-box;
display: flex;
}
.c-pagination__item.is-last-page {
pointer-events: none;
}
}
.c-pagination__item + .c-pagination__item {
border-left: 1px solid;
border-color: inherit;
}
.c-pagination__text,
.c-pagination__link,
.c-pagination__prev,
.c-pagination__next {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
min-width: 48px;
min-height: 48px;
padding: 8px;
}
.c-pagination__text {
color: #1A1A1A;
opacity: 0.35;
}
.c-pagination__link {
color: #1A1A1A;
text-decoration: none;
-webkit-transition: color 0.2s, background-color 0.2s;
transition: color 0.2s, background-color 0.2s;
}
.c-pagination__link:hover {
color: #121212;
background: #F0F7FA;
}
.is-active > .c-pagination__link {
box-shadow: inset 0 0 10px -5px #004466;
font-weight: bold;
color: #004466;
cursor: default;
}
.c-pagination__prev,
.c-pagination__next {
-webkit-transition: background 0.2s;
transition: background 0.2s;
-webkit-transform: rotate(0.75turn);
transform: rotate(0.75turn);
}
.c-pagination__prev.is-inactive,
.c-pagination__next.is-inactive {
color: rgba(26, 26, 26, 0.4);
background: transparent;
}
.c-pagination__prev {
-webkit-transform: rotate(0.25turn);
transform: rotate(0.25turn);
}
/*
* Page title
*/
.c-page-title {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
padding-top: 16px;
padding-bottom: 16px;
color: #1A1A1A;
}
@media screen and (min-width: 840px) {
.c-page-title {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.c-page-title {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) {
.c-page-title {
padding-top: 48px;
padding-bottom: 48px;
}
}
.c-page-title--center {
text-align: center;
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.c-page-title--center {
width: 75%;
}
}
@media screen and (min-width: 1152px) {
.c-page-title--center {
width: 66.6666666667%;
}
}
@media screen and (min-width: 840px) {
.c-page-title__preheading {
margin-top: -16px;
margin-bottom: 16px;
}
}
.c-page-title__heading {
font-size: 2.5rem;
line-height: 1;
line-height: 1.3;
}
.c-page-title--on-dark {
color: #ffffff;
}
.c-projector {
position: relative;
height: 100%;
}
.c-projector__figure {
display: -ms-grid;
display: grid;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
height: 100%;
}
.c-projector__caption {
font-size: 0.9375rem;
line-height: 1.6;
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 2;
grid-row: 2;
-webkit-user-select: text;
-ms-user-select: text;
-moz-user-select: text;
user-select: text;
margin-top: 8px;
color: #999999;
}
.c-projector__picture {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
height: 100%;
display: block;
background-color: #F0F7FA;
opacity: 0;
-webkit-transition: opacity 0.5s;
transition: opacity 0.5s;
}
.c-projector__picture.is-active {
opacity: 1;
}
.c-projector__control {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
margin-bottom: 8px;
margin-right: 8px;
}
.c-projector__img {
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
}
@media screen and (max-width: 839px) {
.c-projector__img {
max-height: 78vh;
}
}
.c-servicepoint {
flex-wrap: wrap;
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
text-align: left;
margin-top: -16px;
}
.c-servicepoint__image {
margin-top: 16px;
margin-right: 16px;
border-radius: 100%;
max-width: 176px;
}
@media screen and (max-width: 539px) {
.c-servicepoint__image {
width: 96px;
}
}
.c-servicepoint__content {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
display: -ms-grid;
display: grid;
-ms-grid-rows: 1fr auto 1fr;
grid-template-rows: 1fr auto 1fr;
-webkit-box-flex: 9999;
flex-grow: 9999;
min-width: 180px;
margin-top: 16px;
}
.c-servicepoint__header {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
}
.c-servicepoint__body {
-ms-grid-row: 2;
grid-row: 2;
margin: 8px 0;
}
.c-servicepoint__footer {
-ms-grid-row: 3;
grid-row: 3;
}
.c-servicepoint__heading {
font-size: 1rem;
line-height: 1.5;
color: #656565;
border-radius: 100%;
}
.c-servicepoint__subheading {
font-size: 0.9375rem;
line-height: 1.6;
color: #999999;
}
.c-sitemap__item {
font-size: 1.5rem;
line-height: 1.3333333333;
color: #656565;
}
.c-sitemap__link {
display: block;
padding: 4px 0;
text-decoration: none;
}
.c-sitemap__link:hover {
color: #004466;
text-decoration: underline;
}
/*
* Skip Link
*/
.c-skip-link {
font-size: 0.9375rem;
line-height: 1.6;
position: fixed;
top: -100vh;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
color: #4079b8;
text-decoration: none;
}
.c-skip-link:focus {
outline-color: #4079b8;
outline-offset: 2px;
top: 5px;
/* Now the link will appear */
}
.c-slide-indicator {
display: -webkit-box;
display: flex;
-webkit-box-pack: end;
justify-content: flex-end;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
.c-slide-indicator__button {
position: relative;
border: none;
background-color: #25D2F7;
color: #ffffff;
height: 40px;
width: 40px;
}
.c-slide-indicator__button + .c-slide-indicator__button {
margin-left: 8px;
}
.c-slide-indicator__button[aria-label=previous] > svg {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
.c-slide-indicator__button[aria-label=next] > svg {
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
}
.c-slide-indicator__button:hover {
cursor: pointer;
background-color: #0accf6;
}
.c-slide-indicator__button:focus {
outline: none;
background-color: #0accf6;
}
.c-slide-indicator__dot {
position: relative;
display: inline-block;
width: 30px;
height: 30px;
background-color: transparent;
border: none;
cursor: pointer;
-webkit-transition-property: background-color, opacity;
transition-property: background-color, opacity;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
}
.c-slide-indicator__dot:focus {
outline: none;
}
.c-slide-indicator__dot:hover:not(.is-active), .c-slide-indicator__dot:focus:not(.is-active) {
opacity: 0.5;
}
.c-slide-indicator__dot:before, .c-slide-indicator__dot:after {
content: "";
position: absolute;
background-clip: content-box;
-webkit-transition-property: background-color, opacity, -webkit-transform;
transition-property: background-color, opacity, -webkit-transform;
transition-property: transform, background-color, opacity;
transition-property: transform, background-color, opacity, -webkit-transform;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-timing-function: ease-in-out;
transition-timing-function: ease-in-out;
border-radius: 100%;
}
.c-slide-indicator__dot:before {
top: calc((30px - 8px) / 2);
right: calc((30px - 8px) / 2);
bottom: calc((30px - 8px) / 2);
left: calc((30px - 8px) / 2);
background-color: #ffffff;
}
.c-slide-indicator__dot:after {
top: calc((30px - 12px) / 2);
right: calc((30px - 12px) / 2);
bottom: calc((30px - 12px) / 2);
left: calc((30px - 12px) / 2);
border: 1px solid #ffffff;
-webkit-transform: scale(1.4);
transform: scale(1.4);
opacity: 0;
}
.c-slide-indicator__dot.is-active:before {
background-color: #000000;
border-color: rgba(255, 255, 255, 0.9);
-webkit-transform: scale(0.75);
transform: scale(0.75);
}
.c-slide-indicator__dot.is-active:after {
opacity: 0.9;
-webkit-transform: scale(1);
transform: scale(1);
}
.c-slide-indicator__dot:focus {
opacity: 1 !important;
}
.c-slide-indicator__dot:focus:before {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-slide-indicator__dot:focus:after {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-subnav {
height: 100%;
padding: 1px 6vw 80px 6vw;
background-color: #F0F7FA;
}
@media screen and (min-width: 840px) {
.c-subnav {
padding-top: 40px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.l-split--breakout-on-m .c-subnav {
padding-left: 25%;
}
}
@media screen and (min-width: 1152px) {
.c-subnav {
padding-left: 16.6666666667%;
padding-right: 16.6666666667%;
}
}
.c-subnav__list {
margin-top: 40px;
list-style-type: none;
margin-left: 0;
}
.c-subnav__item--back {
margin-top: 24px;
}
.c-subnav__link {
position: relative;
display: -webkit-box;
display: flex;
padding: 8px 0;
color: #656565;
text-decoration: none;
cursor: pointer;
-webkit-transition: color 250ms;
transition: color 250ms;
}
.c-subnav__link:hover {
color: #1A1A1A;
}
.c-subnav__link:focus {
outline-color: #4079b8;
}
.c-subnav__item.is-active .c-subnav__link {
color: #004466;
font-weight: 600;
}
.c-subnav__link::before {
content: "";
display: block;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border-bottom: 1px solid #c8c8c8;
}
.c-subnav__item.is-active .c-subnav__link::before {
border-color: #004466;
border-width: 2px;
}
.c-subnav__icon {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-align: center;
align-items: center;
margin-left: auto;
color: #c8c8c8;
-webkit-transform: translateX(-8px);
transform: translateX(-8px);
-webkit-transition-property: color, -webkit-transform;
transition-property: color, -webkit-transform;
transition-property: transform, color;
transition-property: transform, color, -webkit-transform;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
}
.c-subnav__link:hover .c-subnav__icon {
-webkit-transform: none;
transform: none;
color: #1A1A1A;
}
.c-subnav__item.is-active .c-subnav__icon {
display: none;
}
/**
* 1. Color gets inherited and used for nested elements with 'currentColor' property
* 2. Reset default button styling
*/
.c-textbutton {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
color: #4079b8;
/* 1 */
padding: 0;
/* 2 */
background-color: transparent;
/* 2 */
border: none;
/* 2 */
cursor: pointer;
text-decoration: none;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.c-textbutton:hover:not(:disabled) {
color: #26496e;
}
.c-textbutton:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-textbutton:focus {
outline-color: #4079b8;
}
.c-textbutton__text {
font-size: 1rem;
line-height: 1.5;
}
.c-textbutton__icon {
display: none;
position: relative;
margin-left: 8px;
-webkit-transition: -webkit-transform 0.3s;
transition: -webkit-transform 0.3s;
transition: transform 0.3s;
transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-textbutton:hover:not(:disabled) .c-textbutton__icon {
-webkit-transform: translateX(3px);
transform: translateX(3px);
}
.c-textbutton--icon .c-textbutton__icon {
display: block;
}
.c-textbutton--is-reversed .c-textbutton__text {
-webkit-box-ordinal-group: 3;
order: 2;
}
.c-textbutton--is-reversed .c-textbutton__icon {
-webkit-box-ordinal-group: 2;
order: 1;
top: 1px;
margin-left: 0;
margin-right: 8px;
-webkit-transform: rotate(0.5turn);
transform: rotate(0.5turn);
}
.c-textbutton--is-reversed:hover:not(:disabled) .c-textbutton__icon {
-webkit-transform: rotate(0.5turn) translateX(3px);
transform: rotate(0.5turn) translateX(3px);
}
.c-textbutton--on-dark {
color: #ffffff !important;
}
.c-trademark {
display: -webkit-inline-box;
display: inline-flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
text-decoration: none;
-webkit-transition: color 200ms;
transition: color 200ms;
}
.c-trademark:hover {
color: #ffffff;
}
.c-trademark:focus {
outline-color: #4079b8;
}
.c-trademark__text {
margin-right: 7px;
white-space: nowrap;
}
.c-trademark__icon {
width: 100px;
max-height: 32px;
opacity: 0.5;
-webkit-transition: opacity 200ms;
transition: opacity 200ms;
}
.c-trademark:hover .c-trademark__icon {
opacity: 1;
}
.c-video {
position: relative;
height: 0;
width: 100%;
padding-bottom: 53.6%;
background-color: #F0F7FA;
}
.c-video__iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/* 6 - ORGANISMS
* Large blocks composed of multiple components.
=========================================================== */
/** ==========================================================================
* Organisms
* =========================================================================*/
.o-accordion {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-accordion {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-accordion {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-accordion__item {
border-radius: 8px;
position: relative;
overflow: hidden;
border-style: solid;
border-width: 1px;
border-color: #c8c8c8;
-webkit-transition-property: border;
transition-property: border;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
}
.o-accordion__item + .o-accordion__item {
margin-top: 16px;
}
.o-accordion__item:not(.is-active):hover {
border-color: #004466;
}
.o-accordion__title {
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
padding-top: 16px;
padding-right: 24px;
padding-bottom: 16px;
padding-left: 48px;
color: #000000;
cursor: pointer;
}
@media screen and (min-width: 840px) {
.o-accordion__title {
padding-left: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-accordion__title {
padding-left: 8.3333333333%;
}
}
.o-accordion__item:not(.is-active) .o-accordion__title:hover {
color: #004466;
}
.o-accordion__icon {
-webkit-box-flex: 0;
flex: 0 0 auto;
position: absolute;
top: auto;
left: 14px;
width: 20px;
height: 20px;
color: inherit;
border-color: currentColor;
border-width: 2px;
border-style: solid;
border-radius: 100%;
-webkit-transition-property: color;
transition-property: color;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
-webkit-transition-timing-function: ease;
transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
.o-accordion__icon {
left: calc(6.25% - 10px);
}
}
@media screen and (min-width: 1152px) {
.o-accordion__icon {
left: calc(4.1666666667% - 10px);
}
}
.o-accordion__icon::before, .o-accordion__icon::after {
content: "";
display: block;
position: absolute;
height: 2px;
width: 10px;
left: 3px;
top: calc(50% - 1px);
background-color: currentColor;
-webkit-transition-property: background-color, -webkit-transform;
transition-property: background-color, -webkit-transform;
transition-property: background-color, transform;
transition-property: background-color, transform, -webkit-transform;
-webkit-transition-duration: 250ms, 400ms;
transition-duration: 250ms, 400ms;
-webkit-transition-timing-function: ease, cubic-bezier(0.86, 0, 0.07, 1);
transition-timing-function: ease, cubic-bezier(0.86, 0, 0.07, 1);
}
.o-accordion__item.is-active .o-accordion__icon::before {
-webkit-transform: scaleX(0) rotate(0.25turn);
transform: scaleX(0) rotate(0.25turn);
}
.o-accordion__icon::after {
-webkit-transform: rotate(0.25turn);
transform: rotate(0.25turn);
}
.o-accordion__item.is-active .o-accordion__icon::after {
-webkit-transform: rotate(0.5turn);
transform: rotate(0.5turn);
}
.o-accordion__header {
font-size: 1rem;
line-height: 1.5;
font-weight: 500;
color: inherit;
text-decoration: inherit;
-webkit-transition-property: color;
transition-property: color;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
-webkit-transition-timing-function: ease;
transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
.o-accordion__header {
font-size: 1.5rem;
line-height: 1.3333333333;
}
}
/* Hidden by default*/
.o-accordion__content {
opacity: 0;
max-height: 0;
overflow: hidden;
padding-left: 48px;
padding-right: 24px;
-webkit-transform: translateY(6px);
transform: translateY(6px);
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.o-accordion__content > * + * {
margin-top: 1.5rem;
}
@media screen and (min-width: 840px) {
.o-accordion__content {
padding-left: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-accordion__content {
padding-left: 8.3333333333%;
}
}
.o-accordion__item.is-active .o-accordion__content {
opacity: 1;
max-height: 400px;
padding-bottom: 32px;
-webkit-transform: none;
transform: none;
-webkit-transition-property: all;
transition-property: all;
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
-webkit-transition-delay: 0.2s;
transition-delay: 0.2s;
}
@media screen and (max-width: 839px) {
.o-block {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-block {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-block {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-block {
margin-bottom: 96px;
}
}
@media screen and (max-width: 839px) {
.o-block + .o-block {
margin-top: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-block + .o-block {
margin-top: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-block + .o-block {
margin-top: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-block + .o-block {
margin-top: 96px;
}
}
/*
* Wrapper of the main body
* (between the header and the footer)
*/
.o-body {
z-index: 40;
position: relative;
}
.o-callout-bar {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
color: #1A1A1A;
background-color: #F0F7FA;
text-align: center;
}
.o-callout-bar__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-callout-bar__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-callout-bar__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (max-width: 839px) {
.o-callout-bar__main {
padding-top: 12vw;
padding-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-callout-bar__main {
padding-top: 10vw;
padding-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-callout-bar__main {
padding-top: 7.1428571429vw;
padding-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-callout-bar__main {
padding-top: 96px;
padding-bottom: 96px;
}
}
@media screen and (max-width: 839px) {
.o-callout-bar__main > * + * {
margin-top: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-callout-bar__main > * + * {
margin-top: 5vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-callout-bar__main > * + * {
margin-top: 3.5714285714vw;
}
}
@media screen and (min-width: 1344px) {
.o-callout-bar__main > * + * {
margin-top: 48px;
}
}
.o-callout-bar__heading {
font-size: 2rem;
line-height: 1.25;
}
/*
* Card grid
*
*/
@media screen and (min-width: 600px) {
.o-card-grid__main {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
@media screen and (max-width: 599px) {
.o-card-grid__item + .o-card-grid__item {
margin-top: 32px;
}
}
@media screen and (max-width: 599px) {
.o-card-grid__item {
max-width: 444px;
margin: 0 auto;
}
}
@media screen and (min-width: 600px) and (max-width: 1151px) {
.o-card-grid__item {
-webkit-box-flex: 0;
flex: 0;
flex-basis: calc(50% - ((2 - 1) / 2 * 32px));
margin-left: 32px;
}
.o-card-grid__item:nth-child(2n+1) {
margin-left: 0;
}
.o-card-grid__item:nth-child(n+3) {
margin-top: 32px;
}
}
@media screen and (min-width: 1152px) {
.o-card-grid__item {
-webkit-box-flex: 0;
flex: 0;
flex-basis: calc(33.3333333333% - ((3 - 1) / 3 * 32px));
margin-left: 32px;
}
.o-card-grid__item:nth-child(3n+1) {
margin-left: 0;
}
.o-card-grid__item:nth-child(n+4) {
margin-top: 32px;
}
}
.o-contact {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
position: relative;
}
@media screen and (min-width: 840px) {
.o-contact {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-contact {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 1220px) {
.o-contact {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.o-contact__info {
background-color: #ffffff;
}
@media screen and (min-width: 840px) {
.o-contact__info {
padding: 48px 12.5%;
}
}
@media screen and (min-width: 1220px) {
.o-contact__info {
width: 50%;
padding-left: 8.3333333333%;
padding-right: 24px;
}
}
.o-contact__form {
background-color: #F0F7FA;
}
@media screen and (max-width: 839px) {
.o-contact__form {
margin-top: 12vw;
padding: 6vw;
width: 100vw;
margin-left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}
}
@media screen and (min-width: 840px) {
.o-contact__form {
padding: 48px 12.5%;
}
}
@media screen and (min-width: 1220px) {
.o-contact__form {
width: 50%;
padding-left: 8.3333333333%;
padding-right: 8.3333333333%;
}
}
.o-contact__header {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
font-size: 2rem;
line-height: 1.25;
margin-bottom: 32px;
color: #1A1A1A;
}
.o-contact__card {
margin-bottom: 40px;
}
.o-contact__address {
margin-top: 24px;
}
.o-contact__numbers {
margin-top: 16px;
}
.o-cookie-bar {
z-index: 9999;
display: none;
position: fixed;
bottom: 0;
left: 0;
height: 64px;
width: 100%;
background-color: #000000;
opacity: 1;
box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.2);
-webkit-transition: opacity 0.5s, -webkit-transform 0.6s;
transition: opacity 0.5s, -webkit-transform 0.6s;
transition: opacity 0.5s, transform 0.6s;
transition: opacity 0.5s, transform 0.6s, -webkit-transform 0.6s;
-webkit-transform: none;
transform: none;
}
.o-cookie-bar:not(.is-accepted) {
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
.o-cookie-bar.is-transitioning-out {
opacity: 0;
-webkit-transform: translateY(50%);
transform: translateY(50%);
}
.o-cookie-bar__main {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
@media screen and (max-width: 373px) {
.o-cookie-bar__main {
-webkit-transform: scale(0.9);
transform: scale(0.9);
}
}
.o-cookie-bar__text {
margin: 0;
color: #999999;
}
@media screen and (max-width: 374px) {
.o-cookie-bar__text {
font-size: 0.875rem;
line-height: 1.1428571429;
}
}
.o-cookie-bar__link {
color: inherit;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.o-cookie-bar__link:hover {
color: rgba(153, 153, 153, 0.75);
}
.o-cookie-bar__button {
-webkit-box-flex: 0;
flex: none;
margin-left: 40px;
}
@media screen and (max-width: 839px) {
.o-cookie-bar__button {
margin-left: 16px;
}
}
.o-cookie-overlay {
position: fixed;
z-index: 9999;
top: 0;
left: 0;
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.6);
opacity: 1;
-webkit-transition: opacity 0.5s;
transition: opacity 0.5s;
}
.o-cookie-overlay.is-accepted {
display: none;
}
.o-cookie-overlay.fade-out {
opacity: 0;
}
.o-cookie-overlay__modal {
display: block;
width: 92%;
max-width: 960px;
padding: 60px 120px;
margin: auto;
background-color: #ffffff;
}
.o-cookie-overlay__container.is-hidden {
display: none;
}
.o-cookie-overlay__title {
font-size: 24px;
line-height: 1;
font-weight: 500;
margin: 0 0 5px;
color: #1A1A1A;
}
.o-cookie-overlay__text {
font-size: 16px;
line-height: 1.2;
margin: 0;
color: #999999;
}
.o-cookie-overlay__link {
text-decoration: underline;
color: #4079b8;
cursor: pointer;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.o-cookie-overlay__link:hover {
color: rgba(64, 121, 184, 0.75);
}
.o-cookie-overlay__button {
display: inline-block;
margin-top: 35px;
padding: 13px 25px;
border-radius: 4px;
background-color: #4079b8;
-webkit-transition: background-color 0.4s;
transition: background-color 0.4s;
font-size: 16px;
line-height: 1.2;
font-weight: 500;
color: #ffffff;
cursor: pointer;
outline: none;
border: none;
}
.o-cookie-overlay__button:hover {
background-color: #35659a;
}
.o-cookie-overlay__types, .o-cookie-overlay__settings {
margin: 30px 0;
}
.o-cookie-overlay__types > * + *, .o-cookie-overlay__settings > * + * {
margin-top: 25px;
}
.o-cookie-overlay__settings {
margin-bottom: 0;
}
.o-footer {
z-index: 20;
color: #EDF3EE;
background-color: #004466;
}
.o-footer__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-footer__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-footer__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (max-width: 839px) {
.o-footer__main {
padding-top: 6vw;
padding-bottom: 6vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-footer__main {
padding-top: 5vw;
padding-bottom: 5vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-footer__main {
padding-top: 3.5714285714vw;
padding-bottom: 3.5714285714vw;
}
}
@media screen and (min-width: 1344px) {
.o-footer__main {
padding-top: 48px;
padding-bottom: 48px;
}
}
@media screen and (min-width: 840px) {
.o-footer__columns {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.o-footer__brand {
display: block;
width: 100%;
-webkit-transition: opacity 200ms linear;
transition: opacity 200ms linear;
}
@media screen and (max-width: 839px) {
.o-footer__brand {
margin-bottom: 3.96vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-footer__brand {
margin-bottom: 3.3vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-footer__brand {
margin-bottom: 2.3571428571vw;
}
}
@media screen and (min-width: 1344px) {
.o-footer__brand {
margin-bottom: 31.68px;
}
}
.o-footer__brand:hover {
opacity: 0.5;
}
.o-footer__logo {
width: 152px;
}
.o-footer__info > * + * {
margin-top: 32px;
}
@media screen and (min-width: 840px) {
.o-footer__info {
width: 40%;
}
}
@media screen and (min-width: 1152px) {
.o-footer__info {
width: 41.6666666667%;
}
}
@media screen and (max-width: 839px) {
.o-footer__nav {
margin-top: 6vw;
}
}
@media screen and (min-width: 840px) {
.o-footer__nav {
margin-left: 10%;
}
}
@media screen and (min-width: 1152px) {
.o-footer__nav {
margin-left: 8.3333333333%;
}
}
.o-footer__list {
list-style: none;
margin: 0;
}
.o-footer__link {
display: inline-block;
position: relative;
z-index: 0;
color: #EDF3EE;
text-decoration: none;
cursor: pointer;
-webkit-transition: color 0.3s;
transition: color 0.3s;
}
.o-footer__link::before {
content: "";
display: block;
position: absolute;
z-index: -1;
left: -10px;
bottom: 0;
width: 100%;
height: 50%;
background-color: rgba(237, 243, 238, 0.1);
-webkit-transform: scaleX(0) skew(0deg);
transform: scaleX(0) skew(0deg);
-webkit-transform-origin: bottom left;
transform-origin: bottom left;
-webkit-transition: -webkit-transform 0.35s cubic-bezier(0.86, 0, 0.07, 1);
transition: -webkit-transform 0.35s cubic-bezier(0.86, 0, 0.07, 1);
transition: transform 0.35s cubic-bezier(0.86, 0, 0.07, 1);
transition: transform 0.35s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.86, 0, 0.07, 1);
}
.o-footer__link:hover::before {
-webkit-transform: scaleX(1) skew(-37deg);
transform: scaleX(1) skew(-37deg);
}
.o-footer__link:focus {
outline-color: #4079b8;
}
.o-footer__social {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
list-style: none;
margin: 32px 0 0;
}
.o-footer__channel {
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
width: 24px;
height: 24px;
margin-right: 16px;
}
.o-footer__icon {
-webkit-box-flex: 1;
flex: auto;
display: block;
height: 100%;
background-repeat: no-repeat;
background-position: center;
-webkit-transition-property: opacity;
transition-property: opacity;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
}
.facebook .o-footer__icon {
background-image: url("/img/social/facebook.svg");
height: 21px;
}
.instagram .o-footer__icon {
background-image: url("/img/social/instagram.svg");
}
.twitter .o-footer__icon {
background-image: url("/img/social/twitter.svg");
height: 20px;
}
.linkedin .o-footer__icon {
background-image: url("/img/social/linkedin.svg");
height: 18px;
}
.o-footer__icon:hover {
opacity: 0.5;
}
.o-footer__icon:focus {
outline-color: #4079b8;
}
.o-form__header {
margin-bottom: 40px;
}
.o-form__footer {
margin-top: 40px;
}
.o-form__row + .o-form__row {
margin-top: 20px;
}
.o-form__pot {
opacity: 0;
position: absolute;
top: 0;
left: 0;
height: 0;
width: 0;
z-index: -1;
}
.o-header {
z-index: 50;
position: relative;
padding: 32px 0;
}
.o-header.is-header-alt {
background-color: #004466;
}
.o-header.is-sticky {
opacity: 0;
position: fixed;
z-index: 50;
top: 0;
left: 0;
width: 100%;
padding-top: 32px;
padding-bottom: 32px;
box-shadow: 0 -5px 30px black;
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: transform, opacity;
transition-property: transform, opacity, -webkit-transform;
-webkit-transition-duration: 300ms;
transition-duration: 300ms;
-webkit-transition-delay: 0s, 300ms;
transition-delay: 0s, 300ms;
-webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}
@media screen and (min-width: 1100px) {
.o-header.is-sticky {
display: none;
}
}
.is-sticky-header-visible .o-header.is-sticky {
opacity: 1;
-webkit-transform: none;
transform: none;
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
.o-header__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
position: relative;
}
@media screen and (min-width: 840px) {
.o-header__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-header__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-header__nav {
width: 100%;
}
@media screen and (max-width: 1099px) {
.o-header__nav {
display: none;
}
}
.o-header__language {
margin-left: 16px;
}
@media screen and (max-width: 1099px) {
.o-header__language {
margin-left: auto;
}
}
.o-header__logo {
-webkit-box-flex: 0;
flex: none;
}
.o-header__logo:focus {
outline-offset: 2px;
outline-color: #4079b8;
}
.o-header__img {
max-height: 48px;
width: 147px;
}
@media screen and (min-width: 1100px) {
.o-header__toggle {
display: none;
}
}
.o-intro {
position: relative;
z-index: 0;
}
@media screen and (max-width: 839px) {
.o-intro.is-intro-alt {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-intro.is-intro-alt {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-intro.is-intro-alt {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-intro.is-intro-alt {
margin-bottom: 96px;
}
}
.is-intro-alt .o-intro__header {
background-color: #217AA6;
}
.o-intro__body {
position: relative;
}
@media screen and (max-width: 839px) {
.o-intro__body {
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-intro__body {
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-intro__body {
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-intro__body {
margin-bottom: 96px;
}
}
@media screen and (min-width: 840px) {
.is-intro-alt .o-intro__body {
background-color: #217AA6;
}
}
@media screen and (max-width: 839px) {
.o-intro--mobile-break-out .o-intro__main {
width: 100vw;
margin-left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}
}
@media screen and (min-width: 840px) {
.o-intro__main::before {
content: "";
position: absolute;
z-index: 0;
top: 50%;
right: 0;
bottom: 0;
left: 0;
background-color: #004466;
}
}
.o-logos__list {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-left: 0;
margin: -2.382vw;
list-style-type: none;
}
@media screen and (min-width: 1344px) {
.o-logos__list {
margin: -32px;
}
}
.o-logos__item {
-webkit-box-flex: 0;
flex: 0 1 100%;
margin: 2.382vw;
}
@media screen and (min-width: 384px) {
.o-logos__item {
flex-basis: calc(50% - 5vw);
}
}
@media screen and (min-width: 840px) {
.o-logos__item {
flex-basis: calc(33.3333333333% - 5vw);
}
}
@media screen and (min-width: 1152px) {
.o-logos__item {
flex-basis: calc(25% - 5vw);
}
}
@media screen and (min-width: 1344px) {
.o-logos__item {
flex-basis: calc(25% - 64px);
margin: 32px;
}
}
.o-logos__link {
display: block;
}
.o-logos__img {
display: block;
width: 100%;
height: 0;
padding-bottom: 100%;
background-repeat: no-repeat;
background-size: contain;
background-position: center;
}
.o-map a:after {
display: none;
}
.o-news {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-news {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-news {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-news__heading {
font-size: 2rem;
line-height: 1.25;
color: #1A1A1A;
}
.o-news__article {
position: relative;
}
.o-news__article + .o-news__article {
margin-top: 32px;
}
.o-news__link {
display: block;
cursor: pointer;
text-decoration: none;
-webkit-transition: background-color 150ms linear;
transition: background-color 150ms linear;
}
.o-news__link::before {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 1px solid #c8c8c8;
-webkit-transition: opacity 150ms linear;
transition: opacity 150ms linear;
}
.o-news__link:hover, .o-news__link:focus {
background-color: #F0F7FA;
}
.o-news__link:hover::before, .o-news__link:focus::before {
opacity: 0;
}
.o-news__link:focus {
outline-color: #4079b8;
}
@media screen and (min-width: 840px) {
.o-news__link {
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: start;
align-items: flex-start;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.o-news__body {
-webkit-box-flex: 1;
flex-grow: 1;
padding: 6vw;
}
@media screen and (min-width: 840px) {
.o-news__body {
-webkit-box-ordinal-group: 2;
order: 1;
padding-top: 48px;
padding-bottom: 48px;
padding-left: 12.5%;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-news__body {
padding-left: 8.3333333333%;
}
}
.o-news__image {
position: relative;
width: 100%;
padding-bottom: 55%;
}
@media screen and (min-width: 840px) {
.o-news__image {
-webkit-box-flex: 0;
flex: none;
-webkit-box-ordinal-group: 3;
order: 2;
width: 25%;
padding-bottom: 25%;
}
}
.o-news__bg-image {
position: absolute;
background-position: 50% 50%;
background-size: cover;
top: 6vw;
right: 6vw;
width: calc(100% - 12vw);
height: calc(100% - 6vw);
}
@media screen and (min-width: 840px) {
.o-news__bg-image {
top: 8px;
right: 8px;
width: calc(100% - 16px);
height: calc(100% - 16px);
}
}
.o-news__intro {
margin-top: 24px;
}
.o-news__timestamp {
display: block;
margin-top: 16px;
color: #999999;
}
.o-news__action {
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-top: 8px;
color: #4079b8;
}
.o-news__readmore {
margin-right: 8px;
}
.o-news__footer {
margin-top: 32px;
text-align: center;
}
.o-overlay-menu {
z-index: 100;
display: -webkit-box;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
flex-direction: column;
opacity: 0;
position: fixed;
height: 100%;
width: 100%;
left: 0;
top: 0;
background-color: #004466;
-webkit-transform: translateX(-120vw);
transform: translateX(-120vw);
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: transform, opacity;
transition-property: transform, opacity, -webkit-transform;
-webkit-transition-duration: 400ms, 200ms;
transition-duration: 400ms, 200ms;
-webkit-transition-delay: 0s, 400ms;
transition-delay: 0s, 400ms;
-webkit-transition-timing-function: cubic-bezier(0.5, 0.15, 0.1, 1), linear;
transition-timing-function: cubic-bezier(0.5, 0.15, 0.1, 1), linear;
}
.is-overlay-menu-active .o-overlay-menu {
opacity: 1;
-webkit-transform: none;
transform: none;
-webkit-transition-delay: 200ms, 0s;
transition-delay: 200ms, 0s;
}
.o-overlay-menu::before {
display: block;
content: "";
position: absolute;
top: 0;
right: -120vw;
width: 120vw;
height: 100%;
background: rgba(0, 0, 0, 0.6);
pointer-events: none;
opacity: 0;
-webkit-transition-property: opacity;
transition-property: opacity;
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
-webkit-transition-delay: 400ms;
transition-delay: 400ms;
-webkit-transition-timing-function: linear;
transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
opacity: 1;
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
.o-overlay-menu::after {
display: block;
content: "";
position: absolute;
top: 0;
right: -20%;
width: 20%;
height: 100%;
background: linear-gradient(-86deg, transparent 50%, #004466 50%);
}
@media screen and (min-width: 1100px) {
.o-overlay-menu {
display: none;
}
}
.o-overlay-menu__bar {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
padding-top: 32px;
padding-bottom: 32px;
}
@media screen and (min-width: 840px) {
.o-overlay-menu__bar {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-overlay-menu__bar {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-overlay-menu__img {
height: 48px;
}
.o-overlay-menu__toggle {
-webkit-transform: rotate(-0.5turn);
transform: rotate(-0.5turn);
-webkit-transition: -webkit-transform 600ms ease-out;
transition: -webkit-transform 600ms ease-out;
transition: transform 600ms ease-out;
transition: transform 600ms ease-out, -webkit-transform 600ms ease-out;
-webkit-transition-delay: 200ms;
transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
-webkit-transform: none;
transform: none;
}
.o-overlay-menu__nav {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
margin-top: 24px;
}
@media screen and (min-width: 840px) {
.o-overlay-menu__nav {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-overlay-menu__nav {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-overlay-menu__list {
display: -webkit-box;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
flex-direction: column;
-webkit-box-align: center;
align-items: center;
-webkit-box-pack: justify;
justify-content: space-between;
height: calc(58vh);
margin-left: 0;
list-style: none;
}
.o-overlay-menu__link {
font-size: 1.5rem;
line-height: 1.3333333333;
display: block;
color: #EDF3EE;
text-decoration: none;
opacity: 0.7;
-webkit-transition: opacity 200ms linear;
transition: opacity 200ms linear;
}
.o-overlay-menu__link:hover {
opacity: 1;
}
.o-overlay-menu__link:focus {
outline-offset: 2px;
outline-color: #EDF3EE;
}
.o-overlay-menu__link.is-active {
opacity: 1;
position: relative;
font-weight: 600;
}
.o-quote {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-quote {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-quote {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) {
.o-quote {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
@media screen and (min-width: 840px) {
.o-quote__body {
width: 50%;
}
}
@media screen and (min-width: 1152px) {
.o-quote__body {
margin-left: 8.3333333333%;
width: 66.6666666667%;
}
}
.o-quote__picture {
display: block;
}
@media screen and (max-width: 839px) {
.o-quote__picture {
margin-top: 32px;
}
}
@media screen and (min-width: 840px) {
.o-quote__picture {
width: 37.5%;
margin-left: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-quote__picture {
width: 33.3333333333%;
margin-left: 8.3333333333%;
margin-right: 8.3333333333%;
}
}
.o-quote__img {
display: block;
margin: 0 auto;
}
.o-quote__text {
font-size: 1.25rem;
line-height: 1.6;
quotes: "\201C" "\201D";
}
.o-quote__text::before {
content: open-quote;
}
.o-quote__text::after {
content: close-quote;
}
.o-quote__author {
margin-top: 24px;
margin-left: 8.3333333333%;
}
.o-quote__heading {
font-size: 1rem;
line-height: 1.5;
color: #656565;
}
.o-quote__subheading {
font-size: 0.9375rem;
line-height: 1.6;
color: #999999;
}
.o-references {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin: -32px;
}
.o-references__item {
border-radius: 4px;
-webkit-box-flex: 0;
flex: 0 1 100%;
margin: 32px;
padding-top: 24px;
padding-bottom: 24px;
background-color: #ffffff;
border: 0px solid #c8c8c8;
box-shadow: 0 3px 40px -10px rgba(0, 0, 0, 0.2);
}
@media screen and (min-width: 800px) {
.o-references__item {
flex-basis: calc(50% - 64px - 0px);
}
}
.o-references__body {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: start;
align-items: flex-start;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-top: 0;
padding-right: 24px;
}
.o-references__picture {
display: block;
-webkit-box-flex: 1;
flex-grow: 1;
flex-basis: 25%;
margin-bottom: 24px;
margin-left: 24px;
}
.o-references__content {
-webkit-box-flex: 9999;
flex-grow: 9999;
flex-basis: 18em;
margin-left: 24px;
color: #656565;
}
.o-references__author {
margin-top: 24px;
}
.o-references__heading {
font-size: 1rem;
line-height: 1.5;
font-weight: normal;
color: #656565;
}
.o-references__subheading {
color: #999999;
}
.o-subfooter {
z-index: 10;
color: #adbaae;
background-color: #002A40;
padding-bottom: 64px;
-webkit-transition: padding 0.6s;
transition: padding 0.6s;
}
.is-cookies-accepted .o-subfooter {
padding-bottom: 0;
}
.o-subfooter__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
font-size: 0.9375rem;
line-height: 1.6;
padding-top: 8px;
padding-bottom: 8px;
}
@media screen and (min-width: 840px) {
.o-subfooter__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-subfooter__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-subfooter__copyright {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin-top: 8px;
margin-bottom: 8px;
margin-right: 32px;
}
.o-subfooter__nav {
margin-right: auto;
margin-top: 8px;
margin-bottom: 8px;
}
.o-subfooter__list {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
list-style-type: none;
margin: 0;
}
.o-subfooter__item {
margin-right: 32px;
white-space: nowrap;
}
.o-subfooter__link {
color: #adbaae;
text-decoration: none;
-webkit-transition: color 200ms;
transition: color 200ms;
}
.o-subfooter__link:hover {
color: #EDF3EE;
}
.o-subfooter__link:focus {
outline-color: #4079b8;
}
.o-subfooter__trademark {
margin-top: 8px;
margin-bottom: 8px;
}
/*
* On small screens the content is stacked, without controls
* When the screen is wide enough we add the controls
* and show only the chosen 'slide content'
*/
.o-tabslider {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-tabslider {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-tabslider {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-tabslider__button {
border-radius: 8px;
min-height: 48px;
color: #1A1A1A;
background-color: #ffffff;
border: 1px solid #c8c8c8;
font-weight: 500;
cursor: pointer;
-webkit-transition-property: color, border;
transition-property: color, border;
-webkit-transition-duration: 250ms;
transition-duration: 250ms;
}
.o-tabslider__button:hover {
color: #004466;
border-color: #004466;
}
.o-tabslider__button.is-active {
color: #EDF3EE;
background-color: #004466;
border-color: #004466;
}
.o-tabslider__button:focus {
outline: none;
border-color: #004466;
}
.o-tabslider__button:focus:not(.is-active):not(:active) {
box-shadow: 0 0 0 1px #ffffff, 0 0 5px 3px rgba(26, 26, 26, 0.1);
}
@media screen and (max-width: 839px) {
.o-tabslider__controls {
display: none;
}
}
@media screen and (min-width: 840px) {
.o-tabslider__controls {
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
align-items: center;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
@media screen and (min-width: 1152px) {
.o-tabslider__controls {
margin-left: 8.3333333333%;
margin-right: 8.3333333333%;
}
}
.o-tabslider__step {
width: 48px;
}
.o-tabslider__step--prev {
-webkit-transform: rotate(0.5turn);
transform: rotate(0.5turn);
}
@media screen and (min-width: 840px) {
.o-tabslider__tabs {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
@media screen and (min-width: 1344px) {
.o-tabslider__tabs {
margin: -8px 8px;
}
}
.o-tabslider__tab {
font-size: 0.875rem;
line-height: 1.1428571429;
margin: 8px;
padding: 7px 16px;
text-transform: uppercase;
}
@media screen and (min-width: 840px) {
.o-tabslider__container {
display: -ms-grid;
display: grid;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
margin-top: 48px;
}
}
@media screen and (max-width: 839px) {
.o-tabslider__content + .o-tabslider__content {
margin-top: 12vw;
}
}
@media screen and (min-width: 840px) {
.o-tabslider__content {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-column: 1;
grid-column: 1;
opacity: 0;
z-index: 0;
-webkit-transform: translateY(6px);
transform: translateY(6px);
pointer-events: none;
-webkit-transform-origin: top center;
transform-origin: top center;
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
-webkit-transition-timing-function: ease-in;
transition-timing-function: ease-in;
}
.o-tabslider__content.is-active {
opacity: 1;
z-index: 1;
-webkit-transform: none;
transform: none;
pointer-events: all;
-webkit-transition-duration: 500ms;
transition-duration: 500ms;
-webkit-transition-delay: 200ms;
transition-delay: 200ms;
-webkit-transition-timing-function: ease-out;
transition-timing-function: ease-out;
}
}
.o-tabslider__label {
font-size: 0.875rem;
line-height: 1.1428571429;
display: block;
padding-bottom: 8px;
text-transform: uppercase;
color: #1A1A1A;
}
@media screen and (min-width: 840px) {
.o-tabslider__label {
display: none;
}
}
.o-team {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 840px) {
.o-team {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-team {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (max-width: 839px) {
.o-team {
margin-top: 12vw;
margin-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-team {
margin-top: 10vw;
margin-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.o-team {
margin-top: 7.1428571429vw;
margin-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.o-team {
margin-top: 96px;
margin-bottom: 96px;
}
}
@media screen and (min-width: 600px) {
.o-team__matrix {
flex-wrap: wrap;
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
margin: -16px;
}
}
.o-team__item {
margin: 0 auto 32px;
max-width: 320px;
}
@media screen and (min-width: 600px) {
.o-team__item {
margin: 16px;
max-width: none;
-webkit-box-flex: 0;
flex: none;
flex-basis: calc(50% - 32px);
}
}
@media screen and (min-width: 1000px) {
.o-team__item {
flex-basis: calc(33.33% - 32px);
}
}
@media screen and (min-width: 1152px) {
.o-team__item {
flex-basis: calc(25% - 32px);
}
}
.o-top-bar {
color: #ffffff;
background-color: #000000;
}
@media screen and (max-width: 1099px) {
.o-top-bar {
display: none;
}
}
.o-top-bar__main {
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
text-align: right;
}
@media screen and (min-width: 840px) {
.o-top-bar__main {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.o-top-bar__main {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
.o-top-bar__list {
list-style: none;
margin-left: 0;
padding: 8px 0;
}
.o-top-bar__link {
font-size: 0.875rem;
line-height: 1.1428571429;
display: inline-block;
padding: 8px 0;
text-decoration: none;
color: #ffffff;
}
.o-top-bar__link:hover {
text-decoration: underline;
}
@media screen and (max-width: 1151px) {
.o-usp {
background-color: #004466;
}
}
@media screen and (min-width: 840px) {
.o-usp__main {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
}
}
.o-usp__text {
padding: 32px 0;
color: #EDF3EE;
background-color: #004466;
}
@media screen and (min-width: 840px) {
.o-usp__text {
width: 62.5%;
padding-top: 6.25%;
padding-bottom: 6.25%;
padding-left: 0;
padding-right: 12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-usp__text {
width: 50%;
padding: 4.1666666667% 8.3333333333%;
}
}
.o-usp__image {
background-position: 50% 50%;
background-size: cover;
}
@media screen and (max-width: 839px) {
.o-usp__image {
margin-left: -6vw;
margin-right: -6vw;
padding-bottom: 65%;
min-height: 360px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.o-usp__image {
width: 50%;
margin-right: -12.5%;
}
}
@media screen and (min-width: 1152px) {
.o-usp__image {
width: 50%;
}
}
.o-usp__heading {
font-size: 2rem;
line-height: 1.25;
margin-bottom: 24px;
color: #EDF3EE;
}
.o-usp__list {
list-style-type: none;
margin-left: 16px;
}
.o-usp__item {
position: relative;
padding-left: 16px;
}
.o-usp__item + .o-usp__item {
margin-top: 16px;
}
.o-usp__item::before {
content: "";
position: absolute;
top: 5px;
left: -16px;
width: 16px;
height: 12px;
background-image: url(/img/check/checked.svg);
background-size: 16px 12px;
}
.o-usp__action {
margin-top: 48px;
}
.o-usp__image {
background-color: #F0F7FA;
background-repeat: no-repeat;
}
/* 7 - Templates
* Override styling for a specific template
=========================================================== */
/** ==========================================================================
* Templates
* =========================================================================*/
/* 8 - SCOPES
* Elements and classes that are scoped by a parent class
=========================================================== */
.s-checklist {
list-style: none;
margin-left: 0;
}
.s-checklist li {
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
vertical-align: middle;
margin-top: 5px;
line-height: 1.45;
}
.s-checklist li::before {
content: "";
background-image: url(/img/check/checked.svg);
background-repeat: no-repeat;
width: 12px;
height: 12px;
margin-right: 8px;
-webkit-transform: translateY(7px);
transform: translateY(7px);
}
.checklist-has-x-small-font .s-checklist {
font-size: 0.875rem;
line-height: 1.1428571429;
}
.checklist-has-x-small-font .s-checklist li::before {
-webkit-transform: translateY(5px);
transform: translateY(5px);
}
/**
* All text elements that can be added by the user through a CMS
*/
.s-text h2, .s-text h3, .s-text h4 {
color: #1A1A1A;
}
.s-text > * + * {
margin-top: 32px;
}
.s-text > :first-child {
margin-top: 0 !important;
}
.s-text > * + .c-button {
margin-top: 40px;
}
.s-text > ul:not([class]) {
list-style: none;
}
.s-text > ul:not([class]) > li {
position: relative;
margin-left: -1.125em;
padding-left: 1.125em;
}
.s-text > ul:not([class]) > li::before {
font-size: 1.5rem;
line-height: 1.3333333333;
content: "\2022";
position: absolute;
top: -4px;
left: 0;
}
.s-text > ol:not([class]) {
list-style: none;
counter-reset: ol-counter;
}
.s-text > ol:not([class]) > li {
counter-increment: ol-counter;
position: relative;
margin-left: -1.125em;
padding-left: 1.8em;
}
.s-text > ol:not([class]) > li::before {
content: counter(ol-counter) ". ";
position: absolute;
top: 0;
left: 0;
width: 1.275em;
text-align: right;
}
/* 9 - UTILITIES
* High-specificity, very explicit selectors.
* Overrides and helper classes.
=========================================================== */
/** =====================================================================================
* Color
===================================================================================== */
/**
* Here we print out all our helper classes for our defined colors
* Based on these articles:
* - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
* - https://blog.atechmedia.com/css-for-multiple-themes/
* Output is in the form of:
.u-color-primary {
color: #bada55;
}
.u-bg-neutral--dark {
background-color: #decaff;
}
*/
.u-color-primary {
color: #004466;
}
.u-bg-primary {
background-color: #004466;
}
.u-color-primary--2 {
color: #217AA6;
}
.u-bg-primary--2 {
background-color: #217AA6;
}
.u-color-primary--3 {
color: #002A40;
}
.u-bg-primary--3 {
background-color: #002A40;
}
.u-color-secondary {
color: #25D2F7;
}
.u-bg-secondary {
background-color: #25D2F7;
}
.u-color-secondary--2 {
color: #b76e47;
}
.u-bg-secondary--2 {
background-color: #b76e47;
}
.u-color-tertiary {
color: #525d7d;
}
.u-bg-tertiary {
background-color: #525d7d;
}
.u-color-tertiary--2 {
color: #404862;
}
.u-bg-tertiary--2 {
background-color: #404862;
}
.u-color-neutral {
color: #F0F7FA;
}
.u-bg-neutral {
background-color: #F0F7FA;
}
.u-color-neutral--medium {
color: #C8C8C8;
}
.u-bg-neutral--medium {
background-color: #C8C8C8;
}
.u-color-neutral--dark {
color: #1d1d1d;
}
.u-bg-neutral--dark {
background-color: #1d1d1d;
}
.u-color-text {
color: #1A1A1A;
}
.u-bg-text {
background-color: #1A1A1A;
}
.u-color-text--2 {
color: #656565;
}
.u-bg-text--2 {
background-color: #656565;
}
.u-color-text--3 {
color: #999999;
}
.u-bg-text--3 {
background-color: #999999;
}
.u-color-text-on-dark {
color: #ffffff;
}
.u-bg-text-on-dark {
background-color: #ffffff;
}
.u-color-text-on-dark--2 {
color: #ededed;
}
.u-bg-text-on-dark--2 {
background-color: #ededed;
}
.u-color-text-on-dark--3 {
color: #999999;
}
.u-bg-text-on-dark--3 {
background-color: #999999;
}
.u-color-text-on-primary {
color: #EDF3EE;
}
.u-bg-text-on-primary {
background-color: #EDF3EE;
}
.u-color-text-on-primary--2 {
color: #d5dcd5;
}
.u-bg-text-on-primary--2 {
background-color: #d5dcd5;
}
.u-color-text-on-primary--3 {
color: #adbaae;
}
.u-bg-text-on-primary--3 {
background-color: #adbaae;
}
.u-color-text-on-secondary {
color: #fff7f2;
}
.u-bg-text-on-secondary {
background-color: #fff7f2;
}
.u-color-text-on-secondary--2 {
color: #ffe0cc;
}
.u-bg-text-on-secondary--2 {
background-color: #ffe0cc;
}
.u-color-text-on-secondary--3 {
color: #ffd0b3;
}
.u-bg-text-on-secondary--3 {
background-color: #ffd0b3;
}
.u-color-text-on-tertiary {
color: #e1ecfa;
}
.u-bg-text-on-tertiary {
background-color: #e1ecfa;
}
.u-color-text-on-tertiary--2 {
color: #d4e5fa;
}
.u-bg-text-on-tertiary--2 {
background-color: #d4e5fa;
}
.u-color-text-on-tertiary--3 {
color: #bbd8fa;
}
.u-bg-text-on-tertiary--3 {
background-color: #bbd8fa;
}
.u-color-feedback {
color: #4079b8;
}
.u-bg-feedback {
background-color: #4079b8;
}
.u-color-feedback--action {
color: #4079b8;
}
.u-bg-feedback--action {
background-color: #4079b8;
}
.u-color-feedback--warning {
color: #ffd33a;
}
.u-bg-feedback--warning {
background-color: #ffd33a;
}
.u-color-feedback--alert {
color: #ff8100;
}
.u-bg-feedback--alert {
background-color: #ff8100;
}
.u-color-feedback--negative {
color: #cf3e3e;
}
.u-bg-feedback--negative {
background-color: #cf3e3e;
}
.u-color-feedback--positive {
color: #3ecf8e;
}
.u-bg-feedback--positive {
background-color: #3ecf8e;
}
.u-color-light {
color: #ffffff;
}
.u-bg-light {
background-color: #ffffff;
}
.u-color-dark {
color: #000000;
}
.u-bg-dark {
background-color: #000000;
}
.u-color-border {
color: #c8c8c8;
}
.u-bg-border {
background-color: #c8c8c8;
}
.u-color-box-shadow {
color: rgba(0, 0, 0, 0.2);
}
.u-bg-box-shadow {
background-color: rgba(0, 0, 0, 0.2);
}
.u-hidden {
display: none !important;
}
.u-placeholder-image {
height: 100% !important;
-o-object-fit: cover !important;
object-fit: cover !important;
}
@media screen and (max-width: 839px) {
.u-spacing-pv {
padding-top: 12vw;
padding-bottom: 12vw;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.u-spacing-pv {
padding-top: 10vw;
padding-bottom: 10vw;
}
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
.u-spacing-pv {
padding-top: 7.1428571429vw;
padding-bottom: 7.1428571429vw;
}
}
@media screen and (min-width: 1344px) {
.u-spacing-pv {
padding-top: 96px;
padding-bottom: 96px;
}
}
.u-spacing-mb0 {
margin-bottom: 0 !important;
}
@media screen and (min-width: 1152px) {
.u-spacing-pr0\@l {
padding-right: 0 !important;
}
}
/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
/* ==========================================================================
* This grid can be turned on and off when you want to check
* if everything is nice in place.
* Set flag 'showGrid' to true in site.php
* ========================================================================== */
.u-visible-grid {
z-index: 10000;
width: calc(100% - 12vw);
margin-left: auto;
margin-right: auto;
position: fixed;
left: 0;
right: 0;
width: 100%;
pointer-events: none;
/* 8 point grid lines */
}
@media screen and (min-width: 840px) {
.u-visible-grid {
width: calc((100% / 10) * 8);
}
}
@media screen and (min-width: 1152px) {
.u-visible-grid {
width: calc((100% / 14) * 12);
max-width: 1152px;
}
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.u-visible-grid {
padding: 0;
}
}
.u-visible-grid__main {
height: 100vh;
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 25%, rgba(0, 43, 255, 0.04) 25%, rgba(0, 43, 255, 0.04) 50%);
}
@media screen and (min-width: 840px) {
.u-visible-grid__main {
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 12.5%, rgba(0, 43, 255, 0.04) 12.5%, rgba(0, 43, 255, 0.04) 25%);
}
}
@media screen and (min-width: 1152px) {
.u-visible-grid__main {
background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 8.3333333333%, rgba(0, 43, 255, 0.04) 8.3333333333%, rgba(0, 43, 255, 0.04) 16.6666666667%);
}
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8xLVNldHRpbmdzL19zZXR0aW5ncy5jb25maWcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMS1TZXR0aW5ncy9fc2V0dGluZ3MudHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMS1TZXR0aW5ncy9fc2V0dGluZ3MuYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMuZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLm1lZGlhUXVlcmllcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMi1Ub29scy9fdG9vbHMuemluZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8zLUVsZW1lbnRzL19lbGVtZW50cy5iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS8zLUVsZW1lbnRzL19lbGVtZW50cy5oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvMy1FbGVtZW50cy9fZWxlbWVudHMubGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzQtTGF5b3V0cy9fbGF5b3V0cy5jb250YWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS80LUxheW91dHMvX2xheW91dHMuc3BsaXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzItVG9vbHMvX3Rvb2xzLmZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzQtTGF5b3V0cy9fbGF5b3V0cy5yZXN0cmljdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZ2hvc3RidXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb25uZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZGF0YS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1Hcm91cC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1GZWVkYmFjay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhhbWJ1cmdlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhlYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaW5wdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5sYW5ndWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLm5hdi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnBhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlVGl0bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wcm9qZWN0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zZXJ2aWNlUG9pbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zaXRlbWFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2tpcExpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zbGlkZS1pbmRpY2F0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zdWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50ZXh0LWJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnRyYWRlbWFyay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmFjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ibG9jay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNhbGxvdXRCYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY2FyZC1ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNvbnRhY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY29va2llQmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNvb2tpZU92ZXJsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmludHJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmxvZ29zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm1hcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5uZXdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm92ZXJsYXlNZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnF1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnJlZmVyZW5jZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuc3ViZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRhYnNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy50ZWFtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRvcC1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zaXRlLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudXNwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS83LVRlbXBsYXRlcy9fdGVtcGxhdGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS84LVNjb3Blcy9fc2NvcGVzLmNoZWNrbGlzdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvOC1TY29wZXMvX3Njb3Blcy50ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS85LVV0aWxpdGllcy9fdXRpbGl0aWVzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL3NpdGUvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnNoYW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3Mvc2l0ZS85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnZpc2libGVHcmlkLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWdCO0FBQ2hCOzs7Ozs7O2dFQUFBO0FDREE7OzhDQUFBO0FDQUE7Ozs7K0RBQUE7QUNBQTs7OztnRUFBQTtBQU1BOztHQUFBO0FBK0NBOztHQUFBO0FDckRBOztrREFBQTtBSmNBOzsrREFBQTtBS2RBOzsrRUFBQTtBQUlBOzs7SUFBQTtBQWtCQTs7O0lBQUE7QUFRQTs7SUFBQTtBQzlCQTs7Z0ZBQUE7QUFLQTs7Ozs7Ozs7O0dBQUE7QUNMQTtnREFBQTtBQ0FBOztzREFBQTtBQUtBOzs7Ozs7Ozs7O0dBQUE7QUFpQ0E7Ozs7R0FBQTtBQWVBO0FBT0E7QUFPQTtBQVFBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBd0NBOzs7Ozs7Ozs7OztHQUFBO0FBd0JBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUFpQ0E7O0dBQUE7QUFVQTs7Ozs7Ozs7Ozs7OztHQUFBO0FBdUJBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkE7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUFnQkE7Ozs7R0FBQTtBQWtCQTs7O0dBQUE7QUFnQkE7O0dBQUE7QUN6UkE7Ozt3R0FBQTtBQWlCQTs7Ozs7R0FBQTtBVEtBOzsrREFBQTtBVXRCQTs7Z0ZBQUE7QUFJQTs7Ozs7R0FBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDVnFNRjs7QVVsTUE7RUpjTTtFQVJBO0VJSko7RUFDQSxpQlBWa0I7RU9XbEIsa0NQb0NhO0VPbkNiO0VBQ0E7RUFDQTtFQUNBO0NWc01GOztBVWxNQTs7Ozs7O0dBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtDVnFNRjtBVW5NRTtFQUdFO0NWbU1KOztBVS9MQTs7R0FBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQW1CO0NWbU1yQjtBVXRNQTtFQUNFO0VBQ0E7RUFDQTtFQUFtQjtDVm1NckI7O0FVaE1BO0dBQUE7QUFFQTtFQUNFO0NWbU1GOztBVWhNQTs7Ozs7R0FBQTtBQU1BO0VBQ0U7RUFBd0I7RUFDeEI7RUFBYztFQUNkO0NWcU1GOztBVWxNQTs7O0dBQUE7QUFJQTs7O0VBR0U7Q1ZxTUY7O0FVaE1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7VUFBQTtDVm1NRjtBVWpNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUNBO1VBQUE7Q1ZtTUo7QVUvTEk7RUFDRTtFQUNBO0VBQ0E7VUFBQTtDVmlNTjs7QVV6TEE7Ozs7RUFJRTtFQUNBO0NWNExGOztBV3hUQTtFTGdDTTtFQVJBO0NOcVNOOztBV3pUQTtFTDRCTTtFQVJBO0VLbEJMO0NYNlREOztBVzFUQTtFTHVCTTtFQVJBO0VLYkw7Q1g4VEQ7O0FXM1RBO0VMa0JNO0VBUkE7RUtSTDtDWCtURDs7QVc1VEE7RUxhTTtFQVJBO0VLSEw7Q1hnVUQ7O0FZclZBOzt5RkFBQTtBQUtBOztHQUFBO0FBSUE7O0VBRUM7RUFDQTtFQUNBO0NacVZEOztBWWxWQTtFQUNDO0NacVZEOztBWWhWQTs7R0FBQTtBQUtDOztFQUVDO0NaaVZGOztBQWhWQTs7K0RBQUE7QWE5QkE7O2dGQUFBO0FBS0E7RUx5UkM7RUFDQTtFQUNBO0NSMEZEO0FPblZDO0VNbENEO0lMK1JJO0dSMEZGO0NBQ0Y7QU94VkM7RU1sQ0Q7SUxzU0U7SUFDQTtHUndGQTtDQUNGOztBY3JZQTs7OztvRkFBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0Nkc1lEO0FPeldDO0VPaENEO0lDa0VFLHFCQS9CVTtJQStCVixjQS9CVTtJQXNDUjtJQUFBO1lBQUE7R2ZxVUY7Q0FDRjs7QWNuWUE7OztHQUFBO0FBS0E7RU5zUUM7RUFDQTtFQUNBO0NSZ0lEO0FPelhDO0VPZkQ7SU44UUc7R1I4SEQ7Q0FDRjtBTzlYQztFT2ZEO0lObVJFO0lBQ0E7R1I4SEE7Q0FDRjs7QU9wWUM7RU9WRDtJQUlFO0dkK1lBO0NBQ0Y7QU8xWUM7RU9GQTtJQUVFO0lBQ0E7R2Q4WUQ7Q0FDRjtBT2haQztFT0ZBO0lBTUU7SUFDQTtHZGdaRDtDQUNGO0FPdFpDO0VPVUE7SU5xRks7R1IyVEo7Q0FDRjtBTzNaQztFT1VBO0lBTUU7R2QrWUQ7Q0FDRjtBYzFZRTtFQUNDO1VBQUE7Q2Q0WUg7QU9uYUM7RU9zQkM7SUFJRTtJQUNBO0dkNllGO0NBQ0Y7QU96YUM7RU9zQkM7SUFRRTtHZCtZRjtDQUNGOztBTzlhQztFT3VDRTtJQUNDO0lBQ0E7SUFDQTtHZDJZRjtFY3pZQztJQUNDO0dkMllGO0NBQ0Y7QWNyWUE7OztHQUFBO0FQcERDO0VPd0REO0lBRUU7SUFDQTtJQUNBO0lBQ0E7R2R1WUE7Q0FDRjtBT3JjQztFT3dERDtJQVFFO0lBQ0E7R2R5WUE7Q0FDRjs7QWNuWUE7RUFDQztFQUNBO0Nkc1lEO0FPaGRDO0VPd0VEO0lBS0U7SUFDQTtHZHVZQTtDQUNGOztBT3RkQztFT3FGQTtJQUNDO0dkcVlBO0NBQ0Y7QWdCbmdCQTs7Ozs7Z0ZBQUE7QVR1Q0M7RVMvQkQ7SUFFSTtJQUNBO0lBQ0E7SUFDQTtHaEJtZ0JGO0NBQ0Y7QU8xZUM7RVMvQkQ7SUFRSTtHaEJxZ0JGO0NBQ0Y7O0FPL2VDO0VTbkJEO0lBRUk7SUFDQTtJQUNBO0doQnFnQkY7Q0FDRjtBT3ZmQztFU25CRDtJQVFJO0doQnNnQkY7Q0FDRjs7QUE3ZkE7OzsrREFBQTtBaUJ0Q0E7OzhFQUFBO0FDWUE7RUg2REUsNEJBeEJjO0VBd0JkLHFCQXhCYztFQXlCZCx5Qkc3RGE7VUg2RGIsd0JHN0RhO0VIOERiLDBCRzlEYTtVSDhEYixvQkc5RGE7RUhtRVg7RUFBQTtVQUFBO0VQZ0pGO0VGaE1JO0VBUkE7RVlSTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJxaUJEO0FrQm5pQkM7RUFDQztFQUNBO0NsQnFpQkY7QWtCbmlCQztFQUNDO0VBQ0E7Q2xCcWlCRjtBa0JuaUJDO0VBQ0M7RUFDQTtDbEJxaUJGO0FrQmppQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtVQUFBO0NsQm1pQkY7QWtCaGlCQztFQUNDO0VBQ0E7VUFBQTtDbEJraUJGOztBa0I5aEJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2xCaWlCRDtBa0IvaEJDO0VBQ0M7Q2xCaWlCRjs7QWtCN2hCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtDbEJnaUJEO0FrQjloQkM7RUFDQztVQUFBO0NsQmdpQkY7QWtCNWhCQztFQUNDO0VBQ0E7Q2xCOGhCRjtBa0IzaEJDO0VBQ0M7RUFDQTtDbEI2aEJGOztBbUIzbkJBOztnRkFBQTtBQVNBO0VKZ0VFLDRCQXhCYztFQXdCZCxxQkF4QmM7RUF5QmQseUJJaEVhO1VKZ0ViLHdCSWhFYTtFSmlFYiwwQklqRWE7VUppRWIsb0JJakVhO0VKc0VYO0VBQUE7VUFBQTtFUGdKRjtFRmhNSTtFQVJBO0VhWEw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuQjRuQkQ7QW1CMW5CQztFQUNDO0VBQ0E7Q25CNG5CRjtBbUJ6bkJDO0VBQ0M7RUFDQTtDbkIybkJGO0FtQnpuQkM7RUFDQztFQUNBO0NuQjJuQkY7QW1Cdm5CQztFWDBMQztFV3hMQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7Q25CeW5CRjtBbUJybkJFO0VBQ0M7VUFBQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtDbkJ1bkJIOztBbUJsbkJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q25CcW5CRDtBbUJubkJDO0VBQ0M7Q25CcW5CRjs7QW1Cam5CQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtDbkJvbkJEO0FtQmxuQkM7RUFDQztVQUFBO0NuQm9uQkY7QW1Cam5CQztFQUNDO0VBQ0E7Q25CbW5CRjtBbUIvbUJDO0VBQ0M7RUFDQTtDbkJpbkJGOztBb0Jsc0JBO0VBQ0M7RUFDQTtFQUNBO0NwQnFzQkQ7O0FvQmxzQkE7O0dBQUE7QUFHQTtFQUNDO0VBQ0E7Q3BCcXNCRDtBb0Juc0JDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQm9zQkY7QW9CaHNCQztFQUNDO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0NwQmtzQkY7QW9CN3JCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUNBO1VBQUE7Q3BCK3JCRjtBb0IxckJFO0VBQ0M7RUFDRztVQUFBO0VBQ0g7VUFBQTtFQUNBO1VBQUE7Q3BCNHJCSDtBb0J6ckJFO0VBQ0M7RUFDQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7Q3BCMnJCSDtBb0J4ckJDO0VBQ0M7RUFDQTtDcEIwckJGOztBb0J0ckJBO0VBQ0M7RUFDQTtDcEJ5ckJEOztBb0J0ckJBO0VBQ0M7S0FBQTtFQUNBO0NwQnlyQkQ7QU9udkJDO0Vhd0REO0lBS0U7R3BCMHJCQTtDQUNGO0FPeHZCQztFYXdERDtJQVNFO0dwQjJyQkE7Q0FDRjs7QW9CeHJCQTtFZDVFTTtFQVJBO0Vjc0ZMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtVQUFBO0NwQjRyQkQ7QW9CMXJCQztFQUNDO0NwQjRyQkY7QW9CeHJCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7Q3BCMHJCRjtBb0J4ckJFO0VBQ0M7RUFDQTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7Q3BCMHJCSDs7QW9CcnJCQTtFQUNDO0VBQ0E7Q3BCd3JCRDs7QW9CdHJCQTtFZDdITTtFQVJBO0VjdUlMO0NwQjByQkQ7O0FvQnhyQkE7RUFDQztDcEIyckJEOztBb0J6ckJBO0VBQ0M7Q3BCNHJCRDtBb0J6ckJDO0VBQ0M7Q3BCMnJCRjs7QXFCMTFCQTtFTitERSxxQkEvQlU7RUErQlYsY0EvQlU7RUFnQ1YseUJNL0RhO1VOK0RiLHdCTS9EYTtFTmdFYiwwQk1oRWE7VU5nRWIsb0JNaEVhO0VOcUVYO0VBQUE7VUFBQTtFTXBFSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtDckJnMkJEO0FxQjkxQkM7RUFDQztDckJnMkJGO0FxQjcxQkM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckI4MUJGO0FxQjUxQkM7RUFDQztVQUFBO0NyQjgxQkY7QXFCNTFCQztFQUNDO1VBQUE7Q3JCODFCRjtBcUIzMUJDO0VBQ0M7VUFBQTtDckI2MUJGOztBc0JqNEJBO0VQNkRFLHFCQS9CVTtFQStCVixjQS9CVTtFQW9DVDtFQUFBO1VBQUE7Q2ZvMEJIO0FPMzJCQztFZTNCRDtJUDZERSw0QkF4QmM7SUF3QmQscUJBeEJjO0lBeUJkLHlCTzFEYztZUDBEZCx3Qk8xRGM7SVAyRGQsMEJPM0RjO1lQMkRkLG9CTzNEYztJUGdFWjtJQUFBO1lBQUE7R2Z5MEJGO0NBQ0Y7O0FzQnQ0QkE7RWhCWU07RUFSQTtFZ0JGTDtFQUNBO0VBQ0E7RUFDQTtFQUFBO0N0QjA0QkQ7QXNCeDRCQztFQUNDO0VBQ0E7Q3RCMDRCRjtBc0J2NEJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3RCeTRCRjs7QXNCcjRCQTtFQUNDO0VBQ0E7Q3RCdzRCRDtBTzM0QkM7RWVDRDtJQUtFO0d0Qnk0QkE7Q0FDRjs7QXVCNTZCQTtFQUNDO0N2Qis2QkQ7O0F1QjU2QkE7RVIwREUscUJBL0JVO0VBK0JWLGNBL0JVO0VBc0NSO0VBQUE7VUFBQTtDZmczQko7O0F1Qjc2QkE7RUFDQztFQUNBO0VBQ0E7Q3ZCZzdCRDs7QXVCNzZCQTtFQUNDO1VBQUE7RUFDQztFQUNEO0N2Qmc3QkQ7QXVCNzZCRTtFQUNDO0N2Qis2Qkg7QXVCNzZCRTtFQUNDO0N2Qis2Qkg7O0F3QnY4QkE7RWxCcUJNO0VBUkE7RWtCWEo7RUFDQTtFQUNBO0N4QjI4QkY7O0F3Qng4QkE7RUFDRTtDeEIyOEJGO0F3Qno4QkU7RWxCV0k7RUFSQTtFa0JERjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEI0OEJKOztBeUI3OUJBO0VuQm9CTTtFQVJBO0VFcU1KO0VpQjlNQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6QmkrQkY7QXlCLzlCRTtFQUNFO0N6QmkrQko7QXlCOTlCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pCZytCSjtBeUI3OUJFO0VBQ0U7Q3pCKzlCSjs7QTBCdi9CQTtFWCtERSxxQkEvQlU7RUErQlYsY0EvQlU7RUFnQ1YseUJXL0RhO1VYK0RiLHdCVy9EYTtFWGdFYiwwQldoRWE7VVhnRWIsb0JXaEVhO0VYcUVYO0VBQUE7VUFBQTtFV3BFSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUI2L0JEO0EwQjMvQkM7RUFDQztDMUI2L0JGO0EwQjEvQkM7RUFDQztDMUI0L0JGO0EwQnovQkM7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtDMUJ5L0JGO0EwQnQvQkM7RUFDQztFQUNBO1VBQUE7QzFCdy9CRjtBMEJyL0JDO0VBQ0M7RUFDQTtVQUFBO0MxQnUvQkY7QTBCbi9CRTtFQUNDO1VBQUE7QzFCcS9CSDtBMEJuL0JFO0VBRUM7VUFBQTtDMUJvL0JIO0EwQi8rQkU7RUFDQztVQUFBO0MxQmkvQkg7QTBCLytCRTtFQUNDO1VBQUE7RUFDQTtVQUFBO0MxQmkvQkg7QTBCLytCRTtFQUNDO1VBQUE7RUFDQTtVQUFBO0MxQmkvQkg7O0EyQmxrQ0E7RXJCZ0NNO0VBUkE7RXFCdEJMO0VBQ0E7QzNCc2tDRDs7QU9saUNDO0VvQmpDRDtJQUVFO0czQnNrQ0E7Q0FDRjs7QU94aUNDO0VxQnpCRDtJcEJnUkM7SUFDQTtJQUNBO0dSc3pCQztDQUNGO0FPaGpDQztFcUJ6QkQ7SXBCc1JJO0dSdXpCRjtDQUNGO0FPcmpDQztFcUJ6QkQ7SXBCNlJFO0lBQ0E7R1JxekJBO0NBQ0Y7O0E0QjNrQ0E7RUFDRTtFQUNBO0M1QjhrQ0Y7O0E0QjNrQ0E7RUFDRTtFQUVBO0VBQ0E7QzVCNmtDRjtBT3RrQ0M7RXFCWEQ7SUFPSTtHNUI4a0NGO0NBQ0Y7O0E0QjNrQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0M1QjhrQ0Y7QTRCNWtDRTtFQUNFO0VBQ0E7VUFBQTtFQUNBO1VBQUE7QzVCOGtDSjs7QTRCMWtDQTtFQUNFO0M1QjZrQ0Y7O0E0QjFrQ0E7RXBCbU5DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW9Cck5DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVCaWxDRjtBTy9tQ0M7RXFCcUJEO0lBaUJJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RzVCNmtDRjtDQUNGO0FPeG5DQztFcUJxQkQ7SUEwQkk7SUFDQTtJdEJ2REU7SUFSQTtHTjhvQ0o7Q0FDRjtBT2hvQ0M7RXFCcUJEO0l0QjVCTTtJQVJBO0lzQnNFRjtHNUIra0NGO0NBQ0Y7O0E0QjVrQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1QitrQ0Y7QTRCN2tDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtDNUIra0NKOztBNEJ6a0NBO0ViOUNFLHFCQS9CVTtFQStCVixjQS9CVTtFQWdDVix5QmFrRGM7VWJsRGQsd0Jha0RjO0ViakRkLDBCYWlEYztVYmpEZCxvQmFpRGM7RWI1Q1o7RUFBQTtVQUFBO0VhNkNGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUFBO0M1QjJrQ0Y7QU8zcUNDO0VxQmdGRDtJQUVJO0c1QjZsQ0Y7Q0FDRjtBNEI5a0NFO0VBQ0U7RUFBQTtFQUFBO0VBQUE7QzVCZ2xDSjtBNEI3a0NFO0VBQ0U7RUFDQTtDNUIra0NKO0E0QjdrQ0k7RUFDRTtVQUFBO0M1QitrQ047QTRCM2tDRTtFQUNFO0VBQ0E7RUFDQTtDNUI2a0NKOztBNEJ4a0NBOzs7R0FBQTtBQy9JQTtFdkJpQk07RUFSQTtFdUJQTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCK3RDRDtBNkI3dENDO0VBQ0M7RUFDQTtDN0IrdENGO0E2QjV0Q0M7RUFDQztFQUNBO0M3Qjh0Q0Y7QTZCM3RDVTtFQUNSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCNnRDRjs7QThCbnZDQTtFQUNDO0VBQ0E7QzlCc3ZDRDtBOEJwdkNDO0VBQ0M7QzlCc3ZDRjs7QThCbHZDQTtFZitDRSxxQkEvQlU7RUErQlYsY0EvQlU7RUFzQ1I7RUFBQTtVQUFBO0VUaERFO0VBUkE7RUVxTUo7RXNCL0xEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFBQTtDOUJ1dkNEO0E4QnJ2Q0M7RUFDQztDOUJ1dkNGO0E4QnB2Q0M7RUFDQztDOUJzdkNGOztBOEJsdkNBO0VBQ0M7VUFBQTtFQUNBO0M5QnF2Q0Q7O0E4Qmx2Q0E7RUFDQztFQUNBO0M5QnF2Q0Q7O0E4Qmx2Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUFBO0VBQUE7RUFBQTtDOUJxdkNEO0E4Qm52Q0M7RUFDQztFQUNBO0VBQ0E7VUFBQTtDOUJxdkNGOztBOEJqdkNBO0VBQ0M7RUFDQTtDOUJvdkNEO0E4Qmx2Q0M7RUFDQztDOUJvdkNGO0E4Qmp2Q0M7RUFDQztDOUJtdkNGO0E4Qmh2Q0M7RUFDQztDOUJrdkNGO0E4Qi91Q0M7RUFDQztDOUJpdkNGOztBOEI3dUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtDOUJndkNEO0E4Qjl1Q0M7RUFDQztFQUNBO0M5Qmd2Q0Y7O0ErQmoxQ0E7RUFDQztFQUNBO0MvQm8xQ0Q7O0ErQmoxQ0E7RWhCcURFLHFCQS9CVTtFQStCVixjQS9CVTtFQWdDVixzQmdCckRhO1VoQnFEYiwwQmdCckRhO0VoQnNEYiwwQmdCdERhO1VoQnNEYixvQmdCdERhO0VoQjJEWDtFQUFBO1VBQUE7RWdCMURIO0VBQ0E7RUFDQTtDL0J1MUNEOztBK0JwMUNBO0VBQ0M7Qy9CdTFDRDtBK0JyMUNDO0VBQ0M7Qy9CdTFDRjtBTy8wQ0M7RXdCWkQ7SUFRRTtJQUNBO0cvQnUxQ0E7Q0FDRjtBT3IxQ0M7RXdCWkQ7SUFhRTtHL0J3MUNBO0NBQ0Y7QU8xMUNDO0V3QlpEO0lBaUJFO0cvQnkxQ0E7Q0FDRjs7QStCdDFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0MvQnkxQ0Q7QStCdjFDQztFQUNDO0MvQnkxQ0Y7QStCdDFDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7Qy9CdzFDRjtBK0J0MUNFO0VBQ0M7Qy9CdzFDSDtBK0JuMUNFO0VBQ0M7VUFBQTtFQUNBO1VBQUE7Qy9CcTFDSDtBK0JqMUNDO0VBQ0M7Qy9CbTFDRjtBK0JqMUNFO0VBQ0M7RUFDQTtVQUFBO0VBQ0E7VUFBQTtDL0JtMUNIO0ErQi8wQ0M7RUFDQztDL0JpMUNGOztBZ0NwNkNBO0VqQjZERSw0QkF4QmM7RUF3QmQscUJBeEJjO0VBeUJkLHlCaUI3RGE7VWpCNkRiLHdCaUI3RGE7RWpCOERiLDBCaUI5RGE7VWpCOERiLG9CaUI5RGE7RWpCbUVYO0VBQUE7VUFBQTtFUGdKRjtFd0JqTkQ7RUFDQTtFQUNBO0VBQ0E7Q2hDMDZDRDs7QWdDdjZDQTtFakJvREUscUJBL0JVO0VBK0JWLGNBL0JVO0VBZ0NWLHlCaUJwRGE7VWpCb0RiLHdCaUJwRGE7RWpCcURiLDBCaUJyRGE7VWpCcURiLG9CaUJyRGE7RWpCMERYO0VBQUE7VUFBQTtDZm0zQ0o7QU81NUNDO0V5QmxCRDtJQUtFO0doQzY2Q0E7RWdDMzZDQTtJQUlDO0lBQUE7R2hDMDZDRDtFZ0N2NkNBO0lBQ0M7R2hDeTZDRDtDQUNGO0FnQ3Q2Q0M7RUFDQztFQUNBO0NoQ3c2Q0Y7O0FnQ3A2Q0E7Ozs7RWpCMkJFLHFCQS9CVTtFQStCVixjQS9CVTtFQWdDVix5QmlCeEJhO1VqQndCYix3QmlCeEJhO0VqQnlCYiwwQmlCekJhO1VqQnlCYixvQmlCekJhO0VqQjhCWDtFQUFBO1VBQUE7RWlCN0JIO0VBQ0E7RUFDQTtDaEMwNkNEOztBZ0N2NkNBO0VBQ0M7RUFDQTtDaEMwNkNEOztBZ0N2NkNBO0VBQ0M7RUFDQTtFQUNBO0VBQUE7Q2hDMDZDRDtBZ0N4NkNDO0VBQ0M7RUFDQTtDaEMwNkNGO0FnQ3Y2Q0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDaEN5NkNGOztBZ0NyNkNBOztFQUVDO0VBQUE7RUFDQTtVQUFBO0NoQ3c2Q0Q7QWdDdDZDQzs7RUFDQztFQUNBO0NoQ3k2Q0Y7O0FnQ3I2Q0E7RUFDQztVQUFBO0NoQ3c2Q0Q7O0FpQ25nREE7O0dBQUE7QUFJQTtFekIwUkM7RUFDQTtFQUNBO0VBakJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXlCNVFDO0VBQ0E7RUFDQTtDakMyZ0RGO0FPNytDQztFMEJuQ0Q7SXpCZ1NJO0dSb3ZDRjtDQUNGO0FPbC9DQztFMEJuQ0Q7SXpCdVNFO0lBQ0E7R1JrdkNBO0NBQ0Y7QU94L0NDO0UwQm5DRDtJQVFJO0lBQ0E7R2pDdWhERjtDQUNGOztBaUNwaERBO0VBQ0U7RUFDQTtFQUNBO0NqQ3VoREY7QU9wZ0RDO0UwQnRCRDtJQU1JO0dqQ3doREY7Q0FDRjtBT3pnREM7RTBCdEJEO0lBU0k7R2pDMGhERjtDQUNGOztBTzlnREM7RTBCVEQ7SUFFSTtJQUNBO0dqQzBoREY7Q0FDRjs7QWlDdmhEQTtFM0JMTTtFQVJBO0UyQmVKO0NqQzJoREY7O0FpQ3hoREE7RUFDRTtDakMyaERGOztBa0N0a0RBO0VBQ0M7RUFDQTtDbEN5a0REOztBa0N0a0RBO0VBS0M7RUFBQTtFQUNBO0VBQUE7RUFDQTtFQUFBO0VBQ0E7Q2xDcWtERDtBa0Nqa0RBO0U1QmVNO0VBUkE7RTRCTEw7RUFBQTtFQUNBO0VBQUE7RUFDQTtNQUFBO2FBQUE7VUFBQTtFQUNBO0VBQ0E7Q2xDb2tERDs7QWtDamtEQTtFQUNDO0VBQUE7RUFDQTtFQUFBO0VBQ0E7TUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtDbENva0REO0FrQ2xrREM7RUFDQztDbENva0RGOztBa0MvakRBO0VBQ0M7RUFBQTtFQUNBO0VBQUE7RUFDQTtNQUFBO0VBQ0E7RUFDQTtDbENra0REOztBa0MvakRBO0VBRUM7RUFDQTtFQUNBO0tBQUE7Q2xDaWtERDtBT2hsREM7RTJCV0Q7SUFPRTtHbENra0RBO0NBQ0Y7O0FtQzVuREE7RXBCbURNO0VBc0JKLDRCQXhCYztFQXdCZCxxQkF4QmM7RUF5QmQsd0JvQnpFYTtVcEJ5RWIsNEJvQnpFYTtFcEIwRWIsMEJvQjFFYTtVcEIwRWIsb0JvQjFFYTtFcEIrRVg7RUFBQTtVQUFBO0VvQjlFSDtFQUNBO0NuQ21vREQ7O0FtQ2hvREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDbkNtb0REO0FPdG1EQztFNEJqQ0Q7SUFPRTtHbkNvb0RBO0NBQ0Y7O0FtQ2pvREE7RTNCOFBDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTJCaFFBO0VBQUE7RUFDQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7Q25Dd29ERDs7QW1Dcm9EQTtFQUNDO0VBQUE7RUFDQTtNQUFBO0NuQ3dvREQ7O0FtQ3JvREE7RUFDQztFQUFBO0VBQ0E7Q25Dd29ERDs7QW1Dcm9EQTtFQUNDO0VBQUE7Q25Dd29ERDs7QW1Dcm9EQTtFN0JSTTtFQVJBO0U2QmtCTDtFQUNBO0NuQ3lvREQ7O0FtQ3RvREE7RTdCZE07RUFSQTtFNkJ3Qkw7Q25DMG9ERDs7QW9DMXJEQTtFOUJnQ007RUFSQTtFOEJ0Qkw7Q3BDOHJERDs7QW9DM3JEQTtFQUNDO0VBQ0E7RUFDQTtDcEM4ckREO0FvQzVyREM7RUFDQztFQUNBO0NwQzhyREY7O0FxQzFzREE7O0dBQUE7QUFJQTtFL0I0Qk07RUFSQTtFK0JsQko7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7Q3JDNnNERjtBcUMzc0RFO0VBQ0U7RUFDQTtFQUNBO0VBQVU7Q3JDOHNEZDs7QXNDeHNEQTtFdkJtREUscUJBL0JVO0VBK0JWLGNBL0JVO0VBZ0NWLHNCdUJuRGE7VXZCbURiLDBCdUJuRGE7RXZCb0RiLDBCdUJwRGE7VXZCb0RiLG9CdUJwRGE7RXZCeURYO0VBQUE7VUFBQTtDZnFwREo7O0FzQzNzREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RDOHNERDtBc0M1c0RDO0VBQ0M7Q3RDOHNERjtBc0Mzc0RDO0VBQ0M7VUFBQTtDdEM2c0RGO0FzQzFzREM7RUFDQztVQUFBO0N0QzRzREY7QXNDenNEQztFQUNDO0VBQ0E7Q3RDMnNERjtBc0N4c0RDO0VBQ0M7RUFDQTtDdEMwc0RGOztBc0N0c0RBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7VUFBQTtDdEN5c0REO0FzQ3ZzREM7RUFDQztDdEN5c0RGO0FzQ2xzREM7RUFFQztDdENtc0RGO0FzQ2hzREM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBRUM7Q3RDZ3NESDtBc0M1ckRDO0VBRUMsNEJBRFM7RUFFVCw4QkFGUztFQUdULCtCQUhTO0VBSVQsNkJBSlM7RUFLVDtDdEM2ckRGO0FzQzFyREM7RUFFQyw2QkFEUztFQUVULCtCQUZTO0VBR1QsZ0NBSFM7RUFJVCw4QkFKUztFQUtUO0VBQ0E7VUFBQTtFQUNBO0N0QzJyREY7QXNDdnJERTtFQUNDO0VBQ0E7RUFDQTtVQUFBO0N0Q3lyREg7QXNDdHJERTtFQUNDO0VBQ0E7VUFBQTtDdEN3ckRIO0FzQ3ByREM7RUFDQztDdENzckRGO0FzQ3ByREU7RUFFQztDdENxckRIO0FzQ2xyREU7RUFFQztDdENtckRIOztBdUM5eURBO0VBQ0M7RUFDQTtFQUNBO0N2Q2l6REQ7QU8zeERDO0VnQ3pCRDtJQU1FO0d2Q2t6REE7Q0FDRjtBT2h5REM7RWdDZkM7SUFDQztHdkNrekREO0NBQ0Y7QU9yeURDO0VnQ3pCRDtJQWdCRTtJQUNBO0d2Q2t6REE7Q0FDRjs7QXVDL3lEQTtFQUNDO0VBQ0E7RUFDQTtDdkNrekREOztBdUMveURBO0VBQ0M7Q3ZDa3pERDs7QXVDL3lEQTtFQUNDO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtDdkNrekREO0F1Q2h6REM7RUFDQztDdkNrekRGO0F1Qy95REM7RUFDQztDdkNpekRGO0F1Qzl5REM7RUFDQztFQUNBO0N2Q2d6REY7QXVDN3lEQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZDK3lERjtBdUM3eURFO0VBQ0M7RUFDQTtDdkMreURIOztBdUMxeURBO0VBQ0M7RUFBQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7VUFBQTtDdkM2eUREO0F1QzN5REM7RUFDQztVQUFBO0VBQ0E7Q3ZDNnlERjtBdUMxeURDO0VBQ0M7Q3ZDNHlERjs7QXdDcjREQTs7O0dBQUE7QUFLQTtFekIwREUsNEJBeEJjO0VBd0JkLHFCQXhCYztFQXlCZCx5QnlCMURhO1V6QjBEYix3QnlCMURhO0V6QjJEYiwwQnlCM0RhO1V6QjJEYixvQnlCM0RhO0V6QmdFWDtFQUFBO1VBQUE7RXlCL0RIO0VBQXNDO0VBQ3RDO0VBQVk7RUFDWjtFQUErQjtFQUMvQjtFQUFjO0VBQ2Q7RUFDQTtFQUNBO0VBQUE7Q3hDODRERDtBd0M1NERDO0VBQ0M7Q3hDODRERjtBd0M1NERDO0VBQ0M7RUFDQTtDeEM4NERGO0F3QzU0REM7RUFDQztDeEM4NERGOztBd0MxNERBO0VsQ0xNO0VBUkE7Q040NUROOztBd0MzNERBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7Q3hDODRERDtBd0M1NERDO0VBQ0M7VUFBQTtDeEM4NERGO0F3QzM0REM7RUFDQztDeEM2NERGOztBd0N2NERDO0VBQXNCO1VBQUE7Q3hDMjREdkI7QXdDMTREQztFQUNDO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0N4QzQ0REY7QXdDMTREQztFQUNDO1VBQUE7Q3hDNDRERjs7QXdDeDREQTtFQUNDO0N4QzI0REQ7O0F5QzE4REE7RTFCZ0VFLDRCQXhCYztFQXdCZCxxQkF4QmM7RUF5QmQseUIwQmhFYTtVMUJnRWIsd0IwQmhFYTtFMUJpRWIsMEIwQmpFYTtVMUJpRWIsb0IwQmpFYTtFMUJzRVg7RUFBQTtVQUFBO0UwQnJFSDtFQUNBO0VBQUE7Q3pDZzlERDtBeUM5OERDO0VBQ0M7Q3pDZzlERjtBeUM3OERDO0VBQ0M7Q3pDKzhERjs7QXlDMzhEQTtFQUNDO0VBQ0E7Q3pDODhERDs7QXlDMzhEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQUE7Q3pDODhERDtBeUM1OERDO0VBQ0M7Q3pDODhERjs7QTBDai9EQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFDby9ERjs7QTBDai9EQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFDby9ERjs7QUFsOURBOzsrREFBQTtBMkMvQ0E7OzhFQUFBO0FDb0JBO0VwQzBRQztFQUNBO0VBQ0E7Q1I2dUREO0FPdCtEQztFcUNuQkQ7SXBDZ1JJO0dSNnVERjtDQUNGO0FPMytEQztFcUNuQkQ7SXBDdVJFO0lBQ0E7R1IydURBO0NBQ0Y7O0E0Q2hnRUE7RXBDd01FO0VvQ3JNRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO1VBQUE7QzVDa2dFRDtBUS94REM7RUFDQyxpQm9DNU9ZO0M1QzZnRWQ7QTRDbmdFQztFQUNDO0M1Q3FnRUY7O0E0Q2pnRUE7RTdCaUNFLHFCQS9CVTtFQStCVixjQS9CVTtFQWdDVix3QjZCakNhO1U3QmlDYiw0QjZCakNhO0U3QmtDYiwwQjZCbENhO1U3QmtDYixvQjZCbENhO0U3QnVDWDtFQUFBO1VBQUE7RTZCdENIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDNUN1Z0VEO0FPL2dFQztFcUNDRDtJQVVFO0c1Q3dnRUE7Q0FDRjtBT3BoRUM7RXFDQ0Q7SUFhRTtHNUMwZ0VBO0NBQ0Y7QTRDdmdFQztFQUNDO0M1Q3lnRUY7O0E0Q3JnRUE7RUFDQztVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7QzVDd2dFRDtBTzdpRUM7RXFDdUJEO0lBaUJFO0c1Q3lnRUE7Q0FDRjtBT2xqRUM7RXFDdUJEO0lBb0JFO0c1QzJnRUE7Q0FDRjtBNEN6Z0VDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7QzVDMGdFRjtBNEN0Z0VFO0VBQ0M7VUFBQTtDNUN3Z0VIO0E0Q3BnRUM7RUFDQztVQUFBO0M1Q3NnRUY7QTRDcGdFRTtFQUNDO1VBQUE7QzVDc2dFSDs7QTRDamdFQTtFdENuRk07RUFSQTtFc0M2Rkw7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0M1Q3FnRUQ7QU94bEVDO0VxQzRFRDtJdENuRk07SUFSQTtHTjRtRUo7Q0FDRjs7QTRDcGdFQTtBQUNBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFFQTtFQUFBO0M1Q3FnRUQ7QVFuNURDO0VBQ0MsbUJBRjJCO0NSdTVEN0I7QU81bUVDO0VxQzJGRDtJQVlFO0c1Q3lnRUE7Q0FDRjtBT2puRUM7RXFDMkZEO0lBZUU7RzVDMmdFQTtDQUNGO0E0Q3pnRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBRUE7RUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtDNUMwZ0VGOztBT2hvRUM7RXNDdkNEO0lyQ3NJTTtHUnNpRUo7Q0FDRjtBT3RvRUM7RXNDdkNEO0lyQzZKTTtHUm9oRUo7Q0FDRjtBTzNvRUM7RXNDdkNEO0lyQ2tLTTtHUm9oRUo7Q0FDRjtBT2hwRUM7RXNDdkNEO0lyQ3VLTTtHUm9oRUo7Q0FDRjtBT3JwRUM7RXNDakNBO0lyQ2dJSztHUjBqRUo7Q0FDRjtBTzFwRUM7RXNDakNBO0lyQ3VKSztHUndpRUo7Q0FDRjtBTy9wRUM7RXNDakNBO0lyQzRKSztHUndpRUo7Q0FDRjtBT3BxRUM7RXNDakNBO0lyQ2lLSztHUndpRUo7Q0FDRjs7QThDaHRFQzs7O0VBQUE7QUFLRDtFckNvQkM7RXFDbEJBO0M5Q2t0RUQ7O0ErQzlzRUE7RXZDb1FDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXVDdFFBO0VBQ0E7RUFDQztDL0NxdEVGOztBK0NsdEVBO0V2QzRRQztFQUNBO0VBQ0E7Q1IwOEREO0FPbnNFQztFd0NyQkQ7SXZDa1JJO0dSMDhERjtDQUNGO0FPeHNFQztFd0NyQkQ7SXZDeVJFO0lBQ0E7R1J3OERBO0NBQ0Y7QU85c0VDO0V3Q3JCRDtJdkNvSE07SUFBQTtHUm9uRUo7Q0FDRjtBT3B0RUM7RXdDckJEO0l2QzJJTTtJQUFBO0dSbW1FSjtDQUNGO0FPMXRFQztFd0NyQkQ7SXZDZ0pNO0lBQUE7R1JvbUVKO0NBQ0Y7QU9odUVDO0V3Q3JCRDtJdkNxSk07SUFBQTtHUnFtRUo7Q0FDRjtBT3R1RUM7RXdDYkE7SXZDNEdLO0dSMm9FSjtDQUNGO0FPM3VFQztFd0NiQTtJdkNtSUs7R1J5bkVKO0NBQ0Y7QU9odkVDO0V3Q2JBO0l2Q3dJSztHUnluRUo7Q0FDRjtBT3J2RUM7RXdDYkE7SXZDNklLO0dSeW5FSjtDQUNGOztBK0Nod0VBO0V6Q0RNO0VBUkE7Q044d0VOOztBZ0R0eUVBOzs7R0FBQTtBekN1Q0M7RXlDeEJEO0lqQ29DTTtJQXNCSixxQkEvQlU7SUErQlYsY0EvQlU7SUFzQ1I7SUFBQTtZQUFBO0dmaXVFRjtDQUNGOztBTzN3RUM7RXlDZEc7SUFDRTtHaEQ2eEVKO0NBQ0Y7QU9qeEVDO0V5Q2xCRDtJQVdJO0lBQ0E7R2hENHhFRjtDQUNGO0FPdnhFQztFeUNsQkQ7SUFpQkk7WUFBQTtJQUVBO0lBQ0E7R2hEMnhFRjtFZ0R6eEVFO0lBQ0U7R2hEMnhFSjtFZ0R4eEVFO0lBQ0U7R2hEMHhFSjtDQUNGO0FPcHlFQztFeUNsQkQ7SUFpQ0k7WUFBQTtJQUVBO0lBQ0E7R2hEd3hFRjtFZ0R0eEVFO0lBQ0U7R2hEd3hFSjtFZ0RyeEVFO0lBQ0UsaUJBeERrQjtHaEQrMEV0QjtDQUNGOztBaUQ5MEVBO0V6Q29SQztFQUNBO0VBQ0E7RXlDcFJBO0NqRG0xRUQ7QU94ekVDO0UwQzdCRDtJekMwUkk7R1IrakVGO0NBQ0Y7QU83ekVDO0UwQzdCRDtJekNpU0U7SUFDQTtHUjZqRUE7Q0FDRjtBT24wRUM7RTBDN0JEO0lsQytERSxxQkEvQlU7SUErQlYsY0EvQlU7SUFzQ1I7SUFBQTtZQUFBO0dmK3hFRjtDQUNGOztBaUQ3MUVBO0VBQ0M7Q2pEZzJFRDtBTzcwRUM7RTBDcEJEO0lBSUU7R2pEaTJFQTtDQUNGO0FPbDFFQztFMENwQkQ7SUFRRTtJQUNBO0lBQ0E7R2pEazJFQTtDQUNGOztBaUQvMUVBO0VBQ0M7Q2pEazJFRDtBTzcxRUM7RTBDTkQ7SUFLRTtJQUNBLGFoRGhCeUI7SWdEaUJ6QjtJQUNBO0lBQ0E7WUFBQTtHakRrMkVBO0NBQ0Y7QU90MkVDO0UwQ05EO0lBYUU7R2pEbTJFQTtDQUNGO0FPMzJFQztFMENORDtJQWlCRTtJQUNBO0lBQ0E7R2pEbzJFQTtDQUNGOztBaURqMkVBO0V6Q3VOQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VGblBLO0VBUkE7RTJDbUNMO0VBQ0E7Q2pEeTJFRDs7QWlEdDJFQTtFQUNDO0NqRHkyRUQ7O0FpRHQyRUE7RUFDQztDakR5MkVEOztBaUR0MkVBO0VBQ0M7Q2pEeTJFRDs7QWtEajdFQTtFekN5QkM7RXlDdkJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWpEa0IyQjtFaURqQjNCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtVQUFBO0NsRG83RUQ7QWtEajdFQztFbkMwREMscUJBL0JVO0VBK0JWLGNBL0JVO0VBZ0NWLHdCbUMxRGM7VW5DMERkLDRCbUMxRGM7RW5DMkRkLDBCbUMzRGM7VW5DMkRkLG9CbUMzRGM7RW5DZ0VaO0VBQUE7VUFBQTtDZnMzRUo7QWtEbjdFQztFQUNDO0VBQ0E7VUFBQTtDbERxN0VGOztBa0RqN0VBO0VuQ2dERSxxQkEvQlU7RUErQlYsY0EvQlU7RUFnQ1YseUJtQ2hEYTtVbkNnRGIsd0JtQ2hEYTtFbkNpRGIsMEJtQ2pEYTtVbkNpRGIsb0JtQ2pEYTtFbkNzRFg7RUFBQTtVQUFBO0NmaTRFSjtBTzE2RUM7RTJDZEQ7SUFHRTtZQUFBO0dsRHk3RUE7Q0FDRjs7QWtEdDdFQTtFQUNDO0VBQ0E7Q2xEeTdFRDtBT3A3RUM7RTJDUEQ7STVDQU07SUFSQTtHTnc4RUo7Q0FDRjs7QWtEeDdFQTtFQUNDO0VBQ0E7RUFBQTtDbEQyN0VEO0FrRHo3RUM7RUFDQztDbEQyN0VGOztBa0R2N0VBO0VBQ0M7VUFBQTtFQUNBO0NsRDA3RUQ7QU92OEVDO0UyQ1dEO0lBS0U7R2xEMjdFQTtDQUNGOztBbURuL0VBO0VBQ0U7RTFDd0JEO0UwQ3RCQztFQUNBO0VwQ3FFQSxxQkEvQlU7RUErQlYsY0EvQlU7RUFnQ1YseUJvQ3BFYztVcENvRWQsd0JvQ3BFYztFcENxRWQsMEJvQ3JFYztVcENxRWQsb0JvQ3JFYztFcEMwRVo7RUFBQTtVQUFBO0VvQ3pFRjtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQUE7Q25EdS9FRjtBbURyL0VFO0VBQ0U7Q25EdS9FSjtBbURwL0VFO0VBQ0U7Q25Ecy9FSjs7QW1EbC9FQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkRxL0VGOztBbURqL0VFO0VBQ0U7Q25Eby9FSjs7QW1EaC9FQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25EbS9FRjs7QW1EaC9FQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NuRG0vRUY7O0FtRGgvRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0NuRG0vRUY7QW1Eai9FRTtFQUNFO0NuRG0vRUo7O0FtRC8rRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0NuRGcvRUY7QW1EOStFRTtFQUNFO0NuRGcvRUo7O0FtRDUrRUE7RUFDRTtDbkQrK0VGO0FtRDcrRUU7RUFDRTtDbkQrK0VKOztBbUQzK0VBO0VBQ0U7Q25EOCtFRjs7QW9EbGtGQTtFM0NjQztFMkNaQTtFQUNBO0NwRHFrRkQ7O0FvRGxrRkE7RTVDNlFDO0VBQ0E7RUFDQTtDUnl6RUQ7QU9sakZDO0U2Q3RCRDtJNUNtUkk7R1J5ekVGO0NBQ0Y7QU92akZDO0U2Q3RCRDtJNUMwUkU7SUFDQTtHUnV6RUE7Q0FDRjtBTzdqRkM7RTZDdEJEO0k1Q3FITTtJQUFBO0dSbStFSjtDQUNGO0FPbmtGQztFNkN0QkQ7STVDNElNO0lBQUE7R1JrOUVK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MEZDO0UrQ2dCRDtJQUlFO0d0RGl6RkE7Q0FDRjs7QXNEOXlGQTtFQUNDO0N0RGl6RkQ7QU8xMEZDO0UrQ3dCRDtJQUlFO0d0RGt6RkE7Q0FDRjs7QXNEL3lGQTtFQUNDO1VBQUE7Q3REa3pGRDtBc0RoekZDO0VBQ0M7RUFDQTtDdERrekZGOztBc0Q5eUZBO0VBQ0M7RUFDQTtDdERpekZEOztBTzUxRkM7RStDOENEO0lBRUU7R3REaXpGQTtDQUNGOztBdUQ5M0ZBO0VBQ0M7RUFDQTtDdkRpNEZEO0FPdjJGQztFZ0R4QkE7SS9DdUhLO0dSNHdGSjtDQUNGO0FPNTJGQztFZ0R4QkE7SS9DOElLO0dSMHZGSjtDQUNGO0FPajNGQztFZ0R4QkE7SS9DbUpLO0dSMHZGSjtDQUNGO0FPdDNGQztFZ0R4QkE7SS9Dd0pLO0dSMHZGSjtDQUNGOztBdUQzNEZDO0VBQ0M7Q3ZEODRGRjs7QXVEMTRGQTtFQUNDO0N2RDY0RkQ7QU9uNEZDO0VnRFhEO0kvQzBHTTtHUnd5Rko7Q0FDRjtBT3g0RkM7RWdEWEQ7SS9DaUlNO0dSc3hGSjtDQUNGO0FPNzRGQztFZ0RYRDtJL0NzSU07R1JzeEZKO0NBQ0Y7QU9sNUZDO0VnRFhEO0kvQzJJTTtHUnN4Rko7Q0FDRjtBT3Y1RkM7RWdESEM7SUFDQztHdkQ2NUZEO0NBQ0Y7O0FPNTVGQztFZ0RLQztJQUNDO0lBQ0E7SUFDQTtZQUFBO0d2RDI1RkQ7Q0FDRjtBT3A2RkM7RWdEYUM7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d2RDA1RkQ7Q0FDRjs7QXdEbDlGQTtFekM4Q007RUFzQkoscUJBL0JVO0VBK0JWLGNBL0JVO0VBc0NSO0VBQUE7VUFBQTtFeUN6RUg7RUFDQTtFQUNBO0N4RHU5RkQ7QU96N0ZDO0VpRGxDRDtJQU9FO0d4RHc5RkE7Q0FDRjs7QXdEcjlGQTtFQUNDO1VBQUE7RUFDQSxnQkFsQnlCO0N4RDArRjFCO0FPbjhGQztFaUR2QkQ7SUFLRTtHeER5OUZBO0NBQ0Y7QU94OEZDO0VpRHZCRDtJQVFFO0d4RDI5RkE7Q0FDRjtBTzc4RkM7RWlE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c0RzQkw7QzVEdzBHRDtBNER0MEdDO0VBQVk7QzVEeTBHYjtBNER4MEdDO0VBQVk7QzVEMjBHYjs7QTREeDBHQTtFQUNDO0VBQ0E7QzVEMjBHRDs7QTREeDBHQTtFdER6Qk07RUFSQTtFc0RtQ0w7QzVENDBHRDs7QTREejBHQTtFdEQ5Qk07RUFSQTtFc0R3Q0w7QzVENjBHRDs7QTZEOTNHQTtFOUNvQ007RUFzQkoscUJBL0JVO0VBK0JWLGNBL0JVO0VBc0NSO0VBQUE7VUFBQTtFOEMvREg7QzdEbTRHRDs7QTZEaDRHQTtFckR5TUU7RXFEdk1EO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdEbTRHRDtBT3gzR0M7RXNEbkJEO0lBV0U7RzdEbzRHQTtDQUNGOztBNkRqNEdBO0U5Q2dCTTtFQXNCSixxQkEvQlU7RUErQlYsY0EvQlU7RUFnQ1Ysd0I4Q3RDYTtVOUNzQ2IsNEI4Q3RDYTtFOUN1Q2IseUI4Q3ZDYTtVOUN1Q2Isd0I4Q3ZDYTtFOUM0Q1g7RUFBQTtVQUFBO0U4QzNDSDtFQUNBO0M3RHc0R0Q7O0E2RHI0R0E7RUFDQztFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7QzdEdzRHRDs7QTZEcjRHQTtFQUNDO1VBQUE7RUFDQTtFQUNBO0VBQ0E7QzdEdzRHRDs7QTZEcjRHQTtFQUNDO0M3RHc0R0Q7O0E2RHI0R0E7RXZENUJNO0VBUkE7RXVEc0NMO0VBQ0E7QzdEeTRHRDs7QTZEdDRHQTtFQUNDO0M3RHk0R0Q7O0E4RC83R0E7RXJEWUM7RXFEVkE7RUFDQTtFQUNBLHFCN0RPMkI7RTZETjNCO0VBQUE7QzlEazhHRDtBOERoOEdDO0VBQ0M7QzlEazhHRjs7QThEOTdHQTtFdERxUUM7RUFDQTtFQUNBO0VPN09LO0VBc0JKLHFCQS9CVTtFQStCVixjQS9CVTtFQWdDVix3QitDL0NhO1UvQytDYiw0QitDL0NhO0UvQ2dEYiwwQitDaERhO1UvQ2dEYixvQitDaERhO0UvQ3FEWDtFQUFBO1VBQUE7RVRoREU7RUFSQTtFd0RLTDtFQUNBO0M5RHc4R0Q7QU8vN0dDO0V1RGREO0l0RDJRSTtH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eUR4QkQ7SUFLSTtJQUNBO0lBQ0E7WUFBQTtJQUNBO0doRTJ0SEY7Q0FDRjtBTzVzSEM7RXlEeEJEO0lBWUk7R2hFNHRIRjtDQUNGO0FPanRIQztFeUR4QkQ7SUFnQkk7R2hFNnRIRjtDQUNGOztBaUVudkhBO0VBSUM7RUFDQTtDakVtdkhEO0FPM3RIQztFMEQ3QkQ7SUFFRTtHakUwdkhBO0NBQ0Y7O0FpRXJ2SEE7RXpENFFDO0VBQ0E7RUFDQTtFeUQ1UUE7Q2pFMHZIRDtBT3Z1SEM7RTBEckJEO0l6RGtSSTtHUjgrR0Y7Q0FDRjtBTzV1SEM7RTBEckJEO0l6RHlSRTtJQUNBO0dSNCtHQTtDQUNGOztBaUVsd0hBO0VBQ0M7RUFDQTtFQUNBO0NqRXF3SEQ7O0FpRWx3SEE7RTNER007RUFSQTtFMkRPTDtFQUNBO0VBQ0E7RUFDQTtDakVzd0hEO0FpRXB3SEM7RUFDQztDakVzd0hGOztBT3B3SEM7RTJENUJEO0lBRUU7R2xFbXlIQTtDQUNGOztBTzF3SEM7RTJEdEJEO0luRHdERSxxQkEvQlU7SUErQlYsY0EvQlU7SUFzQ1I7SUFBQTtZQUFBO0dmdXVIRjtDQUNGOztBa0VqeUhBO0VBQ0M7RUFDQTtFQUNBO0NsRW95SEQ7QU92eEhDO0UyRGhCRDtJQU1FO0lBRUM7SUFDQTtJQUNBO0lBQ0E7R2xFb3lIRDtDQUNGO0FPaHlIQztFMkRoQkQ7SUFnQkU7SUFDQTtHbEVveUhBO0NBQ0Y7O0FrRWp5SEE7RUFDQztFQUNBO0NsRW95SEQ7QU8zeUhDO0UyREtEO0lBS0U7SUFDQTtJQUNBO0lBQ0E7R2xFcXlIQTtDQUNGO0FPbnpIQztFMkRLRDtJQVlFO0lBQ0E7R2xFc3lIQTtDQUNGO0FPenpIQztFMkRLRDtJQWlCRTtHbEV1eUhBO0NBQ0Y7O0FrRXB5SEE7RTVEakNNO0VBUkE7RTREMkNMO0VBQ0E7Q2xFd3lIRDs7QWtFcnlIQTtFQUNDO0VBQ0E7Q2xFd3lIRDs7QWtFcnlIQTtFQUVDO0VBQ0E7Q2xFdXlIRDtBUWxuSEM7RUFDQyxpQjBEeExZO0NsRTR5SGQ7QWtFeHlIQztFQUlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFQUTtFQVFSLGFBUFM7RUFRVDtFQUNBO0NsRXV5SEY7O0FrRW55SEE7RUFDQztDbEVzeUhEOztBa0VueUhBO0VBQ0M7RUFDQTtDbEVzeUhEOztBQXIxSEE7OytEQUFBO0FtRXZEQTs7OEVBQUE7QW5FK0RBOzsrREFBQTtBb0UvREE7RUFDQztFQUNBO0NwRXc1SEQ7QW9FdDVIQztFckRxRUMscUJBL0JVO0VBK0JWLGNBL0JVO0VBc0NSO0VBQUE7VUFBQTtFcUQxRUY7RUFDQTtFQUNBO0NwRXk1SEY7QW9FdjVIRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7Q3BFeTVISDtBb0VyNUhDO0U5RFdLO0VBUkE7Q05zNUhOO0FvRXI1SEc7RUFDQztVQUFBO0NwRXU1SEo7O0FxRWo3SEE7O0dBQUE7QUFPQztFQUNDO0NyRWc3SEY7QXFFNTZIQztFQUNDO0NyRTg2SEY7QXFFMTZIQztFQUNDO0NyRTQ2SEY7QXFFejZIQztFQUNDO0NyRTI2SEY7QXFFeDZIQztFQUNDO0NyRTA2SEY7QXFFeDZIRTtFQUNDO0VBQ0E7RUFDQTtDckUwNkhIO0FxRXg2SEc7RS9EREc7RUFSQTtFK0RXRjtFQUNBO0VBQ0E7RUFDQTtDckUyNkhKO0FxRXQ2SEM7RUFDQztFQUNBO0NyRXc2SEY7QXFFdDZIRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NyRXc2SEg7QXFFdDZIRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckV3NkhKOztBQTU1SEE7OzsrREFBQTtBc0V2RUE7O3lGQUFBO0FBS0E7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUFtQkc7RUFDQztDdEVvK0hKOztBc0VsK0hHO0VBQ0M7Q3RFcStISjs7QXNFbCtIRztFQUNDO0N0RXErSEo7O0FzRW4rSEc7RUFDQztDdEVzK0hKOztBc0UxK0hHO0VBQ0M7Q3RFNitISjs7QXNFMytIRztFQUNDO0N0RTgrSEo7O0FzRXovSEc7RUFDQztDdEU0L0hKOztBc0UxL0hHO0VBQ0M7Q3RFNi9ISjs7QXNFMS9IRztFQUNDO0N0RTYvSEo7O0FzRTMvSEc7RUFDQztDdEU4L0hKOztBc0V6Z0lHO0VBQ0M7Q3RFNGdJSjs7QXNFMWdJRztFQUNDO0N0RTZnSUo7O0FzRTFnSUc7RUFDQztDdEU2Z0lKOztBc0UzZ0lHO0VBQ0M7Q3RFOGdJSjs7QXNFemhJRztFQUNDO0N0RTRoSUo7O0FzRTFoSUc7RUFDQztDdEU2aElKOztBc0UxaElHO0VBQ0M7Q3RFNmhJSjs7QXNFM2hJRztFQUNDO0N0RThoSUo7O0FzRWxpSUc7RUFDQztDdEVxaUlKOztBc0VuaUlHO0VBQ0M7Q3RFc2lJSjs7QXNFampJRztFQUNDO0N0RW9qSUo7O0FzRWxqSUc7RUFDQztDdEVxaklKOztBc0VsaklHO0VBQ0M7Q3RFcWpJSjs7QXNFbmpJRztFQUNDO0N0RXNqSUo7O0FzRTFqSUc7RUFDQztDdEU2aklKOztBc0UzaklHO0VBQ0M7Q3RFOGpJSjs7QXNFemtJRztFQUNDO0N0RTRrSUo7O0FzRTFrSUc7RUFDQztDdEU2a0lKOztBc0Uxa0lHO0VBQ0M7Q3RFNmtJSjs7QXNFM2tJRztFQUNDO0N0RThrSUo7O0FzRWxsSUc7RUFDQztDdEVxbElKOztBc0VubElHO0VBQ0M7Q3RFc2xJSjs7QXNFam1JRztFQUNDO0N0RW9tSUo7O0FzRWxtSUc7RUFDQztDdEVxbUlKOztBc0VsbUlHO0VBQ0M7Q3RFcW1JSjs7QXNFbm1JRztFQUNDO0N0RXNtSUo7O0FzRTFtSUc7RUFDQztDdEU2bUlKOztBc0UzbUlHO0VBQ0M7Q3RFOG1JSjs7QXNFem5JRztFQUNDO0N0RTRuSUo7O0FzRTFuSUc7RUFDQztDdEU2bklKOztBc0UxbklHO0VBQ0M7Q3RFNm5JSjs7QXNFM25JRztFQUNDO0N0RThuSUo7O0FzRWxvSUc7RUFDQztDdEVxb0lKOztBc0Vub0lHO0VBQ0M7Q3RFc29JSjs7QXNFanBJRztFQUNDO0N0RW9wSUo7O0FzRWxwSUc7RUFDQztDdEVxcElKOztBc0VscElHO0VBQ0M7Q3RFcXBJSjs7QXNFbnBJRztFQUNDO0N0RXNwSUo7O0FzRTFwSUc7RUFDQztDdEU2cElKOztBc0UzcElHO0VBQ0M7Q3RFOHBJSjs7QXNFenFJRztFQUNDO0N0RTRxSUo7O0FzRTFxSUc7RUFDQztDdEU2cUlKOztBc0UxcUlHO0VBQ0M7Q3RFNnFJSjs7QXNFM3FJRztFQUNDO0N0RThxSUo7O0FzRWxySUc7RUFDQztDdEVxcklKOztBc0VucklHO0VBQ0M7Q3RFc3JJSjs7QXNFMXJJRztFQUNDO0N0RTZySUo7O0FzRTNySUc7RUFDQztDdEU4cklKOztBc0Vsc0lHO0VBQ0M7Q3RFcXNJSjs7QXNFbnNJRztFQUNDO0N0RXNzSUo7O0FzRTFzSUc7RUFDQztDdEU2c0lKOztBc0Uzc0lHO0VBQ0M7Q3RFOHNJSjs7QXNFenRJRztFQUNDO0N0RTR0SUo7O0FzRTF0SUc7RUFDQztDdEU2dElKOztBc0VqdUlHO0VBQ0M7Q3RFb3VJSjs7QXNFbHVJRztFQUNDO0N0RXF1SUo7O0FzRXp1SUc7RUFDQztDdEU0dUlKOztBc0UxdUlHO0VBQ0M7Q3RFNnVJSjs7QXNFanZJRztFQUNDO0N0RW92SUo7O0FzRWx2SUc7RUFDQztDdEVxdklKOztBdUVqeElBO0VBQ0M7Q3ZFb3hJRDs7QXVFanhJQTtFQUNDO0VBQ0E7S0FBQTtDdkVveElEOztBT252SUM7RWdFOUJEO0kvRDZITTtJQUFBO0dSMHBJSjtDQUNGO0FPMXZJQztFZ0U5QkQ7SS9Eb0pNO0lBQUE7R1J5b0lKO0NBQ0Y7QU9od0lDO0VnRTlCRDtJL0R5Sk07SUFBQTtHUjBvSUo7Q0FDRjtBT3R3SUM7RWdFOUJEO0kvRDhKTTtJQUFBO0dSMm9JSjtDQUNGOztBdUVueUlBO0VBQ0M7Q3ZFc3lJRDs7QU9oeElDO0VnRWxCQTtJQUNDO0d2RXN5SUE7Q0FDRjtBd0U3eklBOzs7RUFBQTtBQ0FBOzs7O2dGQUFBO0FBeUJBO0VoRUFDO0VEcVFBO0VBQ0E7RUFDQTtFaUVwUUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0N6RWd6SUQ7QU8zeUlDO0VrRWREO0lqRTJRSTtHUmtqSUY7Q0FDRjtBT2h6SUM7RWtFZEQ7SWpFa1JFO0lBQ0E7R1JnaklBO0NBQ0Y7QU90eklDO0VrRWREO0lBbUJFO0d6RXF6SUE7Q0FDRjs7QXlFanpJQTtFQUNDO0VBRUE7Q3pFbXpJRDtBT2gwSUM7RWtFVUQ7SUFZRTtHekU4eUlBO0NBQ0Y7QU9yMElDO0VrRVVEO0lBcUJFO0d6RTB5SUEiLCJmaWxlIjoiY3NzL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qICAxIC0gU0VUVElOR1NcbiAqICBHbG9iYWwgdmFyaWFibGVzLCBzaXRlLXdpZGUgc2V0dGluZ3MsXG4gKiAgY29uZmlnIHN3aXRjaGVzIGV0Yy5cbiAqXG4gKiAgVGhlIG9yZGVyIGluIHdoaWNoIHRoZXNlIFNhc3MgZmlsZXNcbiAqICBhcmUgbG9hZGVkIGlzIGNyaXRpY2FsIVxuICogIFNvIHBsZWFzZSBiZSBjYXJlZnVsIHdoZW4gZWRpdGluZ1xuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9yZ2FuaXplIGNvbG9yIHZhcmlhYmxlcyBpbiBhIFNhc3MgTWFwLlxuICAgVGhpcyB3YXksIHRoZSBjb2xvcnMgY2FuIGJlIGl0ZXJhdGVkLCBhcmUgbW9yZSBvcmdhbml6ZWQsXG4gICBhbmQgYXJlIG1vcmUgaW50dWl0aXZlIHRvIHJlZmVyZW5jZS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFx0IERlZmluZXMgdGhlIHR5cG9ncmFwaGljIGJhc2VsaW5lLlxuICAgV2UgZGVmaW5lIGV2ZXJ5IHNpemUgaW4gcGl4ZWxzLCB0aGUgdW5kZXJseWluZyBzeXN0ZW1cbiAgIGNvbnZlcnRzIHRoZSByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiBcdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIGdpdmVuIGZvcm1hdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgMiAtIFRPT0xTXG4gKiAgU2l0ZSB3aWRlIG1peGlucyBhbmQgZnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVG9vbGJveCBmdW5jdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cbi8qKlxuICogIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICogIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbiAqICBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4gKi9cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuLyogVmFsdWUgdG8gRW0gKi9cbi8qIFZhbHVlIHRvIFJlbSAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIGFjY2Vzc2luZyB0aGUgY29sb3JzIGZyb20gb3VyIG1hcHBpbmdcbiAqXHRUbyBhY2Nlc3MgY29sb3JzIGluIG91ciBwYWxldHRlLCB3ZSB1c2UgYSB2ZXJ5IHNpbXBsZSBjdXN0b20gU2FzcyBmdW5jdGlvblxuXG5cdFVTQUdFOlxuXG5cdGEge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCAyKTtcblx0XHR9XG5cdH1cblxuICovXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgb25seSBmb3IgbW9iaWxlIHZpZXdwb3J0XG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAxXG5cdFx0KTtcbiAgfVxuXG4gKi9cbi8qXG4gKiBTZXQgdmVydGljYWwgc3BhY2luZyBmb3Igdmlld3BvcnQgbGFyZ2VyIHRoYW4gbW9iaWxlXG4gKiBJbiBmbGV4aWJsZSB1bml0cyAodncpIGFuZCBvbiBtYXggdmlld3BvcnQgaW4gYSBmaXhlZCBhbW91bnQgKHB4KVxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1tLXVwKFxuXHRcdFx0XHQncGFkZGluZy10b3AnIDAuMzMsXG5cdFx0XHRcdCdtYXJnaW4tYm90dG9tJyAwLjVcblx0XHQpO1xuICB9XG5cbiAqL1xuLypcbiAqIEZyb20gdmFsdWVzIGdpdmVuIHJldHVybiB0aGUgY29ycmVjdCB2LXNwYWNpbmcgZm9yIGVhY2ggYnJlYWtwb2ludFxuICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3Igc2V0dGluZyBhIGNvbnNpc3RlbnQgYm94LXNoYWRvd1xuXG5cdFVTQUdFOlxuXG5cdC5jYXJkIHtcblx0XHRAaW5jbHVkZSBib3gtc2hhZG93O1xuXHR9XG5cblx0LmNhcmQtLWFsdCB7XG5cdFx0QGluY2x1ZGUgYm94LXNoYWRvdyhsb3cpO1xuXHR9XG5cbiAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cbi8qXG4gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3IuXG4gKiAtIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG4gKiAtIGh0dHBzOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG4gKi9cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUaGUgJ3otaW5kZXgtbWFwJyBpcyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudHMgc3RhY2tpbmcgb3JkZXIgaW4gdGhlICdyb290JyBzdGFja2luZyBjb250ZXh0XG4gKiAgVGhpcyB3YXkgd2UgaGF2ZSBhIG92ZXJ2aWV3IG9mIGFsbCB0aGUgei1pbmRleCB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHByb2plY3QuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cbi8qICAzIC0gRUxFTUVOVFNcbiAqICBQbGFpbiBvbGQgc2ltcGxlIEhUTUwgZWxlbWVudHMgd2l0aG91dCBhIGNsYXNzICh0eXBlIHNlbGVjdG9ycylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJhc2ljIGVsZW1lbnRzIChubyBjbGFzcyBzZWxlY3RvcnMgYWxsb3dlZClcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1cmUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqIDIuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKi9cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzY1NjU2NTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4vKipcbiAqIFsxXSBNYWtlIHN1cmUgZWxlbWVudHMgbGlrZSBpbnB1dCBhbmQgdGV4dGFyZWEgaW5oZXJpdCBzb21lIGJhc2UgcHJvcGVydGllc1xuICogICAgIGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTYvMTEvY3NzLWluaGVyaXRhbmNlLWNhc2NhZGUtZ2xvYmFsLXNjb3BlLW5ldy1vbGQtd29yc3QtYmVzdC1mcmllbmRzL1xuICpcbiAqIFsyXSBTZXR0aW5nIGJveC1zaXppbmcgdGhlIGJlc3Qgd2F5IHBlcjpcbiAqICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMyNUQyRjc7XG4gIGNvbG9yOiAjZmZmN2YyO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgLyogWzFdICovXG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBhcm91bmQgZmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBbMV0gU2V0dGluZyAndmVydGljYWwtYWxpZ24nIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyICdpbWcnXG4gKlx0ICAgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLiBTYWZlciBhbHRlcm5hdGl2ZSB0b1xuICpcdCAgIHVzaW5nICdkaXNwbGF5OiBibG9jazsnLlxuICogWzJdIFJlbW92ZSBib3JkZXIgLyBlc3BlY2lhbGx5IG9uIG9sZGVyIGJyb3dzZXJzXG4gKi9cbmltZywgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLypbMV0qL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qWzJdKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmE6bm90KFtjbGFzc10pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzQwNzliODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87XG59XG5hOm5vdChbY2xhc3NdKTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjNDA3OWI4O1xuICBjb250ZW50OiBcIlwiO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcywgb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xufVxuYTpub3QoW2NsYXNzXSk6aG92ZXI6OmFmdGVyIHtcbiAgaGVpZ2h0OiAycHg7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoZ3JvdXAsXG51bCwgb2wsIGRkLFxucCwgZmlndXJlLFxucHJlLCB0YWJsZSwgZmllbGRzZXQsIGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg1LCBoNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICpcdERlZmF1bHQgaW5kZW50YXRpb24gdmFsdWUgZm9yIGxpc3RzXG4gKi9cbnVsLFxub2wge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiAxLjEyNWVtO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKipcbiAqXHRSZW1vdmUgZXh0cmEgdmVydGljYWwgc3BhY2luZyB3aGVuIG5lc3RpbmcgbGlzdHMuXG4gKi9cbmxpID4gdWwsXG5saSA+IG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogIDQgLSBMYXlvdXQgZWxlbWVudHNcbiAqICBEZXNpZ24gcGF0dGVybnMgKGUuZy4gZ3JpZHMgb3IgbWVkaWEgb2JqZWN0KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb250YWluXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtY29udGFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1jb250YWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFNwbGl0IGxheW91dCBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgY29sdW1ucyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sLXNwbGl0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1zcGxpdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi8qKlxuICogU3BlY2lhbCBjb250YWluIHZlcnNpb24gZm9yIHNwbGl0LlxuICogRG9lc24ndCByZXN0cmFpbiBjb250ZW50IG9uIG1lZGl1bSB2aWV3cG9ydFxuICovXG4ubC1zcGxpdC0tY29udGFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXNwbGl0LS1jb250YWluIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0LS1jb250YWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgfVxufVxuLmwtc3BsaXQtLWlzLXJldmVyc2VkIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBvcmRlcjogMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdC0taXMtcmV2ZXJzZWQgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0LS1icmVha291dC1vbi1tIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTAlO1xuICB9XG4gIC5sLXNwbGl0LS1icmVha291dC1vbi1tIC5sLXNwbGl0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuLyoqXG4gKiBXaGVuIHRoZXJlIGlzIG9ubHkgMSBjb2x1bW4sIGFsaWduIGl0IHRvIHRoZSBtaWRkbGUgYW5kIGNvbnRhaW4gdGhlIHdpZHRoXG4gKiBPbmx5IG9uZSBjb2x1bW4gaXMgdXNlZCBlLmcuIGluIHRoZSB0YWJzbGlkZXIgd2hlbiB0aGVyZSBpcyBubyBpbWFnZSBzZXRcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpvbmx5LWNoaWxkIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sLXNwbGl0X19jb2x1bW4tLXZwYWQge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbi0tdnBhZCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uLS1sZWZ0cGFkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJlc3RyaWN0XG4gKlxuICogV2hlbiBhIGJsb2NrIHNob3VsZG4ndCB0YWtlIHVwIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyXG4gKiB3ZSBjYW4gcmVzdHJpY3QgdGhlIG1heGltdW0gd2lkdGhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1yZXN0cmljdC1uYXJyb3cge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIG1heC13aWR0aDogMzhlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXJlc3RyaWN0LW5hcnJvdyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1yZXN0cmljdC13aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDg3LjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtcmVzdHJpY3Qtd2lkZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi8qICA1IC0gQ09NUE9ORU5UU1xuICogIERpc2NyZXRlIGNvbXBsZXRlIGNodW5rcyBvZiBVSS5cbiAqICBEZXNpZ25lZCBjb21wb25lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29tcG9uZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uYy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgY29sb3I6ICNmZmY3ZjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNUQyRjc7XG4gIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZmZmZiwgMCAwIDVweCAycHggIzI1RDJGNztcbn1cbi5jLWJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmMtYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiBjYWxjKDUwJSAtIDJweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMnB4KTtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogIzA4YjZkYjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEwMCk7XG59XG5cbi5jLWJ1dHRvbl9fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMCAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYy1idXR0b24tLWljb24gLmMtYnV0dG9uX190ZXh0IHtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLmMtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtYnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy1idXR0b25fX2ljb246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuLmMtYnV0dG9uLS1pY29uIC5jLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTZweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERlZmF1bHQgYnV0dG9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZ2hvc3RidXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZzogMTZweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZ2hvc3RidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uYy1naG9zdGJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1naG9zdGJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5jLWdob3N0YnV0dG9uOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMXB4O1xuICBib3R0b206IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xuICBsZWZ0OiAtMXB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG59XG4uYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjM1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMCAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYy1idXR0b24tLWljb24gLmMtZ2hvc3RidXR0b25fX3RleHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4uYy1naG9zdGJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtZ2hvc3RidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtZ2hvc3RidXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWdob3N0YnV0dG9uLS1pY29uIC5jLWdob3N0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xufVxuLmMtZ2hvc3RidXR0b25fX2ljb246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG4uYy1jYXJkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogQ2FyZCB0aGF0IGRvZXMgc29tZSBhbmltYXRpb25zIG9uIGhvdmVyXG4gKi9cbi5jLWNhcmQtLWhhcy1hY3Rpb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjo6YmVmb3JlLCAuYy1jYXJkLS1oYXMtYWN0aW9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45Mik7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuOCkgMCUsIHJnYmEoMCwgMCwgMCwgMC45MikgMTAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTM1JSkgcm90YXRlKDExZGVnKSBzY2FsZSgxLjMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246OmFmdGVyIHtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTYgMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGw9JyUyMzI1RDJGNycgZD0nTTEzLjQgNi43ODNILjc2MkEuNzcyLjc3MiAwIDAgMSAwIDZjMC0uNDMyLjM0MS0uNzgzLjc2Mi0uNzgzSDEzLjRMOS42MjMgMS4zMzZhLjc5OC43OTggMCAwIDEgMC0xLjEwNy43NDcuNzQ3IDAgMCAxIDEuMDc3IDBsNS4wNzcgNS4yMThhLjc5OC43OTggMCAwIDEgMCAxLjEwNkwxMC43IDExLjc3MWEuNzQ3Ljc0NyAwIDAgMS0xLjA3NyAwIC43OTguNzk4IDAgMCAxIDAtMS4xMDdMMTMuNCA2Ljc4M3onLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjc1KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXI6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC45MjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTFkZWcpIHNjYWxlKDEuMyk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiA1MG1zO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlcjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIG91dGxpbmUtY29sb3I6ICM0MDc5Yjg7XG59XG5cbi5jLWNhcmRfX3BpY3R1cmUge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWNhcmRfX2ltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLWNhcmRfX2ltZyB7XG4gICAgbWF4LWhlaWdodDogNTMuNXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuYy1jYXJkX19pbWcge1xuICAgIG1heC1oZWlnaHQ6IDI1LjZ2dztcbiAgfVxufVxuXG4uYy1jYXJkX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTRweCAxMHB4IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ0NjY7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciAuYy1jYXJkX19sYWJlbCB7XG4gIGNvbG9yOiAjZmZmN2YyO1xufVxuLmMtY2FyZF9fbGFiZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1RDJGNztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKSByb3RhdGUoNWRlZykgc2NhbGUoMik7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NSwgMC4xLCAwLjMsIDEpO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciAuYy1jYXJkX19sYWJlbDo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZykgc2NhbGUoMik7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG59XG5cbi5jLWNhcmRfX2luZm8ge1xuICBwYWRkaW5nOiAxNnB4IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMEY3RkE7XG59XG5cbi5jLWNhcmRfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uYy1jYXJkX19zdWJoZWFkaW5nIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLWNhcmRfX3RleHRsaW5lIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG4qOm5vdCguYy1jYXJkX190ZXh0bGluZSkgKyAuYy1jYXJkX190ZXh0bGluZSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5jLWNsb3NlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE4MG1zIGVhc2Utb3V0O1xufVxuLmMtY2xvc2U6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgM3B4IDJweCAjZmZmZmZmO1xufVxuLmMtY2xvc2U6YWZ0ZXIsIC5jLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMjAlO1xuICBsZWZ0OiAyMCU7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmMtY2xvc2U6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLmMtY2xvc2U6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLmMtY2xvc2U6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG59XG5cbi5jLWNvbm5lY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtY29ubmVjdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5jLWNvbm5lY3RfX3Bob25lIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMxQTFBMUE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG59XG4uYy1jb25uZWN0X19waG9uZTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYy1jb25uZWN0X19waG9uZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiAjNDA3OWI4O1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICNmZmYsIDJweCAycHggMCByZ2JhKDI2LCAyNiwgMjYsIDAuMzUpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmMtY29ubmVjdF9fb3Ige1xuICBtYXJnaW46IDAgMTZweDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1jb25uZWN0X19vciB7XG4gICAgbWFyZ2luOiA4cHggMCAxNnB4O1xuICB9XG59XG5cbi5jLWRhdGEge1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4uYy1kYXRhX19saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmMtZGF0YV9fbGFiZWwge1xuICBtaW4td2lkdGg6IDY0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMUExQTFBO1xufVxuXG4uYy1kYXRhX192YWx1ZSB7XG4gIGZsZXgtZ3JvdzogOTk5OTtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLWRhdGFfX3ZhbHVlW2hyZWZdOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYy1kYXRhX192YWx1ZVtocmVmXTpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICM0MDc5Yjg7XG59XG5cbi5jLWZvcm0tZ3JvdXBfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLWZvcm0tZ3JvdXBfX2Vycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5oYXMtZXJyb3IgLmMtZm9ybS1ncm91cF9fZXJyb3I6bm90KDplbXB0eSkge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogOHB4O1xuICBjb2xvcjogIzQwNzliODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NCwgMTIxLCAxODQsIDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0MDc5Yjg7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xufVxuXG4uYy1mb3JtLWZlZWRiYWNrIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luOiAwIDAgOHB4O1xuICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gIGNvbG9yOiAjMUExQTFBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjExLCA1OCwgMC4yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZDMzYTtcbn1cbi5jLWZvcm0tZmVlZGJhY2s6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jLWZvcm0tZmVlZGJhY2s6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihkYXRhLWZlZWRiYWNrKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5jLWZvcm0tZmVlZGJhY2sgbGk6OmZpcnN0LWxldHRlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jLWhhbWJ1cmdlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmMtaGFtYnVyZ2VyOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAycHggIzQwNzliODtcbn1cbi5jLWhhbWJ1cmdlci5pcy1saWdodCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmMtaGFtYnVyZ2VyID4gc3BhbiwgLmMtaGFtYnVyZ2VyOmFmdGVyLCAuYy1oYW1idXJnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMCU7XG4gIGxlZnQ6IDIwJTtcbiAgaGVpZ2h0OiAzcHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG59XG4uYy1oYW1idXJnZXI6YmVmb3JlIHtcbiAgdG9wOiAxMnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xufVxuLmMtaGFtYnVyZ2VyOmFmdGVyIHtcbiAgdG9wOiAyOHB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xufVxuLmMtaGFtYnVyZ2VyOmhvdmVyID4gc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG59XG4uYy1oYW1idXJnZXI6aG92ZXI6YWZ0ZXIsIC5jLWhhbWJ1cmdlcjpob3ZlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5jLWhhbWJ1cmdlciA+IHNwYW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSAhaW1wb3J0YW50O1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5jLWhhbWJ1cmdlcjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG5cbi5jLWhlYWRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW46IDQwcHggMDtcbiAgY29sb3I6ICMxQTFBMUE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1oZWFkaW5nLS1pbmRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1oZXJvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLWhlcm8ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLWhlcm8ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5jLWhlcm9fX21haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5jLWhlcm9fX3NsaWRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU1LjU1NiU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuYy1oZXJvX19zbGlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gIH1cbn1cblxuLmMtaGVyb19fcGljdHVyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBmaWx0ZXI6IGJsdXIoNXB4KTtcbn1cbi5jLWhlcm9fX3BpY3R1cmUuaXMtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICBmaWx0ZXI6IG5vbmU7XG59XG5cbi5jLWhlcm9fX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWhlcm9fX2NhcHRpb24ge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGZvbnQtc2l6ZTogNnZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE3QUE2O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLWhlcm9fX2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmMtaGVyb19fY2FwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgcGFkZGluZzogMi42dnc7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtaGVyb19fY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiA0LjE2NjY2NjY2NjclO1xuICB9XG59XG5cbi5jLWhlcm9fX2NvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xufVxuLmMtaGVyb19fY29udHJvbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgdHJhbnNwYXJlbnQpO1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5jLWhlcm9fX3Njcm9sbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1RDJGNztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSByb3RhdGUoMC4yNXR1cm4pO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtaGVyb19fc2Nyb2xsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYy1oZXJvX19zY3JvbGwgPiBzdmcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXM7XG59XG4uYy1oZXJvX19zY3JvbGw6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICMyMWJkZGU7XG59XG4uYy1oZXJvX19zY3JvbGw6aG92ZXIgPiBzdmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWhlcm9fX3Njcm9sbDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICMyMWJkZGU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjZmZmZmZmO1xufVxuXG4vKlxuICogQWx0ZXJuYXRpdmUgdmVyc2lvbiBvZiB0aGUgaGVybyBlbGVtZW50XG4gKiBDb21tZW50IG91dCB3aGVuIG5lZWRlZFxuICovXG4uYy1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogN3B4IDE2cHg7XG4gIGNvbG9yOiAjMUExQTFBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICBvdXRsaW5lOiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1pbnB1dCB7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCAjNDA3OWI4O1xuICBib3JkZXItY29sb3I6ICM0MDc5Yjg7XG59XG4uYy1pbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCAjMWQxZDFkO1xuICBib3JkZXItY29sb3I6ICMxZDFkMWQ7XG59XG50ZXh0YXJlYS5jLWlucHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDE1OHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmMtbGFuZ3VhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjQzhDOEM4O1xufVxuLmMtbGFuZ3VhZ2UuaXMtbGlnaHQge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmMtbGFuZ3VhZ2VfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG59XG4uYy1sYW5ndWFnZV9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLWxhbmd1YWdlOmhvdmVyIC5jLWxhbmd1YWdlX19idXR0b24ge1xuICBjb2xvcjogIzI1RDJGNztcbn1cblxuLmMtbGFuZ3VhZ2VfX2ljb24ge1xuICBmbGV4OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWxhbmd1YWdlX19kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAwIDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtbGFuZ3VhZ2U6aG92ZXIgLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uYy1sYW5ndWFnZV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG59XG4uYy1sYW5ndWFnZV9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmN2YyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVEMkY3O1xufVxuXG4uYy1uYXYge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jLW5hdl9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1sZWZ0OiAzdnc7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLW5hdl9faXRlbSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uYy1uYXZfX2l0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuYy1uYXZfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjN2dyArIDAuMDVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMS4zdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1uYXZfX2l0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMi4ydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuYy1uYXZfX2l0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogNCU7XG4gIH1cbn1cblxuLmMtbmF2X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA0cHg7XG4gIGNvbG9yOiAjMUExQTFBO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uaXMtaGVhZGVyLWFsdCAuYy1uYXZfX2xpbmsge1xuICBjb2xvcjogI2ZmZjdmMjtcbn1cbi5jLW5hdl9fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGxlZnQ6IDRweDtcbiAgYm90dG9tOiAxcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xufVxuLmlzLWhlYWRlci1hbHQgLmMtbmF2X19saW5rOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uYy1uYXZfX2xpbms6aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbn1cbi5jLW5hdl9fbGluay5pcy1hY3RpdmUge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmMtbmF2X19saW5rLmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDQ2NjtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xufVxuLmMtbmF2X19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzQwNzliODtcbn1cblxuLmMtcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1wYWdpbmF0aW9uX19pdGVtOmZpcnN0LWNoaWxkLCAuYy1wYWdpbmF0aW9uX19pdGVtOmxhc3QtY2hpbGQsIC5jLXBhZ2luYXRpb25fX2l0ZW0uaXMtbGFzdC1wYWdlLCAuYy1wYWdpbmF0aW9uX19pdGVtLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuYy1wYWdpbmF0aW9uX19pdGVtLmlzLWxhc3QtcGFnZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbi5jLXBhZ2luYXRpb25fX2l0ZW0gKyAuYy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuXG4uYy1wYWdpbmF0aW9uX190ZXh0LFxuLmMtcGFnaW5hdGlvbl9fbGluayxcbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1pbi13aWR0aDogNDhweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgcGFkZGluZzogOHB4O1xufVxuXG4uYy1wYWdpbmF0aW9uX190ZXh0IHtcbiAgY29sb3I6ICMxQTFBMUE7XG4gIG9wYWNpdHk6IDAuMzU7XG59XG5cbi5jLXBhZ2luYXRpb25fX2xpbmsge1xuICBjb2xvcjogIzFBMUExQTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4uYy1wYWdpbmF0aW9uX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMxMjEyMTI7XG4gIGJhY2tncm91bmQ6ICNGMEY3RkE7XG59XG4uaXMtYWN0aXZlID4gLmMtcGFnaW5hdGlvbl9fbGluayB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4IC01cHggIzAwNDQ2NjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMDA0NDY2O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0IHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG59XG4uYy1wYWdpbmF0aW9uX19wcmV2LmlzLWluYWN0aXZlLFxuLmMtcGFnaW5hdGlvbl9fbmV4dC5pcy1pbmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDI2LCAyNiwgMjYsIDAuNCk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xufVxuXG4vKlxuICogUGFnZSB0aXRsZVxuICovXG4uYy1wYWdlLXRpdGxlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgY29sb3I6ICMxQTFBMUE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtcGFnZS10aXRsZSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLXBhZ2UtdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICB9XG59XG5cbi5jLXBhZ2UtdGl0bGUtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLXBhZ2UtdGl0bGUtLWNlbnRlciB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLXBhZ2UtdGl0bGUtLWNlbnRlciB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLXBhZ2UtdGl0bGVfX3ByZWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZV9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmMtcGFnZS10aXRsZS0tb24tZGFyayB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYy1wcm9qZWN0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtcHJvamVjdG9yX19maWd1cmUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5jLXByb2plY3Rvcl9fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjdGQTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmMtcHJvamVjdG9yX19waWN0dXJlLmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLXByb2plY3Rvcl9fY29udHJvbCB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uYy1wcm9qZWN0b3JfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtcHJvamVjdG9yX19pbWcge1xuICAgIG1heC1oZWlnaHQ6IDc4dmg7XG4gIH1cbn1cblxuLmMtc2VydmljZXBvaW50IHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAtMTZweDtcbn1cblxuLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNzZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzOXB4KSB7XG4gIC5jLXNlcnZpY2Vwb2ludF9faW1hZ2Uge1xuICAgIHdpZHRoOiA5NnB4O1xuICB9XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fY29udGVudCB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgYXV0byAxZnI7XG4gIGZsZXgtZ3JvdzogOTk5OTtcbiAgbWluLXdpZHRoOiAxODBweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmMtc2VydmljZXBvaW50X19oZWFkZXIge1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuICBncmlkLXJvdzogMjtcbiAgbWFyZ2luOiA4cHggMDtcbn1cblxuLmMtc2VydmljZXBvaW50X19mb290ZXIge1xuICBncmlkLXJvdzogMztcbn1cblxuLmMtc2VydmljZXBvaW50X19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY1NjU2NTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuLmMtc2VydmljZXBvaW50X19zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1zaXRlbWFwX19pdGVtIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uYy1zaXRlbWFwX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1zaXRlbWFwX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMwMDQ0NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKlxuICogU2tpcCBMaW5rXG4gKi9cbi5jLXNraXAtbGluayB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHZoO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgY29sb3I6ICM0MDc5Yjg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLXNraXAtbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICM0MDc5Yjg7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIHRvcDogNXB4O1xuICAvKiBOb3cgdGhlIGxpbmsgd2lsbCBhcHBlYXIgKi9cbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1RDJGNztcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiArIC5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uW2FyaWEtbGFiZWw9cHJldmlvdXNdID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b25bYXJpYS1sYWJlbD1uZXh0XSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhY2NmNjtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhY2NmNjtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmhvdmVyOm5vdCguaXMtYWN0aXZlKSwgLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6bm90KC5pcy1hY3RpdmUpIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YmVmb3JlLCAuYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpiZWZvcmUge1xuICB0b3A6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIHJpZ2h0OiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBib3R0b206IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGxlZnQ6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDphZnRlciB7XG4gIHRvcDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIHJpZ2h0OiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgYm90dG9tOiBjYWxjKCgzMHB4IC0gMTJweCkgLyAyKTtcbiAgbGVmdDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgb3BhY2l0eTogMDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90LmlzLWFjdGl2ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90LmlzLWFjdGl2ZTphZnRlciB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1czphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xufVxuXG4uYy1zdWJuYXYge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDFweCA2dncgODBweCA2dnc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMEY3RkE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1zdWJuYXYge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAubC1zcGxpdC0tYnJlYWtvdXQtb24tbSAuYy1zdWJuYXYge1xuICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtc3VibmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi5jLXN1Ym5hdl9fbGlzdCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jLXN1Ym5hdl9faXRlbS0tYmFjayB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5jLXN1Ym5hdl9fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjUwbXM7XG59XG4uYy1zdWJuYXZfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzFBMUExQTtcbn1cbi5jLXN1Ym5hdl9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICM0MDc5Yjg7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluayB7XG4gIGNvbG9yOiAjMDA0NDY2O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLmMtc3VibmF2X19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzhjOGM4O1xufVxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2xpbms6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwNDQ2NjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG5cbi5jLXN1Ym5hdl9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgY29sb3I6ICNjOGM4Yzg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uYy1zdWJuYXZfX2xpbms6aG92ZXIgLmMtc3VibmF2X19pY29uIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzFBMUExQTtcbn1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHlcbiAqIDIuIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxpbmdcbiAqL1xuLmMtdGV4dGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgY29sb3I6ICM0MDc5Yjg7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uYy10ZXh0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6ICMyNjQ5NmU7XG59XG4uYy10ZXh0YnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtdGV4dGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICM0MDc5Yjg7XG59XG5cbi5jLXRleHRidXR0b25fX3RleHQge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jLXRleHRidXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtdGV4dGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy10ZXh0YnV0dG9uLS1pY29uIC5jLXRleHRidXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtdGV4dGJ1dHRvbi0taXMtcmV2ZXJzZWQgLmMtdGV4dGJ1dHRvbl9fdGV4dCB7XG4gIG9yZGVyOiAyO1xufVxuLmMtdGV4dGJ1dHRvbi0taXMtcmV2ZXJzZWQgLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIG9yZGVyOiAxO1xuICB0b3A6IDFweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLXRleHRidXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKSB0cmFuc2xhdGVYKDNweCk7XG59XG5cbi5jLXRleHRidXR0b24tLW9uLWRhcmsge1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuXG4uYy10cmFkZW1hcmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG59XG4uYy10cmFkZW1hcms6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5jLXRyYWRlbWFyazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICM0MDc5Yjg7XG59XG5cbi5jLXRyYWRlbWFya19fdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy10cmFkZW1hcmtfX2ljb24ge1xuICB3aWR0aDogMTAwcHg7XG4gIG1heC1oZWlnaHQ6IDMycHg7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbn1cbi5jLXRyYWRlbWFyazpob3ZlciAuYy10cmFkZW1hcmtfX2ljb24ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDUzLjYlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGN0ZBO1xufVxuXG4uYy12aWRlb19faWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qICA2IC0gT1JHQU5JU01TXG4gKiAgTGFyZ2UgYmxvY2tzIGNvbXBvc2VkIG9mIG11bHRpcGxlIGNvbXBvbmVudHMuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogT3JnYW5pc21zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5vLWFjY29yZGlvbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWFjY29yZGlvbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tYWNjb3JkaW9uX19pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uby1hY2NvcmRpb25fX2l0ZW0gKyAuby1hY2NvcmRpb25fX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLm8tYWNjb3JkaW9uX19pdGVtOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzAwNDQ2Njtcbn1cblxuLm8tYWNjb3JkaW9uX190aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcGFkZGluZy10b3A6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tYWNjb3JkaW9uX190aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4uby1hY2NvcmRpb25fX2l0ZW06bm90KC5pcy1hY3RpdmUpIC5vLWFjY29yZGlvbl9fdGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzAwNDQ2Njtcbn1cblxuLm8tYWNjb3JkaW9uX19pY29uIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAxNHB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uX19pY29uIHtcbiAgICBsZWZ0OiBjYWxjKDYuMjUlIC0gMTBweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb25fX2ljb24ge1xuICAgIGxlZnQ6IGNhbGMoNC4xNjY2NjY2NjY3JSAtIDEwcHgpO1xuICB9XG59XG4uby1hY2NvcmRpb25fX2ljb246OmJlZm9yZSwgLm8tYWNjb3JkaW9uX19pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTBweDtcbiAgbGVmdDogM3B4O1xuICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zLCA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UsIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcbn1cbi5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgLm8tYWNjb3JkaW9uX19pY29uOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKSByb3RhdGUoMC4yNXR1cm4pO1xufVxuLm8tYWNjb3JkaW9uX19pY29uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn1cbi5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgLm8tYWNjb3JkaW9uX19pY29uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xufVxuXG4uby1hY2NvcmRpb25fX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICB9XG59XG5cbi8qIEhpZGRlbiBieSBkZWZhdWx0Ki9cbi5vLWFjY29yZGlvbl9fY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLm8tYWNjb3JkaW9uX19jb250ZW50ID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuLm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAuby1hY2NvcmRpb25fX2NvbnRlbnQge1xuICBvcGFjaXR5OiAxO1xuICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWJsb2NrICsgLm8tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogOTZweDtcbiAgfVxufVxuXG4vKlxuKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcbiovXG4uby1ib2R5IHtcbiAgei1pbmRleDogNDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8tY2FsbG91dC1iYXIge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGNvbG9yOiAjMUExQTFBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGN0ZBO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMTJ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAxMHZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDZ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogNXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMy41NzE0Mjg1NzE0dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICB9XG59XG5cbi5vLWNhbGxvdXQtYmFyX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuLypcbiAqIENhcmQgZ3JpZFxuICpcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLm8tY2FyZC1ncmlkX19tYWluIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9faXRlbSArIC5vLWNhcmQtZ3JpZF9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDQ0NHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIGZsZXg6IDA7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAoKDIgLSAxKSAvIDIgKiAzMnB4KSk7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZChuKzMpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBmbGV4OiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAoKDMgLSAxKSAvIDMgKiAzMnB4KSk7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm8tY2FyZC1ncmlkX19pdGVtOm50aC1jaGlsZChuKzQpIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5cbi5vLWNvbnRhY3Qge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNvbnRhY3Qge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1jb250YWN0IHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5vLWNvbnRhY3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4uby1jb250YWN0X19pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNvbnRhY3RfX2luZm8ge1xuICAgIHBhZGRpbmc6IDQ4cHggMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuby1jb250YWN0X19pbmZvIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICB9XG59XG5cbi5vLWNvbnRhY3RfX2Zvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGN0ZBO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY29udGFjdF9fZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMTJ2dztcbiAgICBwYWRkaW5nOiA2dnc7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1jb250YWN0X19mb3JtIHtcbiAgICBwYWRkaW5nOiA0OHB4IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLm8tY29udGFjdF9fZm9ybSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1jb250YWN0X19oZWFkZXIge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIGNvbG9yOiAjMUExQTFBO1xufVxuXG4uby1jb250YWN0X19jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLm8tY29udGFjdF9fYWRkcmVzcyB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLWNvbnRhY3RfX251bWJlcnMge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uby1jb29raWUtYmFyIHtcbiAgei1pbmRleDogOTk5OTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogNjRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIG9wYWNpdHk6IDE7XG4gIGJveC1zaGFkb3c6IDAgLTRweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNnM7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi5vLWNvb2tpZS1iYXI6bm90KC5pcy1hY2NlcHRlZCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4uby1jb29raWUtYmFyLmlzLXRyYW5zaXRpb25pbmctb3V0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG59XG5cbi5vLWNvb2tpZS1iYXJfX21haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3M3B4KSB7XG4gIC5vLWNvb2tpZS1iYXJfX21haW4ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxufVxuXG4uby1jb29raWUtYmFyX190ZXh0IHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzk5OTk5OTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KSB7XG4gIC5vLWNvb2tpZS1iYXJfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgfVxufVxuXG4uby1jb29raWUtYmFyX19saW5rIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uby1jb29raWUtYmFyX19saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC43NSk7XG59XG5cbi5vLWNvb2tpZS1iYXJfX2J1dHRvbiB7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY29va2llLWJhcl9fYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgfVxufVxuXG4uby1jb29raWUtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5OTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG4uby1jb29raWUtb3ZlcmxheS5pcy1hY2NlcHRlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uby1jb29raWUtb3ZlcmxheS5mYWRlLW91dCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X19tb2RhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogOTIlO1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBwYWRkaW5nOiA2MHB4IDEyMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X19jb250YWluZXIuaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm8tY29va2llLW92ZXJsYXlfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBjb2xvcjogIzFBMUExQTtcbn1cblxuLm8tY29va2llLW92ZXJsYXlfX3RleHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X19saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjNDA3OWI4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uby1jb29raWUtb3ZlcmxheV9fbGluazpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDY0LCAxMjEsIDE4NCwgMC43NSk7XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA3OWI4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHM7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuLm8tY29va2llLW92ZXJsYXlfX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNTY1OWE7XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X190eXBlcywgLm8tY29va2llLW92ZXJsYXlfX3NldHRpbmdzIHtcbiAgbWFyZ2luOiAzMHB4IDA7XG59XG4uby1jb29raWUtb3ZlcmxheV9fdHlwZXMgPiAqICsgKiwgLm8tY29va2llLW92ZXJsYXlfX3NldHRpbmdzID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4uby1jb29raWUtb3ZlcmxheV9fc2V0dGluZ3Mge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uby1mb290ZXIge1xuICB6LWluZGV4OiAyMDtcbiAgY29sb3I6ICNFREYzRUU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ0NjY7XG59XG5cbi5vLWZvb3Rlcl9fbWFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDZ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA1dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDMuNTcxNDI4NTcxNHZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjU3MTQyODU3MTR2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLm8tZm9vdGVyX19icmFuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjk2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuM3Z3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4zNTcxNDI4NTcxdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMS42OHB4O1xuICB9XG59XG4uby1mb290ZXJfX2JyYW5kOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uby1mb290ZXJfX2xvZ28ge1xuICB3aWR0aDogMTUycHg7XG59XG5cbi5vLWZvb3Rlcl9faW5mbyA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9faW5mbyB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9faW5mbyB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogMTAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZm9vdGVyX19uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm8tZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIGNvbG9yOiAjRURGM0VFO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5vLWZvb3Rlcl9fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGxlZnQ6IC0xMHB4O1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzcsIDI0MywgMjM4LCAwLjEpO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKSBza2V3KDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcbn1cbi5vLWZvb3Rlcl9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgc2tldygtMzdkZWcpO1xufVxuLm8tZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzQwNzliODtcbn1cblxuLm8tZm9vdGVyX19zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDMycHggMCAwO1xufVxuXG4uby1mb290ZXJfX2NoYW5uZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuXG4uby1mb290ZXJfX2ljb24ge1xuICBmbGV4OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG59XG4uZmFjZWJvb2sgLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvZmFjZWJvb2suc3ZnXCIpO1xuICBoZWlnaHQ6IDIxcHg7XG59XG4uaW5zdGFncmFtIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2luc3RhZ3JhbS5zdmdcIik7XG59XG4udHdpdHRlciAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC90d2l0dGVyLnN2Z1wiKTtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLmxpbmtlZGluIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2xpbmtlZGluLnN2Z1wiKTtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLm8tZm9vdGVyX19pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLm8tZm9vdGVyX19pY29uOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzQwNzliODtcbn1cblxuLm8tZm9ybV9faGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLm8tZm9ybV9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLm8tZm9ybV9fcm93ICsgLm8tZm9ybV9fcm93IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm8tZm9ybV9fcG90IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uby1oZWFkZXIge1xuICB6LWluZGV4OiA1MDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMnB4IDA7XG59XG4uby1oZWFkZXIuaXMtaGVhZGVyLWFsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ0NjY7XG59XG4uby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1MDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBib3gtc2hhZG93OiAwIC01cHggMzBweCBibGFjaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDMwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlIC5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuXG4uby1oZWFkZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1oZWFkZXJfX25hdiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA5OXB4KSB7XG4gIC5vLWhlYWRlcl9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLWhlYWRlcl9fbGFuZ3VhZ2Uge1xuICBtYXJnaW4tbGVmdDogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuby1oZWFkZXJfX2xhbmd1YWdlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4uby1oZWFkZXJfX2xvZ28ge1xuICBmbGV4OiBub25lO1xufVxuLm8taGVhZGVyX19sb2dvOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgb3V0bGluZS1jb2xvcjogIzQwNzliODtcbn1cblxuLm8taGVhZGVyX19pbWcge1xuICBtYXgtaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTQ3cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1oZWFkZXJfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1pbnRybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWludHJvLmlzLWludHJvLWFsdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8taW50cm8uaXMtaW50cm8tYWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8taW50cm8uaXMtaW50cm8tYWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWludHJvLmlzLWludHJvLWFsdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuXG4uaXMtaW50cm8tYWx0IC5vLWludHJvX19oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE3QUE2O1xufVxuXG4uby1pbnRyb19fYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWludHJvX19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuaXMtaW50cm8tYWx0IC5vLWludHJvX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE3QUE2O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWludHJvLS1tb2JpbGUtYnJlYWstb3V0IC5vLWludHJvX19tYWluIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWludHJvX19tYWluOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDQ2NjtcbiAgfVxufVxuXG4uby1sb2dvc19fbGlzdCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbjogLTIuMzgydnc7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1sb2dvc19fbGlzdCB7XG4gICAgbWFyZ2luOiAtMzJweDtcbiAgfVxufVxuXG4uby1sb2dvc19faXRlbSB7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDIuMzgydnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODRweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDV2dyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tbG9nb3NfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gNjRweCk7XG4gICAgbWFyZ2luOiAzMnB4O1xuICB9XG59XG5cbi5vLWxvZ29zX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWxvZ29zX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uby1tYXAgYTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vLW5ld3Mge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tbmV3cyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tbmV3c19faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiAjMUExQTFBO1xufVxuXG4uby1uZXdzX19hcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm8tbmV3c19fYXJ0aWNsZSArIC5vLW5ld3NfX2FydGljbGUge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuXG4uby1uZXdzX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGxpbmVhcjtcbn1cbi5vLW5ld3NfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4uby1uZXdzX19saW5rOmhvdmVyLCAuby1uZXdzX19saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjdGQTtcbn1cbi5vLW5ld3NfX2xpbms6aG92ZXI6OmJlZm9yZSwgLm8tbmV3c19fbGluazpmb2N1czo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5vLW5ld3NfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjNDA3OWI4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4uby1uZXdzX19ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzX19ib2R5IHtcbiAgICBvcmRlcjogMTtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tbmV3c19fYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLW5ld3NfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDU1JTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2ltYWdlIHtcbiAgICBmbGV4OiBub25lO1xuICAgIG9yZGVyOiAyO1xuICAgIHdpZHRoOiAyNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDI1JTtcbiAgfVxufVxuXG4uby1uZXdzX19iZy1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgdG9wOiA2dnc7XG4gIHJpZ2h0OiA2dnc7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2dncpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19fYmctaW1hZ2Uge1xuICAgIHRvcDogOHB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTZweCk7XG4gIH1cbn1cblxuLm8tbmV3c19faW50cm8ge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uby1uZXdzX190aW1lc3RhbXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLW5ld3NfX2FjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBjb2xvcjogIzQwNzliODtcbn1cblxuLm8tbmV3c19fcmVhZG1vcmUge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm8tbmV3c19fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1vdmVybGF5LW1lbnUge1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NDY2O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMHZ3KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcywgMjAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzLCA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuMTUsIDAuMSwgMSksIGxpbmVhcjtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXMsIDBzO1xufVxuLm8tb3ZlcmxheS1tZW51OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMTIwdnc7XG4gIHdpZHRoOiAxMjB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLm8tb3ZlcmxheS1tZW51OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC0yMCU7XG4gIHdpZHRoOiAyMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC04NmRlZywgdHJhbnNwYXJlbnQgNTAlLCAjMDA0NDY2IDUwJSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9faW1nIHtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4uby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjV0dXJuKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX25hdiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW92ZXJsYXktbWVudV9fbmF2IHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51X19uYXYge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiBjYWxjKDU4dmgpO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saW5rIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI0VERjNFRTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIG91dGxpbmUtY29sb3I6ICNFREYzRUU7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbmsuaXMtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uby1xdW90ZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tcXVvdGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX2JvZHkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZV9fYm9keSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi5vLXF1b3RlX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX3BpY3R1cmUge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1xdW90ZV9faW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uby1xdW90ZV9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCI7XG59XG4uby1xdW90ZV9fdGV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbn1cbi5vLXF1b3RlX190ZXh0OjphZnRlciB7XG4gIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xufVxuXG4uby1xdW90ZV9fYXV0aG9yIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5vLXF1b3RlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLm8tcXVvdGVfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLXJlZmVyZW5jZXMge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogLTMycHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2l0ZW0ge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDMycHg7XG4gIHBhZGRpbmctdG9wOiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAwcHggc29saWQgI2M4YzhjODtcbiAgYm94LXNoYWRvdzogMCAzcHggNDBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuby1yZWZlcmVuY2VzX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDY0cHggLSAwcHgpO1xuICB9XG59XG5cbi5vLXJlZmVyZW5jZXNfX2JvZHkge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAyNSU7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xufVxuXG4uby1yZWZlcmVuY2VzX19jb250ZW50IHtcbiAgZmxleC1ncm93OiA5OTk5O1xuICBmbGV4LWJhc2lzOiAxOGVtO1xuICBtYXJnaW4tbGVmdDogMjRweDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2F1dGhvciB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uby1yZWZlcmVuY2VzX19zdWJoZWFkaW5nIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLXN1YmZvb3RlciB7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogI2FkYmFhZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkE0MDtcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cztcbn1cbi5pcy1jb29raWVzLWFjY2VwdGVkIC5vLXN1YmZvb3RlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uby1zdWJmb290ZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tc3ViZm9vdGVyX19jb3B5cmlnaHQge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbmF2IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLm8tc3ViZm9vdGVyX19saXN0IHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm8tc3ViZm9vdGVyX19pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuICBjb2xvcjogI2FkYmFhZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cbi5vLXN1YmZvb3Rlcl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjRURGM0VFO1xufVxuLm8tc3ViZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzQwNzliODtcbn1cblxuLm8tc3ViZm9vdGVyX190cmFkZW1hcmsge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLypcbiAqIE9uIHNtYWxsIHNjcmVlbnMgdGhlIGNvbnRlbnQgaXMgc3RhY2tlZCwgd2l0aG91dCBjb250cm9sc1xuICogV2hlbiB0aGUgc2NyZWVuIGlzIHdpZGUgZW5vdWdoIHdlIGFkZCB0aGUgY29udHJvbHNcbiAqIGFuZCBzaG93IG9ubHkgdGhlIGNob3NlbiAnc2xpZGUgY29udGVudCdcbiAqL1xuLm8tdGFic2xpZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGFic2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX2J1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgY29sb3I6ICMxQTFBMUE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJvcmRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjMDA0NDY2O1xuICBib3JkZXItY29sb3I6ICMwMDQ0NjY7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogI0VERjNFRTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDQ2NjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA0NDY2O1xufVxuLm8tdGFic2xpZGVyX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICMwMDQ0NjY7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpmb2N1czpub3QoLmlzLWFjdGl2ZSk6bm90KDphY3RpdmUpIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmZmZmYsIDAgMCA1cHggM3B4IHJnYmEoMjYsIDI2LCAyNiwgMC4xKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcCB7XG4gIHdpZHRoOiA0OHB4O1xufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAtLXByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX190YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby10YWJzbGlkZXJfX3RhYnMge1xuICAgIG1hcmdpbjogLThweCA4cHg7XG4gIH1cbn1cblxuLm8tdGFic2xpZGVyX190YWIge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBtYXJnaW46IDhweDtcbiAgcGFkZGluZzogN3B4IDE2cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250ZW50ICsgLm8tdGFic2xpZGVyX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRlbnQge1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICAuby10YWJzbGlkZXJfX2NvbnRlbnQuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fbGFiZWwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMxQTFBMUE7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLXRlYW0ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10ZWFtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDEydnc7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogMTB2dztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogNy4xNDI4NTcxNDI5dnc7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLm8tdGVhbV9fbWF0cml4IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogLTE2cHg7XG4gIH1cbn1cblxuLm8tdGVhbV9faXRlbSB7XG4gIG1hcmdpbjogMCBhdXRvIDMycHg7XG4gIG1heC13aWR0aDogMzIwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuby10ZWFtX19pdGVtIHtcbiAgICBtYXJnaW46IDE2cHg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGZsZXg6IG5vbmU7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzMnB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMzJweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby10ZWFtX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDMycHgpO1xuICB9XG59XG5cbi5vLXRvcC1iYXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuby10b3AtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLXRvcC1iYXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdG9wLWJhcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXRvcC1iYXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLXRvcC1iYXJfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogOHB4IDA7XG59XG5cbi5vLXRvcC1iYXJfX2xpbmsge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDhweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLm8tdG9wLWJhcl9fbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdXNwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NDY2O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXVzcF9fbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5vLXVzcF9fdGV4dCB7XG4gIHBhZGRpbmc6IDMycHggMDtcbiAgY29sb3I6ICNFREYzRUU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ0NjY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby11c3BfX3RleHQge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgICBwYWRkaW5nLXRvcDogNi4yNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDYuMjUlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXVzcF9fdGV4dCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiA0LjE2NjY2NjY2NjclIDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tdXNwX19pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby11c3BfX2ltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTZ2dztcbiAgICBtYXJnaW4tcmlnaHQ6IC02dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDY1JTtcbiAgICBtaW4taGVpZ2h0OiAzNjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tdXNwX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXVzcF9faW1hZ2Uge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm8tdXNwX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgY29sb3I6ICNFREYzRUU7XG59XG5cbi5vLXVzcF9fbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi5vLXVzcF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xufVxuLm8tdXNwX19pdGVtICsgLm8tdXNwX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5vLXVzcF9faXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogLTE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7XG59XG5cbi5vLXVzcF9fYWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNDhweDtcbn1cblxuLm8tdXNwX19pbWFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMEY3RkE7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi8qICA3IC0gVGVtcGxhdGVzXG4gKiAgT3ZlcnJpZGUgc3R5bGluZyBmb3IgYSBzcGVjaWZpYyB0ZW1wbGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiAgOCAtIFNDT1BFU1xuICogIEVsZW1lbnRzIGFuZCBjbGFzc2VzIHRoYXQgYXJlIHNjb3BlZCBieSBhIHBhcmVudCBjbGFzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucy1jaGVja2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zLWNoZWNrbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG4ucy1jaGVja2xpc3QgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpO1xufVxuLmNoZWNrbGlzdC1oYXMteC1zbWFsbC1mb250IC5zLWNoZWNrbGlzdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG59XG4uY2hlY2tsaXN0LWhhcy14LXNtYWxsLWZvbnQgLnMtY2hlY2tsaXN0IGxpOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbn1cblxuLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cbi5zLXRleHQgaDIsIC5zLXRleHQgaDMsIC5zLXRleHQgaDQge1xuICBjb2xvcjogIzFBMUExQTtcbn1cbi5zLXRleHQgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG4ucy10ZXh0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnMtdGV4dCA+ICogKyAuYy1idXR0b24ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNWVtO1xufVxuLnMtdGV4dCA+IHVsOm5vdChbY2xhc3NdKSA+IGxpOjpiZWZvcmUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgY29udGVudDogXCLigKJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00cHg7XG4gIGxlZnQ6IDA7XG59XG4ucy10ZXh0ID4gb2w6bm90KFtjbGFzc10pIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogb2wtY291bnRlcjtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkgPiBsaSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjhlbTtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihvbC1jb3VudGVyKSBcIi4gXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS4yNzVlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qICA5IC0gVVRJTElUSUVTXG4gKiAgSGlnaC1zcGVjaWZpY2l0eSwgdmVyeSBleHBsaWNpdCBzZWxlY3RvcnMuXG4gKiAgT3ZlcnJpZGVzIGFuZCBoZWxwZXIgY2xhc3Nlcy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgY29sb3JzXG4gKiBCYXNlZCBvbiB0aGVzZSBhcnRpY2xlczpcbiAqIC0gaHR0cDovL2Vyc2tpbmVkZXNpZ24uY29tL2Jsb2cvZnJpZW5kbGllci1jb2xvdXItbmFtZXMtc2Fzcy1tYXBzL1xuICogLSBodHRwczovL2Jsb2cuYXRlY2htZWRpYS5jb20vY3NzLWZvci1tdWx0aXBsZS10aGVtZXMvXG4gKiBPdXRwdXQgaXMgaW4gdGhlIGZvcm0gb2Y6XG5cbiAgIC51LWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNiYWRhNTU7XG4gICB9XG5cbiAgLnUtYmctbmV1dHJhbC0tZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlY2FmZjtcbiAgfVxuICovXG4udS1jb2xvci1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMDQ0NjY7XG59XG5cbi51LWJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NDY2O1xufVxuXG4udS1jb2xvci1wcmltYXJ5LS0yIHtcbiAgY29sb3I6ICMyMTdBQTY7XG59XG5cbi51LWJnLXByaW1hcnktLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE3QUE2O1xufVxuXG4udS1jb2xvci1wcmltYXJ5LS0zIHtcbiAgY29sb3I6ICMwMDJBNDA7XG59XG5cbi51LWJnLXByaW1hcnktLTMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyQTQwO1xufVxuXG4udS1jb2xvci1zZWNvbmRhcnkge1xuICBjb2xvcjogIzI1RDJGNztcbn1cblxuLnUtYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1RDJGNztcbn1cblxuLnUtY29sb3Itc2Vjb25kYXJ5LS0yIHtcbiAgY29sb3I6ICNiNzZlNDc7XG59XG5cbi51LWJnLXNlY29uZGFyeS0tMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNzZlNDc7XG59XG5cbi51LWNvbG9yLXRlcnRpYXJ5IHtcbiAgY29sb3I6ICM1MjVkN2Q7XG59XG5cbi51LWJnLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUyNWQ3ZDtcbn1cblxuLnUtY29sb3ItdGVydGlhcnktLTIge1xuICBjb2xvcjogIzQwNDg2Mjtcbn1cblxuLnUtYmctdGVydGlhcnktLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA0ODYyO1xufVxuXG4udS1jb2xvci1uZXV0cmFsIHtcbiAgY29sb3I6ICNGMEY3RkE7XG59XG5cbi51LWJnLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGN0ZBO1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS1tZWRpdW0ge1xuICBjb2xvcjogI0M4QzhDODtcbn1cblxuLnUtYmctbmV1dHJhbC0tbWVkaXVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tZGFyayB7XG4gIGNvbG9yOiAjMWQxZDFkO1xufVxuXG4udS1iZy1uZXV0cmFsLS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMWQxZDtcbn1cblxuLnUtY29sb3ItdGV4dCB7XG4gIGNvbG9yOiAjMUExQTFBO1xufVxuXG4udS1iZy10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFBMUExQTtcbn1cblxuLnUtY29sb3ItdGV4dC0tMiB7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1iZy10ZXh0LS0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtY29sb3ItdGV4dC0tMyB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1iZy10ZXh0LS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi1kYXJrIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi51LWJnLXRleHQtb24tZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi51LWNvbG9yLXRleHQtb24tZGFyay0tMiB7XG4gIGNvbG9yOiAjZWRlZGVkO1xufVxuXG4udS1iZy10ZXh0LW9uLWRhcmstLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xufVxuXG4udS1jb2xvci10ZXh0LW9uLWRhcmstLTMge1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtYmctdGV4dC1vbi1kYXJrLS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi1wcmltYXJ5IHtcbiAgY29sb3I6ICNFREYzRUU7XG59XG5cbi51LWJnLXRleHQtb24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFREYzRUU7XG59XG5cbi51LWNvbG9yLXRleHQtb24tcHJpbWFyeS0tMiB7XG4gIGNvbG9yOiAjZDVkY2Q1O1xufVxuXG4udS1iZy10ZXh0LW9uLXByaW1hcnktLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkY2Q1O1xufVxuXG4udS1jb2xvci10ZXh0LW9uLXByaW1hcnktLTMge1xuICBjb2xvcjogI2FkYmFhZTtcbn1cblxuLnUtYmctdGV4dC1vbi1wcmltYXJ5LS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkYmFhZTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi1zZWNvbmRhcnkge1xuICBjb2xvcjogI2ZmZjdmMjtcbn1cblxuLnUtYmctdGV4dC1vbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmN2YyO1xufVxuXG4udS1jb2xvci10ZXh0LW9uLXNlY29uZGFyeS0tMiB7XG4gIGNvbG9yOiAjZmZlMGNjO1xufVxuXG4udS1iZy10ZXh0LW9uLXNlY29uZGFyeS0tMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUwY2M7XG59XG5cbi51LWNvbG9yLXRleHQtb24tc2Vjb25kYXJ5LS0zIHtcbiAgY29sb3I6ICNmZmQwYjM7XG59XG5cbi51LWJnLXRleHQtb24tc2Vjb25kYXJ5LS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDBiMztcbn1cblxuLnUtY29sb3ItdGV4dC1vbi10ZXJ0aWFyeSB7XG4gIGNvbG9yOiAjZTFlY2ZhO1xufVxuXG4udS1iZy10ZXh0LW9uLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZWNmYTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi10ZXJ0aWFyeS0tMiB7XG4gIGNvbG9yOiAjZDRlNWZhO1xufVxuXG4udS1iZy10ZXh0LW9uLXRlcnRpYXJ5LS0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZTVmYTtcbn1cblxuLnUtY29sb3ItdGV4dC1vbi10ZXJ0aWFyeS0tMyB7XG4gIGNvbG9yOiAjYmJkOGZhO1xufVxuXG4udS1iZy10ZXh0LW9uLXRlcnRpYXJ5LS0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiZDhmYTtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2sge1xuICBjb2xvcjogIzQwNzliODtcbn1cblxuLnUtYmctZmVlZGJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA3OWI4O1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tYWN0aW9uIHtcbiAgY29sb3I6ICM0MDc5Yjg7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA3OWI4O1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0td2FybmluZyB7XG4gIGNvbG9yOiAjZmZkMzNhO1xufVxuXG4udS1iZy1mZWVkYmFjay0td2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmQzM2E7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1hbGVydCB7XG4gIGNvbG9yOiAjZmY4MTAwO1xufVxuXG4udS1iZy1mZWVkYmFjay0tYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4MTAwO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tbmVnYXRpdmUge1xuICBjb2xvcjogI2NmM2UzZTtcbn1cblxuLnUtYmctZmVlZGJhY2stLW5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmM2UzZTtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLXBvc2l0aXZlIHtcbiAgY29sb3I6ICMzZWNmOGU7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1wb3NpdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZWNmOGU7XG59XG5cbi51LWNvbG9yLWxpZ2h0IHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi51LWJnLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLnUtY29sb3ItZGFyayB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4udS1iZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLnUtY29sb3ItYm9yZGVyIHtcbiAgY29sb3I6ICNjOGM4Yzg7XG59XG5cbi51LWJnLWJvcmRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGM4Yzg7XG59XG5cbi51LWNvbG9yLWJveC1zaGFkb3cge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4udS1iZy1ib3gtc2hhZG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4udS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiAxMnZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogMTB2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC51LXNwYWNpbmctcHYge1xuICAgIHBhZGRpbmctdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbiAgfVxufVxuXG4udS1zcGFjaW5nLW1iMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC51LXNwYWNpbmctcHIwXFxAbCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4vKlxuKiBJZiB5b3UgbmVlZCB0byBtYWtlIGEgcXVpY2sgZml4LCB5b3UgY2FuIGRvIGl0IGhlcmUuXG4qIExhdGVyIHdoZW4geW91IGhhdmUgdGhlIHRpbWUsIHlvdSBjYW4gbW92ZSB0aGUgZml4IGludG8gdGhlIGNvcnJlY3QgcGxhY2UgaW4gdGhlIHN0cnVjdHVyZVxuKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93R3JpZCcgdG8gdHJ1ZSBpbiBzaXRlLnBocFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51LXZpc2libGUtZ3JpZCB7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLyogOCBwb2ludCBncmlkIGxpbmVzICovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAudS12aXNpYmxlLWdyaWQge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAudS12aXNpYmxlLWdyaWQge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAudS12aXNpYmxlLWdyaWQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSAyNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDUwJSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAudS12aXNpYmxlLWdyaWRfX21haW4ge1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNyksIHJnYmEoMCwgNDMsIDI1NSwgMC4wNykgMTIuNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMTIuNSUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMjUlKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSwgcmdiYSgwLCA0MywgMjU1LCAwLjA3KSA4LjMzMzMzMzMzMzMlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDguMzMzMzMzMzMzMyUsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNCkgMTYuNjY2NjY2NjY2NyUpO1xuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGUgZGVmYXVsdCBib3JkZXItcmFkaXVzIHZhbHVlcyB1c2VkIGluIHRoZSBib3JkZXIgbWl4aW5cblxuJGJvcmRlci1yYWRpdXM6IChcbiAgczogNHB4LFxuICBtOiA4cHgsXG4gIGw6IDE2cHhcbik7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU29tZSBnbG9iYWwgc2V0dGluZ3NcblxuJHNpdGUtY29sdW1ucy1zOlx0XHRcdCAgICAgIDQ7XG4kc2l0ZS1jb2x1bW5zLW06XHRcdFx0ICAgICAgODtcbiRzaXRlLWNvbHVtbnMtbDpcdFx0XHQgICAgICAxMjtcbiRzaXRlLWNvbHVtbi1zaXplOlx0XHQgICAgICA5NjsgLy8gU2l6ZSBvZiBhIHNpbmdsZSBjb2x1bW4gd2hlbiB2aWV3cG9ydCBpcyBhdCBpdHMgbWF4IHdpZHRoICh1c2VkIGZvciBjYWxjdWxhdGluZyBtYXgtd2lkdGgpLlxuJHNpdGUtZ3V0dGVyLXdpZHRoOiBcdCAgICAgIDZ2dzsgLy8gVXNlZCBvbmx5IGZvciBzbWFsbCBzY3JlZW5zLiBNdXN0IGJlIFt2d10gb3IgW3B4XSwgTk9UIFslXS5cbiRzaXRlLWNvb2tpZUJhci1oZWlnaHQ6ICAgICA2NHB4OyAvLyBGaXhlZCBzaXplIHNvIHdlIGNhbiBvZmZzZXQgcGFkZGluZy1ib3R0b20gb24gdGhlIGJvZHlcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRpb25zIHRoYXQgYXJlIGRvbmUgd2l0aCBzb21lIG9mIHRoZSBnaXZlbiB2YWx1ZXMgYWJvdmUgdGhpcyBsaW5lXG5cbiRzaXRlLW1heC13aWR0aDogJHNpdGUtY29sdW1uLXNpemUgKiAkc2l0ZS1jb2x1bW5zLWw7IC8vIE1haW4gY29udGFpbmVyIG1heC13aWR0aCAod2l0aG91dCBndXR0ZXIpIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPcmdhbml6ZSBjb2xvciB2YXJpYWJsZXMgaW4gYSBTYXNzIE1hcC5cbiAgIFRoaXMgd2F5LCB0aGUgY29sb3JzIGNhbiBiZSBpdGVyYXRlZCwgYXJlIG1vcmUgb3JnYW5pemVkLFxuICAgYW5kIGFyZSBtb3JlIGludHVpdGl2ZSB0byByZWZlcmVuY2UuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4kcGFsZXR0ZXM6IChcblxuICAncHJpbWFyeSc6IChcbiAgICAxOiAjMDA0NDY2LFxuICAgIDI6ICMyMTdBQTYsXG4gICAgMzogIzAwMkE0MCxcbiAgKSxcblxuICAnc2Vjb25kYXJ5JzogKFxuICAgIDE6ICMyNUQyRjcsXG4gICAgMjogI2I3NmU0NyxcbiAgKSxcblxuICAndGVydGlhcnknOiAoXG4gICAgMTogIzUyNWQ3ZCxcbiAgICAyOiAjNDA0ODYyLFxuICApLFxuXG4gICduZXV0cmFsJzogKFxuICAgIDE6ICNGMEY3RkEsXG4gICAgbWVkaXVtOiAjQzhDOEM4LFxuICAgIGRhcms6ICMxZDFkMWQsXG4gICksXG5cbiAgJ3RleHQnOiAoXG4gICAgMTogIzFBMUExQSxcbiAgICAyOiAjNjU2NTY1LFxuICAgIDM6ICM5OTk5OTksXG4gICksXG5cbiAgJ3RleHQtb24tZGFyayc6IChcbiAgICAxOiAjZmZmZmZmLFxuICAgIDI6ICNlZGVkZWQsXG4gICAgMzogIzk5OTk5OSxcbiAgKSxcblxuICAndGV4dC1vbi1wcmltYXJ5JzogKFxuICAgIDE6ICNFREYzRUUsXG4gICAgMjogI2Q1ZGNkNSxcbiAgICAzOiAjYWRiYWFlLFxuICApLFxuXG4gICd0ZXh0LW9uLXNlY29uZGFyeSc6IChcbiAgICAxOiAjZmZmN2YyLFxuICAgIDI6ICNmZmUwY2MsXG4gICAgMzogI2ZmZDBiMyxcbiAgKSxcblxuICAndGV4dC1vbi10ZXJ0aWFyeSc6IChcbiAgICAxOiAjZTFlY2ZhLFxuICAgIDI6ICNkNGU1ZmEsXG4gICAgMzogI2JiZDhmYSxcbiAgKSxcblxuICAnZmVlZGJhY2snOiAoXG4gICAgMTogIzQwNzliOCxcbiAgICBhY3Rpb246ICM0MDc5YjgsXG4gICAgd2FybmluZzogI2ZmZDMzYSxcbiAgICBhbGVydDogI2ZmODEwMCxcbiAgICBuZWdhdGl2ZTogI2NmM2UzZSxcbiAgICBwb3NpdGl2ZTogIzNlY2Y4ZSxcbiAgKSxcblxuICAnbGlnaHQnOiAoXG4gICAgMTogI2ZmZmZmZixcbiAgKSxcblxuICAnZGFyayc6IChcbiAgICAxOiAjMDAwMDAwLFxuICApLFxuXG4gICdib3JkZXInOiAoXG4gICAgMTogI2M4YzhjOCxcbiAgKSxcblxuICAnYm94LXNoYWRvdyc6IChcbiAgICAxOiBoc2xhKDAsIDUwJSwgMCUsIDAuMiksXG4gICksXG5cbik7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFx0IERlZmluZXMgdGhlIHR5cG9ncmFwaGljIGJhc2VsaW5lLlxuICAgV2UgZGVmaW5lIGV2ZXJ5IHNpemUgaW4gcGl4ZWxzLCB0aGUgdW5kZXJseWluZyBzeXN0ZW1cbiAgIGNvbnZlcnRzIHRoZSByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiBcdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogT3VyIGJhc2UgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICovXG4kYmFzZS1mb250LXNpemU6ICAgXHQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHQhZGVmYXVsdDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiBcdDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdCFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXJhdGlvOlx0JGJhc2UtbGluZS1oZWlnaHQvJGJhc2UtZm9udC1zaXplICAgIWRlZmF1bHQ7XG5cbiRmb250LXNpemVzOiAoXG5cdCd4cyc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQxNCxcblx0XHRsaW5lLWhlaWdodDogXHQxNlxuXHQpLFxuXHQncyc6IFx0XHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDE1LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDI0XG5cdCksXG5cdCdiYXNlJzogXHRcdChcblx0XHRmb250LXNpemU6IFx0XHQkYmFzZS1mb250LXNpemUsXG5cdFx0bGluZS1oZWlnaHQ6IFx0JGJhc2UtbGluZS1oZWlnaHRcblx0KSxcblx0J20nOiBcdFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQyMCxcblx0XHRsaW5lLWhlaWdodDogXHQzMlxuXHQpLFxuXHQnbCc6IFx0XHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDI0LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDMyXG5cdCksXG5cdCd4bCc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQzMixcblx0XHRsaW5lLWhlaWdodDogXHQ0MFxuXHQpLFxuXHQneHhsJzogXHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDQwLFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDQwXG5cdCksXG5cdCd4eHhsJzogXHRcdChcblx0XHRmb250LXNpemU6IFx0XHQ0OCxcblx0XHRsaW5lLWhlaWdodDogXHQ0OFxuXHQpLFxuXHQneHh4eGwnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDU2LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDU2XG5cdCksXG4pO1xuXG5cbi8qKlxuICpcdEhlcmUgd2UgYXNzaWduIHNob3J0IG5hbWVzIGZvciB0aGUgZm9udCBmYW1pbGllc1xuICovXG5cbiRmb250LXN5c3RlbTpcdFx0LWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kZm9udC1yb2JvdG86IFx0J1JvYm90bycsIHNhbnMtc2VyaWY7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERlZmluZSBicmVha3BvaW50cyBmb3IgZ2l2ZW4gZm9ybWF0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vLyBEZWZhdWx0IGJyZWFrcG9pbnRzXG4kYnJlYWtwb2ludHM6IChcblx0czogMzg0LFxuXHRtOiA4NDAsXG5cdGw6IDExNTIsXG4pO1xuXG4vLyBEZXRlcm1pbmUgYXQgd2hpY2ggdmlld3BvcnQgc2l6ZSB3ZSBjYW4gZml0IGluIGEgaG9yaXpvbnRhbCBtZW51IGluc3RlYWQgb2YgdGhlIGhhbWJ1cmdlciBtZW51IHRvZ2dsZVxuJGJwLWhlYWRlci1sYXJnZTogMTEwMDtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHZpZXdwb3J0IHNpemUgd2hlbiBjb250YWluZXIgY2FuJ3QgZ3JvdyBhbnltb3JlXG4kYnAtbWF4OiAkc2l0ZS1tYXgtd2lkdGggKyAoKCRzaXRlLW1heC13aWR0aCAvICRzaXRlLWNvbHVtbnMtbCkgKiAyKTsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGdW5jdGlvbnMgdXNlZCBpbiBncmlkIGNhbGN1bGF0aW9uXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuQGZ1bmN0aW9uIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRzaXRlLWNvbHVtbnMtbCkge1xuXHQvLyBDYWxjdWxhdGUgdGhlIHdpZHRoIGZvciBhIHNpbmdsZSBjb2x1bW4gb24gYSBmdWxsIGdyaWRcblx0JHNpbmdsZUNvbHVtblNpemU6IDEwMCAvICRzaXRlLWNvbHVtbnMtbDtcblxuXHQvLyBHZXQgdGhlIG9yaWdpbiBzaXplIGluIHBlcmNlbnRhZ2UgZnJvbSB0aGUgZnVsbCBncmlkXG5cdCRvcmlnaW5QZXJjZW50YWdlOiAkb3JpZ2luIC8gJHNpdGUtY29sdW1ucy1sICogMTAwO1xuXG5cdC8vIENhbGN1bGF0ZSBzaW5nbGUgY29sdW1uIGZyb20gbmV3IG9yaWdpblxuXHQkbmV3U2luZ2xlQ29sdW1uU2l6ZTogJHNpbmdsZUNvbHVtblNpemUgLyAkb3JpZ2luUGVyY2VudGFnZSAqIDEwMDtcblxuXHQvLyBSZXR1cm4gYW1vdW50IG9mIGNvbHVtbnMgYXMgcGVyY2VudGFnZVxuXHRAcmV0dXJuICgkbmV3U2luZ2xlQ29sdW1uU2l6ZSAqICRjb2x1bW5Db3VudCk7XG59XG5cbi8qKlxuICAqIERlZmF1bHQgZnVuY3Rpb24gZm9yIGNvbHVtbnNcbiAgKiBSZXR1cm4gYXMgcGVyY2VudGFnZVxuICAqL1xuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJHNpdGUtY29sdW1ucy1sKSB7XG5cdEByZXR1cm4gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQsICRvcmlnaW4pICogMSU7XG59XG5cbi8qKlxuICAqIFJldHVybiBhcyB2aWV3cG9ydCB3aWR0aFxuICAqL1xuQGZ1bmN0aW9uIGNvbHVtblZ3KCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zLWwpIHtcblx0QHJldHVybiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCwgJG9yaWdpbikgKiAxdnc7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEZvbnQgcmVsYXRlZCBmdW5jdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuXG5cbkBtaXhpbiBmb250LXNpemUoJGZzLCAkbGg6IG51bGwpIHtcbiAgLy8gR2V0IGNvcnJlY3Qga2V5IHdpdGggZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodCBweCB2YWx1ZVxuICAkZm9udC1zaXplLXByb3BlcnRpZXM6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsICRmcyk7XG4gIEBpZiAkZm9udC1zaXplLXByb3BlcnRpZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKSk7XG5cbiAgICBAaWYoJGxoID09IG51bGwpe1xuICAgICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBsaW5lLWhlaWdodCkgLyBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGggLyBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKTtcbiAgICB9XG4gIH1cbiAgLy8gV2hlbiBtYXBwaW5nIGlzbid0IGZvdW5kIGNhbGN1bGF0ZSBhcyBpZiBQWC12YWx1ZSB3YXMgZ2l2ZW4gYW5kIHJldHVybiBSRU0gdmFsdWVcbiAgQGVsc2Uge1xuICAgIEBpZiBpcy1udW1iZXIoJGZzKSB7XG4gICAgICBmb250LXNpemU6IHZhbHVlVG9SZW0oJGZzKTtcblxuICAgICAgQGlmKCRsaCAhPSBudWxsKXtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaCAvICRmcztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gXCIgYCN7JGZzfWAgaXMgbm90IGEgdmFsaWQgdmFsdWUuIEl0IG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6IGAjeyRmb250LXNpemVzfWBcIjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1RPRE86IHJlbW92ZSBmdW5jdGlvbiBhbmQgdXNlc1xuQG1peGluIGZvbnQoJHNpemUsICRsaDogbnVsbCwgJHdlaWdodDogbnVsbCkge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNpemUsICRsaCk7XG59IiwiLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGZ1bmN0aW9uIGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkYnJlYWtwb2ludCkge1xuXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuXHR9XG5cblx0QHdhcm4gXCJVbmtub3duIGJyZWFrcG9pbnQ6IGAjeyRicmVha3BvaW50fWAgaW4gJGJyZWFrcG9pbnRzLlwiO1xuXHRAcmV0dXJuIG51bGw7XG59XG5cbkBtaXhpbiBtcSgkbWluOiBudWxsLCAkbWF4OiBudWxsKSB7XG5cdCRxdWVyeTogXCJhbGxcIiAhZGVmYXVsdDtcblxuXHQvLyBUcnkgdG8gY29udmVydCAkbWluIHZhbHVlIGlmIG5vdCBudW1iZXIgb3IgbnVsbFxuXHRAaWYodHlwZS1vZigkbWluKSAhPSBudW1iZXIgYW5kICRtaW4gIT0gbnVsbCl7XG5cdFx0JG1pbjogY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRtaW4pO1xuXHR9XG5cblx0Ly8gVHJ5IHRvIGNvbnZlcnQgJG1heCB2YWx1ZSBpZiBub3QgbnVtYmVyIG9yIG51bGxcblx0QGlmKHR5cGUtb2YoJG1heCkgIT0gbnVtYmVyIGFuZCAkbWF4ICE9IG51bGwpe1xuXHRcdCRtYXg6IGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkbWF4KTtcblx0fVxuXG5cdC8vIHNldCBib3RoIG1pbiBhbmQgbWF4XG5cdEBpZiAoJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwpIHtcblx0XHQkcXVlcnk6IFwiKG1pbi13aWR0aDogI3skbWlufXB4KSBhbmQgKG1heC13aWR0aDogI3skbWF4IC0gMX1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtaW5cblx0QGVsc2UgaWYgKCRtaW4gIT0gbnVsbCBhbmQgJG1heCA9PSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtaW4td2lkdGg6ICN7JG1pbn1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtYXhcblx0QGVsc2UgaWYgKCRtaW4gPT0gbnVsbCBhbmQgJG1heCAhPSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtYXgtd2lkdGg6ICN7JG1heCAtIDF9cHgpXCI7XG5cdH1cblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAjeyRxdWVyeX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUb29sYm94IGZ1bmN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cblxuQGZ1bmN0aW9uIHF1YXJ0ZXIoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgLyA0KTtcbn1cblxuQGZ1bmN0aW9uIGhhbHZlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyIC8gMik7XG59XG5cbkBmdW5jdGlvbiBkb3VibGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAyKTtcbn1cblxuQGZ1bmN0aW9uIHRyaXBsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDMpO1xufVxuXG5AZnVuY3Rpb24gcXVhZHJ1cGxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogNCk7XG59XG5cblxuLyoqXG4gKiAgUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4gKiAgQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuICogIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbiAqL1xuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG5cdEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuXHRcdEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuXHR9XG5cblx0QHJldHVybiAkbnVtYmVyO1xufVxuXG5cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuXHRAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJztcbn1cblxuXG4vKiBWYWx1ZSB0byBFbSAqL1xuXG5AZnVuY3Rpb24gdmFsdWVUb1JlbSgkdmFsdWUpIHtcblx0JG5vVW5pdHM6IHN0cmlwLXVuaXQoJHZhbHVlKTtcblx0QHJldHVybiAjeyRub1VuaXRzIC8gMTYgKiAxcmVtfTtcbn1cblxuLyogVmFsdWUgdG8gUmVtICovXG5cbkBmdW5jdGlvbiB2YWx1ZVRvRW0oJHZhbHVlKSB7XG5cdCRub1VuaXRzOiBzdHJpcC11bml0KCR2YWx1ZSk7XG5cdEByZXR1cm4gI3skbm9Vbml0cyAvIDE2ICogMWVtfTtcbn1cblxuXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBjb2xvcnMgZnJvbSBvdXIgbWFwcGluZ1xuICpcdFRvIGFjY2VzcyBjb2xvcnMgaW4gb3VyIHBhbGV0dGUsIHdlIHVzZSBhIHZlcnkgc2ltcGxlIGN1c3RvbSBTYXNzIGZ1bmN0aW9uXG5cblx0VVNBR0U6XG5cblx0YSB7XG5cdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSk7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDIpO1xuXHRcdH1cblx0fVxuXG4gKi9cblxuQGZ1bmN0aW9uIHBhbGV0dGUoJHBhbGV0dGUsICRsZXZlbDogMSkge1xuXHRAaWYgbWFwLWhhcy1rZXkoJHBhbGV0dGVzLCAkcGFsZXR0ZSkge1xuXHRcdEBpZiBtYXAtaGFzLWtleShtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpIHtcblx0XHRcdEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0Ly8gSWYgbGV2ZWwgZG9lc24ndCBleGlzdCBpbiBtYXAsIGdpdmUgdGhlIGZpcnN0IHZhbHVlIG9mIHRoZSBwYWxldHRlXG5cdFx0XHRAcmV0dXJuIG50aChudGgobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgMSksIDIpO1xuXHRcdH1cblx0fVxuXG5cdEB3YXJuIFwiVW5rbm93biBjb2xvcjogYCN7JHBhbGV0dGV9YCBpbiAkcGFsZXR0ZS4gXCI7XG5cdEByZXR1cm4gaG90cGluaztcbn1cblxuXG5cbi8vIFNldCBhIGZpeGVkIHNwYWNlIGJhc2VkIG9uIHRoZSA4cHQgZ3JpZFxuLy8gSnVzdCBwYXNzIHRoZSBmdW5jdGlvbiBhIG51bWJlciBlcXVhbCB0byB0aGUgbnVtYmVyIG9mICg4KXBvaW50cyB5b3UgbmVlZFxuQGZ1bmN0aW9uIHNwYWNlKCRzaXplOiAnMScpIHtcbiAgQHJldHVybiA4cHggKiAkc2l6ZTtcbn1cblxuXG5cbi8qXG4gKiBTZXQgdmVydGljYWwgc3BhY2luZyBvbmx5IGZvciBtb2JpbGUgdmlld3BvcnRcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctcyhcblx0XHRcdFx0J21hcmdpbi10b3AnIDFcblx0XHQpO1xuICB9XG5cbiAqL1xuXG5cblxuQG1peGluIHZzcGFjaW5nLXMoJHZhbHVlcy4uLikge1xuICBAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG4gICAgQGVhY2ggJGkgaW4gJHZhbHVlcyB7XG4gICAgICAvLyBCeSBzZXR0aW5nIGd1dHRlciBzaXplIGFzIGEgaGFsdmUgY29sdW1uIHdpZHRoIHdlIGNhbiBtYWtlICdzcXVhcmVzJyBvbiBtb2JpbGVcbiAgICAgICN7bnRoKCRpLCAxKX06ICN7KCRzaXRlLWd1dHRlci13aWR0aCAqIDIpICogbnRoKCRpLCAyKX07XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiBTZXQgdmVydGljYWwgc3BhY2luZyBmb3Igdmlld3BvcnQgbGFyZ2VyIHRoYW4gbW9iaWxlXG4gKiBJbiBmbGV4aWJsZSB1bml0cyAodncpIGFuZCBvbiBtYXggdmlld3BvcnQgaW4gYSBmaXhlZCBhbW91bnQgKHB4KVxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1tLXVwKFxuXHRcdFx0XHQncGFkZGluZy10b3AnIDAuMzMsXG5cdFx0XHRcdCdtYXJnaW4tYm90dG9tJyAwLjVcblx0XHQpO1xuICB9XG5cbiAqL1xuXG5AbWl4aW4gdnNwYWNpbmctbS11cCgkdmFsdWVzLi4uKSB7XG4gIEBpbmNsdWRlIG1xKG0sIGwpIHtcbiAgICBAZWFjaCAkaSBpbiAkdmFsdWVzIHtcbiAgICAgICN7bnRoKCRpLCAxKX06ICN7KDEgLyAoJHNpdGUtY29sdW1ucy1tICsgMikgKiAxMDApICogbnRoKCRpLCAyKX12dztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbXEobCwgJGJwLW1heCkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgI3tudGgoJGksIDEpfTogI3soMSAvICgkc2l0ZS1jb2x1bW5zLWwgKyAyKSAqIDEwMCkgKiBudGgoJGksIDIpfXZ3O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG4gICAgQGVhY2ggJGkgaW4gJHZhbHVlcyB7XG4gICAgICAje250aCgkaSwgMSl9OiAjeygkc2l0ZS1tYXgtd2lkdGggLyAkc2l0ZS1jb2x1bW5zLWwpICogbnRoKCRpLCAyKX1weDtcbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIEZyb20gdmFsdWVzIGdpdmVuIHJldHVybiB0aGUgY29ycmVjdCB2LXNwYWNpbmcgZm9yIGVhY2ggYnJlYWtwb2ludFxuICovXG5AbWl4aW4gdnNwYWNpbmcoJHZhbHVlcy4uLikge1xuXHRAaW5jbHVkZSB2c3BhY2luZy1zKCR2YWx1ZXMuLi4pO1xuXHRAaW5jbHVkZSB2c3BhY2luZy1tLXVwKCR2YWx1ZXMuLi4pO1xufVxuXG5cblxuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJveC1zaGFkb3dcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm94LXNoYWRvdztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJveC1zaGFkb3cobG93KTtcblx0fVxuXG4gKi9cbkBtaXhpbiBib3gtc2hhZG93KCR0eXBlOiBoaWdoKSB7XG5cdEBpZiAoJHR5cGUgPT0gJ2hpZ2gnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCAyMHB4IDMwcHggLTEwcHggcGFsZXR0ZShib3gtc2hhZG93KTtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdsb3cnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggNnB4IDAgcGFsZXR0ZShib3gtc2hhZG93KTtcblx0fVxufVxuXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3Igc2V0dGluZyBhIGNvbnNpc3RlbnQgYm9yZGVyLXJhZGl1c1xuXG5cdFVTQUdFOlxuXG5cdC5jYXJkIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHR9XG5cblx0LmNhcmQtLWFsdCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhsKTtcblx0fVxuXG4gKi9cbkBtaXhpbiBib3JkZXItcmFkaXVzKCR0eXBlOiBzKSB7XG5cdEBpZiAoJHR5cGUgPT0gJ3MnKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cblx0QGlmICgkdHlwZSA9PSAnbScpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBtKTtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdsJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIGwpO1xuXHR9XG59XG5cbi8qKlxuICogTG9ib3RvbWl6ZWQgT3dsIFNlbGVjdG9yIG1peGluOlxuICogLSBTZXQgc3BhY2luZyBmb3IgY29uc2VjdXRpdmUgaXRlbXMgd2l0aCBtYXJnaW4tdG9wIG9uIGFsbCBidXQgdGhlIGZpcnN0IGl0ZW1cblxuXHRVU0FHRTpcblxuXHQuYm94IHtcblx0XHRAaW5jbHVkZSBvd2wtY2hpbGRyZW47XG5cdH1cblxuXHQuY2FyZF9faXRlbSB7XG5cdFx0QGluY2x1ZGUgb3dsO1xuXHR9XG5cbiAqL1xuXG4vKlxuICogTG9ib3RvbWl6ZWQgb3dsIHNlbGVjdG9yLlxuICogLSBHaXZlcyB0aGUgY2hpbGRyZW4gb2YgdGhlIGVsZW1lbnQgc3BhY2luZ1xuICogLSBodHRwczovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvYXhpb21hdGljLWNzcy1hbmQtbG9ib3RvbWl6ZWQtb3dsc1xuICovXG5AbWl4aW4gb3dsLWNoaWxkcmVuKCRtYXJnaW46ICN7JGxpbmUtaGVpZ2h0LXJhdGlvfXJlbSkge1xuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6ICRtYXJnaW47XG5cdH1cbn1cblxuLy8gR2l2ZXMgdGhlIGVsZW1lbnQgaXRzZWxmIHNwYWNpbmdcbkBtaXhpbiBvd2woJG1hcmdpbjogI3skbGluZS1oZWlnaHQtcmF0aW99cmVtKSB7XG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHR9XG59XG5cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG5cbkBtaXhpbiBoeXBoZW5hdGUge1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdC13ZWJraXQtaHlwaGVuczogYXV0bztcblx0LW1zLWh5cGhlbnM6IGF1dG87XG5cdGh5cGhlbnM6IGF1dG87XG59XG5cblxuXG5cbi8qXG4gKiAgUmVzdHJpY3QgYW4gZWxlbWVudCB0byBhIG1heC13aWR0aCBmb3IgY3JlYXRpbmcgZ3V0dGVycyBvbiB0aGUgc2lkZVxuICovXG5cbkBtaXhpbiBjb250YWluKCRvbk1lZGl1bTogdHJ1ZSkge1xuXHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKX0pOyAvLyBNYWtpbmcgc3VyZSBpdCBkb2VzbuKAmXQgZ2V0IHRvIHNtYWxsIHdpdGggbGl0dGxlIGNvbnRlbnRcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0QGlmKCRvbk1lZGl1bSA9PSB0cnVlKSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gI3skc2l0ZS1jb2x1bW5zLW0gKyAyfSkgKiAjeyRzaXRlLWNvbHVtbnMtbX0pO1xuICAgIH0gQGVsc2Uge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuICB9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gI3skc2l0ZS1jb2x1bW5zLWwgKyAyfSkgKiAjeyRzaXRlLWNvbHVtbnMtbH0pO1xuXHRcdG1heC13aWR0aDogI3skc2l0ZS1tYXgtd2lkdGh9cHg7XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRoZSAnei1pbmRleC1tYXAnIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50cyBzdGFja2luZyBvcmRlciBpbiB0aGUgJ3Jvb3QnIHN0YWNraW5nIGNvbnRleHRcbiAqICBUaGlzIHdheSB3ZSBoYXZlIGEgb3ZlcnZpZXcgb2YgYWxsIHRoZSB6LWluZGV4IHZhbHVlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgcHJvamVjdC5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuJHotaW5kZXg6IChcblx0ei12aXNpYmxlLWdyaWQ6XHRcdFx0MTAwMDAsXG5cdHotY29va2llOlx0XHQgXHRcdFx0XHQ5OTk5LFxuXHR6LW92ZXJsYXktbWVudTpcdFx0XHQxMDAsXG5cdHotaGVhZGVyOiBcdFx0XHRcdFx0NTAsXG5cdHotYm9keTpcdFx0XHRcdFx0XHRcdDQwLFxuXHR6LWZvb3RlcjpcdFx0XHRcdCBcdFx0MjAsXG5cdHotc3ViZm9vdGVyOlx0XHRcdFx0MTAsXG4pO1xuXG5cbi8qKlxuICAgIFVTQUdFOlxuXG4gICAgQGluY2x1ZGUgeih6LW1vZGFsKTtcblxuICovXG5cbkBtaXhpbiB6KCRsYWJlbCkge1xuXHR6LWluZGV4OiBtYXAtZ2V0KCR6LWluZGV4LCRsYWJlbCk7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJhc2ljIGVsZW1lbnRzIChubyBjbGFzcyBzZWxlY3RvcnMgYWxsb3dlZClcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogU2V0IHVwIHRoZSBodG1sXG4gKlxuICogMS4gTWFrZXMgc3VyZSB0aGF0IHNvbWUgZm9udHMgYXJlIGJldHRlciByZW5kZXJlZFxuICogMi4gU2V0IGZvbnQgdG8gbGluaW5nIGZpZ3VyZXNcbiAqL1xuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibG51bVwiO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtcmF0aW87XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1yb2JvdG87XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHBhbGV0dGUodGV4dCwgMik7XG4gIGJhY2tncm91bmQ6IHBhbGV0dGUobGlnaHQpO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cblxuLyoqXG4gKiBbMV0gTWFrZSBzdXJlIGVsZW1lbnRzIGxpa2UgaW5wdXQgYW5kIHRleHRhcmVhIGluaGVyaXQgc29tZSBiYXNlIHByb3BlcnRpZXNcbiAqICAgICBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE2LzExL2Nzcy1pbmhlcml0YW5jZS1jYXNjYWRlLWdsb2JhbC1zY29wZS1uZXctb2xkLXdvcnN0LWJlc3QtZnJpZW5kcy9cbiAqXG4gKiBbMl0gU2V0dGluZyBib3gtc2l6aW5nIHRoZSBiZXN0IHdheSBwZXI6XG4gKiAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbioge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICYsXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHBhbGV0dGUoc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHBhbGV0dGUodGV4dC1vbi1zZWNvbmRhcnkpO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgLyogWzFdICovXG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBhcm91bmQgZmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBbMV0gU2V0dGluZyAndmVydGljYWwtYWxpZ24nIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyICdpbWcnXG4gKlx0ICAgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLiBTYWZlciBhbHRlcm5hdGl2ZSB0b1xuICpcdCAgIHVzaW5nICdkaXNwbGF5OiBibG9jazsnLlxuICogWzJdIFJlbW92ZSBib3JkZXIgLyBlc3BlY2lhbGx5IG9uIG9sZGVyIGJyb3dzZXJzXG4gKi9cbmltZywgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLypbMV0qL1xuICBib3JkZXI6IG5vbmU7IC8qWzJdKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cblxuLy8gTGlua3Mgd2l0aCBubyBjbGFzcyBnZXQgYSBkZWZhdWx0IGhvdmVyXG5hOm5vdChbY2xhc3NdKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvOyAvLyBwcmV0dHkgdW5kZXJsaW5pbmcgbGlua3NcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gICAgY29udGVudDogJyc7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcywgb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUT0RPOiBJcyB0aGlzIHRoZSByaWdodCB3YXkgdG8gcmVzZXQgYWxsIG1hcmdpbj8/XG4vLyBSZXNldCBhbGwgdG9wIG1hcmdpbnNcbmgxLGgyLGgzLGg0LGg1LGg2LGhncm91cCxcbnVsLG9sLGRkLFxucCxmaWd1cmUsXG5wcmUsdGFibGUsZmllbGRzZXQsaHIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufSIsImgxIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG59XG5cbmgyIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDMge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKG0pO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5oNSwgaDYge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqXHREZWZhdWx0IGluZGVudGF0aW9uIHZhbHVlIGZvciBsaXN0c1xuICovXG5cbnVsLFxub2x7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcblx0bWFyZ2luLWxlZnQ6IDEuMTI1ZW07XG59XG5cbmRke1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuXG5cbi8qKlxuICpcdFJlbW92ZSBleHRyYSB2ZXJ0aWNhbCBzcGFjaW5nIHdoZW4gbmVzdGluZyBsaXN0cy5cbiAqL1xuXG5saSB7XG5cdD4gdWwsXG5cdD4gb2wge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb250YWluXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5sLWNvbnRhaW4ge1xuICBAaW5jbHVkZSBjb250YWluO1xufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogU3BsaXQgbGF5b3V0IGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBjb2x1bW5zIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5sLXNwbGl0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcblx0aGVpZ2h0OiAxMDAlOyAvLyBzdHJldGNoIGl0IG91dCBpbiBpdHMgY29udGFpbmVyXG5cblx0Ly8gU2V0IHNpZGUgYnkgc2lkZSBmcm9tIG1lZGl1bSB2aWV3cG9ydHMgYW5kIHVwXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cdH1cbn1cblxuXG4vKipcbiAqIFNwZWNpYWwgY29udGFpbiB2ZXJzaW9uIGZvciBzcGxpdC5cbiAqIERvZXNuJ3QgcmVzdHJhaW4gY29udGVudCBvbiBtZWRpdW0gdmlld3BvcnRcbiAqL1xuXG4ubC1zcGxpdC0tY29udGFpbiB7XG5cdFx0QGluY2x1ZGUgY29udGFpbigkb25NZWRpdW06IGZhbHNlKTtcbn1cblxuXG4ubC1zcGxpdF9fY29sdW1uIHtcblxuXHQvLyBPbiBkZXNrdG9wIGNvbHVtbnMgYXJlIDUwLzUwXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsIDEyKTtcblx0fVxuXG5cdC8vIE1haW4gY29udGVudCBnb2VzIGZpcnN0LCB1c3VhbGx5IHRleHRcblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbig1LCA4KTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCA4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEyKTtcblx0XHR9XG5cdH1cblxuXHQvLyBzZWNvbmRhcnkgY29udGVudCBnb2VzIGxhc3QsIHVzdWFsbHkgYW4gaW1hZ2Ugb3IgYXNpZGUgdGV4dFxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdC8vIENyZWF0ZSB2ZXJ0aWNhbCBzcGFjaW5nIG9uIG1vYmlsZVxuXHRcdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0XHQpO1xuXHRcdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRcdHdpZHRoOiBjb2x1bW4oMywgOCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gVmlzdWFsbHkgc3dpdGNoIGNvbHVtbnMgb24gbWVkaXVtICYgbGFyZ2Ugdmlld3BvcnRzXG5cdC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAmIHtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG9yZGVyOiAyO1xuXG5cdFx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDgpO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKG0sIGwpIHtcblx0Lmwtc3BsaXQtLWJyZWFrb3V0LW9uLW0ge1xuXHRcdC5sLXNwbGl0X19jb2x1bW4ge1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oNiwgMTApO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMCk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMCk7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHR3aWR0aDogY29sdW1uKDQsIDEwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKipcbiAqIFdoZW4gdGhlcmUgaXMgb25seSAxIGNvbHVtbiwgYWxpZ24gaXQgdG8gdGhlIG1pZGRsZSBhbmQgY29udGFpbiB0aGUgd2lkdGhcbiAqIE9ubHkgb25lIGNvbHVtbiBpcyB1c2VkIGUuZy4gaW4gdGhlIHRhYnNsaWRlciB3aGVuIHRoZXJlIGlzIG5vIGltYWdlIHNldFxuICovXG4ubC1zcGxpdF9fY29sdW1uOm9ubHktY2hpbGQge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0d2lkdGg6IGNvbHVtbig2LCA4KTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2LCAxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4vLyBDb2x1bW5zIHRoYXQgaGF2ZSB0ZXh0IGluc3RlYWQgb2YgYW4gaW1hZ2UgbmVlZCBzb21lIHBhZGRpbmcgb24gdG9wXG4vLyB0byBhbGlnbiB0aGVtIHdpdGggdGhlIG90aGVyIGNvbHVtbiB0aGF0IGhhcyBwYWRkaW5nLXRvcCB0b29cbi5sLXNwbGl0X19jb2x1bW4tLXZwYWQge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoMTApO1xuXHRcdG1hcmdpbi1ib3R0b206IHNwYWNlKDEwKTtcblx0fVxufVxuXG5cbi8vIENyZWF0ZSBhIGNvbHVtbiBleHRyYSB3aGl0ZSBzcGFjZSB0byB0aGUgbGVmdCAob24gbGFyZ2Ugdmlld3BvcnRzKVxuQGluY2x1ZGUgbXEobCkge1xuXHQubC1zcGxpdF9fY29sdW1uLS1sZWZ0cGFkIHtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0fVxufSIsIi8vIFVzYWdlOlxuLy9cbi8vICAgQGluY2x1ZGUgZmxleFsoa2V5d29yZHMpXTtcbi8vXG4vLyBLZXl3b3Jkczpcbi8vXG4vLyAgIFtpbmxpbmUgfCB3cmFwIHwgY29sdW1uIHwgcmV2ZXJzZSB8IGNlbnRlciogfCBmbGV4LXN0YXJ0KiB8IGZsZXgtZW5kKiB8IHN0cmV0Y2ggfCBiYXNlbGluZSB8IHNwYWNlLWFyb3VuZCB8IHNwYWNlLWJldHdlZW5dXG4vL1xuLy8gKiBJZiBvbmx5IG9uZSBvZiB0aGVzZSBrZXl3b3JkcyBpcyBwcmVzZW50LCBpdCdzIHVzZWQgZm9yIGJvdGgganVzdGlmeS1jb250ZW50IGFuZCBhbGlnbi1pdGVtcy5cbi8vICAgV2hlbiB0d28ga2V5d29yZHMgYXJlIHByZXNlbnQgdGhlIGZpcnN0IGdvZXMgaW4ganVzdGlmeS1jb250ZW50IChtYWluIGF4aXMpIGFuZCB0aGUgb3RoZXIgaW4gYWxpZ24taXRlbXMgKHBlcnBlbmRpY3VsYXIgYXhpcykuXG4vL1xuLy8gRXhhbXBsZXM6XG4vL1xuLy8gICBAaW5jbHVkZSBmbGV4O1xuLy9cbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy9cbi8vICAgQGluY2x1ZGUgZmxleChjb2x1bW4gd3JhcCk7XG4vL1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbi8vICAgICBmbGV4LXdyYXA6IHdyYXA7XG4vL1xuLy8gICAgQGluY2x1ZGUgZmxleChjb2x1bW4gcmV2ZXJzZSk7XG4vL1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuLy9cbi8vICAgQGluY2x1ZGUgZmxleChjZW50ZXIpO1xuLy9cbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vL1xuLy8gICBAaW5jbHVkZSBmbGV4KGZsZXgtZW5kIGZsZXgtc3RhcnQpO1xuLy9cbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4vLyAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cblxuQG1peGluIGZsZXgoJHBhcmFtczogbnVsbCkge1xuICAkZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiAgJGRpcmVjdGlvbjogcm93O1xuICAkcmV2ZXJzZTogbnVsbDtcbiAgJGp1c3RpZnktY29udGVudDogbnVsbDtcbiAgJGFsaWduLWl0ZW1zOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHBhcmFtcyB7XG4gICAgQGlmICR2YWx1ZSA9PSBcImlubGluZVwiIHtcbiAgICAgICRkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXBcIiB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyZXZlcnNlXCIge1xuICAgICAgJHJldmVyc2U6IC1yZXZlcnNlO1xuICAgIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93XCIge1xuICAgICAgJGRpcmVjdGlvbjogcm93O1xuICAgIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uXCIge1xuICAgICAgJGRpcmVjdGlvbjogY29sdW1uO1xuICAgIH0gQGVsc2UgaWYgaW5kZXgoc3BhY2UtYmV0d2VlbiBzcGFjZS1hcm91bmQsICR2YWx1ZSkge1xuICAgICAgJGp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgIH0gQGVsc2UgaWYgaW5kZXgoYmFzZWxpbmUgc3RyZXRjaCwgJHZhbHVlKSB7XG4gICAgICAkYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICB9IEBlbHNlIGlmIGluZGV4KGZsZXgtc3RhcnQgY2VudGVyIGZsZXgtZW5kLCAkdmFsdWUpIHtcbiAgICAgIEBpZiAkanVzdGlmeS1jb250ZW50IHtcbiAgICAgICAgJGFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICBAaWYgbm90ICRhbGlnbi1pdGVtcyB7XG4gICAgICAgICAgJGFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIGp1c3RpZnktY29udGVudDogJGp1c3RpZnktY29udGVudDtcbiAgYWxpZ24taXRlbXM6ICRhbGlnbi1pdGVtcztcblxuICBAaWYoJHJldmVyc2UgIT0gbnVsbCBvciAkZGlyZWN0aW9uICE9IHJvdykge1xuICAgZmxleC1kaXJlY3Rpb246ICN7JGRpcmVjdGlvbn0jeyRyZXZlcnNlfTtcbiAgfSBAZWxzZSBpZigkZGlyZWN0aW9uID09IHJvdyl7XG4gICAgZmxleC1kaXJlY3Rpb246ICN7JGRpcmVjdGlvbn1cbiAgfVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJlc3RyaWN0XG4gKlxuICogV2hlbiBhIGJsb2NrIHNob3VsZG4ndCB0YWtlIHVwIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyXG4gKiB3ZSBjYW4gcmVzdHJpY3QgdGhlIG1heGltdW0gd2lkdGhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtcmVzdHJpY3QtbmFycm93IHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDYsOCk7XG4gICAgbWF4LXdpZHRoOiAzOGVtO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpe1xuICAgIHdpZHRoOiBjb2x1bW4oNiwxMik7XG4gIH1cbn1cblxuLmwtcmVzdHJpY3Qtd2lkZSB7XG4gIEBpbmNsdWRlIG1xKG0pe1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogY29sdW1uKDcsOCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsKXtcbiAgICB3aWR0aDogY29sdW1uKDgsMTIpO1xuICB9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQGltcG9ydCBcImNvbXBvbmVudHMuYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5naG9zdGJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY2xvc2VcIjtcbi8vQGltcG9ydCBcImNvbXBvbmVudHMuY29va2llU3dpdGNoXCI7XG4vL0BpbXBvcnQgXCJjb21wb25lbnRzLmNvb2tpZVR5cGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNvbm5lY3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmRhdGFcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1Hcm91cFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZm9ybUZlZWRiYWNrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oYW1idXJnZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlYWRpbmdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlcm9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmlucHV0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5sYW5ndWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdlVGl0bGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnByb2plY3RvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2VydmljZVBvaW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zaXRlbWFwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5za2lwTGlua1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2xpZGUtaW5kaWNhdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zdWJuYXZcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRleHQtYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy50cmFkZW1hcmtcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnZpZGVvXCI7IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1idXR0b246IChcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZSh0ZXh0LW9uLXNlY29uZGFyeSksXG5cdCdiZ2NvbG9yJzpcdFx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5KSxcblx0J2JnY29sb3ItaG92ZXInOlx0c2NhbGUtY29sb3IocGFsZXR0ZShzZWNvbmRhcnkpLCAkbGlnaHRuZXNzOiAtMjAlKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWJ1dHRvbiB7XG5cdEBpbmNsdWRlIGZsZXgoaW5saW5lIGNlbnRlcik7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtYnV0dG9uLCAnYmdjb2xvcicpO1xuXHR0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsMCwwLDAuMik7XG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCBwYWxldHRlKGxpZ2h0KSwgMCAwIDVweCAycHggbWFwLWdldCgkYy1idXR0b24sICdiZ2NvbG9yJyk7XG5cdH1cblx0JjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXG5cdC8vIFBzZXVkbyBlbGVtZW50IGZvciBhbmltYXRpbmcgaG92ZXJcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0dG9wOiBjYWxjKDUwJSAtIDJweCk7XG5cdFx0bGVmdDogY2FsYyg1MCUgLSAycHgpO1xuXHRcdHdpZHRoOiA0cHg7XG5cdFx0aGVpZ2h0OiA0cHg7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0YmFja2dyb3VuZDogbWFwLWdldCgkYy1idXR0b24sICdiZ2NvbG9yLWhvdmVyJyk7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG5cdH1cblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEwMCk7XG5cdH1cbn1cblxuLmMtYnV0dG9uX190ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHRwYWRkaW5nOiAwIHNwYWNlKDMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LmMtYnV0dG9uLS1pY29uICYge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDIpO1xuXHR9XG59XG5cbi5jLWJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHR0b3A6IC0xcHg7XG5cdG1hcmdpbi1yaWdodDogMTVweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpICYge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuXHR9XG5cblx0Ly8gV2hlbiBpY29uIGNvbWVzIGJlZm9yZSB0aGUgdGV4dCAoaW4gdGhlIERPTSkgc3dpdGNoIHRoZSBtYXJnaW5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHR9XG5cblx0LmMtYnV0dG9uLS1pY29uICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0XHR3aWR0aDogMTZweDtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEZWZhdWx0IGJ1dHRvblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGMtZ2hvc3QtYnV0dG9uOiAoXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUodGV4dC1vbi1kYXJrKSxcbik7XG5cblxuLmMtZ2hvc3RidXR0b24ge1xuXHRAaW5jbHVkZSBmbGV4KGlubGluZSBjZW50ZXIpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1naG9zdC1idXR0b24sICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0dGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLDAsMCwwLjIpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiAwIDAgNHB4IDJweCByZ2JhKG1hcC1nZXQoJGMtZ2hvc3QtYnV0dG9uLCAnY29sb3InKSwgMC41KTtcblxuXHR9XG5cdCY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXG5cdC8vIEJvcmRlciB3aXRoIHBzZXVkbyBlbGVtZW50IGZvciBhbmltYXRpb25cblx0Jjo6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0YmFja2dyb3VuZDogcmdiYShwYWxldHRlKGRhcmspLCAwLjA3KTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTFweDtcblx0XHRib3R0b206IC0xcHg7XG5cdFx0cmlnaHQ6IC0xcHg7XG5cdFx0bGVmdDogLTFweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IC41cztcblx0fVxuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7XG5cdFx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWdob3N0YnV0dG9uX190ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHRwYWRkaW5nOiAwIHNwYWNlKDMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LmMtYnV0dG9uLS1pY29uICYge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDIpO1xuXHR9XG59XG5cbi5jLWdob3N0YnV0dG9uX19pY29uIHtcblx0ZGlzcGxheTogbm9uZTsgLy8gQnkgZGVmYXVsdCBpY29uIGlzIGhpZGRlblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHRvcDogLTFweDtcblx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxuXG5cdC5jLWdob3N0YnV0dG9uLS1pY29uICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0XHR3aWR0aDogMTZweDtcblx0fVxuXG5cdC8vIFdoZW4gaWNvbiBjb21lcyBiZWZvcmUgdGhlIHRleHQgKGluIHRoZSBET00pIHN3aXRjaCB0aGUgbWFyZ2luXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ2FyZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWNhcmQ6IChcblx0J2xhYmVsLWJnY29sb3InOlx0XHRcdFx0cGFsZXR0ZShwcmltYXJ5KSxcblx0J2xhYmVsLWNvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZSh0ZXh0LW9uLWRhcmspLFxuXHQnbGFiZWwtYmdjb2xvci1ob3Zlcic6XHRwYWxldHRlKHNlY29uZGFyeSksXG5cdCdsYWJlbC1jb2xvci1ob3Zlcic6XHRcdHBhbGV0dGUodGV4dC1vbi1zZWNvbmRhcnkpLFxuXHQnYXJyb3ctY29sb3ItaG92ZXInOlx0XHRwYWxldHRlKHNlY29uZGFyeSksXG5cdCdiZ2NvbG9yLWhvdmVyJzpcdFx0XHRcdHBhbGV0dGUoZGFyayksXG5cdCdpbmZvLWJnY29sb3InOlx0XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwpXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1jYXJkIHtcblx0ZGlzcGxheTogYmxvY2s7IC8vIHdoZW4gaXQncyBhbiBhbmNob3IgZWxlbWVudCAoaW5saW5lIGJ5IGRlZmF1bHQpXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogQ2FyZCB0aGF0IGRvZXMgc29tZSBhbmltYXRpb25zIG9uIGhvdmVyXG4gKi9cbi5jLWNhcmQtLWhhcy1hY3Rpb24ge1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvLyBiZWNhdXNlIG9mIHBzZXVkbyBlbGVtZW50XG5cdHotaW5kZXg6IDA7XG5cblx0Jjo6YmVmb3JlLFxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuXHQvLyBTaGFkZWQgYmFja2dyb3VuZCAoSElEREVOIGJ5IGRlZmF1bHQpXG5cdCY6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRjLWNhcmQsJ2JnY29sb3ItaG92ZXInKSwgMC45Mik7XG5cdFx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYmEobWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyksMC44KSAwJSwgcmdiYShtYXAtZ2V0KCRjLWNhcmQsJ2JnY29sb3ItaG92ZXInKSwwLjkyKSAxMDAlKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEzNSUpIHJvdGF0ZSgxMWRlZykgc2NhbGUoMS4zKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NSwgMC4xLCAwLjMsIDEpO1xuXHR9XG5cblx0Ly8gQXJyb3cgKEhJRERFTiBieSBkZWZhdWx0KVxuXHQvLyBDb250YWlucyBhbiBTVkcgYXJyb3cgaWNvbiBpbiB0aGUgYmFja2dyb3VuZC1pbWFnZVxuXHQmOjphZnRlciB7XG5cdFx0ei1pbmRleDogMjtcblx0XHR3aWR0aDogMjVweDtcblx0XHRtYXJnaW46IGF1dG87XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogc3ZnLXVybCgnPHN2ZyB2aWV3Qm94PVwiMCAwIDE2IDEyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGZpbGw9XCIje21hcC1nZXQoJGMtY2FyZCwnYXJyb3ctY29sb3ItaG92ZXInKX1cIiBkPVwiTTEzLjQgNi43ODNILjc2MkEuNzcyLjc3MiAwIDAgMSAwIDZjMC0uNDMyLjM0MS0uNzgzLjc2Mi0uNzgzSDEzLjRMOS42MjMgMS4zMzZhLjc5OC43OTggMCAwIDEgMC0xLjEwNy43NDcuNzQ3IDAgMCAxIDEuMDc3IDBsNS4wNzcgNS4yMThhLjc5OC43OTggMCAwIDEgMCAxLjEwNkwxMC43IDExLjc3MWEuNzQ3Ljc0NyAwIDAgMS0xLjA3NyAwIC43OTguNzk4IDAgMCAxIDAtMS4xMDdMMTMuNCA2Ljc4M3pcIi8+PC9zdmc+Jyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjc1KTtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHQvLyBTaGFkZWQgYmFja2dyb3VuZCAoVklTSUJMRSB3aGVuIGhvdmVyZWQpXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMC45MjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDExZGVnKSBzY2FsZSgxLjMpO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiA1MG1zO1xuXHRcdH1cblx0XHQvLyBBcnJvdyAoVklTSUJMRSB3aGVuIGhvdmVyZWQpXG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNDAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHR9XG5cdH1cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59XG5cbi5jLWNhcmRfX3BpY3R1cmUge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWNhcmRfX2ltZyB7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWF4LWhlaWdodDogNTMuNXZ3O1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdG1heC1oZWlnaHQ6IDI1LjZ2dztcblx0fVxufVxuXG4uYy1jYXJkX19sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMTRweCAxMHB4IDE1cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1jYXJkLCdsYWJlbC1iZ2NvbG9yJyk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuXG5cdC5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgJiB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtY29sb3ItaG92ZXInKTtcblx0fVxuXG5cdC8vIENvbG9yZWQgYmFja2dyb3VuZCBiZWhpbmQgbGFiZWwgKEhJRERFTiBieSBkZWZhdWx0KVxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1jYXJkLCdsYWJlbC1iZ2NvbG9yLWhvdmVyJyk7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMCUpIHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NSwgMC4xLCAwLjMsIDEpO1xuXG5cdFx0LmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXHRcdH1cblx0fVxufVxuXG4uYy1jYXJkX19pbmZvIHtcblx0cGFkZGluZzogc3BhY2UoMikgc3BhY2UoNCk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnaW5mby1iZ2NvbG9yJyk7XG59XG4uYy1jYXJkX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChiYXNlKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMik7XG59XG4uYy1jYXJkX19zdWJoZWFkaW5nIHtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMyk7XG59XG4uYy1jYXJkX190ZXh0bGluZSB7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQsIDMpO1xuXG5cdC8vIFdoZW4gaXQgZm9sbG93cyBhbiBlbGVtZW50IHRoYXQncyBub3QgbGlrZSBpdHNlbGZcblx0Kjpub3QoI3smfSkgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ2xvc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jbG9zZTogKFxuXHQnY29sb3InOiAgcGFsZXR0ZShsaWdodCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1jbG9zZSB7XG5cdEBpbmNsdWRlIGZsZXgoY2VudGVyKTtcblx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiBzcGFjZSg1KTtcblx0aGVpZ2h0OiBzcGFjZSg1KTtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBlYXNlLW91dDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgM3B4IDJweCBtYXAtZ2V0KCRjLWNsb3NlLCAnY29sb3InKTtcblx0fVxuXG5cdCY6YWZ0ZXIsXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAyMHB4O1xuXHRcdHJpZ2h0OiAyMCU7XG5cdFx0bGVmdDogMjAlO1xuXHRcdGhlaWdodDogM3B4O1xuXHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogbWFwLWdldCgkYy1jbG9zZSwgJ2NvbG9yJyk7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHR9XG5cdCY6YmVmb3JlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ29ubmVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWNvbm5lY3Q6IChcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZSh0ZXh0KSxcblx0J2NvbG9yLWFsdCc6XHRcdFx0cGFsZXR0ZSh0ZXh0LCAyKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuLmMtY29ubmVjdCB7XG5cdEBpbmNsdWRlIGZsZXgoY29sdW1uKTtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRAaW5jbHVkZSBmbGV4KGlubGluZSBjZW50ZXIpO1xuXHR9XG59XG5cbi5jLWNvbm5lY3RfX3Bob25lIHtcblx0QGluY2x1ZGUgZm9udChsKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogbWFwLWdldCgkYy1jb25uZWN0LCAnY29sb3InKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHRcdHRleHQtc2hhZG93OiAxcHggMXB4IDAgI2ZmZiwgMnB4IDJweCAwIHJnYmEoMjYsIDI2LCAyNiwgMC4zNSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn1cblxuLmMtY29ubmVjdF9fb3Ige1xuXHRtYXJnaW46IDAgc3BhY2UoMik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWNvbm5lY3QsICdjb2xvci1hbHQnKTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luOiBzcGFjZSgxKSAwIHNwYWNlKDIpO1xuXHR9XG59XG5cbi8vLmMtY29ubmVjdF9fYWN0aW9uIHtcbi8vXG4vL30iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IERhdGFcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1kYXRhOiAoXG4gICdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUodGV4dCksXG4gICdjb2xvci1hbHQnOlx0XHRcdHBhbGV0dGUodGV4dCwgMiksXG4gICdiZ2NvbG9yLWhvdmVyJzpcdHNjYWxlLWNvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5KSwgJGxpZ2h0bmVzczogLTIwJSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtZGF0YSB7XG5cdG1hcmdpbjogc3BhY2UoMSkgMDtcbn1cblxuLmMtZGF0YV9fbGluZSB7XG5cdEBpbmNsdWRlIGZsZXgoKTtcbn1cblxuLmMtZGF0YV9fbGFiZWwge1xuXHRtaW4td2lkdGg6IHNwYWNlKDgpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogbWFwLWdldCgkYy1kYXRhLCAnY29sb3InKTtcbn1cblxuLmMtZGF0YV9fdmFsdWUge1xuXHRmbGV4LWdyb3c6IDk5OTk7XG4gIGNvbG9yOiBtYXAtZ2V0KCRjLWRhdGEsICdjb2xvci1hbHQnKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCZbaHJlZl0ge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0XHR9XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEZvcm0gZ3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1mb3JtLWdyb3VwOiAoXG4gICdjb2xvcic6XHRcdFx0XHRcdCAgICBwYWxldHRlKHRleHQsIDMpLFxuICAnZXJyb3ItY29sb3InOlx0XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWZvcm0tZ3JvdXBfX2xhYmVsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogc3BhY2UoMC41KSAwO1xuICBjb2xvcjogbWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnY29sb3InKTtcbn1cblxuLmMtZm9ybS1ncm91cF9fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuXG4gIC5oYXMtZXJyb3IgJjpub3QoOmVtcHR5KSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHhzKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBzcGFjZSgxKTtcbiAgICBjb2xvcjogbWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnZXJyb3ItY29sb3InKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2Vycm9yLWNvbG9yJyksIDAuMSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnZXJyb3ItY29sb3InKTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9ybSBmZWVkYmFja1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWZvcm0tZmVlZGJhY2s6IChcbiAgJ2NvbG9yJzpcdFx0cGFsZXR0ZSh0ZXh0KSxcbiAgJ2JnY29sb3InOlx0cmdiYShwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKSwgMC4yKSxcbiAgJ2JvcmRlcic6IFx0cGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1mb3JtLWZlZWRiYWNrIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuICBtYXJnaW46IDAgMCBzcGFjZSgxKTtcbiAgcGFkZGluZzogc3BhY2UoMykgc3BhY2UoNCk7XG4gIGNvbG9yOiBtYXAtZ2V0KCRjLWZvcm0tZmVlZGJhY2ssICdjb2xvcicpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWZvcm0tZmVlZGJhY2ssICdiZ2NvbG9yJyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtZm9ybS1mZWVkYmFjaywgJ2JvcmRlcicpO1xuXG4gICY6bm90KDplbXB0eSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjpiZWZvcmV7XG4gICAgY29udGVudDogYXR0cihkYXRhLWZlZWRiYWNrKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IHNwYWNlKC0yKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgbGk6OmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGFtYnVyZ2VyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtaGFtYnVyZ2VyOiAoXG5cdCdiZ2NvbG9yJzogIFx0XHRcdHBhbGV0dGUoZGFyayksXG5cdCdiZ2NvbG9yLWxpZ2h0JzpcdHBhbGV0dGUobGlnaHQpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jLWhhbWJ1cmdlciB7XG5cdEBpbmNsdWRlIGZsZXgoY2VudGVyKTtcblx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiBzcGFjZSg1KTtcblx0aGVpZ2h0OiBzcGFjZSg1KTtcblx0cGFkZGluZzogMDtcblx0Y29sb3I6IG1hcC1nZXQoJGMtaGFtYnVyZ2VyLCAnYmdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgM3B4IDJweCBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG5cblx0Ji5pcy1saWdodCB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtaGFtYnVyZ2VyLCAnYmdjb2xvci1saWdodCcpO1xuXHR9XG5cblx0JiA+IHNwYW4sXG5cdCY6YWZ0ZXIsXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAyMHB4O1xuXHRcdHJpZ2h0OiAyMCU7XG5cdFx0bGVmdDogMjAlO1xuXHRcdGhlaWdodDogM3B4O1xuXHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdHRvcDogMTJweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0dG9wOiAyOHB4O1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHQmID4gc3BhbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuXHRcdH1cblx0XHQmOmFmdGVyLFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdH1cblx0fVxuXG5cdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuXHRcdCYgPiBzcGFuIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0fVxuXHR9XG59IiwiLmMtaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoeGwpO1xuXHRtYXJnaW46IHNwYWNlKDUpIDA7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQpO1xufVxuXG4uYy1oZWFkaW5nLS1pbmRlbnQge1xuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBIZXJvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtaGVybzogKFxuXHQnaGVyby1iZ2NvbG9yLTEnOlx0XHRcdCAgcGFsZXR0ZShwcmltYXJ5KSxcblx0J2hlcm8tYmdjb2xvci0yJzpcdFx0XHQgIHBhbGV0dGUocHJpbWFyeSwgMiksXG5cdCdjYXB0aW9uLWJnY29sb3InOlx0XHRcdHBhbGV0dGUocHJpbWFyeSwgMiksXG5cdCdjYXB0aW9uLWNvbG9yJzpcdFx0XHQgIHBhbGV0dGUobGlnaHQpLFxuXHQncmlnaHQtYmdjb2xvci1yYXRpbyc6XHQ2MyUsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1oZXJvIHtcbiAgLy8gQ29tbWVudGVkIG91dCBiZWNhdXNlIHRoZXNlIGJyZWFrIHRoZSBhbHRlcm5hdGl2ZSBoZXJvIHN0eWxpbmdcbiAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vei1pbmRleDogMDtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIEBpbmNsdWRlIGNvbnRhaW47XG4gIH1cbn1cblxuLmMtaGVyb19fbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShsaWdodCk7XG59XG5cbi5jLWhlcm9fX3NsaWRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUuNTU2JTsgLy8gUmF0aW8gdXNlZCBmb3IgbW9iaWxlIGltYWdlXG5cbiAgQGluY2x1ZGUgbXEobSwgbCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7IC8vIFJhdGlvIHVzZWQgZm9yIGltYWdlXG4gIH1cbn1cblxuLmMtaGVyb19fcGljdHVyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBmaWx0ZXI6IGJsdXIoNXB4KTtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgZmlsdGVyOiBub25lO1xuICB9XG59XG5cbi5jLWhlcm9fX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWhlcm9fX2NhcHRpb24ge1xuICBAaW5jbHVkZSBoeXBoZW5hdGU7XG4gIGZvbnQtc2l6ZTogNnZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHNwYWNlKDMpO1xuICBsaW5lLWhlaWdodDogMS4xNjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogbWFwLWdldCgkYy1oZXJvLCAnY2FwdGlvbi1jb2xvcicpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWhlcm8sICdjYXB0aW9uLWJnY29sb3InKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiB2aWV3cG9ydCBpcyB2ZXJ5IHNtYWxsIHNjYWxlIGZvbnQtc2l6ZSBzbWFsbGVyIHRvb1xuICAvL0BpbmNsdWRlIG1xKCRtYXg6IHMpIHtcbiAgLy8gIGZvbnQtc2l6ZTogMTN2dztcbiAgLy99XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXgtd2lkdGg6IGNvbHVtbig4KTtcbiAgICBwYWRkaW5nOiBzcGFjZSg0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLy8gRm9udC1sb2NrIHRvIHNjYWxlIGZvbnQtc2l6ZSBwcm9wb3J0aW9uYWxseVxuICBAaW5jbHVkZSBtcShtLCBsKSB7XG4gICAgbWF4LXdpZHRoOiBjb2x1bW4oNiwgMTApO1xuICAgIHBhZGRpbmc6IDIuNnZ3OyAvLyBNYWdpYyB2YWx1ZSBzbyB0ZXh0IHNjYWxlcyBuaWNlbHlcbiAgICAvL2ZvbnQtc2l6ZTogNC4ydnc7IC8vIE1hZ2ljIHZhbHVlIHNvIHRleHQgc2NhbGVzIG5pY2VseVxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7IFxuICB9XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xuICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDAuNSk7XG4gIH1cbn1cblxuLmMtaGVyb19fY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiBzcGFjZSgxKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IHNwYWNlKDYpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGJsYWNrLCB0cmFuc3BhcmVudCk7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG59XG5cblxuLy8gQnV0dG9uIHdpdGggYXJyb3cgdGhhdCBzY3JvbGxzIGRvd25cbi5jLWhlcm9fX3Njcm9sbCB7XG4gIEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgZmxleChjZW50ZXIgY2VudGVyKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6IHBhbGV0dGUobGlnaHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSkgcm90YXRlKDAuMjV0dXJuKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuICAmID4gc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXM7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogbWl4KHBhbGV0dGUoc2Vjb25kYXJ5KSwgYmxhY2ssIDkwJSk7XG5cbiAgICAmID4gc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbWl4KHBhbGV0dGUoc2Vjb25kYXJ5KSwgYmxhY2ssIDkwJSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHBhbGV0dGUobGlnaHQpO1xuICB9XG59XG5cblxuLypcbiAqIEFsdGVybmF0aXZlIHZlcnNpb24gb2YgdGhlIGhlcm8gZWxlbWVudFxuICogQ29tbWVudCBvdXQgd2hlbiBuZWVkZWRcbiAqL1xuXG4vLy5jLWhlcm8tLWFsdGVybmF0aXZlIHtcbi8vXG4vL1x0Ly8gVG9wIGJhY2tncm91bmQgY29sb3Jcbi8vXHQmOjpiZWZvcmUge1xuLy9cdFx0dG9wOiAwO1xuLy9cdFx0Ym90dG9tOiAwO1xuLy9cdFx0d2lkdGg6IDUwdnc7XG4vL1x0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4vL1x0XHRcdFx0dG8gYm90dG9tLFxuLy9cdFx0XHRcdG1hcC1nZXQoJGMtaGVybywgJ2hlcm8tYmdjb2xvci0xJykgNTAlLFxuLy9cdFx0XHRcdG1hcC1nZXQoJGMtaGVybywgJ2hlcm8tYmdjb2xvci0yJykgNTAlLFxuLy9cdFx0XHRcdG1hcC1nZXQoJGMtaGVybywgJ2hlcm8tYmdjb2xvci0yJykgODEuNSUsXG4vL1x0XHRcdFx0dHJhbnNwYXJlbnQgODEuNSUgKTtcbi8vXHR9XG4vL1xuLy9cdC8vIEJvdHRvbSBSaWdodCBiYWNrZ3JvdW5kIGNvbG9yXG4vL1x0Jjo6YWZ0ZXIge1xuLy9cdFx0Y29udGVudDogJyc7XG4vL1x0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4vL1x0XHR6LWluZGV4OiAtMTtcbi8vXHRcdHRvcDogMDtcbi8vXHRcdHJpZ2h0OiAwO1xuLy9cdFx0Ym90dG9tOiAwO1xuLy9cdFx0bGVmdDogNTB2dztcbi8vXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbi8vXHRcdFx0XHR0byBib3R0b20sXG4vL1x0XHRcdFx0bWFwLWdldCgkYy1oZXJvLCAnaGVyby1iZ2NvbG9yLTEnKSBtYXAtZ2V0KCRjLWhlcm8sICdyaWdodC1iZ2NvbG9yLXJhdGlvJyksXG4vL1x0XHRcdFx0bWFwLWdldCgkYy1oZXJvLCAnaGVyby1iZ2NvbG9yLTInKSBtYXAtZ2V0KCRjLWhlcm8sICdyaWdodC1iZ2NvbG9yLXJhdGlvJykpO1xuLy9cdH1cbi8vXG4vL1x0LmMtaGVyb19fY2FwdGlvbiB7XG4vL1x0XHQvLyBCb3R0b20gTGVmdCBiYWNrZ3JvdW5kIGNvbG9yXG4vL1x0XHQmOjpiZWZvcmUge1xuLy9cdFx0XHRjb250ZW50OiAnJztcbi8vXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy9cdFx0XHR6LWluZGV4OiAtMTtcbi8vXHRcdFx0dG9wOiAwO1xuLy9cdFx0XHRyaWdodDogMDtcbi8vXHRcdFx0Ym90dG9tOiAwO1xuLy9cdFx0XHRsZWZ0OiAtNTB2dztcbi8vXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1oZXJvLCAnaGVyby1iZ2NvbG9yLTInKTtcbi8vXHRcdH1cbi8vXHR9XG4vL30iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IElucHV0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtaW5wdXQ6IChcblx0J2NvbG9yJzpcdFx0XHRcdHBhbGV0dGUodGV4dCksXG5cdCdiZ2NvbG9yJzpcdFx0XHRwYWxldHRlKGxpZ2h0KSxcblx0J2JvcmRlcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIG1lZGl1bSksXG5cdCdmb2N1cyc6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIGRhcmspLFxuXHQnZXJyb3InOlx0XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcblx0J2JvcmRlci1zaXplJzpcdDFweCxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWlucHV0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogKHNwYWNlKDEpIC0gbWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlci1zaXplJykpIHNwYWNlKDIpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1pbnB1dCwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtaW5wdXQsICdiZ2NvbG9yJyk7XG5cdGJvcmRlcjogbWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlci1zaXplJykgc29saWQgbWFwLWdldCgkYy1pbnB1dCwgJ2JvcmRlcicpO1xuXHRvdXRsaW5lOiBub25lO1xuXG5cdC5oYXMtZXJyb3IgJiB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDdweCAtM3B4IG1hcC1nZXQoJGMtaW5wdXQsICdlcnJvcicpO1xuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYy1pbnB1dCwgJ2Vycm9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggbWFwLWdldCgkYy1pbnB1dCwgJ2ZvY3VzJyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnZm9jdXMnKTtcblx0fVxuXG5cdEBhdC1yb290IHRleHRhcmVhI3smfSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogc3BhY2UoMik7XG5cdFx0bWluLWhlaWdodDogc3BhY2UoMjApIC0gZG91YmxlKG1hcC1nZXQoJGMtaW5wdXQsICdib3JkZXItc2l6ZScpKTtcblx0XHRsaW5lLWhlaWdodDogc3BhY2UoMyk7XG5cdFx0cmVzaXplOiB2ZXJ0aWNhbDtcblx0fVxufVxuXG5cbiIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogTGFuZ3VhZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1sYW5ndWFnZTogKFxuXHQnYnV0dG9uLWNvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCBtZWRpdW0pLFxuXHQnYnV0dG9uLWNvbG9yLWxpZ2h0JzpcdFx0cGFsZXR0ZShsaWdodCksXG5cdCdidXR0b24tY29sb3ItaG92ZXInOlx0XHRwYWxldHRlKHNlY29uZGFyeSksXG5cdCdjb2xvcic6XHRcdFx0XHRcdFx0XHRcdHBhbGV0dGUodGV4dCwyKSxcblx0J2JnY29sb3InOlx0XHRcdFx0XHRcdFx0cGFsZXR0ZShsaWdodCksXG5cdCdiZ2NvbG9yLWFsdCc6XHRcdFx0ICBcdGRhcmtlbihwYWxldHRlKGxpZ2h0KSwgNSUpLFxuXHQnY29sb3ItaG92ZXInOlx0XHRcdFx0XHRwYWxldHRlKHRleHQtb24tc2Vjb25kYXJ5KSxcblx0J2JnY29sb3ItaG92ZXInOlx0XHRcdFx0cGFsZXR0ZShzZWNvbmRhcnkpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtbGFuZ3VhZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWxhbmd1YWdlLCAnYnV0dG9uLWNvbG9yJyk7XG5cblx0Ji5pcy1saWdodCB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdidXR0b24tY29sb3ItbGlnaHQnKTtcblx0fVxufVxuXG4uYy1sYW5ndWFnZV9fYnV0dG9uIHtcblx0QGluY2x1ZGUgZmxleDtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogc3BhY2UoMSk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Ym9yZGVyOiBub25lO1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBib3gtc2hhZG93IDAuMTVzO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuXHQuYy1sYW5ndWFnZTpob3ZlciAmIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1sYW5ndWFnZSwgJ2J1dHRvbi1jb2xvci1ob3ZlcicpO1xuXHR9XG59XG5cbi5jLWxhbmd1YWdlX19pY29uIHtcblx0ZmxleDogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWxhbmd1YWdlX19sYWJlbCB7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgwLjUpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAxMDAlO1xuXHRtaW4td2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogMDtcblx0b3BhY2l0eTogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdGJveC1zaGFkb3c6IDAgMCAxMnB4IDFweCByZ2JhKHBhbGV0dGUoZGFyayksIDAuMTUpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1sYW5ndWFnZTpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2l0ZW0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOm1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdiZ2NvbG9yJyk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdiZ2NvbG9yLWFsdCcpO1xuXHR9XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgMCAwO1xuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHR9XG59XG5cbi5jLWxhbmd1YWdlX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IHNwYWNlKDAuNSkgc3BhY2UoMSk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdjb2xvcicpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdjb2xvci1ob3ZlcicpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdiZ2NvbG9yLWhvdmVyJyk7XG5cdH1cbn1cblxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBOYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1uYXY6IChcblx0J2NvbG9yJzogIFx0XHRcdFx0XHRcdFx0ICAgICAgcGFsZXR0ZSh0ZXh0KSxcblx0J2NvbG9yLWxpbmstZGVjb3JhdGlvbic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCBtZWRpdW0pLFxuXHQnY29sb3ItbGluay1hY3RpdmUnOlx0XHRcdCAgICBwYWxldHRlKHByaW1hcnkpLFxuXHQnY29sb3ItYWx0JzpcdFx0XHRcdFx0ICAgICAgICBwYWxldHRlKHRleHQtb24tc2Vjb25kYXJ5KSxcblx0J2NvbG9yLWxpbmstZGVjb3JhdGlvbi1hbHQnOlx0cmdiYShwYWxldHRlKGxpZ2h0KSwgMC41KSxcblx0J2xpbmstcGFkZGluZyc6XHRcdFx0ICAgICAgXHRcdDRweCxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLW5hdiB7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZzogMDtcbn1cblxuLmMtbmF2X19saXN0IHtcblx0QGluY2x1ZGUgZmxleChmbGV4LWVuZCBjZW50ZXIpO1xuXHRtYXJnaW4tbGVmdDogM3Z3O1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1uYXZfX2l0ZW0ge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbCl7XG5cdFx0Zm9udC1zaXplOiBjYWxjKDEuM3Z3ICsgMC4wNXJlbSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxLjN2dztcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpe1xuXHRcdG1hcmdpbi1yaWdodDogMi4ydnc7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KXtcblx0XHRtYXJnaW4tcmlnaHQ6IDQlO1xuXHR9XG59XG5cbi5jLW5hdl9fbGluayB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogbWFwLWdldCgkYy1uYXYsICdsaW5rLXBhZGRpbmcnKTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtbmF2LCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdC5pcy1oZWFkZXItYWx0ICYge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLW5hdiwgJ2NvbG9yLWFsdCcpO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0bGVmdDogbWFwLWdldCgkYy1uYXYsICdsaW5rLXBhZGRpbmcnKTtcblx0XHRib3R0b206IDFweDtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUobWFwLWdldCgkYy1uYXYsICdsaW5rLXBhZGRpbmcnKSl9KTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLW5hdiwgJ2NvbG9yLWxpbmstZGVjb3JhdGlvbicpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG5cblx0XHQuaXMtaGVhZGVyLWFsdCAmIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtbmF2LCAnY29sb3ItbGluay1kZWNvcmF0aW9uLWFsdCcpO1xuXHRcdH1cblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtbmF2LCAnY29sb3ItbGluay1hY3RpdmUnKTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXBhZ2luYXRpb246IChcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZSh0ZXh0KSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdHBhbGV0dGUocHJpbWFyeSksXG5cdCdib3JkZXItY29sb3InOlx0XHRwYWxldHRlKGJvcmRlciksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1wYWdpbmF0aW9uIHtcblx0QGluY2x1ZGUgZmxleChpbmxpbmUgY2VudGVyKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0Ym9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnYm9yZGVyLWNvbG9yJyk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1wYWdpbmF0aW9uX19pdGVtIHtcblx0QGluY2x1ZGUgZmxleChjZW50ZXIpO1xuXG5cdC8vIE9uIHNtYWxsIHNjcmVlbnMgaGlkZSBhbGwgaXRlbXMgYnV0IHRoZSBhcnJvd3MsIGZpcnN0IHBhZ2UsIGxhc3QgcGFnZSBhbmQgYWN0aXZlXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pe1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHQmOmZpcnN0LWNoaWxkLFxuXHRcdCY6bGFzdC1jaGlsZCxcblx0XHQmLmlzLWxhc3QtcGFnZSxcblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdH1cblxuXHRcdCYuaXMtbGFzdC1wYWdlIHtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCYgKyAmIHtcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblx0fVxufVxuXG4uYy1wYWdpbmF0aW9uX190ZXh0LFxuLmMtcGFnaW5hdGlvbl9fbGluayxcbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0e1xuXHRAaW5jbHVkZSBmbGV4KGNlbnRlciBjZW50ZXIpO1xuXHRtaW4td2lkdGg6IHNwYWNlKDYpO1xuXHRtaW4taGVpZ2h0OiBzcGFjZSg2KTtcblx0cGFkZGluZzogc3BhY2UoMSk7XG59XG5cbi5jLXBhZ2luYXRpb25fX3RleHQge1xuXHRjb2xvcjogbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnY29sb3InKTtcblx0b3BhY2l0eTogMC4zNTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fbGluayB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogc2NhbGUtY29sb3IobWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnY29sb3InKSwgJGxpZ2h0bmVzczogLTMwJSk7XG5cdFx0YmFja2dyb3VuZDogcGFsZXR0ZShuZXV0cmFsKTtcblx0fVxuXG5cdC5pcy1hY3RpdmUgPiAmIHtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMTBweCAtNXB4IG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdhY3RpdmUtY29sb3InKTtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHQge1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcblxuXHQmLmlzLWluYWN0aXZlIHtcblx0XHRjb2xvcjogcmdiYShtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpLCAwLjQpO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR9XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjI1dHVybik7XG59IiwiLypcbiAqIFBhZ2UgdGl0bGVcbiAqL1xuXG4uYy1wYWdlLXRpdGxlIHtcbiAgQGluY2x1ZGUgY29udGFpbjtcbiAgQGluY2x1ZGUgaHlwaGVuYXRlO1xuICBwYWRkaW5nLXRvcDogc3BhY2UoMik7XG4gIHBhZGRpbmctYm90dG9tOiBzcGFjZSgyKTtcbiAgY29sb3I6IHBhbGV0dGUodGV4dCk7XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIHBhZGRpbmctdG9wOiBzcGFjZSg2KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoNik7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICB3aWR0aDogY29sdW1uKDYsIDgpO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICB3aWR0aDogY29sdW1uKDgsIDEyKTtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19wcmVoZWFkaW5nIHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi10b3A6IHNwYWNlKC0yKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgyKTtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5jLXBhZ2UtdGl0bGUtLW9uLWRhcmsge1xuICBjb2xvcjogcGFsZXR0ZShsaWdodCk7XG59IiwiLmMtcHJvamVjdG9yIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXByb2plY3Rvcl9fZmlndXJlIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdC8vbWluLWhlaWdodDogNjYuNjd2dzsgLy8gZGVmYXVsdCBwaG90byBhc3BlY3QgcmF0aW8gKDMvMilcblx0fVxuXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLXByb2plY3Rvcl9fY2FwdGlvbiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAyO1xuXHR1c2VyLXNlbGVjdDogdGV4dDtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQsIDMpO1xufVxuXG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUge1xuXHRncmlkLWNvbHVtbjogMTtcblx0Z3JpZC1yb3c6IDE7XG5cdGFsaWduLXNlbGY6IGVuZDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRkaXNwbGF5OiBibG9jazsgLy8gTmVlZGVkIGZvciBJRVxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwpO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuXG4uYy1wcm9qZWN0b3JfX2NvbnRyb2wge1xuXHRncmlkLWNvbHVtbjogMTtcblx0Z3JpZC1yb3c6IDE7XG5cdGFsaWduLXNlbGY6IGVuZDtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG59XG5cbi5jLXByb2plY3Rvcl9faW1nIHtcblx0Ly8gbWFrZSBzdXJlIGl0IHN0cmV0Y2hlcyB0aGUgY29udGFpbmVyXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyOyAvLyBGYWxsYmFjayBmb3IgSUUgdmlhIEpTIHBvbHlmaWxsXG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1heC1oZWlnaHQ6IDc4dmg7IC8vIE1ha2Ugc3VyZSBpbWFnZXMgYXJlIHZpc2libGUgZW50aXJlbHkgb24gc21hbGwgZGV2aWNlcyBpbiBsYW5kc2NhcGUpXG5cdH1cbn0iLCIuYy1zZXJ2aWNlcG9pbnQge1xuXHRAaW5jbHVkZSBmbGV4KGlubGluZSBmbGV4LXN0YXJ0IGNlbnRlciB3cmFwKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0bWFyZ2luLXRvcDogc3BhY2UoLTIpO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2ltYWdlIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdG1heC13aWR0aDogMTc2cHg7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogNTQwKSB7XG5cdFx0d2lkdGg6IDk2cHg7XG5cdH1cbn1cblxuLmMtc2VydmljZXBvaW50X19jb250ZW50IHtcblx0QGluY2x1ZGUgaHlwaGVuYXRlO1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvIDFmcjtcblx0ZmxleC1ncm93OiA5OTk5O1xuXHRtaW4td2lkdGg6IDE4MHB4O1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcbn1cblxuLmMtc2VydmljZXBvaW50X19oZWFkZXIge1xuXHRncmlkLXJvdzogMTtcblx0YWxpZ24tc2VsZjogZW5kO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuXHRncmlkLXJvdzogMjtcblx0bWFyZ2luOiBzcGFjZSgxKSAwO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2Zvb3RlciB7XG5cdGdyaWQtcm93OiAzO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0LCAyKTtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuLmMtc2VydmljZXBvaW50X19zdWJoZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMyk7XG59IiwiLmMtc2l0ZW1hcF9faXRlbSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMik7XG59XG5cbi5jLXNpdGVtYXBfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn0iLCIvKlxuICogU2tpcCBMaW5rXG4gKi9cblxuLmMtc2tpcC1saW5rIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHZoO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgdG9wOiA1cHg7IC8qIE5vdyB0aGUgbGluayB3aWxsIGFwcGVhciAqL1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBTbGlkZSBpbmRpY2F0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1zbGlkZS1pbmRpY2F0b3I6IChcblx0J2RvdC1jb2xvcic6XHRcdFx0XHRwYWxldHRlKGxpZ2h0KSxcblx0J2RvdC1jb2xvci1hY3RpdmUnOlx0XHRcdHBhbGV0dGUoZGFyayksXG5cdCdkb3QtcmluZy1jb2xvci1hY3RpdmUnOlx0cGFsZXR0ZShsaWdodCksXG5cdCdkb3Qtc2l6ZSc6XHRcdFx0XHRcdDhweCxcblx0J2RvdC1zaXplLWFjdGl2ZSc6XHRcdFx0NnB4LFxuXHQnZG90LXJpbmctc2l6ZS1hY3RpdmUnOlx0XHQxMnB4LFxuXHQnZG90LXNpemUtdGFyZ2V0Ym94JzpcdFx0MzBweCxcblx0J2RvdC1pcy1yb3VuZGVkJzpcdFx0XHR0cnVlLFxuXG5cdCdidXR0b24taWNvbi1jb2xvcic6XHRcdHBhbGV0dGUobGlnaHQpLFxuXHQnYnV0dG9uLWJnLWNvbG9yJzpcdFx0XHRwYWxldHRlKHNlY29uZGFyeSwgMSksXG5cdCdidXR0b24tYmctY29sb3ItaG92ZXInOlx0c2NhbGVfY29sb3IocGFsZXR0ZShzZWNvbmRhcnksIDEpLCAkbGlnaHRuZXNzOiAtMTAlKSxcblx0J2J1dHRvbi1zaXplJzpcdFx0XHRcdDQwcHgsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1zbGlkZS1pbmRpY2F0b3Ige1xuXHRAaW5jbHVkZSBmbGV4KGZsZXgtZW5kIGNlbnRlcik7XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLWJnLWNvbG9yJyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1pY29uLWNvbG9yJyk7XG5cdGhlaWdodDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tc2l6ZScpO1xuXHR3aWR0aDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tc2l6ZScpO1xuXG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tbGVmdDogOHB4O1xuXHR9XG5cblx0JlthcmlhLWxhYmVsPSdwcmV2aW91cyddID4gc3ZnIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdH1cblxuXHQmW2FyaWEtbGFiZWw9J25leHQnXSA+IHN2ZyB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvci1ob3ZlcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvci1ob3ZlcicpO1xuXHR9XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpO1xuXHRoZWlnaHQ6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHQvL2JveC1zaGFkb3c6IDAgMCA3cHggMCBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1yaW5nLWNvbG9yLWFjdGl2ZScpO1xuXHRcdC8vQGlmIChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1pcy1yb3VuZGVkJykgPT0gdHJ1ZSkge1xuXHRcdC8vXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdC8vfVxuXHR9XG5cblx0Jjpob3Zlcjpub3QoLmlzLWFjdGl2ZSksXG5cdCY6Zm9jdXM6bm90KC5pcy1hY3RpdmUpIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cblxuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHRcdEBpZiAobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtaXMtcm91bmRlZCcpID09IHRydWUpIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdCRvZmZzZXQ6IGNhbGMoKCN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS10YXJnZXRib3gnKX0gLSAje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUnKX0pIC8gMik7XG5cdFx0dG9wOiAkb2Zmc2V0O1xuXHRcdHJpZ2h0OiAkb2Zmc2V0O1xuXHRcdGJvdHRvbTogJG9mZnNldDtcblx0XHRsZWZ0OiAkb2Zmc2V0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LWNvbG9yJyk7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHQkb2Zmc2V0OiBjYWxjKCgje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyl9IC0gI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1yaW5nLXNpemUtYWN0aXZlJyl9KSAvIDIpO1xuXHRcdHRvcDogJG9mZnNldDtcblx0XHRyaWdodDogJG9mZnNldDtcblx0XHRib3R0b206ICRvZmZzZXQ7XG5cdFx0bGVmdDogJG9mZnNldDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1yaW5nLWNvbG9yLWFjdGl2ZScpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS40KTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LWNvbG9yLWFjdGl2ZScpO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctY29sb3ItYWN0aXZlJyksIDAuOSk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKHN0cmlwLXVuaXQobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS1hY3RpdmUnKSkgLyBzdHJpcC11bml0KG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUnKSkpO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMC45O1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHQvL2JhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoc2Vjb25kYXJ5KTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcblx0XHR9XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFN1Ym5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXN1Ym5hdjogKFxuXHQnYmdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCksXG5cdCdib3JkZXItY29sb3InOiBcdFx0cGFsZXR0ZShib3JkZXIpLFxuXHQnY29sb3InOlx0XHRcdFx0XHRcdHBhbGV0dGUodGV4dCwgMiksXG5cdCdob3Zlci1jb2xvcic6XHRcdFx0cGFsZXR0ZSh0ZXh0KSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdFx0cGFsZXR0ZShwcmltYXJ5KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLXN1Ym5hdiB7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZzogMXB4ICRzaXRlLWd1dHRlci13aWR0aCBzcGFjZSgxMCkgJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2JnY29sb3InKTtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNSk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtLCBsKXtcblx0XHQubC1zcGxpdC0tYnJlYWtvdXQtb24tbSAmIHtcblx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDQpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDYpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCA2KTtcblx0fVxufVxuXG4uYy1zdWJuYXZfX2xpc3Qge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLmMtc3VibmF2X19pdGVtLS1iYWNrIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG59XG5cbi5jLXN1Ym5hdl9fbGluayB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0cGFkZGluZzogc3BhY2UoMSkgMDtcblx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGNvbG9yIDI1MG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2hvdmVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG5cblx0LmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2JvcmRlci1jb2xvcicpO1xuXG5cdFx0LmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHRcdH1cblx0fVxufVxuXG4uYy1zdWJuYXZfX2ljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2JvcmRlci1jb2xvcicpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoI3tzcGFjZSgtMSl9KTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjb2xvcjtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0LmMtc3VibmF2X19saW5rOmhvdmVyICYge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdob3Zlci1jb2xvcicpO1xuXHR9XG5cblx0LmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBUZXh0IEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXRleHRidXR0b246IChcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcblx0J2NvbG9yLWhvdmVyJzpcdFx0c2NhbGUtY29sb3IocGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSwgJGxpZ2h0bmVzczogLTQwJSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHlcbiAqIDIuIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxpbmdcbiAqL1xuXG4uYy10ZXh0YnV0dG9uIHtcblx0QGluY2x1ZGUgZmxleChpbmxpbmUgY2VudGVyKTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtdGV4dGJ1dHRvbiwgY29sb3IpOyAvKiAxICovXG5cdHBhZGRpbmc6IDA7IC8qIDIgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cblx0Ym9yZGVyOiBub25lOyAvKiAyICovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXRleHRidXR0b24sIGNvbG9yLWhvdmVyKTtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59XG5cbi5jLXRleHRidXR0b25fX3RleHQge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG59XG5cbi5jLXRleHRidXR0b25fX2ljb24ge1xuXHRkaXNwbGF5OiBub25lOyAvLyBCeSBkZWZhdWx0IGljb24gaXMgaGlkZGVuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDEpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy10ZXh0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpICYge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuXHR9XG5cblx0LmMtdGV4dGJ1dHRvbi0taWNvbiAme1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0fVxufVxuXG4vLyBDaGFuZ2UgZGlyZWN0aW9uIG9mIGljb24gKGFycm93KVxuLmMtdGV4dGJ1dHRvbi0taXMtcmV2ZXJzZWQge1xuXHQuYy10ZXh0YnV0dG9uX190ZXh0IHsgb3JkZXI6IDI7XHR9XG5cdC5jLXRleHRidXR0b25fX2ljb24ge1xuXHRcdG9yZGVyOiAxO1xuXHRcdHRvcDogMXB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG5cdH1cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0YnV0dG9uX19pY29uIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKSB0cmFuc2xhdGVYKDNweCk7XG5cdH1cbn1cblxuLmMtdGV4dGJ1dHRvbi0tb24tZGFyayB7XG5cdGNvbG9yOiBwYWxldHRlKGxpZ2h0KSAhaW1wb3J0YW50O1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogVHJhZGVtYXJrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tdHJhZGVtYXJrOiAoXG5cdCdsb2dvLXdpZHRoJzpcdFx0MTAwcHhcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYy10cmFkZW1hcmsge1xuXHRAaW5jbHVkZSBmbGV4KGlubGluZSBjZW50ZXIpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIDtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShsaWdodCk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59XG5cbi5jLXRyYWRlbWFya19fdGV4dCB7XG5cdG1hcmdpbi1yaWdodDogN3B4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy10cmFkZW1hcmtfX2ljb24ge1xuXHR3aWR0aDogbWFwLWdldCgkby10cmFkZW1hcmssICdsb2dvLXdpZHRoJyk7XG5cdG1heC1oZWlnaHQ6IDMycHg7XG5cdG9wYWNpdHk6IC41O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zO1xuXG5cdC5jLXRyYWRlbWFyazpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59IiwiLmMtdmlkZW97XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDUzLjYlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKCduZXV0cmFsJyk7XG59XG5cbi5jLXZpZGVvX19pZnJhbWV7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogT3JnYW5pc21zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQGltcG9ydCBcIm9yZ2FuaXNtcy5hY2NvcmRpb25cIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuYmxvY2tcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuYm9keVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jYWxsb3V0QmFyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNhcmQtZ3JpZFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jb250YWN0XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNvb2tpZUJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jb29raWVPdmVybGF5XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5mb3JtXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmhlYWRlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5pbnRyb1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5sb2dvc1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5tYXBcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMubmV3c1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5vdmVybGF5TWVudVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5xdW90ZVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5yZWZlcmVuY2VzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnN1YmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50YWJzbGlkZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudGVhbVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50b3AtYmFyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnVzcFwiO1xuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1hY2NvcmRpb246IChcblx0J2JvcmRlci13aWR0aCc6XHRcdFx0XHRcdDFweCxcblx0J2JvcmRlci1jb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUoYm9yZGVyKSxcblx0J2hlYWRlci1jb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUoZGFyayksXG5cdCdob3Zlci1jb2xvcic6IFx0XHRcdFx0XHRwYWxldHRlKHByaW1hcnkpLFxuXHQnaWNvbi1jb2xvcic6XHRcdFx0XHRcdFx0cGFsZXR0ZShkYXJrKSxcblx0J2ljb24tYm9yZGVyLXNpemUnOiBcdFx0MnB4LFxuXHQnaWNvbi1zaXplJzpcdFx0XHRcdFx0XHQyMHB4LFxuXHQnaWNvbi1zdHJpcGUtaGVpZ2h0JzpcdFx0MnB4LFxuXHQnaWNvbi1zdHJpcGUtd2lkdGgnOiAgXHQxMHB4LFxuXHQndHJhbnNpdGlvbi1kdXJhdGlvbic6XHQ0MDBtcyxcblx0J3RyYW5zaXRpb24tZWFzaW5nJzpcdFx0Y3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tYWNjb3JkaW9uIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8tYWNjb3JkaW9uX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnYm9yZGVyLXdpZHRoJyk7XG5cdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdib3JkZXItY29sb3InKTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXHR9XG59XG5cbi5vLWFjY29yZGlvbl9fdGl0bGUge1xuXHRAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgY2VudGVyKTtcblx0cGFkZGluZy10b3A6IHNwYWNlKDIpO1xuXHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgzKTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDIpO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDYpO1xuXHRjb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdoZWFkZXItY29sb3InKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHQvLyBPbmx5IHNldCBob3ZlciBjb2xvciB3aGVuIG5vdCBhY3RpdmVcblx0Lm8tYWNjb3JkaW9uX19pdGVtOm5vdCguaXMtYWN0aXZlKSAmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdob3Zlci1jb2xvcicpO1xuXHR9XG59XG5cbi5vLWFjY29yZGlvbl9faWNvbiB7XG5cdGZsZXg6IDAgMCBhdXRvO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogYXV0bztcblx0bGVmdDogKHNwYWNlKDMpIC0gaGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSkpO1xuXHR3aWR0aDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKTtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc2l6ZScpO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Ym9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdGJvcmRlci13aWR0aDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJyk7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0bGVmdDogY2FsYygje2NvbHVtbigwLjUsIDgpfSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSl9KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRsZWZ0OiBjYWxjKCN7Y29sdW1uKDAuNSwgMTIpfSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSl9KTtcblx0fVxuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtaGVpZ2h0Jyk7XG5cdFx0d2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtd2lkdGgnKTtcblx0XHRsZWZ0OiBoYWx2ZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc2l6ZScpIC0gbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXN0cmlwZS13aWR0aCcpIC0gKGRvdWJsZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tYm9yZGVyLXNpemUnKSkpKTtcblx0XHR0b3A6IGNhbGMoNTAlIC0gI3toYWx2ZShtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tYm9yZGVyLXNpemUnKSl9KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zLCBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ3RyYW5zaXRpb24tZHVyYXRpb24nKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSwgbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWVhc2luZycpO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHQuby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlICYge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCkgcm90YXRlKDAuMjV0dXJuKTtcblx0XHR9XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xuXG5cdFx0Lm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xuXHRcdH1cblx0fVxufVxuXG4uby1hY2NvcmRpb25fX2hlYWRlciB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHR9XG59XG5cbi8qIEhpZGRlbiBieSBkZWZhdWx0Ki9cbi5vLWFjY29yZGlvbl9fY29udGVudCB7XG5cdEBpbmNsdWRlIG93bC1jaGlsZHJlbjtcblx0b3BhY2l0eTogMDtcblx0bWF4LWhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZy1sZWZ0OiBzcGFjZSg2KTtcblx0cGFkZGluZy1yaWdodDogc3BhY2UoMyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuXHQvLyBDbG9zZSBhbmltYXRpb25cblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSw4KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKXtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDEyKTtcblx0fVxuXG5cdC5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRtYXgtaGVpZ2h0OiA0MDBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdC8vIE9wZW4gYW5pbWF0aW9uICh3aXRoIHRoZSBzYW1lIGRlbGF5IGFzIGNsb3NlIGR1cmF0aW9uKVxuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ3RyYW5zaXRpb24tZHVyYXRpb24nKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMC4ycztcblx0fVxufSIsIi5vLWJsb2NrIHtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHQnbWFyZ2luLWJvdHRvbScgMVxuXHQpO1xuXG5cdC8vIFRvcCBtYXJnaW4gb25seSBvbiBjb25zZWN1dGl2ZSBibG9ja3Ncblx0JiArICYge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG5cdH1cbn0iLCIgLypcbiAqIFdyYXBwZXIgb2YgdGhlIG1haW4gYm9keVxuICogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcbiAqL1xuXG4uby1ib2R5IHtcblx0QGluY2x1ZGUgeih6LWJvZHkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDYWxsb3V0IGJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWNhbGxvdXQtYmFyOiAoXG5cdCdjb2xvcic6ICBcdFx0cGFsZXR0ZSh0ZXh0KSxcblx0J2JnY29sb3InOiAgXHRwYWxldHRlKG5ldXRyYWwpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tY2FsbG91dC1iYXIge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWNhbGxvdXQtYmFyLCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jYWxsb3V0LWJhciwgJ2JnY29sb3InKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1jYWxsb3V0LWJhcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG4gIEBpbmNsdWRlIHZzcGFjaW5nKFxuICAgICdwYWRkaW5nLXRvcCcgMSxcbiAgICAncGFkZGluZy1ib3R0b20nIDFcbiAgKTtcblxuXHQvLyBWZXJ0aWNhbCBzcGFjaW5nIGZvciBlbGVtZW50cyB0aGF0IHByb2NlZWQgYW5vdGhlciBlbGVtZW50XG5cdCYgPiAqICsgKiB7XG5cdFx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0XHQpO1xuXHR9XG59XG5cbi5vLWNhbGxvdXQtYmFyX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbn0iLCIvKlxuICogQ2FyZCBncmlkXG4gKlxuICovXG5cbiRvLWNhcmQtZ3JpZC1pdGVtcy1tOiAgIDI7IC8vIE51bWJlciBvZiBjYXJkcyB3aGVuIGluIG1lZGl1bSB2aWV3cG9ydFxuJG8tY2FyZC1ncmlkLWl0ZW1zLWw6ICAgMzsgLy8gTnVtYmVyIG9mIGNhcmRzIHdoZW4gaW4gbGFyZ2Ugdmlld3BvcnRcbiRvLWNhcmQtZ3JpZC1tLWJwOiAgICAgIDYwMDsgLy8gQ3VzdG9tIGJyZWFrcG9pbnQgd2hlbiBzd2l0Y2hpbmcgZnJvbSBzdGFja2VkIGNhcmRzIHRvIHJvd3NcbiRvLWNhcmQtZ3JpZC1zcGFjaW5nOiAgIHNwYWNlKDQpO1xuXG4kby1jYXJkLWdyaWQtc2l6ZS1tOiAgICBwZXJjZW50YWdlKDEvJG8tY2FyZC1ncmlkLWl0ZW1zLW0pO1xuJG8tY2FyZC1ncmlkLXNpemUtbDogICAgcGVyY2VudGFnZSgxLyRvLWNhcmQtZ3JpZC1pdGVtcy1sKTtcblxuXG5cbi5vLWNhcmQtZ3JpZF9fbWFpbiB7XG4gIEBpbmNsdWRlIG1xKCRvLWNhcmQtZ3JpZC1tLWJwKSB7XG4gICAgQGluY2x1ZGUgZmxleCh3cmFwKTtcbiAgfVxufVxuXG4uby1jYXJkLWdyaWRfX2l0ZW0ge1xuXG4gIC8vIENyZWF0ZSBuaWNlIHZlcnRpY2FsIHNwYWNpbmcgb24gbW9iaWxlXG4gIEBpbmNsdWRlIG1xKCRtYXg6ICRvLWNhcmQtZ3JpZC1tLWJwKXtcbiAgICAmICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBzcGFjZSg0KTtcbiAgICB9XG4gIH1cblxuICAvLyBTaW5nbGUgY29sdW1uIChzdGFja2VkKVxuICBAaW5jbHVkZSBtcSgkbWF4OiAkby1jYXJkLWdyaWQtbS1icCkge1xuICAgIG1heC13aWR0aDogNDQ0cHg7IC8vIGNvbnN0cmFpbiB0aGUgd2lkdGggb2YgdGhlIGNhcmQgaW5zaWRlXG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvLyBUd28gY29sdW1uc1xuICBAaW5jbHVkZSBtcSgkby1jYXJkLWdyaWQtbS1icCwgJG1heDogbCkge1xuICAgIGZsZXg6IDA7XG4gICAgLy8gV2UgY2FsY3VsYXRlIHRoZSBzaXplIG9mIHRoZSBpdGVtIGJhc2VkIG9uIHRoZSBzZXR0aW5ncyBhbmQgcHV0IGl0IGluIGEgbG9uZ2hhbmQgZmxleCB2YWx1ZSBiZWNhdXNlIG9mIElFIHN1cHBvcnRcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCN7JG8tY2FyZC1ncmlkLXNpemUtbX0gLSAoKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLW19IC0gMSkgLyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1tfSAqICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9KSk7XG4gICAgbWFyZ2luLWxlZnQ6ICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9O1xuXG4gICAgJjpudGgtY2hpbGQoI3skby1jYXJkLWdyaWQtaXRlbXMtbX1uICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQobiArICN7JG8tY2FyZC1ncmlkLWl0ZW1zLW0gKyAxfSkge1xuICAgICAgbWFyZ2luLXRvcDogI3skby1jYXJkLWdyaWQtc3BhY2luZ307XG4gICAgfVxuICB9XG5cbiAgLy8gRm91ciBjb2x1bW5zXG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICBmbGV4OiAwO1xuICAgIC8vIFdlIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgaXRlbSBiYXNlZCBvbiB0aGUgc2V0dGluZ3MgYW5kIHB1dCBpdCBpbiBhIGxvbmdoYW5kIGZsZXggdmFsdWUgYmVjYXVzZSBvZiBJRSBzdXBwb3J0XG4gICAgZmxleC1iYXNpczogY2FsYygjeyRvLWNhcmQtZ3JpZC1zaXplLWx9IC0gKCgjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sfSAtIDEpIC8gI3skby1jYXJkLWdyaWQtaXRlbXMtbH0gKiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfSkpO1xuICAgIG1hcmdpbi1sZWZ0OiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfTtcblxuICAgICY6bnRoLWNoaWxkKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLWx9biArIDEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG4gKyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sICsgMX0pIHtcbiAgICAgIG1hcmdpbi10b3A6ICRvLWNhcmQtZ3JpZC1zcGFjaW5nO1xuICAgIH1cbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ29udGFjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWNvbnRhY3Q6IChcblx0J2JnY29sb3ItZm9ybSc6XHRcdHBhbGV0dGUobmV1dHJhbCksXG5cdCdicC1sYXJnZSc6XHRcdFx0XHQxMjIwXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm8tY29udGFjdCB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLWNvbnRhY3QsICdicC1sYXJnZScpKSB7XG5cdFx0QGluY2x1ZGUgZmxleCgpO1xuXHR9XG59XG5cbi5vLWNvbnRhY3RfX2luZm8ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0cGFkZGluZzogc3BhY2UoNikgY29sdW1uKDEsIDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2UoMyk7XG5cdH1cbn1cblxuLm8tY29udGFjdF9fZm9ybSB7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tY29udGFjdCwgJ2JnY29sb3ItZm9ybScpO1xuXG5cdC8vIFsxXSBCcmVhayBvdXQgb24gbW9iaWxlXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tdG9wOiBkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKTtcblx0XHRwYWRkaW5nOiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cdFx0d2lkdGg6IDEwMHZ3OyAvLyBbMV1cblx0XHRtYXJnaW4tbGVmdDogNTAlOyAvLyBbMV1cblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IC8vIFsxXVxuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHBhZGRpbmc6IHNwYWNlKDYpIGNvbHVtbigxLDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsMTIpO1xuXHR9XG59XG5cbi5vLWNvbnRhY3RfX2hlYWRlciB7XG5cdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNCk7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQpO1xufVxuXG4uby1jb250YWN0X19jYXJkIHtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG59XG5cbi5vLWNvbnRhY3RfX2FkZHJlc3Mge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgzKTtcbn1cblxuLm8tY29udGFjdF9fbnVtYmVycyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xufSIsIi5vLWNvb2tpZS1iYXIge1xuXHRAaW5jbHVkZSB6KHotY29va2llKTtcblx0ZGlzcGxheTogbm9uZTsgLy8gaGlkZSBieSBkZWZhdWx0XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRoZWlnaHQ6ICRzaXRlLWNvb2tpZUJhci1oZWlnaHQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGRhcmspO1xuXHRvcGFjaXR5OiAxO1xuXHRib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjZzO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG5cblx0Ly8gV2hlbiBjb29raWVzIGFyZSBub3QgeWV0IGFjY2VwdGVkLCBzaG93IGNvb2tpZWJhclxuXHQmOm5vdCguaXMtYWNjZXB0ZWQpIHtcblx0XHRAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgY2VudGVyKTtcblx0fVxuXG5cdCYuaXMtdHJhbnNpdGlvbmluZy1vdXQge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cdH1cbn1cblxuLm8tY29va2llLWJhcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGZsZXgoY2VudGVyIGNlbnRlcik7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NCkge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0fVxufVxuXG4uby1jb29raWUtYmFyX190ZXh0IHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0LW9uLWRhcmssIDMpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdH1cbn1cblxuLm8tY29va2llLWJhcl9fbGluayB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiByZ2JhKHBhbGV0dGUodGV4dCwgMyksIDAuNzUpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX2J1dHRvbiB7XG5cdGZsZXg6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSg1KTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHR9XG59IiwiLm8tY29va2llLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIHooei1jb29raWUpO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgQGluY2x1ZGUgZmxleChjZW50ZXIgY2VudGVyKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHBhbGV0dGUoZGFyayksIDAuNik7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcblxuICAmLmlzLWFjY2VwdGVke1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmZhZGUtb3V0IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X19tb2RhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogOTIlO1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBwYWRkaW5nOiA2MHB4IDEyMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobGlnaHQpO1xufVxuXG4uby1jb29raWUtb3ZlcmxheV9fY29udGFpbmVye1xuICAmLmlzLWhpZGRlbntcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgY29sb3I6IHBhbGV0dGUodGV4dCk7XG59XG5cbi5vLWNvb2tpZS1vdmVybGF5X190ZXh0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiBwYWxldHRlKHRleHQsIDMpO1xufVxuXG4uby1jb29raWUtb3ZlcmxheV9fbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICY6aG92ZXJ7XG4gICAgY29sb3I6IHJnYmEocGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSwgMC43NSk7XG4gIH1cbn1cblxuLm8tY29va2llLW92ZXJsYXlfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgcGFkZGluZzogMTNweCAyNXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cztcblxuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiBwYWxldHRlKGxpZ2h0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcblxuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLCA4JSlcbiAgfVxufVxuXG4uby1jb29raWUtb3ZlcmxheV9fdHlwZXMsIC5vLWNvb2tpZS1vdmVybGF5X19zZXR0aW5nc3tcbiAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgJiA+ICogKyAqe1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbn1cblxuLm8tY29va2llLW92ZXJsYXlfX3NldHRpbmdze1xuICBtYXJnaW4tYm90dG9tOiAwO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tZm9vdGVyOiAoXG5cdCdjb2xvcic6ICBcdFx0cGFsZXR0ZSh0ZXh0LW9uLXByaW1hcnkpLFxuXHQnYmdjb2xvcic6ICBcdHBhbGV0dGUocHJpbWFyeSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1mb290ZXIge1xuXHRAaW5jbHVkZSB6KHotZm9vdGVyKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZm9vdGVyLCAnY29sb3InKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1mb290ZXIsICdiZ2NvbG9yJyk7XG59XG5cbi5vLWZvb3Rlcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG4gIEBpbmNsdWRlIHZzcGFjaW5nKFxuICAgICdwYWRkaW5nLXRvcCcgMC41LFxuICAgICdwYWRkaW5nLWJvdHRvbScgMC41XG4gICk7XG59XG5cbi5vLWZvb3Rlcl9fY29sdW1ucyB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cdH1cbn1cblxuLm8tZm9vdGVyX19icmFuZCB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J21hcmdpbi1ib3R0b20nIDAuMzNcblx0KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuLm8tZm9vdGVyX19sb2dvIHtcblx0d2lkdGg6IDE1MnB4O1xufVxuXG5cbi8vIExlZnQgY29sdW1uXG4uby1mb290ZXJfX2luZm8ge1xuXHRAaW5jbHVkZSBvd2wtY2hpbGRyZW4oc3BhY2UoNCkpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDQsIDEwKTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig1LCAxMik7XG5cdH1cbn1cblxuLy8gUmlnaHQgY29sdW1uXG4uby1mb290ZXJfX25hdiB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMC41XG5cdCk7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsIDEwKTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdH1cbn1cblxuLm8tZm9vdGVyX19saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufVxuXG4uby1mb290ZXJfX2xpbmsge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZm9vdGVyLCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0bGVmdDogLTEwcHg7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNTAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkby1mb290ZXIsICdjb2xvcicpLCAwLjEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDApIHNrZXcoMGRlZyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKSBza2V3KC0zN2RlZyk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufVxuXG4uby1mb290ZXJfX3NvY2lhbCB7XG5cdEBpbmNsdWRlIGZsZXgoKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiBzcGFjZSg0KSAwIDA7XG59XG5cbi5vLWZvb3Rlcl9fY2hhbm5lbCB7XG5cdEBpbmNsdWRlIGZsZXgoY2VudGVyIGNlbnRlcik7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG59XG5cbi5vLWZvb3Rlcl9faWNvbiB7XG5cdGZsZXg6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcblxuXHQuZmFjZWJvb2sgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvZmFjZWJvb2suc3ZnXCIpO1xuXHRcdGhlaWdodDogMjFweDtcblx0fVxuXHQuaW5zdGFncmFtICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2luc3RhZ3JhbS5zdmdcIik7XG5cdH1cblx0LnR3aXR0ZXIgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvdHdpdHRlci5zdmdcIik7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHR9XG5cdC5saW5rZWRpbiAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9saW5rZWRpbi5zdmdcIik7XG5cdFx0aGVpZ2h0OiAxOHB4O1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufSIsIi5vLWZvcm0ge31cblxuLm8tZm9ybV9faGVhZGVyIHtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoNSk7XG59XG5cbi5vLWZvcm1fX2JvZHkge31cblxuLm8tZm9ybV9fZm9vdGVyIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG59XG5cbi5vLWZvcm1fX3JvdyB7XG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHR9XG59XG5cbi8vIEEgaGlkZGVuIHdyYXBwZXIgZm9yIGhvbmV5IHBvdCBzdHVmZlxuLm8tZm9ybV9fcG90IHtcblx0b3BhY2l0eTogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdGhlaWdodDogMDtcblx0d2lkdGg6IDA7XG5cdHotaW5kZXg6IC0xO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8taGVhZGVyOiAoXG5cdCdiZ2NvbG9yLWFsdGVybmF0aXZlJzogIHBhbGV0dGUocHJpbWFyeSksXG5cdCd0b2dnbGUtY29sb3InOlx0XHRcdFx0ICBwYWxldHRlKGRhcmspLFxuXHQnbG9nby13aWR0aCc6XHRcdFx0XHRcdFx0MTQ3cHhcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLWhlYWRlciB7XG5cdEBpbmNsdWRlIHooei1oZWFkZXIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IHNwYWNlKDQpIDA7XG5cblx0Ji5pcy1oZWFkZXItYWx0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWhlYWRlciwgJ2JnY29sb3ItYWx0ZXJuYXRpdmUnKTtcblx0fVxuXG5cdCYuaXMtc3RpY2t5IHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR6LWluZGV4OiA1MDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xuXHRcdGJveC1zaGFkb3c6IDAgLTVweCAzMHB4IGJsYWNrO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzLCAzMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcblxuXHRcdEBpbmNsdWRlIG1xKCRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmlzLXN0aWNreS1oZWFkZXItdmlzaWJsZSAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHR9XG5cdH1cbn1cblxuLm8taGVhZGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgZmxleChjZW50ZXIgc3BhY2UtYmV0d2Vlbik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8taGVhZGVyX19uYXYge1xuXHR3aWR0aDogMTAwJTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiAkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uby1oZWFkZXJfX2xhbmd1YWdlIHtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0fVxufVxuXG4uby1oZWFkZXJfX2xvZ28ge1xuXHRmbGV4OiBub25lO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufVxuXG4uby1oZWFkZXJfX2ltZyB7XG5cdG1heC1oZWlnaHQ6IHNwYWNlKDYpO1xuXHR3aWR0aDogbWFwLWdldCgkby1oZWFkZXIsICdsb2dvLXdpZHRoJyk7XG59XG5cbi5vLWhlYWRlcl9fdG9nZ2xlIHtcblx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEludHJvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8taW50cm86IChcblx0J2JnY29sb3InOlx0XHRcdFx0XHRcdFx0cGFsZXR0ZShwcmltYXJ5KSxcblx0J2JnY29sb3ItYWx0JzpcdFx0XHRcdFx0cGFsZXR0ZShwcmltYXJ5LCAyKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLWludHJvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAwO1xuXG5cdCYuaXMtaW50cm8tYWx0IHtcblx0XHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdFx0J21hcmdpbi1ib3R0b20nIDFcblx0XHQpO1xuXHR9XG59XG5cbi5vLWludHJvX19oZWFkZXIge1xuXHQuaXMtaW50cm8tYWx0ICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8taW50cm8sICdiZ2NvbG9yLWFsdCcpO1xuXHR9XG59XG5cbi5vLWludHJvX19ib2R5IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdtYXJnaW4tYm90dG9tJyAxXG5cdCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdC5pcy1pbnRyby1hbHQgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWludHJvLCAnYmdjb2xvci1hbHQnKTtcblx0XHR9XG5cdH1cbn1cblxuLm8taW50cm9fX21haW4ge1xuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0Lm8taW50cm8tLW1vYmlsZS1icmVhay1vdXQgJiB7XG5cdFx0XHR3aWR0aDogMTAwdnc7XG5cdFx0XHRtYXJnaW4tbGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAwO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWludHJvLCAnYmdjb2xvcicpO1xuXHRcdH1cblx0fVxufSIsIiRvLWxvZ29zLXNwYWNpbmctZHluYW1pYzogMi4zODJ2dztcbiRvLWxvZ29zLXNwYWNpbmctZml4ZWQ6IFx0c3BhY2UoNCk7XG5cbi5vLWxvZ29zIHt9XG5cbi5vLWxvZ29zX19saXN0IHtcblx0QGluY2x1ZGUgZmxleCh3cmFwKTtcblx0bWFyZ2luLWxlZnQ6IDA7IC8vIHJlc2V0XG5cdG1hcmdpbjogLSN7JG8tbG9nb3Mtc3BhY2luZy1keW5hbWljfTtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG5cdEBpbmNsdWRlIG1xKCRicC1tYXgpe1xuXHRcdG1hcmdpbjogLSN7JG8tbG9nb3Mtc3BhY2luZy1maXhlZH07XG5cdH1cbn1cblxuLm8tbG9nb3NfX2l0ZW0ge1xuXHRmbGV4OiAwIDEgMTAwJTtcblx0bWFyZ2luOiAkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWM7XG5cblx0QGluY2x1ZGUgbXEocyl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS8yKX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWMpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS8zKX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWMpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS80KX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWR5bmFtaWMpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEoJGJwLW1heCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMS80KX0gLSAje2RvdWJsZSgkby1sb2dvcy1zcGFjaW5nLWZpeGVkKX0pO1xuXHRcdG1hcmdpbjogJG8tbG9nb3Mtc3BhY2luZy1maXhlZDtcblx0fVxufVxuXG4uby1sb2dvc19fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uby1sb2dvc19faW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlOyAvLyBBc3BlY3QgcmF0aW9cblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59IiwiLm8tbWFwIHtcblxuXHQvLyBSZXNldCBzb21lIHN0eWxpbmcgZm9yIGdvb2dsZSBtYXBzXG5cdGEge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IE5ld3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyRvLW5ld3M6IChcbi8vXHQnaG92ZXItYmdjb2xvcic6ICBcdFx0cGFsZXR0ZShuZXV0cmFsKSxcbi8vXHQndGV4dC1jb2xvcic6XHRcdFx0ICAgIHBhbGV0dGUodGV4dC1vbi1wcmltYXJ5KSxcbi8vKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tbmV3cyB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG59XG5cbi5vLW5ld3NfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcbn1cblxuLm8tbmV3c19fYXJ0aWNsZSB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSg0KSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8tbmV3c19fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyBsaW5lYXI7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUoYm9yZGVyKTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdEBpbmNsdWRlIGZsZXgoZmxleC1zdGFydCk7XG5cdH1cbn1cblxuLm8tbmV3c19fYm9keSB7XG5cdGZsZXgtZ3JvdzogMTtcblx0cGFkZGluZzogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRvcmRlcjogMTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn1cblxuLm8tbmV3c19faW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogNTUlO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRmbGV4OiBub25lO1xuXHRcdG9yZGVyOiAyO1xuXHRcdHdpZHRoOiBjb2x1bW4oMiw4KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogY29sdW1uKDIsOCk7XG5cdH1cbn1cblxuLm8tbmV3c19fYmctaW1hZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdHRvcDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRyaWdodDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKX0pO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JHNpdGUtZ3V0dGVyLXdpZHRofSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHRvcDogc3BhY2UoMSk7XG5cdFx0cmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdH1cbn1cblxuXG4vLyBCb2R5IGNvbnRlbnQ6XG4uby1uZXdzX19pbnRybyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG4uby1uZXdzX190aW1lc3RhbXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdGNvbG9yOiBwYWxldHRlKHRleHQsIDMpO1xufVxuXG4uby1uZXdzX19hY3Rpb24ge1xuXHRAaW5jbHVkZSBmbGV4KGZsZXgtc3RhcnQgY2VudGVyKTtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xufVxuXG4uby1uZXdzX19yZWFkbW9yZSB7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG59XG5cbi5vLW5ld3NfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBPdmVybGF5IG1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1vdmVybGF5LW1lbnU6IChcbiAgJ2NvbG9yJzogICAgICAgICAgICBwYWxldHRlKHRleHQtb24tcHJpbWFyeSksXG4gICdiZ2NvbG9yJzogICAgICAgICAgcGFsZXR0ZShwcmltYXJ5KSxcbiAgJ3NoYWRlci1jb2xvcic6ICAgICByZ2JhKDAsIDAsIDAsIDAuNiksXG4gICdtb3ZlLXNwZWVkJzogICAgICAgNDAwbXMsXG4gICdvcGFjaXR5LXNwZWVkJzogICAgMjAwbXMsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1vdmVybGF5LW1lbnUge1xuICBAaW5jbHVkZSB6KHotb3ZlcmxheS1tZW51KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnYmdjb2xvcicpO1xuXG4gIC8vIFdoZW4gaXQgZGlzYXBwZWFycyBvdXQgb2Ygdmlld1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMHZ3KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdvcGFjaXR5LXNwZWVkJyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuMTUsIDAuMSwgMSksIGxpbmVhcjtcblxuICAvLyBXaGVuIGl0IGNvbWVzIGludG8gdmlld1xuICAuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKSwgMHM7XG4gIH1cblxuICAvLyBTaGFkZXJcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMTIwdnc7XG4gICAgd2lkdGg6IDEyMHZ3O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ3NoYWRlci1jb2xvcicpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG4gICAgLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlhZ29uYWwgc2hhcGUgb24gdGhlIHJpZ2h0XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMjAlO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtODZkZWcsIHRyYW5zcGFyZW50IDUwJSwgbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdiZ2NvbG9yJykgNTAlKTtcbiAgfVxuXG4gIC8vIEhpZGUgb3ZlcmxheSBtZW51IG9uIGxhcmdlciB2aWV3cG9ydHNcbiAgQGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICBAaW5jbHVkZSBjb250YWluO1xuICBAaW5jbHVkZSBmbGV4KGNlbnRlciBzcGFjZS1iZXR3ZWVuKTtcbiAgcGFkZGluZy10b3A6IHNwYWNlKDQpO1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG59XG5cbi5vLW92ZXJsYXktbWVudV9faW1nIHtcbiAgaGVpZ2h0OiBzcGFjZSg2KTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC41dHVybik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG5cbiAgLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbmF2IHtcbiAgQGluY2x1ZGUgY29udGFpbjtcbiAgbWFyZ2luLXRvcDogc3BhY2UoMyk7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiBjYWxjKDU4dmgpO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saW5rIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGwpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnY29sb3InKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIG91dGxpbmUtY29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnY29sb3InKTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG59IiwiLm8tcXVvdGUge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG4uby1xdW90ZSB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRAaW5jbHVkZSBmbGV4KCk7XG5cdH1cbn1cblxuLm8tcXVvdGVfX2JvZHkge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdFx0d2lkdGg6IGNvbHVtbig4LDEyKTtcblx0fVxufVxuXG4uby1xdW90ZV9fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDMsOCk7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLDgpO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDQsMTIpO1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn1cblxuLm8tcXVvdGVfX2ltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLm8tcXVvdGVfX3RleHQge1xuXHRAaW5jbHVkZSBmb250KG0pO1xuXHRxdW90ZXM6ICdcXDIwMWMnICdcXDIwMWQnO1xuXG5cdCY6OmJlZm9yZSB7IGNvbnRlbnQ6IG9wZW4tcXVvdGU7IH1cblx0Jjo6YWZ0ZXIgIHsgY29udGVudDogY2xvc2UtcXVvdGU7IH1cbn1cblxuLm8tcXVvdGVfX2F1dGhvciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xuXHRtYXJnaW4tbGVmdDogY29sdW1uKDAuNSwgNik7XG59XG5cbi5vLXF1b3RlX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChiYXNlKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMik7XG59XG5cbi5vLXF1b3RlX19zdWJoZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0Y29sb3I6IHBhbGV0dGUodGV4dCwgMyk7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBSZWZlcmVuY2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tcmVmZXJlbmNlczogKFxuXHQnZ2FwJzpcdFx0XHRcdFx0XHRzcGFjZSg0KSxcblx0J3BhZGRpbmcnOlx0XHRcdFx0c3BhY2UoMyksXG5cdCdib3JkZXItc2l6ZSc6XHRcdDBweCxcblx0J2JvcmRlci1jb2xvcicgOlx0cGFsZXR0ZShib3JkZXIpLFxuXHQnYmdjb2xvcicgOlx0XHRcdFx0cGFsZXR0ZShsaWdodCksXG5cdCdjb2xvcicgOlx0XHRcdFx0XHRwYWxldHRlKHRleHQsIDIpLFxuXHQnY29sb3JTdWInIDpcdFx0XHRwYWxldHRlKHRleHQsIDMpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vLXJlZmVyZW5jZXMge1xuXHRAaW5jbHVkZSBmbGV4KHdyYXApO1xuXHRtYXJnaW46IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2dhcCcpICogLTE7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2l0ZW0ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuXHRmbGV4OiAwIDEgMTAwJTtcblx0bWFyZ2luOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdnYXAnKTtcblx0cGFkZGluZy10b3A6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcblx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYmdjb2xvcicpO1xuXHRib3JkZXI6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2JvcmRlci1zaXplJykgc29saWQgbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLWNvbG9yJyk7XG5cdGJveC1zaGFkb3c6IDAgM3B4IDQwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG5cdEBpbmNsdWRlIG1xKDgwMCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYyg1MCUgLSAje2RvdWJsZShtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdnYXAnKSl9IC0gI3tkb3VibGUobWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLXNpemUnKSl9KTtcblx0fVxufVxuXG4uby1yZWZlcmVuY2VzX19ib2R5IHtcblx0QGluY2x1ZGUgZmxleCh3cmFwIGZsZXgtc3RhcnQpO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdwYWRkaW5nJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3BpY3R1cmUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxleC1ncm93OiAxO1xuXHRmbGV4LWJhc2lzOiAyNSU7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDMpO1xuXHRtYXJnaW4tbGVmdDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19jb250ZW50IHtcblx0ZmxleC1ncm93OiA5OTk5O1xuXHRmbGV4LWJhc2lzOiAxOGVtO1xuXHRtYXJnaW4tbGVmdDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3InKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fYXV0aG9yIHtcblx0bWFyZ2luLXRvcDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xufVxuXG4uby1yZWZlcmVuY2VzX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRjb2xvcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnY29sb3InKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fc3ViaGVhZGluZyB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdjb2xvclN1YicpO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogU3ViIEZvb3RlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXN1YmZvb3RlcjogKFxuXHQnY29sb3InOiAgXHRcdFx0XHQgICAgcGFsZXR0ZSh0ZXh0LW9uLXByaW1hcnksIDMpLFxuXHQnY29sb3ItaG92ZXInOiAgXHRcdCAgcGFsZXR0ZSh0ZXh0LW9uLXByaW1hcnksIDEpLFxuXHQnYmdjb2xvcic6ICBcdFx0XHQgICAgcGFsZXR0ZShwcmltYXJ5LCAzKSxcblx0J3NwYWNpbmctaG9yaXpvbnRhbCc6XHRzcGFjZSg0KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLXN1YmZvb3RlciB7XG5cdEBpbmNsdWRlIHooei1zdWJmb290ZXIpO1xuXHRjb2xvcjogbWFwLWdldCgkby1zdWJmb290ZXIsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2JnY29sb3InKTtcblx0cGFkZGluZy1ib3R0b206ICRzaXRlLWNvb2tpZUJhci1oZWlnaHQ7XG5cdHRyYW5zaXRpb246IHBhZGRpbmcgMC42cztcblxuXHQuaXMtY29va2llcy1hY2NlcHRlZCAmIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxufVxuXG4uby1zdWJmb290ZXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRAaW5jbHVkZSBmbGV4KHdyYXAgZmxleC1zdGFydCBjZW50ZXIpO1xuXHRAaW5jbHVkZSBmb250KHMpO1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoMSk7XG5cdHBhZGRpbmctYm90dG9tOiBzcGFjZSgxKTtcbn1cblxuLm8tc3ViZm9vdGVyX19jb3B5cmlnaHQge1xuXHRAaW5jbHVkZSBmbGV4KHdyYXApO1xuICBtYXJnaW4tdG9wOiBzcGFjZSgxKTtcbiAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG5cdG1hcmdpbi1yaWdodDogbWFwLWdldCgkby1zdWJmb290ZXIsICdzcGFjaW5nLWhvcml6b250YWwnKTtcbn1cblxuLm8tc3ViZm9vdGVyX19uYXYge1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn1cblxuLm8tc3ViZm9vdGVyX19saXN0IHtcblx0QGluY2x1ZGUgZmxleCh3cmFwKTtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW46IDA7XG59XG5cbi5vLXN1YmZvb3Rlcl9faXRlbSB7XG5cdG1hcmdpbi1yaWdodDogbWFwLWdldCgkby1zdWJmb290ZXIsICdzcGFjaW5nLWhvcml6b250YWwnKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm8tc3ViZm9vdGVyX19saW5rIHtcblx0Y29sb3I6IHBhbGV0dGUodGV4dC1vbi1wcmltYXJ5LCAzKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby1zdWJmb290ZXIsICdjb2xvci1ob3ZlcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKTtcblx0fVxufVxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRhYnNsaWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXRhYnNsaWRlcjogKFxuXHQnY29sb3InOlx0XHRcdFx0XHRcdFx0XHRcdHBhbGV0dGUodGV4dCksXG5cdCdiZ2NvbG9yJzpcdFx0XHRcdFx0XHRcdFx0cGFsZXR0ZShsaWdodCksXG5cdCdib3JkZXItY29sb3InOiBcdFx0XHRcdFx0cGFsZXR0ZShib3JkZXIpLFxuXHQnYWN0aXZlLWNvbG9yJzpcdFx0XHRcdFx0XHRwYWxldHRlKHRleHQtb24tcHJpbWFyeSksXG5cdCdhY3RpdmUtYmdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUocHJpbWFyeSksXG5cdCdhY3RpdmUtYm9yZGVyLWNvbG9yJzogXHRcdHBhbGV0dGUocHJpbWFyeSksXG5cdCd0YWItZ2FwJzogIFx0XHRcdFx0XHRcdFx0c3BhY2UoMSksXG4pO1xuXG4vKlxuICogT24gc21hbGwgc2NyZWVucyB0aGUgY29udGVudCBpcyBzdGFja2VkLCB3aXRob3V0IGNvbnRyb2xzXG4gKiBXaGVuIHRoZSBzY3JlZW4gaXMgd2lkZSBlbm91Z2ggd2UgYWRkIHRoZSBjb250cm9sc1xuICogYW5kIHNob3cgb25seSB0aGUgY2hvc2VuICdzbGlkZSBjb250ZW50J1xuICovXG5cblxuLm8tdGFic2xpZGVyIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuXG4vLyBTaGFyZWQgc3R5bGluZyBmb3IgdGFiLSBhbmQgc3RlcC1idXR0b25zXG4uby10YWJzbGlkZXJfX2J1dHRvbiB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdG1pbi1oZWlnaHQ6IHNwYWNlKDYpO1xuXHRjb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2JnY29sb3InKTtcblx0Ym9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkby10YWJzbGlkZXIsICdib3JkZXItY29sb3InKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYm9yZGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYmdjb2xvcicpO1xuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYmdjb2xvcicpO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1jb2xvcicpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWJnY29sb3InKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWJvcmRlci1jb2xvcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUocHJpbWFyeSk7XG5cblx0XHQmOm5vdCguaXMtYWN0aXZlKTpub3QoOmFjdGl2ZSkge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYmdjb2xvcicpLCAwIDAgNXB4IDNweCByZ2JhKG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnY29sb3InKSwgMC4xKTtcblx0XHR9XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19jb250cm9scyB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdEBpbmNsdWRlIGZsZXgoY2VudGVyIHNwYWNlLWJldHdlZW4pO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19zdGVwIHtcblx0d2lkdGg6IHNwYWNlKDYpO1xufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAtLXByZXYge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuLm8tdGFic2xpZGVyX190YWJzIHtcblx0QGluY2x1ZGUgbXEobSl7XG5cdFx0QGluY2x1ZGUgZmxleCgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEoJGJwLW1heCkge1xuXHRcdG1hcmdpbjogKG1hcC1nZXQoJG8tdGFic2xpZGVyLCAndGFiLWdhcCcpICogLTEpIG1hcC1nZXQoJG8tdGFic2xpZGVyLCAndGFiLWdhcCcpO1xuXHR9XG59XG5cblxuLm8tdGFic2xpZGVyX190YWIge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRtYXJnaW46IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAndGFiLWdhcCcpO1xuXHRwYWRkaW5nOiAoc3BhY2UoMSkgLSAxcHgpIHNwYWNlKDIpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uby10YWJzbGlkZXJfX2NvbnRhaW5lciB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDYpO1xuXHR9XG59XG5cbi5vLXRhYnNsaWRlcl9fY29udGVudCB7XG5cdCYgKyAmIHtcblx0XHRAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0J21hcmdpbi10b3AnIDFcblx0XHQpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ei1pbmRleDogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0fVxuXHR9XG59XG5cbi5vLXRhYnNsaWRlcl9fbGFiZWwge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuIiwiLm8tdGVhbSB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG4gIEBpbmNsdWRlIHZzcGFjaW5nKFxuICAgICAgJ21hcmdpbi10b3AnIDEsXG4gICAgICAnbWFyZ2luLWJvdHRvbScgMVxuICApO1xufVxuXG4uby10ZWFtX19tYXRyaXgge1xuICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICBAaW5jbHVkZSBmbGV4KHdyYXApO1xuICAgIG1hcmdpbjogc3BhY2UoMikgKiAtMTtcbiAgfVxufVxuXG4uby10ZWFtX19pdGVtIHtcbiAgbWFyZ2luOiAwIGF1dG8gc3BhY2UoNCk7XG4gIG1heC13aWR0aDogMzIwcHg7XG5cbiAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgbWFyZ2luOiBzcGFjZSgyKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7c3BhY2UoNCl9KTsgLy8gTG9uZ2hhbmQgbmVlZGVkIGZvciBJRVxuICB9XG5cbiAgQGluY2x1ZGUgbXEoMTAwMCkge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gI3tzcGFjZSg0KX0pO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gI3tzcGFjZSg0KX0pO1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBUb3AgYmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tdG9wLWJhcjogKFxuXHQnYmdjb2xvcic6ICAgIHBhbGV0dGUoZGFyayksXG5cdCdjb2xvcic6ICBcdFx0cGFsZXR0ZShsaWdodCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm8tdG9wLWJhciB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXRvcC1iYXIsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXRvcC1iYXIsICdiZ2NvbG9yJyk7XG59XG5cbi5vLXRvcC1iYXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm8tdG9wLWJhcl9fbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRwYWRkaW5nOiBzcGFjZSgxKSAwO1xufVxuXG4uby10b3AtYmFyX19saW5rIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgxKSAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXRvcC1iYXIsICdjb2xvcicpO1xuXG5cdCY6aG92ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBVU1Bcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby11c3A6IChcblx0J2JhY2tncm91bmQtY29sb3InOiAgXHRwYWxldHRlKHByaW1hcnkpLFxuXHQndGV4dC1jb2xvcic6XHRcdFx0ICAgIHBhbGV0dGUodGV4dC1vbi1wcmltYXJ5KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLXVzcCB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IGwpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ2JhY2tncm91bmQtY29sb3InKTtcblx0fVxufVxuXG4uby11c3BfX21haW4ge1xuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRAaW5jbHVkZSBmbGV4KHJvdyk7XG5cdH1cbn1cblxuLm8tdXNwX190ZXh0IHtcblx0cGFkZGluZzogc3BhY2UoNCkgMDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tdXNwLCAndGV4dC1jb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ2JhY2tncm91bmQtY29sb3InKTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig1LCA4KTtcblx0XHRwYWRkaW5nOiB7XG5cdFx0XHR0b3A6IGNvbHVtbigwLjUsIDgpO1xuXHRcdFx0Ym90dG9tOiBjb2x1bW4oMC41LCA4KTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogY29sdW1uKDEsIDgpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYpO1xuXHRcdHBhZGRpbmc6IGNvbHVtbigwLjUpIGNvbHVtbigxKTtcblx0fVxufVxuXG4uby11c3BfX2ltYWdlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IC0kc2l0ZS1ndXR0ZXItd2lkdGg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRcdHBhZGRpbmctYm90dG9tOiA2NSU7XG5cdFx0bWluLWhlaWdodDogMzYwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LCA4KTtcblx0XHRtYXJnaW4tcmlnaHQ6IGNvbHVtbigtMSwgOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2KTtcblx0fVxufVxuXG4uby11c3BfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgzKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tdXNwLCAndGV4dC1jb2xvcicpO1xufVxuXG4uby11c3BfX2xpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuXG4uby11c3BfX2l0ZW0ge1xuXHRAaW5jbHVkZSBvd2woc3BhY2UoMikpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogc3BhY2UoMik7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHQkd2lkdGg6IDE2cHg7XG5cdFx0JGhlaWdodDogMTJweDtcblxuXHRcdGNvbnRlbnQ6Jyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNXB4O1xuXHRcdGxlZnQ6IC0jeyR3aWR0aH07XG5cdFx0d2lkdGg6ICR3aWR0aDtcblx0XHRoZWlnaHQ6ICRoZWlnaHQ7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvY2hlY2svY2hlY2tlZC5zdmcpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG5cdH1cbn1cblxuLm8tdXNwX19hY3Rpb24ge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg2KTtcbn1cblxuLm8tdXNwX19pbWFnZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUZW1wbGF0ZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4iLCIucy1jaGVja2xpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcblxuXHRsaSB7XG5cdFx0QGluY2x1ZGUgZmxleCgpO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvY2hlY2svY2hlY2tlZC5zdmcpO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdHdpZHRoOiAxMnB4O1xuXHRcdFx0aGVpZ2h0OiAxMnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KTtcblx0XHR9XG5cdH1cblxuXHQuY2hlY2tsaXN0LWhhcy14LXNtYWxsLWZvbnQgJntcblx0XHRAaW5jbHVkZSBmb250KHhzKTtcblxuXHRcdGxpIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59IiwiLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cblxuXG4ucy10ZXh0IHtcblxuXHRoMiwgaDMsIGg0IHtcblx0XHRjb2xvcjogcGFsZXR0ZSh0ZXh0KTtcblx0fVxuXG5cdC8vIEZpcnN0IHRoZSBvd2wgc2VsZWN0b3IgZm9yIHNldHRpbmcgYSBkZWZhdWx0IHZlcnRpY2FsIHJoeXRobVxuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR9XG5cblx0Ly8gTWFrZSBzdXJlIGZpcnN0IGl0ZW0gaW4gc2NvcGVkIHRleHQgaGFzIG5vIG1hcmdpbiBvbiB0b3Bcblx0JiA+IDpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0JiA+ICogKyAuYy1idXR0b24ge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuXHR9XG5cblx0JiA+IHVsOm5vdChbY2xhc3NdKSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHRcdCYgPiBsaSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuMTI1ZW07XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0XHRcdFx0Y29udGVudDogXCJcXDIwMjJcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IC00cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiA+IG9sOm5vdChbY2xhc3NdKSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xuXG5cdFx0JiA+IGxpIHtcblx0XHRcdGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxLjhlbTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogY291bnRlcihvbC1jb3VudGVyKSBcIi4gXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR3aWR0aDogMS4yNzVlbTtcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkIGNvbG9yc1xuICogQmFzZWQgb24gdGhlc2UgYXJ0aWNsZXM6XG4gKiAtIGh0dHA6Ly9lcnNraW5lZGVzaWduLmNvbS9ibG9nL2ZyaWVuZGxpZXItY29sb3VyLW5hbWVzLXNhc3MtbWFwcy9cbiAqIC0gaHR0cHM6Ly9ibG9nLmF0ZWNobWVkaWEuY29tL2Nzcy1mb3ItbXVsdGlwbGUtdGhlbWVzL1xuICogT3V0cHV0IGlzIGluIHRoZSBmb3JtIG9mOlxuXG4gICAudS1jb2xvci1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiAjYmFkYTU1O1xuICAgfVxuXG4gIC51LWJnLW5ldXRyYWwtLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWNhZmY7XG4gIH1cbiAqL1xuXG5AZWFjaCAkbGV2ZWwsICRwYWxldHRlIGluICRwYWxldHRlcyB7XG5cdEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJHBhbGV0dGUge1xuXHRcdEBpZigkdHlwZSA9PSAxKXtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfSB7XG5cdFx0XHRcdGNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0XHQudS1iZy0jeyRsZXZlbH0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQudS1jb2xvci0jeyRsZXZlbH0tLSN7JHR5cGV9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLnUtaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHYge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdCdwYWRkaW5nLXRvcCcgMSxcblx0XHRcdCdwYWRkaW5nLWJvdHRvbScgMVxuXHQpXG59XG5cbi51LXNwYWNpbmctbWIwIHtcblx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBtcShsKSB7XG5cdC51LXNwYWNpbmctcHIwXFxAbCB7XG5cdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXHR9XG59IiwiLypcbiogSWYgeW91IG5lZWQgdG8gbWFrZSBhIHF1aWNrIGZpeCwgeW91IGNhbiBkbyBpdCBoZXJlLlxuKiBMYXRlciB3aGVuIHlvdSBoYXZlIHRoZSB0aW1lLCB5b3UgY2FuIG1vdmUgdGhlIGZpeCBpbnRvIHRoZSBjb3JyZWN0IHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmVcbiovXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOb3RoaW5nIGhlcmUgeWV0LCBHb29kIGpvYiEhIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRoaXMgZ3JpZCBjYW4gYmUgdHVybmVkIG9uIGFuZCBvZmYgd2hlbiB5b3Ugd2FudCB0byBjaGVja1xuICogaWYgZXZlcnl0aGluZyBpcyBuaWNlIGluIHBsYWNlLlxuICogU2V0IGZsYWcgJ3Nob3dHcmlkJyB0byB0cnVlIGluIHNpdGUucGhwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuLy8gQ29sb3I6IFNldCBhIGh1ZSB2YWx1ZSB0aGF0IGhhcyBlbm91Z2ggY29udHJhc3RcbiR2Zy1odWU6IFx0XHRcdFx0XHQyMzA7IC8vIDAtMzYwXG5cbi8vIENvbHVtbnM6IE51bWJlciBvZiBjb2x1bW5zIHBlciB2aWV3cG9ydFxuJHZnLWNvbHVtbi1jb3VudC1zOiBcdFx0JHNpdGUtY29sdW1ucy1zO1xuJHZnLWNvbHVtbi1jb3VudC1tOiBcdFx0JHNpdGUtY29sdW1ucy1tO1xuJHZnLWNvbHVtbi1jb3VudC1sOiBcdFx0JHNpdGUtY29sdW1ucy1sO1xuXG5cbi8vIERvIHNvbWUgY2FsY3VsYXRpb25zIGFuZCBwdXQgdGhlbSBpbiB2YXJpYWJsZXMgZm9yIHJldXNlXG4kdmctY29sdW1uLXdpZHRoLXM6IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQtcyk7XG4kdmctY29sdW1uLXdpZHRoLW06IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQtbSk7XG4kdmctY29sdW1uLXdpZHRoLWw6IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQtbCk7XG4kdmctY29sb3ItMTogaHNsYSgkdmctaHVlLCAxMDAsIDUwLCAwLjA3KTtcbiR2Zy1jb2xvci0yOiBoc2xhKCR2Zy1odWUsIDEwMCwgNTAsIDAuMDQpO1xuXG5cbi51LXZpc2libGUtZ3JpZCB7XG5cdEBpbmNsdWRlIHooei12aXNpYmxlLWdyaWQpO1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0LyogOCBwb2ludCBncmlkIGxpbmVzICovXG5cdC8vYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0Ly9cdHRvIGJvdHRvbSxcblx0Ly9cdGhzbGEoMCwgMTAwLCA1MCwgMC44NCkgMCxcblx0Ly9cdGhzbGEoMCwgMTAwLCA1MCwgMCkgMXB4LFxuXHQvL1x0aHNsYSgwLCAxMDAsIDUwLCAwKSA4cHgsXG5cdC8vXHRoc2xhKDIwMCwgMTAwLCA1MCwgMC4wNCkgOHB4XG5cdC8vKTtcblxuXHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG59XG5cbi51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG5cdGhlaWdodDogMTAwdmg7XG5cblx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdHRvIHJpZ2h0LFxuXHRcdFx0JHZnLWNvbG9yLTEsXG5cdFx0XHQkdmctY29sb3ItMSAkdmctY29sdW1uLXdpZHRoLXMsXG5cdFx0XHQkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLXMsXG5cdFx0XHQkdmctY29sb3ItMiAoJHZnLWNvbHVtbi13aWR0aC1zICogMilcblx0KTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gcmlnaHQsXG5cdFx0XHRcdCR2Zy1jb2xvci0xLFxuXHRcdFx0XHQkdmctY29sb3ItMSAkdmctY29sdW1uLXdpZHRoLW0sXG5cdFx0XHRcdCR2Zy1jb2xvci0yICR2Zy1jb2x1bW4td2lkdGgtbSxcblx0XHRcdFx0JHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGgtbSAqIDIpXG5cdFx0KTtcblx0fVxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0YmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gcmlnaHQsXG5cdFx0XHRcdCR2Zy1jb2xvci0xLFxuXHRcdFx0XHQkdmctY29sb3ItMSAkdmctY29sdW1uLXdpZHRoLWwsXG5cdFx0XHRcdCR2Zy1jb2xvci0yICR2Zy1jb2x1bW4td2lkdGgtbCxcblx0XHRcdFx0JHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGgtbCAqIDIpXG5cdFx0KTtcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/