/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-20.use[1]!./vendor/beasolutions/beasolutions-bundle/assets/styles/style.css ***!
  \********************************************************************************************************************************************/
@import url(//fonts.googleapis.com/css?family=Titillium+Web);
/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-20.use[1]!./vendor/beasolutions/beasolutions-bundle/assets/styles/reset.css ***!
  \********************************************************************************************************************************************/
/* Reset Styling */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}

/* End of Reset Styling */

/*!************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-20.use[1]!./vendor/beasolutions/beasolutions-bundle/assets/styles/style.css (1) ***!
  \************************************************************************************************************************************************/
/* Importing used font */

/* General Styling */
body {
    font-size: 16px;
	font-family: 'Titillium Web', sans-serif;
	line-height: 120%;
    color: rgb(51, 51, 51);
}

header, footer {
    font-size: 87.5%;
}

h1 {
    font-size: 2em;
    font-weight: 700;
	line-height: 120%;
	margin: 0 0 0.9375em;
	color: rgb(14, 118, 189);
}

h2 {
	font-size: 1.75em;
    font-weight: 600;
	line-height: 120%;
	margin: 0 0 1.0714em;
	color: rgb(14, 118, 189);
}

h3 {
	font-size: 1.5em;
	line-height: 120%;
	margin: 0 0 0.8333em;
	color: rgb(14, 118, 189);
}

h4 {
	font-size: 1.25em;
	line-height: 120%;
	margin: 0 0 0.5em;
	color: rgb(240, 89, 42);
}

h5 {
	font-size: 1.125em;
	line-height: 120%;
	margin: 0 0 0.555em;
	color: rgb(240, 89, 42);
}

p {
	margin: 0 0 1.875em;
}

a {
    color: rgb(240, 89, 42);
    text-decoration: none;
}

a:hover {
    color: rgb(14, 118, 189);
}

ol, ul {
    list-style: none;
}

.bPageContent ol {
    list-style: upper-alpha outside;
    padding-left: 20px;
}

.bPageContent ul, .directDebit ul {
    list-style: disc outside;
	margin: 0 0 1.25em;
    padding-left: 20px;
}

ol li, ul li, .teamMember .questions li:last-child {
    margin: 0.3125em 0;
}

header ol, footer ol, header ul, footer ul {
    list-style: none;
}

blockquote {
	padding: 0 0.3125em;
}

cite {
	font-size: 90%;
}

strong, b {
	font-weight: 700;
}

i, em {
	font-style: italic;
}

sup {
    top: -0.3125em;
    font-size: 60%;
    position: relative;
}

sub {
    bottom: -0.3125em;
    font-size: 60%;
    position: relative;
}

small {
	font-size: 70%;
}

img {
	max-width: 100%;
	height: auto;
	align-self: flex-start;
}

iframe, video {
	width: 100%;
	min-height: 315px;
}

input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="search"], select, textarea {
	font-family: 'Titillium Web', sans-serif;
	font-size: 100%;
	max-width: 100%;
	padding: 0.125em 0.1875em;
	margin: 0 0 1.25em;
	border: 0;
	box-shadow: 0px 0px 3px rgb(14, 118, 189);
}

input[type="text"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="search"]:focus, select:focus, textarea:focus {
	box-shadow: 0px 0px 3px rgb(240, 89, 42);
}

input[type="radio"], input[type="checkbox"] {
	padding: 0.1875em 0.3125em;
}

input[type="radio"] + label, input[type="checkbox"] + label, button {
	font-family: 'Titillium Web', sans-serif;
	font-size: 100%;
}

button {
	margin: 0 0 1.25em;
}

.button {
    margin: 0.625em 0;
    display: inline;
}

p + .button {
	margin: 1.875em 0 0.625em;
}

button, .button a {
	-webkit-border-radius: 5px;
	border-radius: 5px;
	padding: 0.3125em 0.625em;
	color: rgb(255, 255, 255);
    background: rgb(14, 118, 189);
    display: inline-block;
    border-color: transparent;
}

button:hover, .button:hover a {
	text-decoration: none;
	background: rgb(255, 98, 47);
	color: rgb(255, 255, 255);
}

.button:hover {
	color: rgb(255, 255, 255);
}

/*.contentArea button:hover {
	padding: 0.3125em 0.9375em 0.5em 0.625em;
}*/

/* Error alert styling */
.alert {
    width: 90%;
    margin: 0;
    padding: 20px 5%;
    color: rgb(255, 255, 255);
    cursor: pointer;
}

.alert.alert-success {
    background-color: rgba(0, 140, 0, 0.6);
}

.alert.alert-error {
    background-color: rgba(255, 0, 0, 0.6);
}

/* Form errors styling */
ul.errors {
    color: rgba(255, 0, 0, 0.8);
    order: 2;
    font-size: 12px;
    position: absolute;
    bottom: 0.416em;
}

fieldset div .errors + input {
    margin: 0 0 1.875em 0;
}

/* Setting layout with backward compatibility */
header, #headerRight, #headerContact, #headerSocial, nav ul, .blog, .signup, .signupContent, footer, .companyInfo, .team, .teamMember, fieldset .full.checkboxOrder div, .blogContentImgLeft, .blogContentImgRight {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
}

header, #headerContact, #headerSocial, header.sticky #headerRight, nav ul, .blog, .signup, .signupContent, footer, .companyInfo, .team, .teamMember, fieldset .full.checkboxOrder div, .blogContentImgLeft, .blogContentImgRight {
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
}

#headerRight {
	-webkit-flex-direction: column;
	-moz-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

header, .signupContent, footer, .team, .teamMember {
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

header.sticky, #headerRight, #headerContact, #headerSocial, nav ul, .blog, .signup, .companyInfo, fieldset .full.checkboxOrder div, .blogContentImgLeft, .blogContentImgRight {
	-webkit-flex-wrap: nowrap;
	-moz-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

#headerSocial, .blog, .signup, .teamMember, fieldset .full.checkboxOrder div {
	-webkit-justify-content: flex-start;
	-moz-justify-content: flex-start;
	-ms-justify-content: flex-start;
	justify-content: flex-start;
}

header, .signupContent, footer, .companyInfo, .team, .blogContentImgLeft, .blogContentImgRight {
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}

/* ELEMENT {
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
}*/

nav ul, #headerContact {
	-webkit-justify-content: flex-end;
	-moz-justify-content: flex-end;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}

#headerRight {
	align-content: flex-end;
}

.teamMember, .teamMember h3, .teamMember img, .teamMember .questions {
	align-self: flex-start;
}

#headerSocial, #headerContact h2, footer img, footer .companyInfo p {
	align-self: center;
}

header.sticky nav {
	align-self: flex-end;
}

/* Setting ability  to transition (not transition itself). */
header {
    -webkit-transition-property: all;
    -moz-transition-property: all;
    -ms-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
}

img {
    -webkit-transition-property: transform;
    -moz-transition-property: transform;
    -ms-transition-property: transform;
    -o-transition-property: transform;
    transition-property: transform;
}

header, img {
    -webkit-transition-duration: 200ms;
    -moz-transition-duration: 200ms;
    -ms-transition-duration: 200ms;
    -o-transition-duration: 200ms;
    transition-duration: 200ms;
}

header.sticky {
    -webkit-transition-duration: 400ms;
    -moz-transition-duration: 400ms;
    -ms-transition-duration: 400ms;
    -o-transition-duration: 400ms;
    transition-duration: 400ms;
}

header, img, .slide {
    -webkit-transition-timing-function: ease-in-out;
    -moz-transition-timing-function: ease-in-out;
    -ms-transition-timing-function: ease-in-out;
    -o-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out;
}

/* Setting transitions */
/*img:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
}*/

/* Base area styling */
header {
    width: 90%;
    padding: 1.25em 5%;
}

.contentArea, footer {
    width: 90%;
    padding: 1.875em 5%;
}

/* TODO Temporary, check whether still needed after finished */
.contentArea {
    position: relative;
}

/* Removing margin from selected elements */
nav ul, #headerContact h2, .contentArea > p:not(.button):last-child, div:last-child p:not(.button):last-child, .blogHeader .date, .bPageContent, footer ul, footer ul li:last-child {
    margin: 0;
}

/* On scroll styling*/
header.sticky {
    padding: 0.25em 5%;
    position: fixed;
    top: 0;
    box-shadow: 0 2px 4px rgb(241, 241, 241);
    z-index: 50;
}

header.sticky img {
    height: 30px;
    width: auto;
}

header.sticky + .pushTop {
/*    padding: 1.875em 0 0;*/
}

header.sticky #headerRight {
    width: calc(100% - 105px);
}

header.sticky #headerRight h2 {
    white-space: nowrap;
}

header.sticky #headerContact {
    margin: 0;
}

header.sticky #headerSocial {
    margin: 0 5% 0 0;
}

header.sticky #headerRight nav {
    width: 60%;
}

/* Specific styling */
header {
    top: -122px;
    background-color: rgb(255, 255, 255);
}

.logo {
    width: 16%;
}

.logo img {
    width: 100%;
    height: auto;
    margin: auto 0;
}

#headerRight {
    width: 80%;
}

#headerRight nav {
    width: 100%;
    margin: auto 0;
}

#headerContact {
    margin: 0 0 0.75em;
}

#headerContact h2 a {
    font-weight: 700;
    color: inherit;
}

#headerContact h2 a:hover {
    color: rgb(240, 89, 42);
}

#headerSocial {
    margin: 0 2% 0 0;
}

#headerSocial img {
    max-height: 22px;
    max-width: 40px;
    margin: 0 5px;
}

header #menuOpen {
    display: none;
}

header nav ul li {
    font-size: 1.15em;
    font-weight: 700;
    text-decoration: none;
    margin: 0 0 0 4%;
}

header nav ul li a {
    text-decoration: none;
}

header nav ul li a:hover {
    text-decoration: none;
}

header nav ul li a.active {
    text-decoration: underline;
    color: rgb(14, 118, 189);
}

#slideHeader, #slideHeader:before, #slideHeader:after {
    min-height: 350px;
}

#slideHeader {
    width: 100%;
    min-height: 350px;
    position: relative;
    background-position: 50%;
    background-size: auto 100%;
    background-repeat: repeat;
}

#slideHeader h1, #slideHeader h2 {
    color: rgb(255, 255, 255);
}

#slideHeader img {
    width: 70%;
    margin: auto 15%;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
}

#slideHeader.fullWidthSlide img {
    width: 100%;
    margin: auto 0%;
}

#slideOpening {
    width: 50%;
    position: absolute;
    top: 30px;
    left: 20%;
}

section.grey, section.white {
    text-align: center;
}

.grey {
    background-color: rgb(241, 241, 241);
}

#metaList li {
    margin: 0;
}

/* Hexagons on the homepage */
.hex:before {
    content: " ";
    width: 0;
    height: 0;
    position: absolute;
    top: -2.1em;
    border-bottom: 2.15em solid rgb(255, 98, 47);
    border-left: 3.73em solid transparent;
    border-right: 3.73em solid transparent;
}

.hex {
	width: 7.39em;
	height: 4.286em;
	background-color: rgb(255, 98, 47);
	position: relative;
	margin: 2.1em auto 0px;
    text-align: left;
    font-size: 100%;
}

.hex span {
	display: block;
	width: 4.643em;
	height: 4.643em;
    background: rgb(255, 98, 47) url(/build/site/images/sale_sprite.196e6c54.jpg) no-repeat;
    background-size: 17em 4em;
    background-position: 0.3em 50%;
    margin: 0 auto;
}

.hex span.salePoint2 {
	background-position: -4.1em 0;
}

.hex span.salePoint3 {
	background-position: -8.25em 0;
}

.hex span.salePoint4 {
	background-position: -12.5em 0;
}

/*.salePoints:last-child .hex span {
    background: rgb(255, 98, 47) url('../images/cloud-icon.png') no-repeat;
    background-size: 5em;
    background-position: 0 100%;
}*/

.hex:after {
    content: "";
    width: 0;
    position: absolute;
    bottom: -2.1em;
    border-top: 2.15em solid rgb(255, 98, 47);
    border-left: 3.73em solid transparent;
    border-right: 3.73em solid transparent;
}

.hex a {
	text-decoration: none;
}

/*.salePoints {
	width: 16%;
	display: inline-block;
	vertical-align: top;
	margin: 0 1%;
	text-align: center;
	opacity: 1;
}*/

.salePoints {
	width: 22%;
	display: inline-block;
	vertical-align: top;
	margin: 0 1%;
	text-align: center;
	opacity: 1;
}

.salePoints h3 {
	margin-top: 2.5em;
	padding: 0 0.5em;
	font-size: 100%;
}

.salePoints h3 a {
	color: rgb(240, 89, 42);
	text-decoration: none;
}

.salePoints h3 a:hover {
	text-decoration: underline;
}

.salePoints p {
	font-size: 90%;
	color: rgb(51, 51, 51);
}

/*.salePoints p:last-child {
	margin: 0;
}*/

/* Example websites on website design page, TODO content may change */
.portfolio-row div:nth-child(2){
	margin: 0 40px;
}

.portfolio-row div{
	display: inline-block;
	position: relative;
	width: 277px;
	height: 277px;
	margin: 20px 10px;
	text-decoration: none;
}

.portfolio-row img{
	width: 277px;
	height: 225px;
	border: 1px solid rgb(238, 238, 238);
	-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}

.portfolio-row a:hover img{
	width: 277px;
	height: 225px;
	-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,0.4);
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.4);
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}

.portfolio-row h2{
	display: inline-block;
	width: 100%;
	text-align: center;
	font-size: 1.2em;
	font-weight: 700;
	padding: 10px 0 0;
	margin: 0!important;
}

.portfolio-row p{
	display: inline-block;
	width: 100%;
	text-align: center;
	margin-top: 5px;
}

.portfolio-row div.port-hover{
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 225px;
	background-color: rgba(255,255,255,0.7);
	background-repeat: no-repeat;
	background-size: 70px 70px;
	background-position: 50% 50%;
	padding: 1px;
	margin: 0;
}

.portfolio-row div.port-hover p{
	display: inline-block;
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 20%;
	left: 0;
	line-height: 35px;
	font-size: 30px;
	font-weight: 700;
	color: rgb(68, 68, 68);
}

.portfolio-last{
	padding: 20px 0;
}

/* Blog home */
.blog {
    box-shadow: 3px 3px 10px rgb(51, 51, 51);
    border-radius: 5px;
}

.blogHeader {
    width: calc(40% - 2.5em);
    padding: 0.625em 1.25em;
    color: rgb(255, 255, 255);
    background-color: rgb(14, 118, 189);
    text-align: left;
    border-top-left-radius: 0.3125em;
    border-bottom-left-radius: 0.3125em;
}

.blogHeader h2 {
    margin-top: 0;
    margin-bottom: 0.625em;
}

.blogHeader a {
    color: rgb(255, 255, 255);
}

.blogHeader h2 a {
    text-decoration: none;
}

.blogHeader h2 a:hover {
    text-decoration: underline;
}

.blogHeader .date a:hover {
    font-weight: 700;
}

.blogHeader p:last-child {
    margin: 0.625em 0;
}

.blogContent {
    width: calc(60% - 2.5em);
    padding: 0.625em 1.25em;
    border-top:  0.625em solid rgb(14, 118, 189);
    border-top-right-radius:  0.3125em;
    border-bottom-right-radius: 0.3125em;
}

section.bPageContent, section.leftContent {
    text-align: left;
    line-height: 140%;/* TODO: Convert to EM */
}

section.bPageContent li {
	margin: 0.625em 0;
}

section.bPageContent iframe, video {
	width: 80%;
	max-width: 560px;
	margin: 1.25em auto 0;
	height: 315px;
}

/* blog page styling */
.da-slideheader .da-imgheader {
	position: absolute;
	top: 0!important;
}

.bSlideshow {
    width: 90%;
    min-width: 520px;
    height: 400px;
    position: relative;
    margin: 0 auto;
    overflow: hidden;
    color: rgb(255, 255, 255);
}

.bSlideshow h1, .bSlideshow h2, .bSlideshow p {
    max-width: 55%;
}

.bSlideshow .da-slideheader h1 {
	width: 55%;
	font-size: 240%;
	line-height: 140%;
	margin: 0.625em 0 1.875em;
    color: rgb(255, 255, 255);
}

.bSlideshow .da-slideheader h2 {
    color: rgb(255, 255, 255);
}

.bSlideshow .da-slideheader h1 a {
	color: inherit;
	text-decoration: inherit;
    color: rgb(255, 255, 255);
}

.bSlideshow .da-slideheader h1 a:hover {
	text-decoration: underline;
    color: rgb(255, 255, 255);
}

.bSlideshow .da-slideheader .da-imgheader {
	max-width: 30%;
    width: 30%;
    height: auto;
    left: auto!important;
    right: 5% !important;
    top: 30px !important;
}

.bSlideshow .da-imgheader img {
	width: 100%;
	box-shadow: 3px 3px 10px rgb(51, 51, 51);
}

.bSlideshow nav {
    float: none;
    margin: 0;
}

.bSlideshow nav a {
    color: rgb(255, 255, 255);
    text-decoration: none;
}

.bSlideshow footer {
    display: block;
    width: 55%;
    background-color: initial;
    padding: 0;
}

.blogList {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.blogBackgrounds {
	color: rgb(51, 51, 51);
	padding: 1.25em 0;
	text-align: center;
}

.blogBackgrounds:nth-child(even) {
	background-color: rgb(241, 241, 241);
}

.blogArticles {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-flow: row;
	-moz-flex-flow: row;
	-ms-flex-flow: row;
	flex-flow: row;
	-webkit-flex-wrap: nowrap;
	-moz-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}

.blogBackgrounds:nth-child(odd) .blogArticles .blogImage {
	order: 2;
}

.blogBackgrounds:nth-child(odd) .blogArticles .blogPageSummary {
	order: 1;
}

.blogBackgrounds:nth-child(odd) .blogArticles .blogSumHeader {
	background-color: rgb(14, 118, 189);
}

.blogBackgrounds:nth-child(odd) .blogArticles nav a {
	color: rgb(14, 118, 189);
}

.blogArticles .blogImage {
	width: 35%;
}

.blogArticles img {
	width: 100%;
	align-self: flex-start;
	box-shadow: 1px 1px 8px rgb(51, 51, 51);
}

.blogPageSummary {
	width: 63%;
	text-align: left;
}

.blogSumHeader {
	width: calc(100% - 30px);
	padding: 0.3125em 0.9375em;
	background-color: rgb(240, 89, 42);
	box-shadow: 1px 1px 8px rgb(51, 51, 51);
}

.blogSumHeader h2 {
	width: 100%;
	margin: 0;
}

.blogSumHeader h2 a {
	color: rgb(255, 255, 255);
	text-decoration: none;
}

.blogSumHeader h2 a:hover {
	font-weight: 400;
	text-decoration: underline;
}

.blogSummary p {
	margin: 0;
	padding: 0 0.9375em;
}

.blogSummary p:first-child {
	margin: 0.3125em 0 0.625em;
}

.blogSummary p a {
	color: rgb(51, 51, 51);
	text-decoration: none;
}

.blogSummary p a:hover {
	font-weight: 700;
	text-decoration: underline;
}

.blogSummary nav {
    margin: 10px 0;
}

.blogSummary nav a {
	color: rgb(240, 89, 42);
    text-decoration: none;
}

.blogContentImgLeft, .blogContentImgRight {
	margin-bottom: 20px;
}

.blogContentImgLeft img, .blogContentImgRight img {
    min-width: 500px;
    width: 40%;
    max-width: 600px;
}

.blogContentImgLeft img {
    margin-right: 10px;
}

.blogContentImgRight img {
    margin-left: 10px;
}

/* Direct debit page */
#directDebit {
    max-width: 240px;
}

/* mail list signup homepage */
.signup {
    width: 100%;
    box-shadow: 3px 3px 10px rgb(51, 51, 51);
    border-radius: 5px;
}

.signupHeader {
    width: calc(40% - 2.5em);
    padding: 1.25em;
    color: rgb(255, 255, 255);
    background-color: rgb(240, 89, 42);
    text-align: left;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    order: 2;
}

.signupHeader h3 {
    font-weight: 600;
    color: rgb(255, 255, 255);
    margin: 0 0 1.25em;
}

.signupHeader p {
    font-size: 100%;
    line-height: 140%;
}

.signupContent {
    width: calc(60% - 2.5em);
    padding: 0.625em 1.25em 1.25em;
    background-color: rgb(255, 255, 255);
    border-bottom: 0.625em solid rgb(255, 98, 47);
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    order: 1;
}

.signupContent .input {
    width: 47%;
    margin: 0 0 0.625em;
    position: relative;
}

.signupContent .input.submit {
    width: 100%;
    text-align: center;
}

.signupContent .input label {
    position: absolute;
    top: 0.3125em;
    left: 0.5em;
    padding: 0.625em 0.25em;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
    cursor: text;
    color: rgb(179, 179, 179);
}

.signupContent .input input {
    width: calc(100% - 16px);
    padding: 0.625em 0.5em;
    border: 0;
    border-radius: 5px;
    border: 1px solid rgb(204, 204, 204);
}

.input.touched input:focus + label {
    font-size: 0.625em;
    top: -1.5em;
    color: rgb(255, 98, 47);
    background-color: rgb(255, 255, 255);
}

.input.dirty label {
    font-size: 0.625em;
    top: -1.5em;
    color: rgb(14, 118, 189)!important;
    background-color: rgb(255, 255, 255);
}

.signupContent p {
    width: 100%;
    text-align: center;
}

.signupContent .mar {
    margin: 0.625em 0;
}

/* About page styling */
.teamMember {
    width: 45%;
    text-align: left;
    margin: 0 0 1.875em;
}

.teamMember h3 {
    width: 100%;
}

.teamMember img {
    width: 48%;
    margin-right: 4%;
}

.teamMember .questions {
    width: 48%;
}

.teamMember .questions li {
    margin: 0.3125em 0 0.625em;
}

/* Contact page styling */
#contact-map {
	width: 100%;
	height: 380px; /* TODO, if remains, can use the height of slideshow img? */
	z-index: -1;
}

#map-directions {
	position: absolute;
	top: 320px;
	padding: 0.3125em 0.625em;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	color: rgb(255, 255, 255);
	background: rgb(14, 118, 189);
	pointer-events: all;
}

#map-directions:hover {
	text-decoration: none;
	background: rgb(240, 89, 42);
}

/* TODO re-check to make certain this code isn't being used */
.contact-wrap {
	position: relative;
	margin-top: -20px;
	overflow: visible;
	pointer-events: none;
}

#contact-details {
	display: inline-block;
	position: absolute;
	padding: 0.625em 1.875em 1.25em;
	background: rgb(255, 255, 255);
	top: 90px;
	right: 5%;
	width: 275px;
	box-shadow: 0 0 5px 0 rgb(153, 153, 153);
	pointer-events: all;
	color: rgb(255, 255, 255);
	font-weight: 300;
}

#contact-details div {
	background: rgb(14, 118, 189);
	color: rgb(255, 255, 255);
	width: 295px;
	margin-left: -1.875em;
	padding: 0.625em 1.25em;
	margin-top: -0.625em;
	text-align: center;
}

#contact-details div h1 {
	color: rgb(255, 255, 255);
	margin: 0;
}

#contact-details div p {
	display: block;
	width: 80%;
	margin: 0.3125em auto;
}

#contact-details address {
	color: rgb(51, 51, 51);
	text-align: center;
	margin-top: 1.125em;
	font-style: normal;
}

fieldset {
	border: none !important;
}

fieldset div {
    position: relative;
}

fieldset .person:first-child {
	width: 100px;
}

fieldset .person {
	width: 230px;
}

fieldset .left,
fieldset .right {
	width: 300px;
}

fieldset .full input {
    width: 618px;
    max-width: 100%;
    margin: 0 0 1.25em 0;
}

fieldset .full.checkboxOrder {
    margin: 0 0 0.625em;
}

fieldset .full input[type="checkbox"] {
    width: 20px;
    margin-right: 5px;
    margin-bottom: -1px;
    order: 1;
}

fieldset .full.checkboxOrder label {
    order: 2;
}

fieldset .person.pushRight {
	margin: 0 1.5625em 0 0;
	display: inline-block;
}

fieldset .person  {
	display: inline-block;
}

fieldset input, fieldset textarea {
	border-radius: 3px;
	border: 1px solid rgb(204, 204, 204);
	padding: 0.5em;
}

fieldset input[type=submit], fieldset.submit button {
	width: 75px;
	background: rgb(14, 118, 189);
	color: rgb(255, 255, 255);
	border: none;
	font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
}

fieldset input[type=submit]:hover, fieldset.submit button:hover {
	cursor: pointer;
	background: rgb(240, 89, 42);
}

fieldset.submit button {
	border-radius: 3px;
}

footer {
    color: rgb(255, 255, 255);
    background-color: rgb(52, 55, 64);
}

footer .footerSections {
    width: 25%;
    margin: 0;
}

footer .footerSections p {
    margin: 0 0 1.485em;
}

footer h1 {
    font-size: 112.5%;
    color: rgb(255, 255, 255);
    margin: 0 0 1.25em;
}

footer h1 a {
    color: rgb(255, 255, 255);
}

footer h1 a:hover {
    color: rgb(255, 255, 255);
    text-decoration: underline;
}

footer ul li {
    margin: 0 0 0.9375em;
}

footer img {
    max-width: 145px;
}

footer .companyInfo {
    width: 100%;
}

footer .companyInfo p {
    width: 79.5%;
    margin: 0 0 0.9375em;
}

footer img {
    max-width: 145px;
}

footer .companyInfo {
    width: 100%;
}

footer .companyInfo p {
    width: 79.5%;
}

body.page-2 #slideHeader {
    background-image: url(/build/site/images/it-support.7b81a6f7.jpg);
}

body.page-3 #slideHeader {
    background-image: url(/build/site/images/phones-broadband.1983b8f8.jpg);
}

body.page-6 #slideHeader {
    background-image: url(/build/site/images/web-design-dev.ff182730.jpg);
}

body.page-7 #slideHeader {
    background-image: url(/build/site/images/business-data-toolkit.6b09d339.jpg);
}

body.page-8 #slideHeader {
    background-image: url(/build/site/images/about.e1320d3c.jpg);
}

body.page-9 #slideHeader {
    background-image: url(/build/site/images/why-us.5cb7e218.jpg);
}


/*!*************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-20.use[1]!./vendor/beasolutions/beasolutions-bundle/assets/styles/responsive.css ***!
  \*************************************************************************************************************************************************/

@media only screen
and (-webkit-min-device-pixel-ratio: 1)
and (max-width: 1450px),
only screen
and (-min-moz-device-pixel-ratio: 1)
and (max-width: 1450px),
only screen
and (-o-min-device-pixel-ratio: 1/1)
and (max-width: 1450px),
only screen
and (min-device-pixel-ratio: 1)
and (max-width: 1450px),
only screen
and (in-resolution: 72dpi)
and (max-width: 1450px),
only screen
and (min-resolution: 1dppx)
and (max-width: 1450px),
only screen
and (max-width: 1450px) {
    .slideshow, #slideHeader, #slideHeader:before, #slideHeader:after {
        min-height: 300px;
    }
}


@media only screen
and (-webkit-min-device-pixel-ratio: 1)
and (max-width: 1280px),
only screen
and (-min-moz-device-pixel-ratio: 1)
and (max-width: 1280px),
only screen
and (-o-min-device-pixel-ratio: 1/1)
and (max-width: 1280px),
only screen
and (min-device-pixel-ratio: 1)
and (max-width: 1280px),
only screen
and (in-resolution: 72dpi)
and (max-width: 1280px),
only screen
and (min-resolution: 1dppx)
and (max-width: 1280px),
only screen
and (max-width: 1280px) {
    body {
        font-size: 14px;
    }

    .slideshow, #slideHeader, #slideHeader:before, #slideHeader:after {
        min-height: 250px;
    }
}


@media only screen
and (-webkit-min-device-pixel-ratio: 1)
and (max-width: 1050px),
only screen
and (-min-moz-device-pixel-ratio: 1)
and (max-width: 1050px),
only screen
and (-o-min-device-pixel-ratio: 1/1)
and (max-width: 1050px),
only screen
and (min-device-pixel-ratio: 1)
and (max-width: 1050px),
only screen
and (in-resolution: 72dpi)
and (max-width: 1050px),
only screen
and (min-resolution: 1dppx)
and (max-width: 1050px),
only screen
and (max-width: 1050px) {
    body {
        font-size: 14px;
    }

    h1 {
        font-size: 1.6em;
    }

    h2 {
        font-size: 1.45em;
    }

    h3 {
        font-size: 1.3em;
    }

    h4 {
        font-size: 1.1em;
    }

    h5 {
        font-size: 1.05em;
    }

    .logo {
        width: 20%;
    }

    .slideshow, #slideHeader, #slideHeader:before, #slideHeader:after {
        min-height: 220px;
    }

    .slideshow .slide .overlay {
        left: 5%;
        width: 70%;
    }
}


@media only screen
and (-webkit-min-device-pixel-ratio: 1)
and (max-width: 920px),
only screen
and (-min-moz-device-pixel-ratio: 1)
and (max-width: 920px),
only screen
and (-o-min-device-pixel-ratio: 1/1)
and (max-width: 920px),
only screen
and (min-device-pixel-ratio: 1)
and (max-width: 920px),
only screen
and (in-resolution: 72dpi)
and (max-width: 920px),
only screen
and (min-resolution: 1dppx)
and (max-width: 920px),
only screen
and (max-width: 920px) {
    .slideshow, #slideHeader {
        min-height: 150px;
    }

    .slideshow:before, .slideshow:after, #slideHeader:before, #slideHeader:after {
        display: none;
    }

    .slideshow .slide, #slideHeader img {
        width: 100%;
        left: 0;
        margin: auto;
    }

    .slideshow .slide img {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .slideshow .slide .overlay {
        left: 5%;
        width: 80%;
    }

    .salePoints {
        width: 31%;
    }
}


/* Portrait devices (and landscape mobiles) - general styling */
@media only screen
and (-webkit-min-device-pixel-ratio: 1)
and (max-width: 800px)
and (orientation: portrait),
only screen
and (-min-moz-device-pixel-ratio: 1)
and (max-width: 800px)
and (orientation: portrait),
only screen
and (-o-min-device-pixel-ratio: 1/1)
and (max-width: 800px)
and (orientation: portrait),
only screen
and (min-device-pixel-ratio: 1)
and (max-width: 800px)
and (orientation: portrait),
only screen
and (in-resolution: 72dpi)
and (max-width: 800px)
and (orientation: portrait),
only screen
and (min-resolution: 1dppx)
and (max-width: 800px)
and (orientation: portrait),
only screen
and (max-width: 800px)
and (orientation: portrait),
only screen
and (-webkit-min-device-pixel-ratio: 1)
and (max-width: 768px)
and (orientation: landscape),
only screen
and (-min-moz-device-pixel-ratio: 1)
and (max-width: 768px)
and (orientation: landscape),
only screen
and (-o-min-device-pixel-ratio: 1/1)
and (max-width: 768px)
and (orientation: landscape),
only screen
and (min-device-pixel-ratio: 1)
and (max-width: 768px)
and (orientation: landscape),
only screen
and (in-resolution: 72dpi)
and (max-width: 768px)
and (orientation: landscape),
only screen
and (min-resolution: 1dppx)
and (max-width: 768px)
and (orientation: landscape),
only screen
and (max-width: 768px)
and (orientation: landscape) {
    body {
        font-size: 14px;
    }

    #headerRight nav ul, .signup, .blogContentImgLeft, .blogContentImgRight {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .slideshow, #slideHeader {
        min-height: 110px;
    }

    .slideshow .slide {
        width: 125%;
        left: -25%;
    }

    .slideshow .slide .overlay {
        left: 25%;
    }

    .slide .overlay h1 {
        font-size: 1.3em;
    }

    .logo {
        width: auto;
        height: 40px;
    }

    .logo img {
        width: auto;
        height: 40px;
    }

    #headerRight #headerContact {
        display: none;
    }

    #headerRight nav {
        display: block;
        height: 40px;
        width: 40px;
        position: absolute;
        top: 15px;
        right: 1.5%;
        background: -webkit-linear-gradient(bottom, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 5%, rgb(14, 118, 189) 5%, rgb(14, 118, 189) 25%, rgb(255, 255, 255) 25%, rgb(255, 255, 255) 40%, rgb(14, 118, 189) 40%, rgb(14, 118, 189) 60%, rgb(255, 255, 255) 60%, rgb(255, 255, 255) 75%, rgb(14, 118, 189) 75%, rgb(14, 118, 189) 95%, rgb(255, 255, 255) 95%, rgb(255, 255, 255) 100%);
        background: -moz-linear-gradient(bottom, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 5%, rgb(14, 118, 189) 5%, rgb(14, 118, 189) 25%, rgb(255, 255, 255) 25%, rgb(255, 255, 255) 40%, rgb(14, 118, 189) 40%, rgb(14, 118, 189) 60%, rgb(255, 255, 255) 60%, rgb(255, 255, 255) 75%, rgb(14, 118, 189) 75%, rgb(14, 118, 189) 95%, rgb(255, 255, 255) 95%, rgb(255, 255, 255) 100%);
        background: -o-linear-gradient(bottom, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 5%, rgb(14, 118, 189) 5%, rgb(14, 118, 189) 25%, rgb(255, 255, 255) 25%, rgb(255, 255, 255) 40%, rgb(14, 118, 189) 40%, rgb(14, 118, 189) 60%, rgb(255, 255, 255) 60%, rgb(255, 255, 255) 75%, rgb(14, 118, 189) 75%, rgb(14, 118, 189) 95%, rgb(255, 255, 255) 95%, rgb(255, 255, 255) 100%);
        background: linear-gradient(bottom, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 5%, rgb(14, 118, 189) 5%, rgb(14, 118, 189) 25%, rgb(255, 255, 255) 25%, rgb(255, 255, 255) 40%, rgb(14, 118, 189) 40%, rgb(14, 118, 189) 60%, rgb(255, 255, 255) 60%, rgb(255, 255, 255) 75%, rgb(14, 118, 189) 75%, rgb(14, 118, 189) 95%, rgb(255, 255, 255) 95%, rgb(255, 255, 255) 100%);
        cursor: pointer;
        z-index: 9999;
    }

    header #menuOpen {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 40px;
        height: 40px;
        z-index: 32;
    }

    #headerRight nav ul {
        width: 40vw;
        max-height: 0;
        position: absolute;
        top: 55px;
        right: 0;
        right: -1.5vw;
        margin: 0;
        padding: 0;
        background-color: rgb(255, 255, 255);
        box-shadow: 1px 2px 2px rgb(255, 255, 255);
        -webkit-transition-property: max-height;
        -moz-transition-property: max-height;
        -ms-transition-property: max-height;
        -o-transition-property: max-height;
        transition-property: max-height;
        -webkit-transition-duration: 250ms;
        -moz-transition-duration: 250ms;
        -ms-transition-duration: 250ms;
        -o-transition-duration: 250ms;
        transition-duration: 250ms;
        -webkit-transition-timing-function: ease-in-out;
        -moz-transition-timing-function: ease-in-out;
        -ms-transition-timing-function: ease-in-out;
        -o-transition-timing-function: ease-in-out;
        transition-timing-function: ease-in-out;
        overflow: hidden;
        z-index: 50;
    }

    #headerRight nav ul.openMenu {
        max-height: 15em;
        z-index: 1;
    }

    #headerRight nav ul li {
        margin: 0;
        padding: 4px 0;
        border-bottom: 1px dashed rgb(14, 118, 189);
        text-align: center;
    }

    #headerRight nav ul li:last-child {
        border-bottom: 0;
    }

    header.sticky .logo {
        position: relative;
        bottom: -5px;
    }

    header.sticky #headerRight nav {
        width: 40px;
        top: 2.5px;
    }

    header.sticky #headerRight nav ul {
        top: 40px;
    }

    .salePoints {
        width: 80%;
        margin: 0.714em 0;
    }

    .signupHeader {
        width: calc(100% - 2.5em);
        border-top-right-radius: 5px;
        border-top-left-radius: 5px;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
        order: 1;
    }

    .signupContent {
        width: calc(100% - 2.5em);
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
        order: 2;
    }

    /*fieldset input, fieldset .left, fieldset .right, fieldset .person.pushRight:first-child, fieldset .person.pushRight, fieldset .person, fieldset .full input {
        width: 100%;
        margin: unset;
    }*/

    fieldset input {
        margin: 0 0 1.25em -0.6em!important;
    }

    footer .footerSections {
        width: 100%;
    }

    footer .companyInfo p {
        width: 100%;
    }

    .teamMember {
        width: 100%;
    }
    
    .blogContentImgLeft img, .blogContentImgRight img {
        min-width: 100%;
        max-width: 100%;
    }
    
    .blogContentImgLeft img {
        margin-right: 0;
    }
    
    .blogContentImgRight img {
        margin-left: 0;
    }
}


@media only screen
and (-webkit-min-device-pixel-ratio: 1)
and (max-width: 680px)
and (orientation: portrait),
only screen
and (-min-moz-device-pixel-ratio: 1)
and (max-width: 680px)
and (orientation: portrait),
only screen
and (-o-min-device-pixel-ratio: 1/1)
and (max-width: 680px)
and (orientation: portrait),
only screen
and (min-device-pixel-ratio: 1)
and (max-width: 680px)
and (orientation: portrait),
only screen
and (in-resolution: 72dpi)
and (max-width: 680px)
and (orientation: portrait),
only screen
and (min-resolution: 1dppx)
and (max-width: 680px)
and (orientation: portrait),
only screen
and (max-width: 680px)
and (orientation: portrait),
only screen
and (-webkit-min-device-pixel-ratio: 1)
and (max-width: 680px)
and (orientation: landscape),
only screen
and (-min-moz-device-pixel-ratio: 1)
and (max-width: 680px)
and (orientation: landscape),
only screen
and (-o-min-device-pixel-ratio: 1/1)
and (max-width: 680px)
and (orientation: landscape),
only screen
and (min-device-pixel-ratio: 1)
and (max-width: 680px)
and (orientation: landscape),
only screen
and (in-resolution: 72dpi)
and (max-width: 680px)
and (orientation: landscape),
only screen
and (min-resolution: 1dppx)
and (max-width: 680px)
and (orientation: landscape),
only screen
and (max-width: 680px)
and (orientation: landscape) {
    .slideshow, #slideHeader, #slideHeader:before, #slideHeader:after {
        min-height: 80px;
    }

    #slideOpening {
        width: 80%;
        top: 20px;
        left: 5%;
    }

    .slide .overlay h2 {
        display: none;
    }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-29.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-29.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-29.use[3]!./vendor/beasolutions/beasolutions-bundle/assets/styles/app.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
:root {
  --slide-text-shadow: 2px 2px 8px black;
  --slide-text-color: white;
}

#slideOpening h1, #slideOpening h2 {
  color: var(--slide-text-color);
  text-shadow: var(--slide-text-shadow);
}
/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-29.use[1]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-29.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-29.use[3]!./vendor/beasolutions/beasolutions-bundle/assets/styles/contact.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/
form[name=contactForm_1] fieldset {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
form[name=contactForm_1] fieldset .row {
  display: flex;
  flex-direction: column;
  width: 600px;
}
form[name=contactForm_1] fieldset .row .left, form[name=contactForm_1] fieldset .row .right {
  width: 100%;
  display: flex;
  flex-direction: row;
  column-gap: 35px;
}
form[name=contactForm_1] input {
  width: 300px;
  box-sizing: border-box;
}
form[name=contactForm_1] textarea {
  width: 100%;
  box-sizing: border-box;
}

@media (width <= 768px) {
  form[name=contactForm_1] fieldset .row {
    width: 100%;
  }
  form[name=contactForm_1] fieldset .row .left, form[name=contactForm_1] fieldset .row .right {
    flex-direction: column;
    align-items: center;
  }
  form[name=contactForm_1] fieldset input, form[name=contactForm_1] fieldset textarea {
    width: 300px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUF5QjtRQUN6Qix5QkFBeUI7UUFDekIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5QiwrQkFBK0I7UUFDL0IsUUFBUTtJQUNaOztJQUVBOzs7TUFHRTs7SUFFRjtRQUNJLG1DQUFtQztJQUN2Qzs7SUFFQTtRQUNJLFdBQVc7SUFDZjs7SUFFQTtRQUNJLFdBQVc7SUFDZjs7SUFFQTtRQUNJLFdBQVc7SUFDZjs7SUFFQTtRQUNJLGVBQWU7UUFDZixlQUFlO0lBQ25COztJQUVBO1FBQ0ksZUFBZTtJQUNuQjs7SUFFQTtRQUNJLGNBQWM7SUFDbEI7QUFDSjs7O0FBR0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXNESTtRQUNJLGdCQUFnQjtJQUNwQjs7SUFFQTtRQUNJLFVBQVU7UUFDVixTQUFTO1FBQ1QsUUFBUTtJQUNaOztJQUVBO1FBQ0ksYUFBYTtJQUNqQjtBQUNKOzs7OztBQzNkQTtFQUNJO0VBQ0E7QUFDSjs7QUFHSTtFQUNJO0VBQ0E7QUFBUixDOzs7O0FDUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUFSO0FBRVE7RUFDSTtFQUNBO0VBQ0E7QUFBWjtBQUVZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFBaEI7QUFNSTtFQUNJO0VBQ0E7QUFKUjtBQU9JO0VBQ0k7RUFDQTtBQUxSOztBQVNBO0VBSVk7SUFDSTtFQVRkO0VBVWM7SUFDSTtJQUNBO0VBUmxCO0VBWVU7SUFDSTtFQVZkO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2JlYS1jbXMtdWkvLi92ZW5kb3IvYmVhc29sdXRpb25zL2JlYXNvbHV0aW9ucy1idW5kbGUvYXNzZXRzL3N0eWxlcy9yZXNldC5jc3MiLCJ3ZWJwYWNrOi8vYmVhLWNtcy11aS8uL3ZlbmRvci9iZWFzb2x1dGlvbnMvYmVhc29sdXRpb25zLWJ1bmRsZS9hc3NldHMvc3R5bGVzL3N0eWxlLmNzcyIsIndlYnBhY2s6Ly9iZWEtY21zLXVpLy4vdmVuZG9yL2JlYXNvbHV0aW9ucy9iZWFzb2x1dGlvbnMtYnVuZGxlL2Fzc2V0cy9zdHlsZXMvcmVzcG9uc2l2ZS5jc3MiLCJ3ZWJwYWNrOi8vYmVhLWNtcy11aS8uL3ZlbmRvci9iZWFzb2x1dGlvbnMvYmVhc29sdXRpb25zLWJ1bmRsZS9hc3NldHMvc3R5bGVzL2FwcC5zY3NzIiwid2VicGFjazovL2JlYS1jbXMtdWkvLi92ZW5kb3IvYmVhc29sdXRpb25zL2JlYXNvbHV0aW9ucy1idW5kbGUvYXNzZXRzL3N0eWxlcy9jb250YWN0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogUmVzZXQgU3R5bGluZyAqL1xuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGZvbnQsIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cdGZvbnQtc3R5bGU6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qIHJlbWVtYmVyIHRvIGRlZmluZSBmb2N1cyBzdHlsZXMhICovXG46Zm9jdXMge1xuXHRvdXRsaW5lOiAwO1xufVxuYm9keSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogYmxhY2s7XG5cdGJhY2tncm91bmQ6IHdoaXRlO1xufVxub2wsIHVsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cbi8qIHRhYmxlcyBzdGlsbCBuZWVkICdjZWxsc3BhY2luZz1cIjBcIicgaW4gdGhlIG1hcmt1cCAqL1xudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuXHRib3JkZXItc3BhY2luZzogMDtcbn1cbmNhcHRpb24sIHRoLCB0ZCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLCBxOmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcbn1cbmJsb2NrcXVvdGUsIHEge1xuXHRxdW90ZXM6IFwiXCIgXCJcIjtcbn1cblxuLyogRW5kIG9mIFJlc2V0IFN0eWxpbmcgKi9cbiIsIi8qIEltcG9ydGluZyB1c2VkIGZvbnQgKi9cbkBpbXBvcnQgdXJsKCcvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9VGl0aWxsaXVtK1dlYicpO1xuXG4vKiBHZW5lcmFsIFN0eWxpbmcgKi9cbmJvZHkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblx0Zm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJywgc2Fucy1zZXJpZjtcblx0bGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgY29sb3I6IHJnYig1MSwgNTEsIDUxKTtcbn1cblxuaGVhZGVyLCBmb290ZXIge1xuICAgIGZvbnQtc2l6ZTogODcuNSU7XG59XG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuXHRsaW5lLWhlaWdodDogMTIwJTtcblx0bWFyZ2luOiAwIDAgMC45Mzc1ZW07XG5cdGNvbG9yOiByZ2IoMTQsIDExOCwgMTg5KTtcbn1cblxuaDIge1xuXHRmb250LXNpemU6IDEuNzVlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXHRsaW5lLWhlaWdodDogMTIwJTtcblx0bWFyZ2luOiAwIDAgMS4wNzE0ZW07XG5cdGNvbG9yOiByZ2IoMTQsIDExOCwgMTg5KTtcbn1cblxuaDMge1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRsaW5lLWhlaWdodDogMTIwJTtcblx0bWFyZ2luOiAwIDAgMC44MzMzZW07XG5cdGNvbG9yOiByZ2IoMTQsIDExOCwgMTg5KTtcbn1cblxuaDQge1xuXHRmb250LXNpemU6IDEuMjVlbTtcblx0bGluZS1oZWlnaHQ6IDEyMCU7XG5cdG1hcmdpbjogMCAwIDAuNWVtO1xuXHRjb2xvcjogcmdiKDI0MCwgODksIDQyKTtcbn1cblxuaDUge1xuXHRmb250LXNpemU6IDEuMTI1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxMjAlO1xuXHRtYXJnaW46IDAgMCAwLjU1NWVtO1xuXHRjb2xvcjogcmdiKDI0MCwgODksIDQyKTtcbn1cblxucCB7XG5cdG1hcmdpbjogMCAwIDEuODc1ZW07XG59XG5cbmEge1xuICAgIGNvbG9yOiByZ2IoMjQwLCA4OSwgNDIpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG4gICAgY29sb3I6IHJnYigxNCwgMTE4LCAxODkpO1xufVxuXG5vbCwgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5iUGFnZUNvbnRlbnQgb2wge1xuICAgIGxpc3Qtc3R5bGU6IHVwcGVyLWFscGhhIG91dHNpZGU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uYlBhZ2VDb250ZW50IHVsLCAuZGlyZWN0RGViaXQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2Mgb3V0c2lkZTtcblx0bWFyZ2luOiAwIDAgMS4yNWVtO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxub2wgbGksIHVsIGxpLCAudGVhbU1lbWJlciAucXVlc3Rpb25zIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMC4zMTI1ZW0gMDtcbn1cblxuaGVhZGVyIG9sLCBmb290ZXIgb2wsIGhlYWRlciB1bCwgZm9vdGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5ibG9ja3F1b3RlIHtcblx0cGFkZGluZzogMCAwLjMxMjVlbTtcbn1cblxuY2l0ZSB7XG5cdGZvbnQtc2l6ZTogOTAlO1xufVxuXG5zdHJvbmcsIGIge1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuXG5pLCBlbSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjMxMjVlbTtcbiAgICBmb250LXNpemU6IDYwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4zMTI1ZW07XG4gICAgZm9udC1zaXplOiA2MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5zbWFsbCB7XG5cdGZvbnQtc2l6ZTogNzAlO1xufVxuXG5pbWcge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcblx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuaWZyYW1lLCB2aWRlbyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAzMTVweDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgc2VsZWN0LCB0ZXh0YXJlYSB7XG5cdGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYicsIHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwLjEyNWVtIDAuMTg3NWVtO1xuXHRtYXJnaW46IDAgMCAxLjI1ZW07XG5cdGJvcmRlcjogMDtcblx0Ym94LXNoYWRvdzogMHB4IDBweCAzcHggcmdiKDE0LCAxMTgsIDE4OSk7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsIHNlbGVjdDpmb2N1cywgdGV4dGFyZWE6Zm9jdXMge1xuXHRib3gtc2hhZG93OiAwcHggMHB4IDNweCByZ2IoMjQwLCA4OSwgNDIpO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdHBhZGRpbmc6IDAuMTg3NWVtIDAuMzEyNWVtO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsIGJ1dHRvbiB7XG5cdGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYicsIHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuYnV0dG9uIHtcblx0bWFyZ2luOiAwIDAgMS4yNWVtO1xufVxuXG4uYnV0dG9uIHtcbiAgICBtYXJnaW46IDAuNjI1ZW0gMDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbnAgKyAuYnV0dG9uIHtcblx0bWFyZ2luOiAxLjg3NWVtIDAgMC42MjVlbTtcbn1cblxuYnV0dG9uLCAuYnV0dG9uIGEge1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRwYWRkaW5nOiAwLjMxMjVlbSAwLjYyNWVtO1xuXHRjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIGJhY2tncm91bmQ6IHJnYigxNCwgMTE4LCAxODkpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5idXR0b246aG92ZXIsIC5idXR0b246aG92ZXIgYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0YmFja2dyb3VuZDogcmdiKDI1NSwgOTgsIDQ3KTtcblx0Y29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbn1cblxuLmJ1dHRvbjpob3ZlciB7XG5cdGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG59XG5cbi8qLmNvbnRlbnRBcmVhIGJ1dHRvbjpob3ZlciB7XG5cdHBhZGRpbmc6IDAuMzEyNWVtIDAuOTM3NWVtIDAuNWVtIDAuNjI1ZW07XG59Ki9cblxuLyogRXJyb3IgYWxlcnQgc3R5bGluZyAqL1xuLmFsZXJ0IHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDUlO1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWxlcnQuYWxlcnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNDAsIDAsIDAuNik7XG59XG5cbi5hbGVydC5hbGVydC1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDAuNik7XG59XG5cbi8qIEZvcm0gZXJyb3JzIHN0eWxpbmcgKi9cbnVsLmVycm9ycyB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjgpO1xuICAgIG9yZGVyOiAyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwLjQxNmVtO1xufVxuXG5maWVsZHNldCBkaXYgLmVycm9ycyArIGlucHV0IHtcbiAgICBtYXJnaW46IDAgMCAxLjg3NWVtIDA7XG59XG5cbi8qIFNldHRpbmcgbGF5b3V0IHdpdGggYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL1xuaGVhZGVyLCAjaGVhZGVyUmlnaHQsICNoZWFkZXJDb250YWN0LCAjaGVhZGVyU29jaWFsLCBuYXYgdWwsIC5ibG9nLCAuc2lnbnVwLCAuc2lnbnVwQ29udGVudCwgZm9vdGVyLCAuY29tcGFueUluZm8sIC50ZWFtLCAudGVhbU1lbWJlciwgZmllbGRzZXQgLmZ1bGwuY2hlY2tib3hPcmRlciBkaXYsIC5ibG9nQ29udGVudEltZ0xlZnQsIC5ibG9nQ29udGVudEltZ1JpZ2h0IHtcblx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cdGRpc3BsYXk6IC1tb3otYm94O1xuXHRkaXNwbGF5OiAtbXMtZmxleGJveDtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuaGVhZGVyLCAjaGVhZGVyQ29udGFjdCwgI2hlYWRlclNvY2lhbCwgaGVhZGVyLnN0aWNreSAjaGVhZGVyUmlnaHQsIG5hdiB1bCwgLmJsb2csIC5zaWdudXAsIC5zaWdudXBDb250ZW50LCBmb290ZXIsIC5jb21wYW55SW5mbywgLnRlYW0sIC50ZWFtTWVtYmVyLCBmaWVsZHNldCAuZnVsbC5jaGVja2JveE9yZGVyIGRpdiwgLmJsb2dDb250ZW50SW1nTGVmdCwgLmJsb2dDb250ZW50SW1nUmlnaHQge1xuXHQtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdC1tb3otZmxleC1kaXJlY3Rpb246IHJvdztcblx0LW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbiNoZWFkZXJSaWdodCB7XG5cdC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LW1vei1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHQtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuaGVhZGVyLCAuc2lnbnVwQ29udGVudCwgZm9vdGVyLCAudGVhbSwgLnRlYW1NZW1iZXIge1xuXHQtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcblx0LW1vei1mbGV4LXdyYXA6IHdyYXA7XG5cdC1tcy1mbGV4LXdyYXA6IHdyYXA7XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuaGVhZGVyLnN0aWNreSwgI2hlYWRlclJpZ2h0LCAjaGVhZGVyQ29udGFjdCwgI2hlYWRlclNvY2lhbCwgbmF2IHVsLCAuYmxvZywgLnNpZ251cCwgLmNvbXBhbnlJbmZvLCBmaWVsZHNldCAuZnVsbC5jaGVja2JveE9yZGVyIGRpdiwgLmJsb2dDb250ZW50SW1nTGVmdCwgLmJsb2dDb250ZW50SW1nUmlnaHQge1xuXHQtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwO1xuXHQtbW96LWZsZXgtd3JhcDogbm93cmFwO1xuXHQtbXMtZmxleC13cmFwOiBub3dyYXA7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4jaGVhZGVyU29jaWFsLCAuYmxvZywgLnNpZ251cCwgLnRlYW1NZW1iZXIsIGZpZWxkc2V0IC5mdWxsLmNoZWNrYm94T3JkZXIgZGl2IHtcblx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdC1tb3otanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHQtbXMtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbmhlYWRlciwgLnNpZ251cENvbnRlbnQsIGZvb3RlciwgLmNvbXBhbnlJbmZvLCAudGVhbSwgLmJsb2dDb250ZW50SW1nTGVmdCwgLmJsb2dDb250ZW50SW1nUmlnaHQge1xuXHQtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0LW1vei1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdC1tcy1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLyogRUxFTUVOVCB7XG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdC1tb3otanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdC1tcy1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59Ki9cblxubmF2IHVsLCAjaGVhZGVyQ29udGFjdCB7XG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0LW1vei1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHQtbXMtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuI2hlYWRlclJpZ2h0IHtcblx0YWxpZ24tY29udGVudDogZmxleC1lbmQ7XG59XG5cbi50ZWFtTWVtYmVyLCAudGVhbU1lbWJlciBoMywgLnRlYW1NZW1iZXIgaW1nLCAudGVhbU1lbWJlciAucXVlc3Rpb25zIHtcblx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuI2hlYWRlclNvY2lhbCwgI2hlYWRlckNvbnRhY3QgaDIsIGZvb3RlciBpbWcsIGZvb3RlciAuY29tcGFueUluZm8gcCB7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuaGVhZGVyLnN0aWNreSBuYXYge1xuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLyogU2V0dGluZyBhYmlsaXR5ICB0byB0cmFuc2l0aW9uIChub3QgdHJhbnNpdGlvbiBpdHNlbGYpLiAqL1xuaGVhZGVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG59XG5cbmltZyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xufVxuXG5oZWFkZXIsIGltZyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICAgIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbn1cblxuaGVhZGVyLnN0aWNreSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuICAgIC1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbn1cblxuaGVhZGVyLCBpbWcsIC5zbGlkZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuXG4vKiBTZXR0aW5nIHRyYW5zaXRpb25zICovXG4vKmltZzpob3ZlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59Ki9cblxuLyogQmFzZSBhcmVhIHN0eWxpbmcgKi9cbmhlYWRlciB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBwYWRkaW5nOiAxLjI1ZW0gNSU7XG59XG5cbi5jb250ZW50QXJlYSwgZm9vdGVyIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIHBhZGRpbmc6IDEuODc1ZW0gNSU7XG59XG5cbi8qIFRPRE8gVGVtcG9yYXJ5LCBjaGVjayB3aGV0aGVyIHN0aWxsIG5lZWRlZCBhZnRlciBmaW5pc2hlZCAqL1xuLmNvbnRlbnRBcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFJlbW92aW5nIG1hcmdpbiBmcm9tIHNlbGVjdGVkIGVsZW1lbnRzICovXG5uYXYgdWwsICNoZWFkZXJDb250YWN0IGgyLCAuY29udGVudEFyZWEgPiBwOm5vdCguYnV0dG9uKTpsYXN0LWNoaWxkLCBkaXY6bGFzdC1jaGlsZCBwOm5vdCguYnV0dG9uKTpsYXN0LWNoaWxkLCAuYmxvZ0hlYWRlciAuZGF0ZSwgLmJQYWdlQ29udGVudCwgZm9vdGVyIHVsLCBmb290ZXIgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBPbiBzY3JvbGwgc3R5bGluZyovXG5oZWFkZXIuc3RpY2t5IHtcbiAgICBwYWRkaW5nOiAwLjI1ZW0gNSU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiKDI0MSwgMjQxLCAyNDEpO1xuICAgIHotaW5kZXg6IDUwO1xufVxuXG5oZWFkZXIuc3RpY2t5IGltZyB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG5oZWFkZXIuc3RpY2t5ICsgLnB1c2hUb3Age1xuLyogICAgcGFkZGluZzogMS44NzVlbSAwIDA7Ki9cbn1cblxuaGVhZGVyLnN0aWNreSAjaGVhZGVyUmlnaHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDVweCk7XG59XG5cbmhlYWRlci5zdGlja3kgI2hlYWRlclJpZ2h0IGgyIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5oZWFkZXIuc3RpY2t5ICNoZWFkZXJDb250YWN0IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbmhlYWRlci5zdGlja3kgI2hlYWRlclNvY2lhbCB7XG4gICAgbWFyZ2luOiAwIDUlIDAgMDtcbn1cblxuaGVhZGVyLnN0aWNreSAjaGVhZGVyUmlnaHQgbmF2IHtcbiAgICB3aWR0aDogNjAlO1xufVxuXG4vKiBTcGVjaWZpYyBzdHlsaW5nICovXG5oZWFkZXIge1xuICAgIHRvcDogLTEyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbn1cblxuLmxvZ28ge1xuICAgIHdpZHRoOiAxNiU7XG59XG5cbi5sb2dvIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogYXV0byAwO1xufVxuXG4jaGVhZGVyUmlnaHQge1xuICAgIHdpZHRoOiA4MCU7XG59XG5cbiNoZWFkZXJSaWdodCBuYXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0byAwO1xufVxuXG4jaGVhZGVyQ29udGFjdCB7XG4gICAgbWFyZ2luOiAwIDAgMC43NWVtO1xufVxuXG4jaGVhZGVyQ29udGFjdCBoMiBhIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4jaGVhZGVyQ29udGFjdCBoMiBhOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiKDI0MCwgODksIDQyKTtcbn1cblxuI2hlYWRlclNvY2lhbCB7XG4gICAgbWFyZ2luOiAwIDIlIDAgMDtcbn1cblxuI2hlYWRlclNvY2lhbCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDIycHg7XG4gICAgbWF4LXdpZHRoOiA0MHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG59XG5cbmhlYWRlciAjbWVudU9wZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmhlYWRlciBuYXYgdWwgbGkge1xuICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDAgNCU7XG59XG5cbmhlYWRlciBuYXYgdWwgbGkgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5oZWFkZXIgbmF2IHVsIGxpIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaGVhZGVyIG5hdiB1bCBsaSBhLmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6IHJnYigxNCwgMTE4LCAxODkpO1xufVxuXG4jc2xpZGVIZWFkZXIsICNzbGlkZUhlYWRlcjpiZWZvcmUsICNzbGlkZUhlYWRlcjphZnRlciB7XG4gICAgbWluLWhlaWdodDogMzUwcHg7XG59XG5cbiNzbGlkZUhlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xufVxuXG4jc2xpZGVIZWFkZXIgaDEsICNzbGlkZUhlYWRlciBoMiB7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbn1cblxuI3NsaWRlSGVhZGVyIGltZyB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBtYXJnaW46IGF1dG8gMTUlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuI3NsaWRlSGVhZGVyLmZ1bGxXaWR0aFNsaWRlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvIDAlO1xufVxuXG4jc2xpZGVPcGVuaW5nIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMwcHg7XG4gICAgbGVmdDogMjAlO1xufVxuXG5zZWN0aW9uLmdyZXksIHNlY3Rpb24ud2hpdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDEsIDI0MSwgMjQxKTtcbn1cblxuI21ldGFMaXN0IGxpIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIEhleGFnb25zIG9uIHRoZSBob21lcGFnZSAqL1xuLmhleDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMi4xZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMi4xNWVtIHNvbGlkIHJnYigyNTUsIDk4LCA0Nyk7XG4gICAgYm9yZGVyLWxlZnQ6IDMuNzNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDMuNzNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLmhleCB7XG5cdHdpZHRoOiA3LjM5ZW07XG5cdGhlaWdodDogNC4yODZlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgOTgsIDQ3KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IDIuMWVtIGF1dG8gMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4uaGV4IHNwYW4ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDQuNjQzZW07XG5cdGhlaWdodDogNC42NDNlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCA5OCwgNDcpIHVybCgnLi4vaW1hZ2VzL3NhbGVfc3ByaXRlLmpwZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE3ZW0gNGVtO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAuM2VtIDUwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmhleCBzcGFuLnNhbGVQb2ludDIge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNC4xZW0gMDtcbn1cblxuLmhleCBzcGFuLnNhbGVQb2ludDMge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOC4yNWVtIDA7XG59XG5cbi5oZXggc3Bhbi5zYWxlUG9pbnQ0IHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEyLjVlbSAwO1xufVxuXG4vKi5zYWxlUG9pbnRzOmxhc3QtY2hpbGQgLmhleCBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCA5OCwgNDcpIHVybCgnLi4vaW1hZ2VzL2Nsb3VkLWljb24ucG5nJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNWVtO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbn0qL1xuXG4uaGV4OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yLjFlbTtcbiAgICBib3JkZXItdG9wOiAyLjE1ZW0gc29saWQgcmdiKDI1NSwgOTgsIDQ3KTtcbiAgICBib3JkZXItbGVmdDogMy43M2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMy43M2VtIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uaGV4IGEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qLnNhbGVQb2ludHMge1xuXHR3aWR0aDogMTYlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdG1hcmdpbjogMCAxJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRvcGFjaXR5OiAxO1xufSovXG5cbi5zYWxlUG9pbnRzIHtcblx0d2lkdGg6IDIyJTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRtYXJnaW46IDAgMSU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0b3BhY2l0eTogMTtcbn1cblxuLnNhbGVQb2ludHMgaDMge1xuXHRtYXJnaW4tdG9wOiAyLjVlbTtcblx0cGFkZGluZzogMCAwLjVlbTtcblx0Zm9udC1zaXplOiAxMDAlO1xufVxuXG4uc2FsZVBvaW50cyBoMyBhIHtcblx0Y29sb3I6IHJnYigyNDAsIDg5LCA0Mik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNhbGVQb2ludHMgaDMgYTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2FsZVBvaW50cyBwIHtcblx0Zm9udC1zaXplOiA5MCU7XG5cdGNvbG9yOiByZ2IoNTEsIDUxLCA1MSk7XG59XG5cbi8qLnNhbGVQb2ludHMgcDpsYXN0LWNoaWxkIHtcblx0bWFyZ2luOiAwO1xufSovXG5cbi8qIEV4YW1wbGUgd2Vic2l0ZXMgb24gd2Vic2l0ZSBkZXNpZ24gcGFnZSwgVE9ETyBjb250ZW50IG1heSBjaGFuZ2UgKi9cbi5wb3J0Zm9saW8tcm93IGRpdjpudGgtY2hpbGQoMil7XG5cdG1hcmdpbjogMCA0MHB4O1xufVxuXG4ucG9ydGZvbGlvLXJvdyBkaXZ7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMjc3cHg7XG5cdGhlaWdodDogMjc3cHg7XG5cdG1hcmdpbjogMjBweCAxMHB4O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5wb3J0Zm9saW8tcm93IGltZ3tcblx0d2lkdGg6IDI3N3B4O1xuXHRoZWlnaHQ6IDIyNXB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2IoMjM4LCAyMzgsIDIzOCk7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsMCwwLDAuMik7XG5cdGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLDAsMCwwLjIpO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuXHQtbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuXHQtbXMtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG5cdC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbn1cblxuLnBvcnRmb2xpby1yb3cgYTpob3ZlciBpbWd7XG5cdHdpZHRoOiAyNzdweDtcblx0aGVpZ2h0OiAyMjVweDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwwLDAsMC40KTtcblx0Ym94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsMCwwLDAuNCk7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG5cdC1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcblx0LW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xufVxuXG4ucG9ydGZvbGlvLXJvdyBoMntcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRwYWRkaW5nOiAxMHB4IDAgMDtcblx0bWFyZ2luOiAwIWltcG9ydGFudDtcbn1cblxuLnBvcnRmb2xpby1yb3cgcHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5wb3J0Zm9saW8tcm93IGRpdi5wb3J0LWhvdmVye1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMjI1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiA3MHB4IDcwcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdHBhZGRpbmc6IDFweDtcblx0bWFyZ2luOiAwO1xufVxuXG4ucG9ydGZvbGlvLXJvdyBkaXYucG9ydC1ob3ZlciBwe1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAyMCU7XG5cdGxlZnQ6IDA7XG5cdGxpbmUtaGVpZ2h0OiAzNXB4O1xuXHRmb250LXNpemU6IDMwcHg7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGNvbG9yOiByZ2IoNjgsIDY4LCA2OCk7XG59XG5cbi5wb3J0Zm9saW8tbGFzdHtcblx0cGFkZGluZzogMjBweCAwO1xufVxuXG4vKiBCbG9nIGhvbWUgKi9cbi5ibG9nIHtcbiAgICBib3gtc2hhZG93OiAzcHggM3B4IDEwcHggcmdiKDUxLCA1MSwgNTEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmJsb2dIZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDQwJSAtIDIuNWVtKTtcbiAgICBwYWRkaW5nOiAwLjYyNWVtIDEuMjVlbTtcbiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNCwgMTE4LCAxODkpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zMTI1ZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zMTI1ZW07XG59XG5cbi5ibG9nSGVhZGVyIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1ZW07XG59XG5cbi5ibG9nSGVhZGVyIGEge1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG59XG5cbi5ibG9nSGVhZGVyIGgyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJsb2dIZWFkZXIgaDIgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5ibG9nSGVhZGVyIC5kYXRlIGE6aG92ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5ibG9nSGVhZGVyIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwLjYyNWVtIDA7XG59XG5cbi5ibG9nQ29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoNjAlIC0gMi41ZW0pO1xuICAgIHBhZGRpbmc6IDAuNjI1ZW0gMS4yNWVtO1xuICAgIGJvcmRlci10b3A6ICAwLjYyNWVtIHNvbGlkIHJnYigxNCwgMTE4LCAxODkpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAgMC4zMTI1ZW07XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMzEyNWVtO1xufVxuXG5zZWN0aW9uLmJQYWdlQ29udGVudCwgc2VjdGlvbi5sZWZ0Q29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMTQwJTsvKiBUT0RPOiBDb252ZXJ0IHRvIEVNICovXG59XG5cbnNlY3Rpb24uYlBhZ2VDb250ZW50IGxpIHtcblx0bWFyZ2luOiAwLjYyNWVtIDA7XG59XG5cbnNlY3Rpb24uYlBhZ2VDb250ZW50IGlmcmFtZSwgdmlkZW8ge1xuXHR3aWR0aDogODAlO1xuXHRtYXgtd2lkdGg6IDU2MHB4O1xuXHRtYXJnaW46IDEuMjVlbSBhdXRvIDA7XG5cdGhlaWdodDogMzE1cHg7XG59XG5cbi8qIGJsb2cgcGFnZSBzdHlsaW5nICovXG4uZGEtc2xpZGVoZWFkZXIgLmRhLWltZ2hlYWRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwIWltcG9ydGFudDtcbn1cblxuLmJTbGlkZXNob3cge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWluLXdpZHRoOiA1MjBweDtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG59XG5cbi5iU2xpZGVzaG93IGgxLCAuYlNsaWRlc2hvdyBoMiwgLmJTbGlkZXNob3cgcCB7XG4gICAgbWF4LXdpZHRoOiA1NSU7XG59XG5cbi5iU2xpZGVzaG93IC5kYS1zbGlkZWhlYWRlciBoMSB7XG5cdHdpZHRoOiA1NSU7XG5cdGZvbnQtc2l6ZTogMjQwJTtcblx0bGluZS1oZWlnaHQ6IDE0MCU7XG5cdG1hcmdpbjogMC42MjVlbSAwIDEuODc1ZW07XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbn1cblxuLmJTbGlkZXNob3cgLmRhLXNsaWRlaGVhZGVyIGgyIHtcbiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xufVxuXG4uYlNsaWRlc2hvdyAuZGEtc2xpZGVoZWFkZXIgaDEgYSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbn1cblxuLmJTbGlkZXNob3cgLmRhLXNsaWRlaGVhZGVyIGgxIGE6aG92ZXIge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xufVxuXG4uYlNsaWRlc2hvdyAuZGEtc2xpZGVoZWFkZXIgLmRhLWltZ2hlYWRlciB7XG5cdG1heC13aWR0aDogMzAlO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgIHJpZ2h0OiA1JSAhaW1wb3J0YW50O1xuICAgIHRvcDogMzBweCAhaW1wb3J0YW50O1xufVxuXG4uYlNsaWRlc2hvdyAuZGEtaW1naGVhZGVyIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3gtc2hhZG93OiAzcHggM3B4IDEwcHggcmdiKDUxLCA1MSwgNTEpO1xufVxuXG4uYlNsaWRlc2hvdyBuYXYge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmJTbGlkZXNob3cgbmF2IGEge1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYlNsaWRlc2hvdyBmb290ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1NSU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uYmxvZ0xpc3Qge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLmJsb2dCYWNrZ3JvdW5kcyB7XG5cdGNvbG9yOiByZ2IoNTEsIDUxLCA1MSk7XG5cdHBhZGRpbmc6IDEuMjVlbSAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ibG9nQmFja2dyb3VuZHM6bnRoLWNoaWxkKGV2ZW4pIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MSwgMjQxLCAyNDEpO1xufVxuXG4uYmxvZ0FydGljbGVzIHtcblx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cdGRpc3BsYXk6IC1tb3otYm94O1xuXHRkaXNwbGF5OiAtbXMtZmxleGJveDtcblx0ZGlzcGxheTogZmxleDtcblx0LXdlYmtpdC1mbGV4LWZsb3c6IHJvdztcblx0LW1vei1mbGV4LWZsb3c6IHJvdztcblx0LW1zLWZsZXgtZmxvdzogcm93O1xuXHRmbGV4LWZsb3c6IHJvdztcblx0LXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcDtcblx0LW1vei1mbGV4LXdyYXA6IG5vd3JhcDtcblx0LW1zLWZsZXgtd3JhcDogbm93cmFwO1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdC1tb3otanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHQtbXMtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5ibG9nQmFja2dyb3VuZHM6bnRoLWNoaWxkKG9kZCkgLmJsb2dBcnRpY2xlcyAuYmxvZ0ltYWdlIHtcblx0b3JkZXI6IDI7XG59XG5cbi5ibG9nQmFja2dyb3VuZHM6bnRoLWNoaWxkKG9kZCkgLmJsb2dBcnRpY2xlcyAuYmxvZ1BhZ2VTdW1tYXJ5IHtcblx0b3JkZXI6IDE7XG59XG5cbi5ibG9nQmFja2dyb3VuZHM6bnRoLWNoaWxkKG9kZCkgLmJsb2dBcnRpY2xlcyAuYmxvZ1N1bUhlYWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYigxNCwgMTE4LCAxODkpO1xufVxuXG4uYmxvZ0JhY2tncm91bmRzOm50aC1jaGlsZChvZGQpIC5ibG9nQXJ0aWNsZXMgbmF2IGEge1xuXHRjb2xvcjogcmdiKDE0LCAxMTgsIDE4OSk7XG59XG5cbi5ibG9nQXJ0aWNsZXMgLmJsb2dJbWFnZSB7XG5cdHdpZHRoOiAzNSU7XG59XG5cbi5ibG9nQXJ0aWNsZXMgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdGJveC1zaGFkb3c6IDFweCAxcHggOHB4IHJnYig1MSwgNTEsIDUxKTtcbn1cblxuLmJsb2dQYWdlU3VtbWFyeSB7XG5cdHdpZHRoOiA2MyU7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ibG9nU3VtSGVhZGVyIHtcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuXHRwYWRkaW5nOiAwLjMxMjVlbSAwLjkzNzVlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MCwgODksIDQyKTtcblx0Ym94LXNoYWRvdzogMXB4IDFweCA4cHggcmdiKDUxLCA1MSwgNTEpO1xufVxuXG4uYmxvZ1N1bUhlYWRlciBoMiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW46IDA7XG59XG5cbi5ibG9nU3VtSGVhZGVyIGgyIGEge1xuXHRjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5ibG9nU3VtSGVhZGVyIGgyIGE6aG92ZXIge1xuXHRmb250LXdlaWdodDogNDAwO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmJsb2dTdW1tYXJ5IHAge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMC45Mzc1ZW07XG59XG5cbi5ibG9nU3VtbWFyeSBwOmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luOiAwLjMxMjVlbSAwIDAuNjI1ZW07XG59XG5cbi5ibG9nU3VtbWFyeSBwIGEge1xuXHRjb2xvcjogcmdiKDUxLCA1MSwgNTEpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5ibG9nU3VtbWFyeSBwIGE6aG92ZXIge1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmJsb2dTdW1tYXJ5IG5hdiB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5ibG9nU3VtbWFyeSBuYXYgYSB7XG5cdGNvbG9yOiByZ2IoMjQwLCA4OSwgNDIpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJsb2dDb250ZW50SW1nTGVmdCwgLmJsb2dDb250ZW50SW1nUmlnaHQge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYmxvZ0NvbnRlbnRJbWdMZWZ0IGltZywgLmJsb2dDb250ZW50SW1nUmlnaHQgaW1nIHtcbiAgICBtaW4td2lkdGg6IDUwMHB4O1xuICAgIHdpZHRoOiA0MCU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbn1cblxuLmJsb2dDb250ZW50SW1nTGVmdCBpbWcge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmJsb2dDb250ZW50SW1nUmlnaHQgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLyogRGlyZWN0IGRlYml0IHBhZ2UgKi9cbiNkaXJlY3REZWJpdCB7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbn1cblxuLyogbWFpbCBsaXN0IHNpZ251cCBob21lcGFnZSAqL1xuLnNpZ251cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogM3B4IDNweCAxMHB4IHJnYig1MSwgNTEsIDUxKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5zaWdudXBIZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDQwJSAtIDIuNWVtKTtcbiAgICBwYWRkaW5nOiAxLjI1ZW07XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCA4OSwgNDIpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIG9yZGVyOiAyO1xufVxuXG4uc2lnbnVwSGVhZGVyIGgzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgbWFyZ2luOiAwIDAgMS4yNWVtO1xufVxuXG4uc2lnbnVwSGVhZGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbn1cblxuLnNpZ251cENvbnRlbnQge1xuICAgIHdpZHRoOiBjYWxjKDYwJSAtIDIuNWVtKTtcbiAgICBwYWRkaW5nOiAwLjYyNWVtIDEuMjVlbSAxLjI1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIGJvcmRlci1ib3R0b206IDAuNjI1ZW0gc29saWQgcmdiKDI1NSwgOTgsIDQ3KTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIG9yZGVyOiAxO1xufVxuXG4uc2lnbnVwQ29udGVudCAuaW5wdXQge1xuICAgIHdpZHRoOiA0NyU7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zaWdudXBDb250ZW50IC5pbnB1dC5zdWJtaXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpZ251cENvbnRlbnQgLmlucHV0IGxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjMxMjVlbTtcbiAgICBsZWZ0OiAwLjVlbTtcbiAgICBwYWRkaW5nOiAwLjYyNWVtIDAuMjVlbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgY29sb3I6IHJnYigxNzksIDE3OSwgMTc5KTtcbn1cblxuLnNpZ251cENvbnRlbnQgLmlucHV0IGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgcGFkZGluZzogMC42MjVlbSAwLjVlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMDQsIDIwNCwgMjA0KTtcbn1cblxuLmlucHV0LnRvdWNoZWQgaW5wdXQ6Zm9jdXMgKyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjYyNWVtO1xuICAgIHRvcDogLTEuNWVtO1xuICAgIGNvbG9yOiByZ2IoMjU1LCA5OCwgNDcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbn1cblxuLmlucHV0LmRpcnR5IGxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuNjI1ZW07XG4gICAgdG9wOiAtMS41ZW07XG4gICAgY29sb3I6IHJnYigxNCwgMTE4LCAxODkpIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG59XG5cbi5zaWdudXBDb250ZW50IHAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpZ251cENvbnRlbnQgLm1hciB7XG4gICAgbWFyZ2luOiAwLjYyNWVtIDA7XG59XG5cbi8qIEFib3V0IHBhZ2Ugc3R5bGluZyAqL1xuLnRlYW1NZW1iZXIge1xuICAgIHdpZHRoOiA0NSU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDAgMCAxLjg3NWVtO1xufVxuXG4udGVhbU1lbWJlciBoMyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi50ZWFtTWVtYmVyIGltZyB7XG4gICAgd2lkdGg6IDQ4JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDQlO1xufVxuXG4udGVhbU1lbWJlciAucXVlc3Rpb25zIHtcbiAgICB3aWR0aDogNDglO1xufVxuXG4udGVhbU1lbWJlciAucXVlc3Rpb25zIGxpIHtcbiAgICBtYXJnaW46IDAuMzEyNWVtIDAgMC42MjVlbTtcbn1cblxuLyogQ29udGFjdCBwYWdlIHN0eWxpbmcgKi9cbiNjb250YWN0LW1hcCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDM4MHB4OyAvKiBUT0RPLCBpZiByZW1haW5zLCBjYW4gdXNlIHRoZSBoZWlnaHQgb2Ygc2xpZGVzaG93IGltZz8gKi9cblx0ei1pbmRleDogLTE7XG59XG5cbiNtYXAtZGlyZWN0aW9ucyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAzMjBweDtcblx0cGFkZGluZzogMC4zMTI1ZW0gMC42MjVlbTtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0Y29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcblx0YmFja2dyb3VuZDogcmdiKDE0LCAxMTgsIDE4OSk7XG5cdHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbiNtYXAtZGlyZWN0aW9uczpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0YmFja2dyb3VuZDogcmdiKDI0MCwgODksIDQyKTtcbn1cblxuLyogVE9ETyByZS1jaGVjayB0byBtYWtlIGNlcnRhaW4gdGhpcyBjb2RlIGlzbid0IGJlaW5nIHVzZWQgKi9cbi5jb250YWN0LXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi10b3A6IC0yMHB4O1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbiNjb250YWN0LWRldGFpbHMge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cGFkZGluZzogMC42MjVlbSAxLjg3NWVtIDEuMjVlbTtcblx0YmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpO1xuXHR0b3A6IDkwcHg7XG5cdHJpZ2h0OiA1JTtcblx0d2lkdGg6IDI3NXB4O1xuXHRib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiKDE1MywgMTUzLCAxNTMpO1xuXHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuXHRmb250LXdlaWdodDogMzAwO1xufVxuXG4jY29udGFjdC1kZXRhaWxzIGRpdiB7XG5cdGJhY2tncm91bmQ6IHJnYigxNCwgMTE4LCAxODkpO1xuXHRjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuXHR3aWR0aDogMjk1cHg7XG5cdG1hcmdpbi1sZWZ0OiAtMS44NzVlbTtcblx0cGFkZGluZzogMC42MjVlbSAxLjI1ZW07XG5cdG1hcmdpbi10b3A6IC0wLjYyNWVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNjb250YWN0LWRldGFpbHMgZGl2IGgxIHtcblx0Y29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcblx0bWFyZ2luOiAwO1xufVxuXG4jY29udGFjdC1kZXRhaWxzIGRpdiBwIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiA4MCU7XG5cdG1hcmdpbjogMC4zMTI1ZW0gYXV0bztcbn1cblxuI2NvbnRhY3QtZGV0YWlscyBhZGRyZXNzIHtcblx0Y29sb3I6IHJnYig1MSwgNTEsIDUxKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAxLjEyNWVtO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmZpZWxkc2V0IHtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmZpZWxkc2V0IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5maWVsZHNldCAucGVyc29uOmZpcnN0LWNoaWxkIHtcblx0d2lkdGg6IDEwMHB4O1xufVxuXG5maWVsZHNldCAucGVyc29uIHtcblx0d2lkdGg6IDIzMHB4O1xufVxuXG5maWVsZHNldCAubGVmdCxcbmZpZWxkc2V0IC5yaWdodCB7XG5cdHdpZHRoOiAzMDBweDtcbn1cblxuZmllbGRzZXQgLmZ1bGwgaW5wdXQge1xuICAgIHdpZHRoOiA2MThweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMS4yNWVtIDA7XG59XG5cbmZpZWxkc2V0IC5mdWxsLmNoZWNrYm94T3JkZXIge1xuICAgIG1hcmdpbjogMCAwIDAuNjI1ZW07XG59XG5cbmZpZWxkc2V0IC5mdWxsIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICBvcmRlcjogMTtcbn1cblxuZmllbGRzZXQgLmZ1bGwuY2hlY2tib3hPcmRlciBsYWJlbCB7XG4gICAgb3JkZXI6IDI7XG59XG5cbmZpZWxkc2V0IC5wZXJzb24ucHVzaFJpZ2h0IHtcblx0bWFyZ2luOiAwIDEuNTYyNWVtIDAgMDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5maWVsZHNldCAucGVyc29uICB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuZmllbGRzZXQgaW5wdXQsIGZpZWxkc2V0IHRleHRhcmVhIHtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2IoMjA0LCAyMDQsIDIwNCk7XG5cdHBhZGRpbmc6IDAuNWVtO1xufVxuXG5maWVsZHNldCBpbnB1dFt0eXBlPXN1Ym1pdF0sIGZpZWxkc2V0LnN1Ym1pdCBidXR0b24ge1xuXHR3aWR0aDogNzVweDtcblx0YmFja2dyb3VuZDogcmdiKDE0LCAxMTgsIDE4OSk7XG5cdGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG5cdGJvcmRlcjogbm9uZTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5maWVsZHNldCBpbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIsIGZpZWxkc2V0LnN1Ym1pdCBidXR0b246aG92ZXIge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQ6IHJnYigyNDAsIDg5LCA0Mik7XG59XG5cbmZpZWxkc2V0LnN1Ym1pdCBidXR0b24ge1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbmZvb3RlciB7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTIsIDU1LCA2NCk7XG59XG5cbmZvb3RlciAuZm9vdGVyU2VjdGlvbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5mb290ZXIgLmZvb3RlclNlY3Rpb25zIHAge1xuICAgIG1hcmdpbjogMCAwIDEuNDg1ZW07XG59XG5cbmZvb3RlciBoMSB7XG4gICAgZm9udC1zaXplOiAxMTIuNSU7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBtYXJnaW46IDAgMCAxLjI1ZW07XG59XG5cbmZvb3RlciBoMSBhIHtcbiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xufVxuXG5mb290ZXIgaDEgYTpob3ZlciB7XG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuZm9vdGVyIHVsIGxpIHtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVlbTtcbn1cblxuZm9vdGVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxNDVweDtcbn1cblxuZm9vdGVyIC5jb21wYW55SW5mbyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmZvb3RlciAuY29tcGFueUluZm8gcCB7XG4gICAgd2lkdGg6IDc5LjUlO1xuICAgIG1hcmdpbjogMCAwIDAuOTM3NWVtO1xufVxuXG5mb290ZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE0NXB4O1xufVxuXG5mb290ZXIgLmNvbXBhbnlJbmZvIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuZm9vdGVyIC5jb21wYW55SW5mbyBwIHtcbiAgICB3aWR0aDogNzkuNSU7XG59XG5cbmJvZHkucGFnZS0yICNzbGlkZUhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2l0LXN1cHBvcnQuanBnXCIpO1xufVxuXG5ib2R5LnBhZ2UtMyAjc2xpZGVIZWFkZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9waG9uZXMtYnJvYWRiYW5kLmpwZ1wiKTtcbn1cblxuYm9keS5wYWdlLTYgI3NsaWRlSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvd2ViLWRlc2lnbi1kZXYuanBnXCIpO1xufVxuXG5ib2R5LnBhZ2UtNyAjc2xpZGVIZWFkZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9idXNpbmVzcy1kYXRhLXRvb2xraXQuanBnXCIpO1xufVxuXG5ib2R5LnBhZ2UtOCAjc2xpZGVIZWFkZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hYm91dC5qcGdcIik7XG59XG5cbmJvZHkucGFnZS05ICNzbGlkZUhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3doeS11cy5qcGdcIik7XG59XG5cbiIsIlxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMSlcbmFuZCAobWF4LXdpZHRoOiAxNDUwcHgpLFxub25seSBzY3JlZW5cbmFuZCAoLW1pbi1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxKVxuYW5kIChtYXgtd2lkdGg6IDE0NTBweCksXG5vbmx5IHNjcmVlblxuYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLzEpXG5hbmQgKG1heC13aWR0aDogMTQ1MHB4KSxcbm9ubHkgc2NyZWVuXG5hbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEpXG5hbmQgKG1heC13aWR0aDogMTQ1MHB4KSxcbm9ubHkgc2NyZWVuXG5hbmQgKGluLXJlc29sdXRpb246IDcyZHBpKVxuYW5kIChtYXgtd2lkdGg6IDE0NTBweCksXG5vbmx5IHNjcmVlblxuYW5kIChtaW4tcmVzb2x1dGlvbjogMWRwcHgpXG5hbmQgKG1heC13aWR0aDogMTQ1MHB4KSxcbm9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogMTQ1MHB4KSB7XG4gICAgLnNsaWRlc2hvdywgI3NsaWRlSGVhZGVyLCAjc2xpZGVIZWFkZXI6YmVmb3JlLCAjc2xpZGVIZWFkZXI6YWZ0ZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMSlcbmFuZCAobWF4LXdpZHRoOiAxMjgwcHgpLFxub25seSBzY3JlZW5cbmFuZCAoLW1pbi1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxKVxuYW5kIChtYXgtd2lkdGg6IDEyODBweCksXG5vbmx5IHNjcmVlblxuYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLzEpXG5hbmQgKG1heC13aWR0aDogMTI4MHB4KSxcbm9ubHkgc2NyZWVuXG5hbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEpXG5hbmQgKG1heC13aWR0aDogMTI4MHB4KSxcbm9ubHkgc2NyZWVuXG5hbmQgKGluLXJlc29sdXRpb246IDcyZHBpKVxuYW5kIChtYXgtd2lkdGg6IDEyODBweCksXG5vbmx5IHNjcmVlblxuYW5kIChtaW4tcmVzb2x1dGlvbjogMWRwcHgpXG5hbmQgKG1heC13aWR0aDogMTI4MHB4KSxcbm9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuc2xpZGVzaG93LCAjc2xpZGVIZWFkZXIsICNzbGlkZUhlYWRlcjpiZWZvcmUsICNzbGlkZUhlYWRlcjphZnRlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxKVxuYW5kIChtYXgtd2lkdGg6IDEwNTBweCksXG5vbmx5IHNjcmVlblxuYW5kICgtbWluLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEpXG5hbmQgKG1heC13aWR0aDogMTA1MHB4KSxcbm9ubHkgc2NyZWVuXG5hbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEvMSlcbmFuZCAobWF4LXdpZHRoOiAxMDUwcHgpLFxub25seSBzY3JlZW5cbmFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMSlcbmFuZCAobWF4LXdpZHRoOiAxMDUwcHgpLFxub25seSBzY3JlZW5cbmFuZCAoaW4tcmVzb2x1dGlvbjogNzJkcGkpXG5hbmQgKG1heC13aWR0aDogMTA1MHB4KSxcbm9ubHkgc2NyZWVuXG5hbmQgKG1pbi1yZXNvbHV0aW9uOiAxZHBweClcbmFuZCAobWF4LXdpZHRoOiAxMDUwcHgpLFxub25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAxMDUwcHgpIHtcbiAgICBib2R5IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40NWVtO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IDEuMDVlbTtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuXG4gICAgLnNsaWRlc2hvdywgI3NsaWRlSGVhZGVyLCAjc2xpZGVIZWFkZXI6YmVmb3JlLCAjc2xpZGVIZWFkZXI6YWZ0ZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMjBweDtcbiAgICB9XG5cbiAgICAuc2xpZGVzaG93IC5zbGlkZSAub3ZlcmxheSB7XG4gICAgICAgIGxlZnQ6IDUlO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxKVxuYW5kIChtYXgtd2lkdGg6IDkyMHB4KSxcbm9ubHkgc2NyZWVuXG5hbmQgKC1taW4tbW96LWRldmljZS1waXhlbC1yYXRpbzogMSlcbmFuZCAobWF4LXdpZHRoOiA5MjBweCksXG5vbmx5IHNjcmVlblxuYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLzEpXG5hbmQgKG1heC13aWR0aDogOTIwcHgpLFxub25seSBzY3JlZW5cbmFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMSlcbmFuZCAobWF4LXdpZHRoOiA5MjBweCksXG5vbmx5IHNjcmVlblxuYW5kIChpbi1yZXNvbHV0aW9uOiA3MmRwaSlcbmFuZCAobWF4LXdpZHRoOiA5MjBweCksXG5vbmx5IHNjcmVlblxuYW5kIChtaW4tcmVzb2x1dGlvbjogMWRwcHgpXG5hbmQgKG1heC13aWR0aDogOTIwcHgpLFxub25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiA5MjBweCkge1xuICAgIC5zbGlkZXNob3csICNzbGlkZUhlYWRlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgIH1cblxuICAgIC5zbGlkZXNob3c6YmVmb3JlLCAuc2xpZGVzaG93OmFmdGVyLCAjc2xpZGVIZWFkZXI6YmVmb3JlLCAjc2xpZGVIZWFkZXI6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zbGlkZXNob3cgLnNsaWRlLCAjc2xpZGVIZWFkZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAuc2xpZGVzaG93IC5zbGlkZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnNsaWRlc2hvdyAuc2xpZGUgLm92ZXJsYXkge1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICAuc2FsZVBvaW50cyB7XG4gICAgICAgIHdpZHRoOiAzMSU7XG4gICAgfVxufVxuXG5cbi8qIFBvcnRyYWl0IGRldmljZXMgKGFuZCBsYW5kc2NhcGUgbW9iaWxlcykgLSBnZW5lcmFsIHN0eWxpbmcgKi9cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEpXG5hbmQgKG1heC13aWR0aDogODAwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kICgtbWluLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEpXG5hbmQgKG1heC13aWR0aDogODAwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLzEpXG5hbmQgKG1heC13aWR0aDogODAwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxKVxuYW5kIChtYXgtd2lkdGg6IDgwMHB4KVxuYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpLFxub25seSBzY3JlZW5cbmFuZCAoaW4tcmVzb2x1dGlvbjogNzJkcGkpXG5hbmQgKG1heC13aWR0aDogODAwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kIChtaW4tcmVzb2x1dGlvbjogMWRwcHgpXG5hbmQgKG1heC13aWR0aDogODAwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6IDgwMHB4KVxuYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpLFxub25seSBzY3JlZW5cbmFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxKVxuYW5kIChtYXgtd2lkdGg6IDc2OHB4KVxuYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuXG5hbmQgKC1taW4tbW96LWRldmljZS1waXhlbC1yYXRpbzogMSlcbmFuZCAobWF4LXdpZHRoOiA3NjhweClcbmFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlblxuYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLzEpXG5hbmQgKG1heC13aWR0aDogNzY4cHgpXG5hbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW5cbmFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMSlcbmFuZCAobWF4LXdpZHRoOiA3NjhweClcbmFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlblxuYW5kIChpbi1yZXNvbHV0aW9uOiA3MmRwaSlcbmFuZCAobWF4LXdpZHRoOiA3NjhweClcbmFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlblxuYW5kIChtaW4tcmVzb2x1dGlvbjogMWRwcHgpXG5hbmQgKG1heC13aWR0aDogNzY4cHgpXG5hbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiA3NjhweClcbmFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIGJvZHkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgI2hlYWRlclJpZ2h0IG5hdiB1bCwgLnNpZ251cCwgLmJsb2dDb250ZW50SW1nTGVmdCwgLmJsb2dDb250ZW50SW1nUmlnaHQge1xuICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC1tb3otZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnNsaWRlc2hvdywgI3NsaWRlSGVhZGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMTEwcHg7XG4gICAgfVxuXG4gICAgLnNsaWRlc2hvdyAuc2xpZGUge1xuICAgICAgICB3aWR0aDogMTI1JTtcbiAgICAgICAgbGVmdDogLTI1JTtcbiAgICB9XG5cbiAgICAuc2xpZGVzaG93IC5zbGlkZSAub3ZlcmxheSB7XG4gICAgICAgIGxlZnQ6IDI1JTtcbiAgICB9XG5cbiAgICAuc2xpZGUgLm92ZXJsYXkgaDEge1xuICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAubG9nbyBpbWcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgICNoZWFkZXJSaWdodCAjaGVhZGVyQ29udGFjdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI2hlYWRlclJpZ2h0IG5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgcmlnaHQ6IDEuNSU7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiKDI1NSwgMjU1LCAyNTUpIDAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgNSUsIHJnYigxNCwgMTE4LCAxODkpIDUlLCByZ2IoMTQsIDExOCwgMTg5KSAyNSUsIHJnYigyNTUsIDI1NSwgMjU1KSAyNSUsIHJnYigyNTUsIDI1NSwgMjU1KSA0MCUsIHJnYigxNCwgMTE4LCAxODkpIDQwJSwgcmdiKDE0LCAxMTgsIDE4OSkgNjAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgNjAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgNzUlLCByZ2IoMTQsIDExOCwgMTg5KSA3NSUsIHJnYigxNCwgMTE4LCAxODkpIDk1JSwgcmdiKDI1NSwgMjU1LCAyNTUpIDk1JSwgcmdiKDI1NSwgMjU1LCAyNTUpIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYigyNTUsIDI1NSwgMjU1KSAwJSwgcmdiKDI1NSwgMjU1LCAyNTUpIDUlLCByZ2IoMTQsIDExOCwgMTg5KSA1JSwgcmdiKDE0LCAxMTgsIDE4OSkgMjUlLCByZ2IoMjU1LCAyNTUsIDI1NSkgMjUlLCByZ2IoMjU1LCAyNTUsIDI1NSkgNDAlLCByZ2IoMTQsIDExOCwgMTg5KSA0MCUsIHJnYigxNCwgMTE4LCAxODkpIDYwJSwgcmdiKDI1NSwgMjU1LCAyNTUpIDYwJSwgcmdiKDI1NSwgMjU1LCAyNTUpIDc1JSwgcmdiKDE0LCAxMTgsIDE4OSkgNzUlLCByZ2IoMTQsIDExOCwgMTg5KSA5NSUsIHJnYigyNTUsIDI1NSwgMjU1KSA5NSUsIHJnYigyNTUsIDI1NSwgMjU1KSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiKDI1NSwgMjU1LCAyNTUpIDAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgNSUsIHJnYigxNCwgMTE4LCAxODkpIDUlLCByZ2IoMTQsIDExOCwgMTg5KSAyNSUsIHJnYigyNTUsIDI1NSwgMjU1KSAyNSUsIHJnYigyNTUsIDI1NSwgMjU1KSA0MCUsIHJnYigxNCwgMTE4LCAxODkpIDQwJSwgcmdiKDE0LCAxMTgsIDE4OSkgNjAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgNjAlLCByZ2IoMjU1LCAyNTUsIDI1NSkgNzUlLCByZ2IoMTQsIDExOCwgMTg5KSA3NSUsIHJnYigxNCwgMTE4LCAxODkpIDk1JSwgcmdiKDI1NSwgMjU1LCAyNTUpIDk1JSwgcmdiKDI1NSwgMjU1LCAyNTUpIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2IoMjU1LCAyNTUsIDI1NSkgMCUsIHJnYigyNTUsIDI1NSwgMjU1KSA1JSwgcmdiKDE0LCAxMTgsIDE4OSkgNSUsIHJnYigxNCwgMTE4LCAxODkpIDI1JSwgcmdiKDI1NSwgMjU1LCAyNTUpIDI1JSwgcmdiKDI1NSwgMjU1LCAyNTUpIDQwJSwgcmdiKDE0LCAxMTgsIDE4OSkgNDAlLCByZ2IoMTQsIDExOCwgMTg5KSA2MCUsIHJnYigyNTUsIDI1NSwgMjU1KSA2MCUsIHJnYigyNTUsIDI1NSwgMjU1KSA3NSUsIHJnYigxNCwgMTE4LCAxODkpIDc1JSwgcmdiKDE0LCAxMTgsIDE4OSkgOTUlLCByZ2IoMjU1LCAyNTUsIDI1NSkgOTUlLCByZ2IoMjU1LCAyNTUsIDI1NSkgMTAwJSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG5cbiAgICBoZWFkZXIgI21lbnVPcGVuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgei1pbmRleDogMzI7XG4gICAgfVxuXG4gICAgI2hlYWRlclJpZ2h0IG5hdiB1bCB7XG4gICAgICAgIHdpZHRoOiA0MHZ3O1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTVweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHJpZ2h0OiAtMS41dnc7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgICAgICBib3gtc2hhZG93OiAxcHggMnB4IDJweCByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWF4LWhlaWdodDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0O1xuICAgICAgICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWF4LWhlaWdodDtcbiAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWF4LWhlaWdodDtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWF4LWhlaWdodDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgICAgICAgLW1zLXRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICAgICAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgLW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDUwO1xuICAgIH1cblxuICAgICNoZWFkZXJSaWdodCBuYXYgdWwub3Blbk1lbnUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNWVtO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICNoZWFkZXJSaWdodCBuYXYgdWwgbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHJnYigxNCwgMTE4LCAxODkpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgI2hlYWRlclJpZ2h0IG5hdiB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBoZWFkZXIuc3RpY2t5IC5sb2dvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IC01cHg7XG4gICAgfVxuXG4gICAgaGVhZGVyLnN0aWNreSAjaGVhZGVyUmlnaHQgbmF2IHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIHRvcDogMi41cHg7XG4gICAgfVxuXG4gICAgaGVhZGVyLnN0aWNreSAjaGVhZGVyUmlnaHQgbmF2IHVsIHtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgIH1cblxuICAgIC5zYWxlUG9pbnRzIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgbWFyZ2luOiAwLjcxNGVtIDA7XG4gICAgfVxuXG4gICAgLnNpZ251cEhlYWRlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVlbSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cblxuICAgIC5zaWdudXBDb250ZW50IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNWVtKTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLypmaWVsZHNldCBpbnB1dCwgZmllbGRzZXQgLmxlZnQsIGZpZWxkc2V0IC5yaWdodCwgZmllbGRzZXQgLnBlcnNvbi5wdXNoUmlnaHQ6Zmlyc3QtY2hpbGQsIGZpZWxkc2V0IC5wZXJzb24ucHVzaFJpZ2h0LCBmaWVsZHNldCAucGVyc29uLCBmaWVsZHNldCAuZnVsbCBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgIH0qL1xuXG4gICAgZmllbGRzZXQgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjI1ZW0gLTAuNmVtIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBmb290ZXIgLmZvb3RlclNlY3Rpb25zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgZm9vdGVyIC5jb21wYW55SW5mbyBwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRlYW1NZW1iZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmJsb2dDb250ZW50SW1nTGVmdCBpbWcsIC5ibG9nQ29udGVudEltZ1JpZ2h0IGltZyB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYmxvZ0NvbnRlbnRJbWdMZWZ0IGltZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLmJsb2dDb250ZW50SW1nUmlnaHQgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEpXG5hbmQgKG1heC13aWR0aDogNjgwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kICgtbWluLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEpXG5hbmQgKG1heC13aWR0aDogNjgwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLzEpXG5hbmQgKG1heC13aWR0aDogNjgwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxKVxuYW5kIChtYXgtd2lkdGg6IDY4MHB4KVxuYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpLFxub25seSBzY3JlZW5cbmFuZCAoaW4tcmVzb2x1dGlvbjogNzJkcGkpXG5hbmQgKG1heC13aWR0aDogNjgwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kIChtaW4tcmVzb2x1dGlvbjogMWRwcHgpXG5hbmQgKG1heC13aWR0aDogNjgwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG5vbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6IDY4MHB4KVxuYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpLFxub25seSBzY3JlZW5cbmFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxKVxuYW5kIChtYXgtd2lkdGg6IDY4MHB4KVxuYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSxcbm9ubHkgc2NyZWVuXG5hbmQgKC1taW4tbW96LWRldmljZS1waXhlbC1yYXRpbzogMSlcbmFuZCAobWF4LXdpZHRoOiA2ODBweClcbmFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlblxuYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLzEpXG5hbmQgKG1heC13aWR0aDogNjgwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW5cbmFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMSlcbmFuZCAobWF4LXdpZHRoOiA2ODBweClcbmFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlblxuYW5kIChpbi1yZXNvbHV0aW9uOiA3MmRwaSlcbmFuZCAobWF4LXdpZHRoOiA2ODBweClcbmFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksXG5vbmx5IHNjcmVlblxuYW5kIChtaW4tcmVzb2x1dGlvbjogMWRwcHgpXG5hbmQgKG1heC13aWR0aDogNjgwcHgpXG5hbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLFxub25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiA2ODBweClcbmFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zbGlkZXNob3csICNzbGlkZUhlYWRlciwgI3NsaWRlSGVhZGVyOmJlZm9yZSwgI3NsaWRlSGVhZGVyOmFmdGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICB9XG5cbiAgICAjc2xpZGVPcGVuaW5nIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICBsZWZ0OiA1JTtcbiAgICB9XG5cbiAgICAuc2xpZGUgLm92ZXJsYXkgaDIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIjpyb290IHtcbiAgICAtLXNsaWRlLXRleHQtc2hhZG93OiAycHggMnB4IDhweCBibGFjaztcbiAgICAtLXNsaWRlLXRleHQtY29sb3I6IHdoaXRlO1xufVxuXG4jc2xpZGVPcGVuaW5nIHtcbiAgICBoMSwgaDIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2xpZGUtdGV4dC1jb2xvcik7XG4gICAgICAgIHRleHQtc2hhZG93OiB2YXIoLS1zbGlkZS10ZXh0LXNoYWRvdyk7XG4gICAgfVxufVxuIiwiZm9ybVtuYW1lPVwiY29udGFjdEZvcm1fMVwiXSB7XG4gICAgZmllbGRzZXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xuXG4gICAgICAgICAgICAubGVmdCwgLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG59XG5cbkBtZWRpYSh3aWR0aCA8PSA3NjhweCkge1xuXG4gICAgZm9ybVtuYW1lPVwiY29udGFjdEZvcm1fMVwiXSB7XG4gICAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC5sZWZ0LCAucmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/