/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* ========================================
   STYLES RESPONSIFS GLOBAUX - AppSaaS
   ======================================== */

/* Variables CSS pour la responsivité */
:root {
    /* Breakpoints précis pour tous les appareils */
    --breakpoint-xxs: 0px;          /* Extra small devices */
    --breakpoint-xs: 240px;         /* JioPhone 2, très petits écrans */
    --breakpoint-xs-min: 320px;     /* iPhone 4, Nokia Lumia 520 */
    --breakpoint-xs-mid: 344px;     /* Galaxy Z Fold 5 */
    --breakpoint-xs-medium: 360px;  /* Galaxy S21, S3/S5, S8 */
    --breakpoint-xs-max: 375px;     /* iPhone 6/7/8/SE, iPhone X */
    --breakpoint-sm: 576px;         /* Small devices (landscape phones) */
    --breakpoint-md: 768px;         /* Medium devices (tablets) */
    --breakpoint-lg: 992px;         /* Large devices (desktops) */
    --breakpoint-xl: 1200px;        /* Extra large devices */
    --breakpoint-xxl: 1400px;       /* Extra extra large devices */

    /* Espacements responsifs */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 3rem;

    /* Tailles de police responsives */
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-xxl: 1.5rem;

    /* Hauteurs et largeurs */
    --header-height-mobile: 60px;
    --header-height-desktop: 80px;
    --sidebar-width-mobile: 280px;
    --sidebar-width-desktop: 320px;
}

/* Reset et base responsive */
* {
    box-sizing: border-box;
}

html {
    font-size: 16px; /* Base pour rem */
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Évite le scroll horizontal */
}

/* Images responsives par défaut */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Conteneurs responsifs */
.container-fluid {
    padding-left: var(--spacing-sm);
    padding-right: var(--spacing-sm);
}

@media (min-width: 576px) {
    .container-fluid {
        padding-left: var(--spacing-md);
        padding-right: var(--spacing-md);
    }
}

@media (min-width: 992px) {
    .container-fluid {
        padding-left: var(--spacing-lg);
        padding-right: var(--spacing-lg);
    }
}

/* Grille responsive améliorée */
.row {
    margin-left: calc(-1 * var(--spacing-sm));
    margin-right: calc(-1 * var(--spacing-sm));
}

.row > * {
    padding-left: var(--spacing-sm);
    padding-right: var(--spacing-sm);
}

@media (min-width: 768px) {
    .row {
        margin-left: calc(-1 * var(--spacing-md));
        margin-right: calc(-1 * var(--spacing-md));
    }

    .row > * {
        padding-left: var(--spacing-md);
        padding-right: var(--spacing-md);
    }
}

/* Typographie responsive */
h1, .h1 { font-size: clamp(1.5rem, 4vw, 2.5rem); }
h2, .h2 { font-size: clamp(1.25rem, 3.5vw, 2rem); }
h3, .h3 { font-size: clamp(1.125rem, 3vw, 1.75rem); }
h4, .h4 { font-size: clamp(1rem, 2.5vw, 1.5rem); }
h5, .h5 { font-size: clamp(0.875rem, 2vw, 1.25rem); }
h6, .h6 { font-size: clamp(0.75rem, 1.5vw, 1rem); }

/* Boutons responsifs */
.btn {
    font-size: var(--font-size-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: 0.375rem;
    transition: all 0.2s ease-in-out;
}

@media (min-width: 768px) {
    .btn {
        font-size: var(--font-size-base);
        padding: var(--spacing-sm) var(--spacing-lg);
    }
}

/* Boutons avec icônes responsifs */
.btn i {
    margin-right: var(--spacing-xs);
}

@media (max-width: 575.98px) {
    .btn .d-none.d-sm-inline {
        display: none !important;
    }

    .btn {
        padding: var(--spacing-sm);
        min-width: 44px; /* Taille minimum pour le touch */
        min-height: 44px;
    }
}

/* Formulaires responsifs */
.form-control,
.form-select {
    font-size: var(--font-size-base);
    padding: var(--spacing-sm) var(--spacing-md);
    min-height: 44px; /* Accessibilité touch */
}

@media (max-width: 575.98px) {
    .form-control,
    .form-select {
        font-size: 16px; /* Évite le zoom sur iOS */
    }
}

/* Tables responsives */
.table-responsive {
    border-radius: 0.375rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

@media (max-width: 767.98px) {
    .table-responsive table {
        font-size: var(--font-size-sm);
    }

    .table-responsive th,
    .table-responsive td {
        padding: var(--spacing-xs) var(--spacing-sm);
        white-space: nowrap;
    }
}

/* Navigation responsive */
.navbar {
    padding: var(--spacing-sm) 0;
}

@media (min-width: 992px) {
    .navbar {
        padding: var(--spacing-md) 0;
    }
}

/* Sidebar responsive */
.sidebar {
    width: var(--sidebar-width-mobile);
    transition: transform 0.3s ease-in-out;
}

@media (min-width: 992px) {
    .sidebar {
        width: var(--sidebar-width-desktop);
    }
}

@media (max-width: 991.98px) {
    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        z-index: 1050;
        transform: translateX(-100%);
    }

    .sidebar.show {
        transform: translateX(0);
    }

    .sidebar-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 1040;
    }
}

/* Cards responsives */
.card {
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    margin-bottom: var(--spacing-md);
}

.card-body {
    padding: var(--spacing-md);
}

@media (min-width: 768px) {
    .card-body {
        padding: var(--spacing-lg);
    }
}

/* Modals responsives */
@media (max-width: 575.98px) {
    .modal-dialog {
        margin: var(--spacing-sm);
        max-width: calc(100vw - 2 * var(--spacing-sm));
    }

    .modal-content {
        border-radius: 0.5rem;
    }

    .modal-header,
    .modal-body,
    .modal-footer {
        padding: var(--spacing-md);
    }
}

/* Alertes responsives */
.alert {
    border-radius: 0.375rem;
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

@media (max-width: 575.98px) {
    .alert {
        padding: var(--spacing-sm);
        font-size: var(--font-size-sm);
    }
}

/* Utilitaires d'espacement responsifs par breakpoint */

/* Très petits écrans (JioPhone 2) */
@media (max-width: 239.98px) {
    .p-xxs { padding: 0.25rem !important; }
    .px-xxs { padding-left: 0.25rem !important; padding-right: 0.25rem !important; }
    .py-xxs { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
    .m-xxs { margin: 0.25rem !important; }
    .text-xxs { font-size: 0.7rem !important; }
}

/* Petits écrans (iPhone 4, Nokia Lumia) */
@media (min-width: 240px) and (max-width: 319.98px) {
    .p-xs { padding: 0.375rem !important; }
    .px-xs { padding-left: 0.375rem !important; padding-right: 0.375rem !important; }
    .py-xs { padding-top: 0.375rem !important; padding-bottom: 0.375rem !important; }
    .m-xs { margin: 0.375rem !important; }
    .text-xs { font-size: 0.75rem !important; }
}

/* Écrans moyens-petits (iPhone 5/SE) */
@media (min-width: 320px) and (max-width: 359.98px) {
    .p-xs-min { padding: 0.4rem !important; }
    .px-xs-min { padding-left: 0.4rem !important; padding-right: 0.4rem !important; }
    .py-xs-min { padding-top: 0.4rem !important; padding-bottom: 0.4rem !important; }
    .m-xs-min { margin: 0.4rem !important; }
}

/* Écrans Galaxy standard */
@media (min-width: 360px) and (max-width: 374.98px) {
    .p-xs-medium { padding: 0.45rem !important; }
    .px-xs-medium { padding-left: 0.45rem !important; padding-right: 0.45rem !important; }
    .py-xs-medium { padding-top: 0.45rem !important; padding-bottom: 0.45rem !important; }
    .m-xs-medium { margin: 0.45rem !important; }
}

/* iPhone 6/7/8 et plus grands mobiles */
@media (min-width: 375px) and (max-width: 575.98px) {
    .p-mobile-sm { padding: var(--spacing-sm) !important; }
    .px-mobile-sm { padding-left: var(--spacing-sm) !important; padding-right: var(--spacing-sm) !important; }
    .py-mobile-sm { padding-top: var(--spacing-sm) !important; padding-bottom: var(--spacing-sm) !important; }
    .m-mobile-sm { margin: var(--spacing-sm) !important; }
    .mx-mobile-sm { margin-left: var(--spacing-sm) !important; margin-right: var(--spacing-sm) !important; }
    .my-mobile-sm { margin-top: var(--spacing-sm) !important; margin-bottom: var(--spacing-sm) !important; }
}

/* Accessibilité et focus */
.btn:focus,
.form-control:focus,
.form-select:focus {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Animations responsives */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Print styles */
@media print {
    .no-print {
        display: none !important;
    }

    .btn,
    .navbar,
    .sidebar {
        display: none !important;
    }

    body {
        font-size: 12pt;
        line-height: 1.4;
    }

    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
    }
}

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

/* Mode sombre uniquement quand explicitement activé */
body.theme-dark {
    background-color: #121212 !important;
    color: #f5f5f5 !important;
}

/* Styles pour les dropdowns Bootstrap en mode sombre */
body.theme-dark .dropdown-menu {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
    color: #e9ecef !important;
}

body.theme-dark .dropdown-item {
    color: #e9ecef !important;
}

body.theme-dark .dropdown-item:hover,
body.theme-dark .dropdown-item:focus {
    background-color: #4a5568 !important;
    color: #ffffff !important;
}

body.theme-dark .dropdown-divider {
    border-color: #4a5568 !important;
}

/* Styles pour les boutons dropdown */
body.theme-dark .dropdown-toggle {
    color: #e9ecef !important;
    border-color: #4a5568 !important;
}

body.theme-dark .dropdown-toggle:hover {
    background-color: #4a5568 !important;
    color: #ffffff !important;
}

/* Styles pour les éléments du header */
body.theme-dark .navbar,
body.theme-dark .app-header {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
}

body.theme-dark .nav-link {
    color: #e9ecef !important;
}

body.theme-dark .nav-link:hover {
    color: #ffffff !important;
}

body.theme-dark footer {
    background-color: #1f1f1f !important;
    color: #ccc !important;
}

body.theme-dark a {
    color: #ffffff !important;
}
/* Boutons outline-secondary */
body.theme-dark #theme-toggle {
    border-color: #00ff91e9 !important;
    color: #f6f5f5 !important;
}

body.theme-dark .btn-outline-secondary:hover {
    background-color: #00ff91e9 !important;
    color: #262626 !important;
}
/* Boutons outline-tertiary */
body.theme-dark .btn-outline-tertiary {
    border-color: #760e92 !important;
    color: #ffa4fd !important;
}

body.theme-dark .btn-outline-tertiary:hover {
    background-color: #760e92 !important;
    color: #ffffff !important;
}
/* Boutons outline-quaternary */
body.theme-dark .btn-outline-quaternary {
    border-color: #ff0191e9 !important;
    color: #ff0191e9 !important;
}

body.theme-dark .btn-outline-quaternary:hover {
    background-color: #ff0191e9 !important;
    color: #ffffff !important;
}

/* Textes */
body.theme-dark .text-tertiary {
    color: #b340d3 !important;
}

body.theme-dark .text-quaternary {
    color: #ffffff !important;
}


/* Mode clair par défaut */
body:not(.theme-dark) {
    background-color: #ffffff !important;
    color: #212529 !important;
}

body:not(.theme-dark) .navbar {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

body:not(.theme-dark) #theme-toggle {
    border-color: #6c757d !important;
    color: #6c757d !important;
}

body:not(.theme-dark) .btn-outline-secondary:hover {
    background-color: #6c757d !important;
    color: #fff !important;
}

/* Amélioration de la visibilité des icônes */
.navbar-nav .btn i,
.nav-link i {
    color: inherit !important;
    opacity: 0.9;
}

body.theme-dark .navbar-nav .btn i,
body.theme-dark .nav-link i {
    color: #e9ecef !important;
    opacity: 1;
}

body:not(.theme-dark) .navbar-nav .btn i,
body:not(.theme-dark) .nav-link i {
    color: #495057 !important;
    opacity: 1;
}

#theme-toggle {
    transition: background-color 0.3s, color 0.3s;
}

/* Styles pour les sidebars en mode sombre */
body.theme-dark .sidebar,
body.theme-dark .admin-sidebar,
body.theme-dark .sidebar-desktop,
body.theme-dark .offcanvas,
body.theme-dark .bg-light {
    background-color: #2d3748 !important;
    border-color: #4a5568 !important;
    color: #e9ecef !important;
}

body.theme-dark .sidebar-content,
body.theme-dark .offcanvas-body,
body.theme-dark .offcanvas-header {
    background-color: #2d3748 !important;
    color: #e9ecef !important;
}

/* Navigation dans les sidebars */
body.theme-dark .sidebar .nav-link,
body.theme-dark .admin-sidebar .nav-link,
body.theme-dark .sidebar-desktop .nav-link,
body.theme-dark .offcanvas .nav-link,
body.theme-dark .nav-pills .nav-link {
    color: #e2e8f0 !important;
    border-radius: 0.375rem;
}

body.theme-dark .sidebar .nav-link:hover,
body.theme-dark .admin-sidebar .nav-link:hover,
body.theme-dark .sidebar-desktop .nav-link:hover,
body.theme-dark .offcanvas .nav-link:hover,
body.theme-dark .nav-pills .nav-link:hover {
    background-color: #4a5568 !important;
    color: #ffffff !important;
}

body.theme-dark .sidebar .nav-link.active,
body.theme-dark .admin-sidebar .nav-link.active,
body.theme-dark .sidebar-desktop .nav-link.active,
body.theme-dark .offcanvas .nav-link.active,
body.theme-dark .nav-pills .nav-link.active {
    background-color: #3182ce !important;
    color: #ffffff !important;
}

/* Titres et headings dans les sidebars */
body.theme-dark .sidebar-heading,
body.theme-dark .offcanvas-title,
body.theme-dark .link-dark {
    color: #e2e8f0 !important;
}

/* Liens généraux dans les sidebars */
body.theme-dark .sidebar a,
body.theme-dark .admin-sidebar a,
body.theme-dark .sidebar-desktop a,
body.theme-dark .offcanvas a {
    color: #e2e8f0 !important;
    text-decoration: none;
}

body.theme-dark .sidebar a:hover,
body.theme-dark .admin-sidebar a:hover,
body.theme-dark .sidebar-desktop a:hover,
body.theme-dark .offcanvas a:hover {
    color: #ffffff !important;
}

/* Séparateurs */
body.theme-dark .sidebar hr,
body.theme-dark .admin-sidebar hr,
body.theme-dark .offcanvas hr {
    border-color: #4a5568 !important;
}

/* Badges et éléments spéciaux */
body.theme-dark .sidebar .badge,
body.theme-dark .admin-sidebar .badge {
    background-color: #4a5568 !important;
    color: #e9ecef !important;
}

/* Icônes dans les sidebars */
body.theme-dark .sidebar .nav-link i,
body.theme-dark .admin-sidebar .nav-link i,
body.theme-dark .sidebar-desktop .nav-link i,
body.theme-dark .offcanvas .nav-link i {
    color: inherit !important;
    opacity: 0.9;
}

/* Boutons dans les sidebars */
body.theme-dark .sidebar .btn,
body.theme-dark .admin-sidebar .btn,
body.theme-dark .offcanvas .btn {
    border-color: #4a5568 !important;
}

body.theme-dark .sidebar .btn-outline-primary,
body.theme-dark .admin-sidebar .btn-outline-primary,
body.theme-dark .offcanvas .btn-outline-primary {
    color: #63b3ed !important;
    border-color: #63b3ed !important;
}

body.theme-dark .sidebar .btn-outline-primary:hover,
body.theme-dark .admin-sidebar .btn-outline-primary:hover,
body.theme-dark .offcanvas .btn-outline-primary:hover {
    background-color: #63b3ed !important;
    color: #1a202c !important;
}

/* Corrections pour les éléments de liste */
body.theme-dark .sidebar .list-group-item,
body.theme-dark .admin-sidebar .list-group-item {
    background-color: transparent !important;
    border-color: #4a5568 !important;
    color: #cbd5e0 !important;
}

body.theme-dark .sidebar .list-group-item:hover,
body.theme-dark .admin-sidebar .list-group-item:hover {
    background-color: #4a5568 !important;
    color: #ffffff !important;
}

/* Corrections pour les formulaires dans les sidebars */
body.theme-dark .sidebar .form-control,
body.theme-dark .admin-sidebar .form-control,
body.theme-dark .offcanvas .form-control {
    background-color: #4a5568 !important;
    border-color: #718096 !important;
    color: #e9ecef !important;
}

body.theme-dark .sidebar .form-control:focus,
body.theme-dark .admin-sidebar .form-control:focus,
body.theme-dark .offcanvas .form-control:focus {
    background-color: #4a5568 !important;
    border-color: #63b3ed !important;
    color: #e9ecef !important;
    box-shadow: 0 0 0 0.2rem rgba(99, 179, 237, 0.25) !important;
}

/* Corrections pour les select */
body.theme-dark .sidebar select,
body.theme-dark .admin-sidebar select,
body.theme-dark .offcanvas select {
    background-color: #4a5568 !important;
    border-color: #718096 !important;
    color: #e9ecef !important;
}

body.theme-dark .sidebar select option,
body.theme-dark .admin-sidebar select option,
body.theme-dark .offcanvas select option {
    background-color: #4a5568 !important;
    color: #e9ecef !important;
}

/* Règles spécifiques pour forcer la visibilité du texte */
body.theme-dark .sidebar span,
body.theme-dark .admin-sidebar span,
body.theme-dark .sidebar-desktop span,
body.theme-dark .offcanvas span {
    color: inherit !important;
}

/* Correction pour les éléments avec classes Bootstrap */
body.theme-dark .d-flex.align-items-center,
body.theme-dark .fs-5,
body.theme-dark .fs-6,
body.theme-dark .fw-bold {
    color: #e2e8f0 !important;
}

/* Correction pour les nav-pills spécifiquement */
body.theme-dark .nav-pills {
    --bs-nav-pills-link-active-color: #ffffff !important;
    --bs-nav-pills-link-active-bg: #3182ce !important;
}

body.theme-dark .nav-pills .nav-link {
    color: #e2e8f0 !important;
}

body.theme-dark .nav-pills .nav-link.active {
    background-color: #3182ce !important;
    color: #ffffff !important;
}

/* =========================
   THEME TOGGLE BUTTON
   Compatible data-bs-theme
   ========================= */

/* Light (par défaut si pas de data-bs-theme="dark") */
:root:not([data-bs-theme="dark"]) #theme-toggle {
    background-color: #111827 !important;
    border-color: #111827 !important;
    color: #ffffff !important;
}

:root:not([data-bs-theme="dark"]) #theme-toggle:hover,
:root:not([data-bs-theme="dark"]) #theme-toggle:focus {
    background-color: #0b1220 !important;
    border-color: #0b1220 !important;
    color: #ffffff !important;
}

/* Dark */
:root[data-bs-theme="dark"] #theme-toggle {
    background-color: #00ff91e9 !important;
    border-color: #00ff91e9 !important;
    color: #262626 !important;
}

:root[data-bs-theme="dark"] #theme-toggle:hover,
:root[data-bs-theme="dark"] #theme-toggle:focus {
    background-color: #00d97ce9 !important;
    border-color: #00d97ce9 !important;
    color: #262626 !important;
}

/* icône */
#theme-toggle #theme-icon {
    color: inherit !important;
}


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