/*!**********************************************************************************************************************************************************************************************************!*\
  !*** 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_forms_unified.css ***!
  \**********************************************************************************************************************************************************************************************************/
/*
###############################################################################################################################################################
UNIFIED FORMS STYLES - XPLOO
Styles cohérents pour tous les formulaires (login, demo, contact)
Compatible avec tous les navigateurs et modes (sombre/clair)
100% responsive
Utilise des sélecteurs spécifiques pour éviter les conflits
###############################################################################################################################################################
*/

/*
###############################################################################################################################################################
BASE FORM STYLES
###############################################################################################################################################################
*/

/* Spécifique aux pages de formulaires */
.login-page.xploo-form-page,
.demo-page.xploo-form-page,
.contact-page.xploo-form-page,
.edit-password-page.xploo-form-page {
    display: flex;
    min-height: 80vh;
    padding: 2rem 0;
    font-family: var(--FONT-FAMILY);
}

.login-container.xploo-form-container,
.demo-container.xploo-form-container,
.contact-container.xploo-form-container,
.edit-password-container.xploo-form-container {
    display: flex;
    flex-direction: column;
    width: var(--FORM_CONTAINER_WIDTH);
    max-width: 800px;
    margin: 0 auto;
    box-shadow: var(--FORM_CONTAINER_SHADOW);
    border-radius: var(--FORM_CONTAINER_BORDER_RADIUS);
    overflow: hidden;
    background: var(--FORM_CONTAINER_BACKGROUND);
}

/*
###############################################################################################################################################################
FORM HEADERS
###############################################################################################################################################################
*/

.login-header.xploo-form-header,
.demo-header.xploo-form-header,
.contact-image.xploo-form-header,
.edit-password-header.xploo-form-header {
    background: var(--COLOR_SURFACE_30);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--FORM_HEADER_PADDING);
    color: var(--FORM_HEADER_TEXT_COLOR);
    text-align: center;
    overflow: hidden;
}

.xploo-form-header-content {
    position: relative;
    z-index: 2;
    animation: fadeIn var(--FORM_ANIMATION_DURATION) ease-out var(--FORM_ANIMATION_DELAY) both;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.xploo-form-header h1,
.xploo-form-header h2 {
    font-size: var(--FORM_HEADER_TITLE_SIZE);
    margin-bottom: 1rem;
    font-weight: 700;
    color: var(--FORM_HEADER_TEXT_COLOR);
    text-align: center;
}

.xploo-form-header p {
    font-size: var(--FORM_HEADER_SUBTITLE_SIZE);
    /* max-width: 80%; */
    margin: 10px;
    text-align: center;
}

/*
###############################################################################################################################################################
FORM CONTENT AREA
###############################################################################################################################################################
*/

.login-form-container.xploo-form-content,
.demo-form-container.xploo-form-content,
.contact-form-container.xploo-form-content,
.edit-password-form-container.xploo-form-content {
    /* padding: var(--FORM_CONTAINER_PADDING); */
    display: flex;
    flex-direction: column;
    justify-content: center;
    animation: fadeIn var(--FORM_ANIMATION_DURATION) ease-out forwards;
}

.login-form.xploo-form,
.demo-form.xploo-form,
.contact-form.xploo-form,
.edit-password-form.xploo-form {
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
}

/*
###############################################################################################################################################################
FORM FIELDS
###############################################################################################################################################################
*/

.xploo-form-page .xploo-form-field,
.xploo-form-page .form-outline {
    margin-bottom: var(--FORM_FIELD_MARGIN_BOTTOM);
    position: relative;
}

.xploo-form-page .xploo-form-label,
.xploo-form-page .form-outline label {
    display: block;
    margin-bottom: var(--FORM_LABEL_MARGIN_BOTTOM);
    color: var(--FORM_LABEL_COLOR);
    font-weight: var(--FORM_LABEL_FONT_WEIGHT);
    font-size: var(--FORM_LABEL_FONT_SIZE);
}

/*
###############################################################################################################################################################
FORM INPUTS
###############################################################################################################################################################
*/

.xploo-form-page .xploo-form-input,
.xploo-form-page .form-control {
    width: 100%;
    padding: var(--FORM_INPUT_PADDING);
    border: 2px solid var(--FORM_INPUT_BORDER_COLOR) !important;
    border-radius: var(--FORM_INPUT_BORDER_RADIUS) !important;
    font-size: var(--FORM_INPUT_FONT_SIZE);
    transition: all var(--FORM_TRANSITION_DURATION) ease;
    background-color: var(--FORM_INPUT_BACKGROUND) !important;
    color: var(--FORM_INPUT_TEXT_COLOR);
    box-shadow: var(--FORM_INPUT_SHADOW);
    font-family: inherit;
    outline: none;
    box-sizing: border-box;
}

.xploo-form-page .xploo-form-input:focus,
.xploo-form-page .form-control:focus {
    border-color: var(--FORM_INPUT_BORDER_COLOR_FOCUS) !important;
    box-shadow: var(--FORM_INPUT_SHADOW_FOCUS) !important;
    background-color: var(--FORM_INPUT_BACKGROUND) !important;
}

.xploo-form-page .xploo-form-input:hover,
.xploo-form-page .form-control:hover {
    background-color: rgba(255, 255, 255, 0.95);
}

/*
###############################################################################################################################################################
INPUT WITH ICON
###############################################################################################################################################################
*/

.xploo-form-page .xploo-form-input-container,
.xploo-form-page .input-with-icon {
    position: relative;
    width: 100%;
}

.xploo-form-page .xploo-form-input-container .xploo-form-input,
.xploo-form-page .input-with-icon .form-control {
    padding-left: 45px;
}

.xploo-form-page .xploo-form-icon,
.xploo-form-page .input-with-icon i {
    position: absolute;
    left: var(--FORM_ICON_POSITION_LEFT);
    top: 50%;
    transform: translateY(-50%);
    color: var(--FORM_ICON_COLOR);
    opacity: 0.8;
    transition: all var(--FORM_TRANSITION_DURATION) ease;
    z-index: 2;
    width: var(--FORM_ICON_SIZE);
    height: var(--FORM_ICON_SIZE);
}

.xploo-form-page .xploo-form-input:focus ~ .xploo-form-icon,
.xploo-form-page .xploo-form-input-container:hover .xploo-form-icon,
.xploo-form-page .form-control:focus ~ i,
.xploo-form-page .input-with-icon:hover i {
    color: var(--FORM_ICON_COLOR_FOCUS);
    opacity: 1;
}

/*
###############################################################################################################################################################
TEXTAREA
###############################################################################################################################################################
*/

.xploo-form-page textarea.xploo-form-input,
.xploo-form-page textarea.form-control {
    min-height: 150px;
    resize: vertical;
    padding-top: 1rem;
}

.xploo-form-page textarea.xploo-form-input ~ .xploo-form-icon,
.xploo-form-page textarea.form-control ~ i {
    top: 20px;
    transform: none;
}

/*
###############################################################################################################################################################
PASSWORD FIELD WITH EYE ICON
###############################################################################################################################################################
*/

.xploo-form-page .xploo-form-password-container,
.xploo-form-page .password-field-container {
    position: relative;
    width: 100%;
}

.xploo-form-page .xploo-form-password-container .xploo-form-input,
.xploo-form-page .password-field-container .form-control {
    padding-right: 3rem;
    padding-left: 45px;
}

.xploo-form-page .password-field-container .xploo-form-icon {
    left: var(--FORM_ICON_POSITION_LEFT);
}

.xploo-form-page .xploo-form-eye-icon,
.xploo-form-page .eye-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: var(--COLOR_SURFACE_40);
    transition: all var(--FORM_TRANSITION_DURATION) ease;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    width: 30px;
    height: 30px;
}

.xploo-form-page .xploo-form-eye-icon:hover,
.xploo-form-page .eye-icon:hover {
    color: var(--COLOR_ACTION_50);
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 8px rgba(255, 94, 0, 0.3);
}

.xploo-form-page .xploo-form-eye-icon svg,
.xploo-form-page .eye-icon svg {
    display: block;
    width: 20px;
    height: 20px;
}

/*
###############################################################################################################################################################
FORM VALIDATION
###############################################################################################################################################################
*/

.xploo-form-page .xploo-form-input.is-invalid,
.xploo-form-page .form-control.is-invalid {
    border-color: var(--FORM_ERROR_BORDER_COLOR) !important;
    box-shadow: var(--FORM_ERROR_SHADOW) !important;
}

.xploo-form-page .xploo-form-error,
.xploo-form-page .form-error {
    color: var(--FORM_ERROR_COLOR);
    font-size: var(--FORM_ERROR_FONT_SIZE);
    margin-top: var(--FORM_ERROR_MARGIN_TOP);
    display: block;
}

/*
###############################################################################################################################################################
FORM CHECKBOXES
###############################################################################################################################################################
*/

.xploo-form-page .xploo-form-checkbox-container,
.xploo-form-page .checkbox-outline {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin-bottom: var(--FORM_FIELD_MARGIN_BOTTOM);
}

.xploo-form-page .xploo-form-checkbox-container .xploo-form-label,
.xploo-form-page .checkbox-outline label {
    margin-bottom: 0;
    flex: 1;
    cursor: pointer;
    font-size: var(--FORM_LABEL_FONT_SIZE);
    color: var(--FORM_LABEL_COLOR);
    font-weight: var(--FORM_LABEL_FONT_WEIGHT);
}

.xploo-form-page .xploo-form-checkbox,
.xploo-form-page .checkbox-outline input[type="checkbox"] {
    width: var(--FORM_CHECKBOX_SIZE);
    height: var(--FORM_CHECKBOX_SIZE);
    min-width: var(--FORM_CHECKBOX_SIZE);
    min-height: var(--FORM_CHECKBOX_SIZE);
    padding: 0;
    margin: 0;
    margin-top: 2px;
    cursor: pointer;
    accent-color: var(--COLOR_ACTION_50);
    border: 2px solid var(--COLOR_ACTION_50) !important;
    border-radius: var(--FORM_CHECKBOX_BORDER_RADIUS);
    transition: all var(--FORM_TRANSITION_DURATION) ease;
    outline: none;
}

.xploo-form-page .xploo-form-checkbox:hover,
.xploo-form-page .checkbox-outline input[type="checkbox"]:hover {
    border-color: var(--COLOR_ACTION_60) !important;
}

.xploo-form-page .xploo-form-checkbox:focus,
.xploo-form-page .checkbox-outline input[type="checkbox"]:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 94, 0, 0.2);
}

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

.xploo-form-page .xploo-form-button,
.xploo-form-page .login-button,
.xploo-form-page .demo-button,
.xploo-form-page .contact-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 70%;
    max-width: 300px;
    margin: 0 auto 1rem;
    height: var(--FORM_BUTTON_HEIGHT);
    background: var(--COLOR_ACTION_50) !important;
    color: var(--FORM_BUTTON_COLOR) !important;
    border: none;
    font-size: var(--FORM_BUTTON_FONT_SIZE);
    font-weight: var(--FORM_BUTTON_FONT_WEIGHT);
    cursor: pointer;
    transition: all var(--FORM_TRANSITION_DURATION) ease;
    text-align: center;
    position: relative;
    overflow: hidden;
    padding: var(--FORM_INPUT_PADDING);
    border-radius: var(--FORM_BUTTON_BORDER_RADIUS) !important;
    box-shadow: var(--FORM_BUTTON_SHADOW);
    font-family: inherit;
    text-decoration: none;
}

.xploo-form-page .login-button {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.xploo-form-page .xploo-form-button:before,
.xploo-form-page .login-button:before,
.xploo-form-page .demo-button:before,
.xploo-form-page .contact-button:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: all 0.6s ease;
}

.xploo-form-page .xploo-form-button:hover:before,
.xploo-form-page .login-button:hover:before,
.xploo-form-page .demo-button:hover:before,
.xploo-form-page .contact-button:hover:before {
    left: 100%;
}

.xploo-form-page .xploo-form-button:hover,
.xploo-form-page .login-button:hover,
.xploo-form-page .demo-button:hover,
.xploo-form-page .contact-button:hover {
    transform: translateY(-2px);
    box-shadow: var(--FORM_BUTTON_SHADOW_HOVER);
}

.xploo-form-page .xploo-form-button:active,
.xploo-form-page .login-button:active,
.xploo-form-page .demo-button:active,
.xploo-form-page .contact-button:active {
    transform: translateY(1px);
    box-shadow: var(--FORM_BUTTON_SHADOW_ACTIVE);
}

.xploo-form-page .xploo-form-button i,
.xploo-form-page .demo-button i {
    transition: transform var(--FORM_TRANSITION_DURATION) ease;
}

.xploo-form-page .xploo-form-button:hover i,
.xploo-form-page .demo-button:hover i {
    transform: translateX(5px);
}

/*
###############################################################################################################################################################
FORM ALERTS
###############################################################################################################################################################
*/

.xploo-form-page .xploo-form-alert,
.xploo-form-page .alert {
    padding: var(--FORM_ALERT_PADDING);
    border-radius: var(--FORM_ALERT_BORDER_RADIUS);
    margin-bottom: var(--FORM_ALERT_MARGIN_BOTTOM);
    font-weight: var(--FORM_ALERT_FONT_WEIGHT);
    font-size: var(--FORM_ALERT_FONT_SIZE);
    line-height: 1.5;
    position: relative;
    display: flex;
    align-items: center;
    box-shadow: var(--FORM_ALERT_SHADOW);
    border: none;
    animation: slideInDown 0.5s ease-out;
}

.xploo-form-page .xploo-form-alert strong,
.xploo-form-page .alert strong {
    margin-right: 0.5rem;
    font-weight: 600;
}

.xploo-form-page .xploo-form-alert.success,
.xploo-form-page .alert-success {
    background: var(--FORM_ALERT_SUCCESS_BACKGROUND);
    color: var(--FORM_ALERT_SUCCESS_COLOR);
    border-left: var(--FORM_ALERT_SUCCESS_BORDER);
    position: relative;
    overflow: hidden;
}

.xploo-form-page .xploo-form-alert.success::before,
.xploo-form-page .alert-success::before {
    content: '✓';
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    font-weight: bold;
    color: #28a745;
    margin-right: 0.5rem;
}

.xploo-form-page .xploo-form-alert.success strong,
.xploo-form-page .alert-success strong {
    margin-left: 2rem;
}

.xploo-form-page .xploo-form-alert.error,
.xploo-form-page .alert-danger,
.xploo-form-page .notification-error {
    background: var(--FORM_ALERT_ERROR_BACKGROUND);
    color: var(--FORM_ALERT_ERROR_COLOR);
    border-left: var(--FORM_ALERT_ERROR_BORDER);
    position: relative;
    overflow: hidden;
}

.xploo-form-page .xploo-form-alert.error::before,
.xploo-form-page .alert-danger::before {
    content: '⚠';
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.6rem;
    font-weight: bold;
    color: #dc3545;
}

.xploo-form-page .xploo-form-alert.error strong,
.xploo-form-page .alert-danger strong {
    margin-left: 2rem;
}

/* Shine effect for alerts */
.xploo-form-page .xploo-form-alert::after,
.xploo-form-page .alert::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: all 0.6s ease;
}

.xploo-form-page .xploo-form-alert:hover::after,
.xploo-form-page .alert:hover::after {
    left: 100%;
}

/*
###############################################################################################################################################################
ADDITIONAL FORM ELEMENTS
###############################################################################################################################################################
*/

.xploo-form-page .xploo-form-forgot-password,
.xploo-form-page .forgot-password {
    text-align: center;
    margin-top: 1rem;
}

.xploo-form-page .xploo-form-forgot-password a,
.xploo-form-page .forgot-password a {
    color: var(--COLOR_ACTION_50);
    text-decoration: none;
    font-weight: 500;
    transition: all var(--FORM_TRANSITION_DURATION) ease;
}

.xploo-form-page .xploo-form-forgot-password a:hover,
.xploo-form-page .forgot-password a:hover {
    color: var(--COLOR_ACTION_60);
    text-decoration: underline;
}

/*
###############################################################################################################################################################
CONTACT INFO SECTION
###############################################################################################################################################################
*/

.xploo-contact-info-section {
    background: linear-gradient(to right, var(--COLOR_ACTION_50), var(--COLOR_ACTION_70));
    padding: 2rem;
    display: flex;
    gap: 2rem;
}

.contact-page .xploo-contact-info-item {
    flex-basis: calc(33.333% - 1rem);
    min-width: 200px;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.05);
    padding: 1.3rem 0.5rem;
    border-radius: var(--FORM_INPUT_BORDER_RADIUS);
    /* box-shadow: var(--FORM_INPUT_SHADOW); */
    transition: transform var(--FORM_TRANSITION_DURATION) ease, box-shadow var(--FORM_TRANSITION_DURATION) ease;
    display: flex; /* Pour aligner l'icône et le h4 à l'intérieur */
    flex-direction: column; /* Icône au-dessus du h4 */
    align-items: center; /* Centrer l'icône et le h4 horizontalement */
    justify-content: center; /* CHANGED: Aligner le contenu (icône + h4) au centre de la carte */
}

.contact-page .xploo-contact-info-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--FORM_INPUT_SHADOW_HOVER);
} 

.xploo-contact-info-icon {
    width: 24px;
    height: 24px;
    filter: invert(100%);
    margin-bottom: 6px;
}

.xploo-contact-info-item h4 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.xploo-contact-info-item h4 span, 
.xploo-contact-info-item h4 a {
    font-weight: 400;
    font-size: 0.95rem;
    color: var(--COLOR_SURFACE_90);
    display: block;
    margin-top: 0.3rem;
}

.xploo-contact-info-item h4 a:hover {
    color: var(--WHITE);
    text-decoration: none;
}

/*
###############################################################################################################################################################
ANIMATIONS
###############################################################################################################################################################
*/

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

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

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

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
    100% {
        transform: scale(1);
    }
}

.xploo-form-page .fade-in {
    opacity: 0;
    animation: fadeIn var(--FORM_ANIMATION_DURATION) ease-out forwards;
}

.xploo-form-page .fade-in-up {
    opacity: 0;
    animation: fadeInUp var(--FORM_ANIMATION_DURATION) ease-out forwards;
    animation-delay: 0.2s;
}

/* Progressive animation delays for form fields */
.xploo-form-page .xploo-form-field:nth-child(1),
.xploo-form-page .form-outline:nth-child(1) {
    animation: fadeInUp 0.5s ease-out forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

.xploo-form-page .xploo-form-field:nth-child(2),
.xploo-form-page .form-outline:nth-child(2) {
    animation: fadeInUp 0.5s ease-out forwards;
    animation-delay: 0.4s;
    opacity: 0;
}

.xploo-form-page .xploo-form-field:nth-child(3),
.xploo-form-page .form-outline:nth-child(3) {
    animation: fadeInUp 0.5s ease-out forwards;
    animation-delay: 0.5s;
    opacity: 0;
}

.xploo-form-page .xploo-form-field:nth-child(4),
.xploo-form-page .checkbox-outline {
    animation: fadeInUp 0.5s ease-out forwards;
    animation-delay: 0.6s;
    opacity: 0;
}

.xploo-form-page .xploo-form-field:nth-child(5) {
    animation: fadeInUp 0.5s ease-out forwards;
    animation-delay: 0.7s;
    opacity: 0;
}

/*
###############################################################################################################################################################
DARK MODE SUPPORT
###############################################################################################################################################################
*/

/* @media (prefers-color-scheme: dark) {
    .xploo-form-page .xploo-form-input,
    .xploo-form-page .form-control {
        background-color: var(--FORM_INPUT_BACKGROUND_DARK) !important;
        color: var(--FORM_INPUT_TEXT_COLOR_DARK);
        border-color: var(--COLOR_SURFACE_60);
    }
    
    .xploo-form-page .xploo-form-input:focus,
    .xploo-form-page .form-control:focus {
        background-color: #5a6578 !important;
        border-color: var(--COLOR_ACTION_50) !important;
    }
    
    .xploo-form-page .xploo-form-input:hover,
    .xploo-form-page .form-control:hover {
        background-color: rgba(255, 255, 255, 0.07);
        border-color: rgba(255, 255, 255, 0.2);
    }
} */

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

@media screen and (max-width: 896px) {
    .xploo-form-content {
        padding: 0.5rem 2rem;
    }
    
    .xploo-contact-info-section {
        flex-direction: column;
        align-items: center;
    }
    
    .xploo-contact-info-item {
        max-width: 100%;
    }
}

/*
###############################################################################################################################################################
MOBILE
###############################################################################################################################################################
*/

@media screen and (max-width: 480px) {
    .xploo-form-page {
        padding: 1rem 0;
    }
    
    .xploo-form-content {
        padding: var(--FORM_CONTAINER_PADDING_MOBILE);
    }
    
    .xploo-form-header h1,
    .xploo-form-header h2 {
        font-size: 1.8rem;
    }
    
    .xploo-form-header p {
        font-size: 1rem;
    }
    
    .xploo-form-content h1 {
        font-size: 1.5rem;
    }
    
    /* Boutons en pleine largeur sur mobile */
    .xploo-form-page .xploo-form-button,
    .xploo-form-page .login-button,
    .xploo-form-page .demo-button,
    .xploo-form-page .contact-button {
        width: 90%; /* Un peu plus large sur mobile mais pas 100% */
        max-width: none;
    }
    
    .xploo-form-page .xploo-form-alert,
    .xploo-form-page .alert {
        padding: 1rem;
        font-size: 0.9rem;
    }
    
    .xploo-form-page .xploo-form-alert.success::before,
    .xploo-form-page .xploo-form-alert.error::before,
    .xploo-form-page .alert-success::before,
    .xploo-form-page .alert-danger::before {
        font-size: 1rem;
    }
    
    .xploo-form-page .xploo-form-alert.success strong,
    .xploo-form-page .xploo-form-alert.error strong,
    .xploo-form-page .alert-success strong,
    .xploo-form-page .alert-danger strong {
        margin-left: 1.5rem;
    }
}

/*
###############################################################################################################################################################
SMALL MOBILE
###############################################################################################################################################################
*/

@media screen and (max-width: 320px) {
    .xploo-form-container {
        width: 95%;
    }
    
    .xploo-form-content {
        padding: 0.5rem 2rem;
    }
    
    .xploo-form-header {
        padding: 2rem 1rem;
    }
}

/*
###############################################################################################################################################################
HIGH CONTRAST MODE SUPPORT
###############################################################################################################################################################
*/

@media (prefers-contrast: high) {
    .xploo-form-page .xploo-form-input,
    .xploo-form-page .form-control {
        border: 2px solid var(--COLOR_SURFACE_40) !important;
    }
    
    .xploo-form-page .xploo-form-input:focus,
    .xploo-form-page .form-control:focus {
        border: 3px solid var(--COLOR_ACTION_50) !important;
    }
    
    .xploo-form-page .xploo-form-button,
    .xploo-form-page .login-button,
    .xploo-form-page .demo-button,
    .xploo-form-page .contact-button {
        border: 2px solid var(--COLOR_ACTION_60);
    }
}

/*
###############################################################################################################################################################
REDUCED MOTION SUPPORT
###############################################################################################################################################################
*/

@media (prefers-reduced-motion: reduce) {
    .xploo-form-page .xploo-form-field,
    .xploo-form-page .xploo-form-button,
    .xploo-form-page .fade-in,
    .xploo-form-page .fade-in-up,
    .xploo-form-page .form-outline,
    .xploo-form-page .login-button,
    .xploo-form-page .demo-button,
    .xploo-form-page .contact-button {
        animation: none;
        opacity: 1;
    }
    
    .xploo-form-page .xploo-form-input,
    .xploo-form-page .xploo-form-button,
    .xploo-form-page .xploo-form-icon,
    .xploo-form-page .xploo-form-eye-icon,
    .xploo-form-page .form-control,
    .xploo-form-page .login-button,
    .xploo-form-page .demo-button,
    .xploo-form-page .contact-button,
    .xploo-form-page .eye-icon {
        transition: none;
    }
}

/*
###############################################################################################################################################################
PRINT STYLES
###############################################################################################################################################################
*/

@media print {
    .xploo-form-page {
        background: white;
        color: black;
    }
    
    .xploo-form-container {
        box-shadow: none;
        background: white;
    }
    
    .xploo-form-header {
        background: white;
        color: black;
    }
    
    .xploo-form-page .xploo-form-button,
    .xploo-form-page .login-button,
    .xploo-form-page .demo-button,
    .xploo-form-page .contact-button {
        background: white !important;
        color: black !important;
        border: 2px solid black;
    }
}

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