/*!*****************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./public/css/xploo_homepage.css ***!
  \*****************************************************************************************************************************************************************************************************/
/*
###############################################################################################################################################################
HOMEPAGE
###############################################################################################################################################################
*/

html, body {
    overscroll-behavior-y: contain; /* Disable the pull-to-refresh everywhere in the page */
    touch-action: unset; /* ReEnable the pull-to-refresh everywhere on iOS+Safari, else the scroll is disabled */
    overflow: unset; /* ReEnable the pull-to-refresh everywhere on iOS+Safari, else the scroll is disabled */
    scroll-behavior: smooth;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--COLOR_SURFACE_20);
}

/*
###############################################################################################################################################################
HERO SECTION
###############################################################################################################################################################
*/

#hero-section {
	position: relative;
	width: 100%;
    min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
    background: url('/images/banner/xploo-banner.jpg') no-repeat;
    background-size: cover;
    background-position: right;
	justify-content: flex-start;
	padding: 75px 20px;
    margin-top: calc(-1 * var(--HEADER_HEIGHT));
	gap: 1.5rem;
    font-family: var(--FONT-FAMILY);
    overflow: visible;
    z-index: 9;
}

/* Overlay semi-transparent */
/* #hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); 
    z-index: 1;
} */


#hero-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200px;
    /* background: var(--COLOR_SURFACE_20); */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, var(--COLOR_SURFACE_20) 100%);
    pointer-events: none;
}


#hero-section > * {
    position: relative;
    z-index: 2;
}


.hero-content-header {
    display: flex;
    flex-direction: column;
    width: 45%;
    margin-bottom: 1.5rem !important;
    gap: 10px;
}

.hero-content-header h2 {
    white-space : unset;
}


#slogan {
	text-align: center;
    font-size: calc(2rem + 1.25 * var(--RESPONSIVE-RATIO)); /* font-size: calc(1.5rem + 1.5vw); */
    line-height: calc(2.5rem + 1.5 * var(--RESPONSIVE-RATIO));  /* line-height: calc(2rem + 1.5vw); */
    /* font-size: 3rem;
    line-height: 3.56rem; */
	font-weight: bold;
	color: var(--COLOR_SURFACE_90);
	opacity: 0;
	transform: translateY(20px);
	animation: fadeInUp 0.8s ease forwards;
}

.slogan-text {
    text-align: center;
    font-size: calc(0.8rem + 0.4 * var(--RESPONSIVE-RATIO)); /* font-size: calc((1.5rem + 1.5vw) / 3); */
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*
###############################################################################################################################################################
BUTTONS
###############################################################################################################################################################
*/

.hero-buttons {
    display: flex;
    gap: 2rem;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.8s ease forwards 0.3s;
}

.btn-demo, .btn-more, .btn-why-choose-xploo, .btn-contact-us {
    font-family: var(--FONT-FAMILY);
    padding: 0.6rem 1.5rem;
    text-align: center;
    border-radius: var(--BUTTON_BORDER_RADIUS);
    border: none;
    text-decoration: none;
    color: var(--COLOR_SURFACE_90) !important;
    transition: all 0.3s ease;
    /* box-shadow: 
    inset 4px 4px 8px rgba(255, 255, 255, 0.2),
    inset -4px -4px 8px rgba(0, 0, 0, 0.2); */
}

.btn-demo, .btn-why-choose-xploo, .btn-contact-us {
    background: var(--COLOR_ACTION_50) !important;
    /* background: linear-gradient(to right, var(--COLOR_ACTION_40), var(--COLOR_ACTION_60)); */
}

.btn-demo:hover, .btn-why-choose-xploo:hover, .btn-contact-us:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px white;
    text-decoration: none;
}

.btn-more {
    background: transparent;
    border: 2px solid var(--COLOR_SURFACE_90);
}

.btn-more:hover {
    background: rgba(255, 255, 255, 0.1);
    text-decoration: none;
}

.btn-contact-us {
    margin-top: 2rem;
}

/*
###############################################################################################################################################################
RESPONSIVE BUTTONS
###############################################################################################################################################################
*/

@media screen and (max-width: 896px) {
    .hero-buttons {
        flex-direction: column;
        gap: 1.5rem;
        align-items: center;
        width: 100%;
    }

    .btn-demo, .btn-more, .btn-why-choose-xploo, .btn-contact-us {
        padding: 0.5rem 1.2rem;
        font-size: 0.9rem;
        width: 100%;
        max-width: 280px;
    }

    .btn-contact-us {
        margin-top: 1.5rem;
    }
}

@media screen and (max-width: 626px) {
    .hero-buttons {
        gap: 1rem;
    }

    .btn-demo, .btn-more, .btn-why-choose-xploo, .btn-contact-us {
        padding: 0.4rem 1rem;
        font-size: 0.8rem;
        max-width: 250px;
    }

    .btn-contact-us {
        margin-top: 1rem;
    }
}

@media screen and (max-width: 480px) {
    .btn-demo, .btn-more, .btn-why-choose-xploo, .btn-contact-us {
        padding: 0.4rem 0.8rem;
        font-size: 0.75rem;
        max-width: 180px;
    }
}

/*
###############################################################################################################################################################
PARTNERS SECTION
###############################################################################################################################################################
*/

.partners-section {
    text-align: center;
    width: 100%;
}

.partners-text {
    margin-bottom: 1.5rem;
    margin-top: 3rem;
    font-size: 1.2rem;
    color: var(--COLOR_SURFACE_90);
    font-weight: 600;
}

.partners-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 2rem;
    max-width: 1200px;
    margin: 0 auto;
    transform: scale(1.2);
}

.partner-logo {
    height: 70px;
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
    transition: transform 0.3s ease;
    margin-right: 2rem;
}

.partner-logo:hover {
    transform: scale(1.4);
}

/*
###############################################################################################################################################################
LANDING PAGE
###############################################################################################################################################################
*/

#landing-page {
	position: relative;
    width: 100%;
    background-color: var(--COLOR_SURFACE_20);
    padding: 0;
}

#landing-page h2 {
    font-size: calc(1.6rem + 1.1 * var(--RESPONSIVE-RATIO)); /* font-size: calc(1.2rem + 1.2vw); */
    overflow: unset;
    text-overflow: unset;
    white-space: unset;
}

.landing-content {
    max-width: 90%;
    margin: 0 auto;
}

.landing-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 6rem;
}

#xploo-explanation-title, #why-choose-xploo-title {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    color: var(--COLOR_SURFACE_90);
    overflow: visible;
    text-overflow: clip;
    white-space: normal;

}

#xploo-explanation-title {
    margin-top: 6rem;
    margin-bottom: 6rem;
}

.features-title-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.feature {
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 2rem;
    border-radius: var(--BUTTON_BORDER_RADIUS);
    transition: transform 0.3s ease;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.feature:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.feature h3 {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--COLOR_SURFACE_90);
    margin: 1rem 0;
    text-align: center;
}

.feature p {
    color: var(--COLOR_SURFACE_70);
    line-height: 1.6;
}

.feature-icon {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 1rem;
}

.eco-care-icon, .target-icon, .gold-coin-icon, .chart-data-icon, .sparkles-glitter-colors-icon {
    height: 4.7rem;
}

.landing-section {
    display: flex;
    align-items: center;
    gap: 4rem;
    margin-bottom: 6rem;
}

.landing-section:nth-child(even) {
    flex-direction: row-reverse;
}

.landing-section .landing-image {
    width: 40%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: var(--BUTTON_BORDER_RADIUS);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.landing-section .content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    flex: 1;
    align-items: center;
    text-align: center;
}

.landing-section .content-wrapper h3 {
    font-size: calc(1.2rem + 0.7 * var(--RESPONSIVE-RATIO)); /* calc(0.9rem + 0.9vw); */
    font-weight: 600;
    color: var(--COLOR_SURFACE_90);
    line-height: 1.3;
}

.landing-section .content-wrapper ul {
    list-style: none;
    padding-left: 1.5rem;
    margin: 0 auto;
}

.landing-section .content-wrapper ul li {
    position: relative;
    margin-bottom: 1rem;
    color: var(--COLOR_SURFACE_80);
    line-height: 1.5;
    text-align: left;
}

.landing-section .content-wrapper ul li::before {
    content: "•";
    position: absolute;
    left: -1.5rem;
    color: var(--COLOR_ACTION_40);
    font-size: 1.5rem;
    line-height: 1;
}

.trophy-image {
    height: 130px;
    width: auto;
    /* margin: 0 20px 0 20px; */
}

/*
###############################################################################################################################################################
NEWSLETTER SECTION
###############################################################################################################################################################
*/

.newsletter-section {
    background: linear-gradient(to right, var(--COLOR_ACTION_40), var(--COLOR_ACTION_60));
    padding: 4rem 2rem;
    text-align: center;
    border-radius: var(--BUTTON_BORDER_RADIUS);
}

.newsletter-section h2 {
    color: var(--COLOR_SURFACE_90);
    font-size: 2rem;
    font-weight: 600;
    /* margin-bottom: 2rem; */
}

.newsletter-section ul {
    list-style-type: disc;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
}

.newsletter-section li {
    margin: 10px 0;
}

.newsletter-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    max-width: 500px;
    margin: 0 auto;
}

.newsletter-form label {
    color: var(--COLOR_SURFACE_90);
    font-size: 1.2rem;
    font-weight: 500;
}

.newsletter-form input {
    width: 100%;
    padding: 1rem;
    border: 2px solid var(--COLOR_SURFACE_90);
    border-radius: var(--BUTTON_BORDER_RADIUS);
    background: transparent;
    color: var(--COLOR_SURFACE_90);
    font-size: 1rem;
}

.newsletter-form input::-moz-placeholder {
    color: rgba(255, 255, 255, 0.8);
}

.newsletter-form input::placeholder {
    color: rgba(255, 255, 255, 0.8);
}

.btn-prototype {
    font-family: var(--FONT-FAMILY);
    padding: 0.8rem 2rem;
    border-radius: var(--BUTTON_BORDER_RADIUS);
    font-size: 1.1rem;
    text-decoration: none;
    color: var(--COLOR_ACTION_40) !important;
    background: var(--COLOR_SURFACE_90);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 1rem;
    box-shadow: 
    inset 4px 4px 8px rgba(255, 255, 255, 0.2),
    inset -4px -4px 8px rgba(0, 0, 0, 0.2);

}

.btn-prototype:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/*
###############################################################################################################################################################
RESPONSIVE
###############################################################################################################################################################
*/

@media screen and (max-width: 896px) {
    #hero-section {
        padding-bottom: 0;
        gap: 0;
        /* min-height: unset; */
    }

.hero-content-header {
    width: 100%;
}

    #slogan {
        /* font-size: 2rem;
        line-height: 2.56rem; */
        margin: 0;
    }

    .slogan-text {
        /* font-size: 0.8rem; */
        white-space: normal;
        overflow: unset;
    }

    #xploo-explanation-title {
        margin-top: 3rem;
        margin-bottom: 3rem;
    }

    .landing-features {
        grid-template-columns: 1fr;
    }

    .feature {
        padding: 1.5rem;
    }

    .landing-features > h2 {
        font-size: 2rem;
    }

    .landing-section {
        flex-direction: column !important;
        text-align: center;
        gap: 2rem;
    }

    .landing-section .landing-image {
        width: 100%;
    }
    .partner-logo {
        height: 50px;
    }
    .trophy-image {
        height: 95px;
    }
}

@media (max-width: 768px) {
    .partners-text {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 480px) {
    #hero-section {
        background-position: center center;
    }
}

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