/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/home.css ***!
  \***************************************************************************************************************/
/* assets/styles/home.css */

/* Import Font Awesome */

:root {
    --primary-color: #4361ee;
    --primary-dark: #3a56d4;
    --personal-finance-color: #ff6b35;
    --forex-color: #ff6b35;
    --crypto-color: #16a085;
    --stocks-color: #10b981;
    --retirement-color: #6c5ce7;
    --real-estate-color: #e17055;
    --tax-smart-color: #2c3e50;
    --fire-color: #00b894;
    --bonds-color: #f39c12;
    --psychology-color: #8e44ad;
    --credit-color: #e67e22;
    --career-color: #9c88ff;          /* new career roadmap color */
    --dark-color: #1a202c;
    --light-color: #f7fafc;
    --gray-color: #718096;
    --light-gray: #e2e8f0;
    --card-bg: #ffffff;
    --shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --transition: all 0.3s ease;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    color: var(--dark-color);
    background-color: var(--light-color);
    overflow-x: hidden;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Hero Section */
.hero {
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
    color: white;
    padding: 80px 0 60px;
    text-align: center;
    border-radius: 0 0 20px 20px;
    margin-bottom: 40px;
}

.hero-content {
    max-width: 900px;
    margin: 0 auto;
}

.hero h1 {
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 15px;
    line-height: 1.2;
}

.hero-highlight {
    color: var(--primary-color);
    position: relative;
    display: inline-block;
}

.hero-highlight:after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 10px;
    background-color: rgba(67, 97, 238, 0.2);
    z-index: -1;
}

.hero-subtitle {
    font-size: 1.5rem;
    color: #cbd5e0;
    margin-bottom: 30px;
    font-weight: 300;
}

.hero-description {
    font-size: 1.1rem;
    color: #a0aec0;
    max-width: 700px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

/* Journey Stats */
.journey-stats {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 50px;
}

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

.stat-number {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--primary-color);
    margin-bottom: 5px;
}

.stat-label {
    font-size: 0.9rem;
    color: #cbd5e0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Buttons */
.cta-button {
    display: inline-block;
    padding: 16px 32px;
    background-color: var(--primary-color);
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.1rem;
    margin: 0 10px 15px;
    transition: var(--transition);
    border: none;
    cursor: pointer;
}

.cta-button:hover {
    background-color: var(--primary-dark);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(67, 97, 238, 0.3);
}

.cta-button.secondary {
    background-color: transparent;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
}

.cta-button.secondary:hover {
    background-color: rgba(67, 97, 238, 0.1);
}

/* Roadmap Grid */
.roadmap-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin: 60px 0;
}

.roadmap-card {
    background-color: var(--card-bg);
    border-radius: 15px;
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: var(--transition);
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
}

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

.card-header {
    padding: 30px 30px 20px;
    position: relative;
}

.card-icon {
    font-size: 2.5rem;
    margin-bottom: 20px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.personal-finance .card-icon { background-color: var(--personal-finance-color); }
.forex .card-icon { background-color: var(--forex-color); }
.crypto .card-icon { background-color: var(--crypto-color); }
.stocks .card-icon { background-color: var(--stocks-color); }
.retirement .card-icon { background-color: var(--retirement-color); }
.real-estate .card-icon { background-color: var(--real-estate-color); }
.tax-smart .card-icon { background-color: var(--tax-smart-color); }
.fire .card-icon { background-color: var(--fire-color); }
.bonds .card-icon { background-color: var(--bonds-color); }
.psychology .card-icon { background-color: var(--psychology-color); }
.credit .card-icon { background-color: var(--credit-color); }
.career .card-icon { background-color: var(--career-color); }   /* new */

.card-title {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.card-subtitle {
    font-size: 1rem;
    color: var(--gray-color);
    margin-bottom: 20px;
}

.card-tag {
    display: inline-block;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.personal-finance .card-tag { background-color: rgba(255, 107, 53, 0.1); color: var(--personal-finance-color); }
.forex .card-tag { background-color: rgba(255, 107, 53, 0.1); color: var(--forex-color); }
.crypto .card-tag { background-color: rgba(22, 160, 133, 0.1); color: var(--crypto-color); }
.stocks .card-tag { background-color: rgba(16, 185, 129, 0.1); color: var(--stocks-color); }
.retirement .card-tag { background-color: rgba(108, 92, 231, 0.1); color: var(--retirement-color); }
.real-estate .card-tag { background-color: rgba(225, 112, 85, 0.1); color: var(--real-estate-color); }
.tax-smart .card-tag { background-color: rgba(44, 62, 80, 0.1); color: var(--tax-smart-color); }
.fire .card-tag { background-color: rgba(0, 184, 148, 0.1); color: var(--fire-color); }
.bonds .card-tag { background-color: rgba(243, 156, 18, 0.1); color: var(--bonds-color); }
.psychology .card-tag { background-color: rgba(142, 68, 173, 0.1); color: var(--psychology-color); }
.credit .card-tag { background-color: rgba(230, 126, 34, 0.1); color: var(--credit-color); }
.career .card-tag { background-color: rgba(156, 136, 255, 0.1); color: var(--career-color); }  /* new */

.card-content {
    padding: 0 30px 30px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.card-description {
    color: var(--gray-color);
    margin-bottom: 25px;
    flex-grow: 1;
}

.card-features {
    list-style-type: none;
    margin-bottom: 30px;
}

.card-features li {
    padding: 8px 0;
    color: var(--dark-color);
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    display: flex;
    align-items: flex-start;
}

.card-features li:last-child {
    border-bottom: none;
}

.card-features li i {
    margin-right: 10px;
    color: var(--primary-color);
    flex-shrink: 0;
    margin-top: 3px;
}

.card-button {
    display: block;
    text-align: center;
    padding: 14px 20px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    transition: var(--transition);
    margin-top: auto;
}

.personal-finance .card-button { background-color: var(--personal-finance-color); color: white; }
.forex .card-button { background-color: var(--forex-color); color: white; }
.crypto .card-button { background-color: var(--crypto-color); color: white; }
.stocks .card-button { background-color: var(--stocks-color); color: white; }
.retirement .card-button { background-color: var(--retirement-color); color: white; }
.real-estate .card-button { background-color: var(--real-estate-color); color: white; }
.tax-smart .card-button { background-color: var(--tax-smart-color); color: white; }
.fire .card-button { background-color: var(--fire-color); color: white; }
.bonds .card-button { background-color: var(--bonds-color); color: white; }
.psychology .card-button { background-color: var(--psychology-color); color: white; }
.credit .card-button { background-color: var(--credit-color); color: white; }
.career .card-button { background-color: var(--career-color); color: white; }   /* new */

.card-button:hover {
    filter: brightness(0.9);
}

/* How It Works Section */
.how-it-works {
    background-color: #f8fafc;
    border-radius: 15px;
    padding: 60px 40px;
    margin: 80px 0;
    text-align: center;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 20px;
    color: var(--dark-color);
    text-align: center;
}

.section-subtitle {
    font-size: 1.2rem;
    color: var(--gray-color);
    max-width: 700px;
    margin: 0 auto 50px;
    text-align: center;
}

.steps-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 40px;
    position: relative;
}

.steps-container:before {
    content: '';
    position: absolute;
    top: 40px;
    left: 10%;
    right: 10%;
    height: 3px;
    background-color: var(--light-gray);
    z-index: 1;
}

.step {
    flex: 1;
    min-width: 200px;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.step-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: var(--primary-color);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
    margin: 0 auto 25px;
}

.step-title {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: var(--dark-color);
}

.step-description {
    color: var(--gray-color);
}

/* Testimonials */
.testimonials {
    margin: 80px 0;
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.testimonial-card {
    background-color: var(--card-bg);
    border-radius: 15px;
    padding: 30px;
    box-shadow: var(--shadow);
}

.testimonial-text {
    font-style: italic;
    color: var(--gray-color);
    margin-bottom: 25px;
    position: relative;
}

.testimonial-text:before {
    content: '"';
    font-size: 4rem;
    color: var(--primary-color);
    opacity: 0.2;
    position: absolute;
    top: -20px;
    left: -10px;
    font-family: serif;
}

.testimonial-author {
    display: flex;
    align-items: center;
}

.author-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--light-gray);
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--primary-color);
}

.author-info h4 {
    font-weight: 700;
    margin-bottom: 5px;
}

.author-info p {
    color: var(--gray-color);
    font-size: 0.9rem;
}

/* Footer */
.footer {
    text-align: center;
    padding: 60px 20px;
    color: var(--gray-color);
    border-top: 1px solid var(--light-gray);
    margin-top: 40px;
    background-color: #f8fafc;
}

.footer-logo {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--dark-color);
    margin-bottom: 20px;
}

.footer-logo span {
    color: var(--primary-color);
}

.footer-tagline {
    font-size: 1.1rem;
    max-width: 600px;
    margin: 0 auto 40px;
}

.footer-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 40px;
}

.footer-links a {
    color: var(--dark-color);
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition);
}

.footer-links a:hover {
    color: var(--primary-color);
}

.copyright {
    font-size: 0.9rem;
    color: var(--gray-color);
}

/* Animations */
.animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.animate.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Modal overlay – fixed positioning, dark background, centered content */
.modal {
    display: none; /* hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.modal-content {
    position: relative;
    background-color: #fff;
    padding: 30px;
    border-radius: 20px;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
    z-index: 2;
    text-align: center;
}

.modal-close {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 1.8rem;
    cursor: pointer;
    color: var(--gray-color);
    line-height: 1;
}

.modal-close:hover {
    color: var(--dark-color);
}

.modal-content h2 {
    margin-bottom: 15px;
    font-size: 1.8rem;
}

.modal-content p {
    margin-bottom: 25px;
    color: var(--gray-color);
}

.modal-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.modal-actions .btn {
    margin: 0;
}

/* Global button styles for modals and interactive elements */
.modal-btn {
    display: inline-block;
    padding: 12px 24px;
    background-color: var(--primary-color);
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1rem;
    transition: var(--transition);
    border: none;
    cursor: pointer;
}

.modal-btn:hover {
    background-color: var(--primary-dark);
    transform: translateY(-2px);
}

.modal-btn-outline {
    background-color: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}

.modal-btn-outline:hover {
    background-color: rgba(67, 97, 238, 0.05);
    transform: translateY(-2px);
}
/* Responsive Design */
@media (max-width: 1200px) {
    .steps-container:before {
        left: 5%;
        right: 5%;
    }
}

/* User bar for logged-in users */
body.logged-in {
    padding-top: 36px; /* Same height as the user bar */
}

.user-name i {
    margin-right: 6px;
    vertical-align: middle;
}

/* User bar base styles */
.user-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 36px;
    background-color: #222;
    color: #ccc;
    z-index: 1000;
    font-size: 0.9rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.user-bar-content {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    padding: 0 20px;
}

.user-bar-left {
    display: flex;
    align-items: center;
}

.user-icon-mobile {
    display: none;
}

.user-name-desktop {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-links-desktop {
    display: flex;
    gap: 20px;
    align-items: center;
}

.user-links-desktop a,
.user-links-desktop .logout-button {
    color: #ccc;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0;
}

.user-links-desktop a:hover,
.user-links-desktop .logout-button:hover {
    color: #fff;
    text-decoration: underline;
}

.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    color: #ccc;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 0;
}

.mobile-menu-dropdown {
    display: none;
    position: absolute;
    top: 36px;
    left: 0;
    width: 100%;
    background-color: #333;
    color: #ccc;
    padding: 10px 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 999;
}

.mobile-menu-dropdown .mobile-user-name {
    margin-bottom: 10px;
    font-weight: 500;
}

.mobile-menu-dropdown .mobile-user-name i {
    margin-right: 6px;
}

.mobile-menu-dropdown .mobile-user-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mobile-menu-dropdown .mobile-user-links a,
.mobile-menu-dropdown .mobile-user-links .logout-button {
    color: #ccc;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    padding: 5px 0;
    text-align: left;
}

.mobile-menu-dropdown .mobile-user-links a:hover,
.mobile-menu-dropdown .mobile-user-links .logout-button:hover {
    color: #fff;
    text-decoration: underline;
}

.mobile-menu-dropdown .mobile-user-links form {
    margin: 0;
}

/* Mobile styles */
@media (max-width: 600px) {
    .user-icon-mobile {
        display: inline-block;
        font-size: 1.2rem;
        margin-right: 10px;
    }

    .user-name-desktop {
        display: none;
    }

    .user-links-desktop {
        display: none;
    }

    .mobile-menu-toggle {
        display: inline-block;
    }

    .user-bar.expanded .mobile-menu-dropdown {
        display: block;
    }
}
.user-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 36px;
    background-color: #222; /* dark background */
    color: #ccc;            /* light gray text */
    z-index: 1000;
    display: flex;
    align-items: center;
    font-size: 0.9rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.user-bar-content {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.user-name {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-links {
    display: flex;
    gap: 20px;
    align-items: center;
}

.user-links a,
.logout-button {
    color: #ccc;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0;
    font-family: inherit;
}

.user-links a:hover,
.logout-button:hover {
    color: #fff;
    text-decoration: underline;
}

/* Ensure the logout button looks like a link */
.logout-button {
    background: none;
    border: none;
    color: #ccc;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0;
}
/* User bar for logged-in users */
body.logged-in {
    padding-top: 36px; /* Same height as the user bar */
}

.user-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 36px;
    background-color: #222; /* dark background */
    color: #ccc;            /* light gray text */
    z-index: 1000;
    display: flex;
    align-items: center;
    font-size: 0.9rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.user-bar-content {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.user-name {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-links {
    display: flex;
    gap: 20px;
    align-items: center;
}

.user-links a,
.logout-button {
    color: #ccc;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0;
    font-family: inherit;
}

.user-links a:hover,
.logout-button:hover {
    color: #fff;
    text-decoration: underline;
}

/* Ensure the logout button looks like a link */
.logout-button {
    background: none;
    border: none;
    color: #ccc;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0;
}

@media (max-width: 992px) {
    .hero h1 { font-size: 2.8rem; }
    .hero-subtitle { font-size: 1.3rem; }
    .section-title { font-size: 2rem; }
    .roadmap-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
    .steps-container:before { display: none; }
    .step { margin-bottom: 40px; }
}

@media (max-width: 768px) {
    .hero { padding: 60px 0 40px; }
    .hero h1 { font-size: 2.3rem; }
    .hero-subtitle { font-size: 1.1rem; }
    .cta-button { display: block; margin: 10px auto; width: 90%; max-width: 300px; }
    .journey-stats { gap: 30px; }
    .stat-number { font-size: 2rem; }
    .how-it-works { padding: 40px 20px; }
}

@media (max-width: 576px) {
    .hero h1 { font-size: 2rem; }
    .roadmap-grid { grid-template-columns: 1fr; }
    .card-header, .card-content { padding: 25px 20px; }
    .testimonial-grid { grid-template-columns: 1fr; }
    .footer-links { flex-direction: column; gap: 15px; }
}


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