/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/global.css ***!
  \*****************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap);
/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/header_sidebar.css ***!
  \*************************************************************************************************************************/
.main-content {
    margin-top: 0 !important;
    margin-left: 125px !important;
    width: 100% !important;
    padding-top: 0 !important;
}

.dossier-header {
    background: #FFFFFF;
    padding: 11.5px 30px;
    color: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    border-bottom: 1px solid rgba(255,255,255,0.1);
    margin-top : 0 !important ;
    font-weight: 500;
}
.text-header{
    color: #5f4fcf;
}
/* Informations bénéficiaire */
.beneficiaire-info h4 {
    font-size: 1.4rem;
    font-weight: 400;
    padding-bottom: 3px;
}

.beneficiaire-info small {
    font-size: 15px;
    font-weight: 400;
}
.sous-titre{
    font-size: 14px;
}
/************* SideBare ****************/
.sidebar-logo {
    width: 45px;
    filter: brightness(0) invert(1);
}
/* Sidebar compacte universelle */
.sidebar-compact {
    position: fixed;
    top: 0;
    left: 0;
    width: 125px;
    height: 100vh;
    background: #5f4fcf;
    z-index: 1000;
    overflow-y: auto;
    box-shadow: 2px 0 10px rgba(0,0,0,0.1);
    font-weight: 500;
}

.sidebar-header {
    background: #5f4fcf;
    display: flex;
    justify-content: center;
    padding: 3.5px 22px;
}

.sidebar-nav {
    padding: 10px 0;
}
.nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: white;
    margin-bottom: 7px;
    padding: 9px 10px;
    border-radius: 8px;
    transition: all 0.3s ease;
    margin-left: 10px;
    margin-right: 10px;
}

.nav-item i {
    font-size: 20px;
    margin-bottom: 8px;
}

.nav-item span {
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    line-height: 1.2;
}

.nav-item-blue.active {
    background: #ff9500; /* Bleu plus foncé */
}

.nav-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.nav-item.active {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

/* Contenu principal */
.main-content {
    margin-left: 180px;
    width: calc(100% - 180px);
    min-height: 100vh;
}



/*!*********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/global.css (1) ***!
  \*********************************************************************************************************************/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    font-family:'Inter', sans-serif;
    background-color: #fdfdfd;
;
}
.purple{
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);;
}
.purple-init{
    background-color: #5f4fcf;
}
footer {
    color: #5f4fcf;
    padding: 1.5rem 0;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);

}

.footer-content p {
    font-size: 0.9rem;
    opacity: 0.95;
    font-weight: 500;
}

.footer-content i {
    opacity: 0.9;
}
.footer-content .bash {
    color: #5f4fcf;
    text-decoration: none;
    font-weight: 500;
}
.form-login{
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}
.form-login .form-check-label{
    border-color: transparent !important;
}
.form-login .form-check-input{
    font-size: 14px;
}

/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/suivi.css ***!
  \****************************************************************************************************************/
 /* Carte des objectifs */
.objectives-card {
    border-radius: 12px;
    overflow: hidden;
}

.bg-gradient-primary {
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
}

/* En-tête du tableau */
.table-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-bottom: 2px solid #dee2e6;
}

.table-header th {
    border: none;
    font-weight: 600;
    color: #495057;
    padding: 15px;
    font-size: 0.9rem;
}

.date-column { width: 6%; }
.objective-column { width: 40%; }
.source-column { width: 20%; }
.result-column { width: 25%; }

/* Lignes du tableau */
.objectives-table {
    font-size: 0.9rem;
}

.objective-row {
    border-bottom: 1px solid #f1f3f4;
    transition: all 0.3s ease;
}

.objective-row:hover {
    background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(13, 110, 253, 0.1);
}

.objective-row td {
    padding: 20px 15px;
    border: none;
    vertical-align: top;
}

/* Badge de date stylé */
.date-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    color: white;
    border-radius: 8px;
    padding: 8px;
    min-width: 60px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(13, 110, 253, 0.3);
}

.date-day {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
}

.date-month {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 2px 0;
}

.date-year {
    font-size: 0.75rem;
    opacity: 0.9;
}

/* Contenu des cellules */
.objective-content,
.source-content,
.result-content {
    line-height: 1.6;
    color: #495057;
}

.text-muted-custom {
    color: #6c757d;
    font-style: italic;
    font-size: 0.85rem;
}

/* État vide amélioré */
.empty-state {
    text-align: center;
    padding: 60px 30px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.empty-icon {
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.empty-icon i {
    font-size: 2rem;
    color: #6c757d;
}

.empty-title {
    color: #495057;
    font-weight: 600;
    margin-bottom: 10px;
}

.empty-description {
    color: #6c757d;
    margin-bottom: 25px;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.btn-create {
    border-radius: 8px;
    padding: 12px 24px;
    font-weight: 500;
    box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
    transition: all 0.3s ease;
}

.btn-create:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(13, 110, 253, 0.4);
}

/* Footer de la carte */
.card-footer {
    border-top: 1px solid #e9ecef;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

/* Responsive */
@media (max-width: 768px) {
    .objectives-table {
        font-size: 0.8rem;
    }

    .objective-row td {
        padding: 15px 10px;
    }

    .date-badge {
        min-width: 50px;
        padding: 6px;
    }

    .date-day {
        font-size: 1rem;
    }

    .empty-state {
        padding: 40px 20px;
    }

    .empty-icon {
        width: 60px;
        height: 60px;
    }

    .empty-icon i {
        font-size: 1.5rem;
    }
}
 /* Styles pour la colonne auteur */
 .author-column {
     width: 20% !important;
     min-width: 150px;
 }

 .author-badge {
     display: flex;
     align-items: flex-start;
     gap: 10px;
     padding: 8px;
     background: linear-gradient(135deg, #f8f9ff 0%, #e8f0ff 100%);
     border-radius: 8px;
     border-left: 3px solid #0d6efd;
 }

 .author-info {
     display: flex;
     flex-direction: column;
     gap: 4px;
 }

 .author-info strong {
     color: #0d6efd;
     font-size: 0.9rem;
     font-weight: 600;
 }

 .author-info small {
     color: #6c757d;
     font-size: 0.75rem;
     font-style: italic;
 }

 .author-cell {
     background-color: #f8f9ff;
     vertical-align: middle;
 }

 /* Responsive */
 @media (max-width: 768px) {
     .author-column {
         width: auto;
     }

     .author-badge {
         flex-direction: column;
         text-align: center;
     }
 }

/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/masque.css ***!
  \*****************************************************************************************************************/
/* Carte des questions */
.questions-card {
    border-radius: 12px;
    overflow: hidden;
}

/* Liste des questions */
.questions-list {
    max-height: 600px;
    overflow-y: auto;
}

.question-item {
    border-bottom: 1px solid #f1f3f4;
    transition: all 0.3s ease;
    position: relative;
}

.question-item:hover {
    background: linear-gradient(135deg, #f0fcff 0%, #e6f9ff 100%);
}

.question-item:last-child {
    border-bottom: none;
}

/* En-tête de question */
.question-header-masque {
    display: flex;
    align-items: flex-start;
    padding: 20px 20px 10px 20px;
    gap: 15px;
}

.question-indicator {
    flex-shrink: 0;
    margin-top: 2px;
}

.question-indicator i {
    font-size: 1.1rem;
}

.question-title {
    flex: 1;
    font-weight: 600;
    color: #495057;
    line-height: 1.4;
    font-size: 1rem;
}

/* Contenu de la réponse */
.question-content {
    padding: 0 20px 20px 55px;
}

.response-content {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 10px;
    padding: 15px;
    border-left: 4px solid #0dcaf0;
}

.response-badge {
    background: #0dcaf0;
    color: white;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-block;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.response-text {
    color: #495057;
    line-height: 1.6;
    font-size: 0.95rem;
}

.no-response {
    color: #6c757d;
    font-style: italic;
    font-size: 0.9rem;
    padding: 10px 15px;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid #dee2e6;
}

/* État vide */
.empty-state {
    text-align: center;
    padding: 60px 30px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.empty-icon {
    background: linear-gradient(135deg, #0dcaf0 0%, #0a9eca 100%);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(13, 202, 240, 0.3);
}

.empty-icon i {
    font-size: 2rem;
    color: white;
}

.empty-title {
    color: #495057;
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 1.1rem;
}

.empty-description {
    color: #6c757d;
    margin-bottom: 25px;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
}

.btn-create {
    border-radius: 8px;
    padding: 12px 24px;
    font-weight: 500;
    box-shadow: 0 4px 12px rgba(13, 202, 240, 0.3);
    transition: all 0.3s ease;
    border: none;
}

.btn-create:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(13, 202, 240, 0.4);
}

/* Footer de la carte */
.card-footer {
    border-top: 1px solid #e9ecef;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

/* Scrollbar personnalisée pour la liste des questions */
.questions-list::-webkit-scrollbar {
    width: 6px;
}

.questions-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.questions-list::-webkit-scrollbar-thumb {
    background: #0dcaf0;
    border-radius: 3px;
}

.questions-list::-webkit-scrollbar-thumb:hover {
    background: #0a9eca;
}

/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/eval.css ***!
  \***************************************************************************************************************/
 /* Styles généraux */

/* Messages flash améliorés */
.flash-message {
    border-radius: 10px;
    border: none;
    box-shadow: 0 4px 15px rgba(25, 135, 84, 0.2);
}

/* État vide amélioré */
.empty-state-card {
    border-radius: 16px;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
}

.empty-icon-large {
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    box-shadow: 0 8px 25px rgba(95, 79, 207, 0.3);
}

.empty-icon-large i {
    font-size: 3rem;
    color: white;
}

.empty-state-title {
    color: #495057;
    font-weight: 700;
    font-size: 1.4rem;
    margin-bottom: 15px;
}

.empty-state-description {
    color: #6c757d;
    font-size: 1rem;
    line-height: 1.6;
    max-width: 500px;
    margin: 0 auto;
}

.btn-create-large {
    padding: 15px 30px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(13, 110, 253, 0.3);
    transition: all 0.3s ease;
}

.btn-create-large:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(13, 110, 253, 0.4);
}

/* Grille d'évaluations */
.evaluations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 25px;
}

.evaluation-card-wrapper {
    transition: all 0.3s ease;
}

.evaluation-card {
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
}

.evaluation-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
}

/* Header des cartes d'évaluation */
.evaluation-header {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.evaluation-date-section {
    display: flex;
    align-items: center;
    gap: 15px;
}

.evaluation-date-badge {
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
    color: white;
    border-radius: 12px;
    padding: 10px 15px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(95, 79, 207, 0.3);
    min-width: 70px;
}

.date-main {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
}

.date-year {
    font-size: 0.8rem;
    opacity: 0.9;
    margin-top: 2px;
}

.evaluation-time {
    color: #6c757d;
    font-size: 0.9rem;
    font-weight: 500;
}

/* Badges de statut */
.status-badge {
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

.status-complete {
    background: linear-gradient(135deg, #198754 0%, #20c997 100%);
    color: white;
    box-shadow: 0 3px 10px rgba(25, 135, 84, 0.3);
}

.status-draft {
    background: linear-gradient(135deg, #ffc107 0%, #ffcd39 100%);
    color: #000;
    box-shadow: 0 3px 10px rgba(255, 193, 7, 0.3);
}

.status-other {
    background: linear-gradient(135deg, #6c757d 0%, #8d9498 100%);
    color: white;
    box-shadow: 0 3px 10px rgba(108, 117, 125, 0.3);
}

/* Corps des cartes */
.evaluation-body {
    padding: 25px 20px;
    background: white;
}

.evaluateur-section {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding: 12px;
    background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
    border-radius: 10px;
    border-left: 4px solid #5f4fcf;
}

.evaluateur-name {
    font-weight: 600;
    color: #495057;
}

.problematiques-section {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.problematiques-badge {
    background: linear-gradient(135deg, #0dcaf0 0%, #17a2b8 100%);
    color: white;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9rem;
    box-shadow: 0 3px 10px rgba(13, 202, 240, 0.3);
}

.problematiques-text {
    color: #6c757d;
    font-weight: 500;
}

.notes-section {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 15px;
    padding: 12px;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid #ffc107;
}

.notes-icon {
    color: #ffc107;
    margin-top: 2px;
}

.notes-preview {
    color: #6c757d;
    font-size: 0.9rem;
    line-height: 1.4;
    flex: 1;
}

/* Actions des cartes */
.evaluation-actions {
    padding: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.btn-action-primary {
    border-radius: 10px;
    padding: 12px 20px;
    font-weight: 600;
    transition: all 0.3s ease;
}

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

.btn-action-secondary {
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-action-secondary:hover {
    transform: translateY(-1px);
}

/* Modal de suppression */
.modal-delete {
    border-radius: 12px;
    overflow: hidden;
}

.modal-question {
    font-size: 1.1rem;
    margin-bottom: 20px;
}

.content-summary {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
    border-left: 4px solid #dc3545;
}
 /* Header amélioré */
 .evaluation-info {
     display: flex;
     flex-direction: column;
     align-items: flex-end;
     gap: 4px;
     margin-right: 15px;
 }

 .status-completed {
     background: rgba(25, 135, 84, 0.3);
     border-color: rgba(25, 135, 84, 0.5);
 }

 .last-modified {
     color: rgba(255,255,255,0.8);
     font-size: 0.8rem;
     font-weight: 500;
 }

 /* Résumé du diagnostic amélioré */
 .diagnostic-summary {
     display: flex;
     flex-direction: column;
     gap: 15px;
 }

 .summary-item {
     display: flex;
     align-items: center;
     font-size: 1.1rem;
     font-weight: 600;
     color: #495057;
 }

 .summary-description {
     color: #6c757d;
     font-size: 0.95rem;
     line-height: 1.5;
     padding: 15px;
     background: #f8f9fa;
     border-radius: 8px;
     border-left: 4px solid #5f4fcf;
 }

 /* Actions à côté du résumé */
 .actions-sidebar {
     min-width: 200px;
     flex-shrink: 0;
 }

 .btn-save-inline, .btn-finalize-inline, .btn-cancel-inline {
     padding: 12px 24px;
     font-weight: 600;
     border-radius: 8px;
     transition: all 0.3s ease;
     font-size: 0.95rem;
     min-width: 140px;
     text-align: center;
 }
 .btn-finalize-inline {
     background: linear-gradient(135deg, #198754 0%, #146c43 100%);
     border: 2px solid #198754;
     color: white;
     box-shadow: 0 4px 12px rgba(25, 135, 84, 0.3);
 }

 .btn-finalize-inline:hover {
     transform: translateY(-2px);
     box-shadow: 0 6px 18px rgba(25, 135, 84, 0.4);
     background: linear-gradient(135deg, #157347 0%, #0f5132 100%);
 }

 .btn-cancel-inline {
     background: #6c757d;
     border: 2px solid #6c757d;
     color: white;
 }

 .btn-cancel-inline:hover {
     background: #5a6268;
     border-color: #5a6268;
     color: white;
     transform: translateY(-2px);
     box-shadow: 0 4px 12px rgba(108, 117, 125, 0.4);
 }

 /* Navigation des sections */
 .propositions-nav {
     background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
     border-bottom: 3px solid #5f4fcf;
     padding: 15px 0;
     margin-bottom: 20px;
     position: sticky;
     top: 0;
     z-index: 100;
     box-shadow: 0 2px 10px rgba(0,0,0,0.1);
 }

 .nav-sections {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
     align-items: center;
     margin-bottom: 10px;
 }

 .section-tab {
     background: white;
     border: 2px solid #dee2e6;
     border-radius: 25px;
     padding: 8px 16px;
     font-size: 0.9rem;
     font-weight: 500;
     color: #6c757d;
     cursor: pointer;
     transition: all 0.3s ease;
     display: flex;
     align-items: center;
     white-space: nowrap;
 }

 .section-tab:hover {
     background: #f8f9ff;
     border-color: #5f4fcf;
     color: #5f4fcf;
     transform: translateY(-2px);
     box-shadow: 0 4px 12px rgba(95, 79, 207, 0.2);
 }

 .section-tab.active {
     background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
     border-color: #5f4fcf;
     color: white;
     box-shadow: 0 4px 15px rgba(95, 79, 207, 0.3);
 }

 .section-tab.active:hover {
     background: linear-gradient(135deg, #7b68ee 0%, #5f4fcf 100%);
     transform: translateY(-2px);
 }

 .sections-counter {
     font-size: 0.85rem;
     color: #6c757d;
     font-weight: 500;
 }

 #visible-sections {
     color: #5f4fcf;
     font-weight: 600;
 }

 /* Animation de transition pour les sections */
 .proposition-section {
     transition: all 0.5s ease;
     opacity: 1;
     transform: translateY(0);
 }

 .proposition-section.hidden {
     opacity: 0;
     transform: translateY(-20px);
     pointer-events: none;
     margin-bottom: 0;
     height: 0;
     overflow: hidden;
     padding: 0;
 }

 .proposition-section.show {
     animation: slideInUp 0.5s ease forwards;
 }

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

 /* Sections des propositions */
 .proposition-section {
     transition: all 0.3s ease;
 }

 .proposition-section:hover {
     transform: translateY(-2px);
     box-shadow: 0 8px 25px rgba(0,0,0,0.15);
 }

 .section-header {
     background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
     border-bottom: 2px solid #dee2e6;
     padding: 20px;
 }

 .section-title {
     color: #5f4fcf;
     font-weight: 700;
     font-size: 1.2rem;
 }

 .proposition-type-section {
     margin-bottom: 30px;
 }

 .type-header {
     background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
     color: white;
     padding: 12px 20px;
     border-radius: 10px 10px 0 0;
     font-weight: 600;
     font-size: 1rem;
     margin-bottom: 0;
 }

 .propositions-grid {
     border: 2px solid #5f4fcf;
     border-top: none;
     border-radius: 0 0 10px 10px;
     padding: 20px;
     background: #f8f9ff;
 }

 .proposition-item {
     display: flex;
     align-items: flex-start;
     gap: 15px;
     margin-bottom: 20px;
 }

 .proposition-item:last-child {
     margin-bottom: 0;
 }

 .proposition-number {
     background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
     color: white;
     width: 35px;
     height: 35px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: bold;
     flex-shrink: 0;
     margin-top: 5px;
     box-shadow: 0 3px 10px rgba(95, 79, 207, 0.3);
 }

 .proposition-content {
     flex: 1;
 }

 .proposition-textarea {
     border-radius: 10px;
     border: 2px solid #e9ecef;
     padding: 15px;
     font-size: 0.95rem;
     line-height: 1.6;
     min-height: 100px;
     resize: vertical;
     transition: all 0.3s ease;
 }

 .proposition-textarea:focus {
     border-color: #5f4fcf;
     box-shadow: 0 0 0 0.2rem rgba(95, 79, 207, 0.25);
 }

 /* Notes complémentaires */
 .notes-section {
     display: flex;
     flex-direction: column;
     gap: 10px;
 }

 .notes-textarea {
     border-radius: 10px;
     border: 2px solid #ffc107;
     padding: 20px;
     font-size: 0.95rem;
     line-height: 1.6;
     min-height: 150px;
     resize: vertical;
     transition: all 0.3s ease;
 }

 .notes-textarea:focus {
     border-color: #ffb30f;
     box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
 }

 .notes-help-text {
     color: #6c757d;
     font-size: 0.85rem;
     line-height: 1.4;
     margin-top: 8px;
 }

 /* Styles généraux */
 .bg-gradient-primary {
     background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
 }

 .flash-message {
     border-radius: 10px;
     border: none;
     box-shadow: 0 4px 15px rgba(25, 135, 84, 0.2);
 }

/*!**********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/proposition.css ***!
  \**********************************************************************************************************************/
/* ========================================
   NAVIGATION DES SECTIONS
======================================== */
.sections-nav {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.section-nav-btn {
    background: rgba(95, 79, 207, 0.1);
    border: 2px solid rgba(95, 79, 207, 0.2);
    color: #5f4fcf;
    padding: 12px 20px;
    border-radius: 25px;
    margin: 5px;
    transition: all 0.3s ease;
    font-weight: 600;
    cursor: pointer;
}

.section-nav-btn:hover {
    background: rgba(95, 79, 207, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(95, 79, 207, 0.3);
}

.section-nav-btn.active {
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
    color: white;
    border-color: #5f4fcf;
}

/* ========================================
   AFFICHAGE DES SECTIONS
======================================== */
.section-content {
    display: none;
    animation: fadeIn 0.3s ease;
}

.section-content.active {
    display: block;
}

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

.section-header {
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
    color: white;
    padding: 20px;
    border-radius: 15px;
    margin-bottom: 20px;
    text-align: center;
}

.section-icon {
    font-size: 2rem;
    margin-bottom: 10px;
}

/* ========================================
   BLOCS DE QUESTIONS
======================================== */
.question-block {
    background: #fff;
    border-radius: 15px;
    padding: 25px;
    margin-bottom: 25px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border-left: 5px solid #5f4fcf;
    transition: all 0.3s ease;
    position: relative;
    margin-left: 20px;
}

.question-block::before {
    content: '';
    position: absolute;
    left: -22px;
    top: 25px;
    width: 20px;
    height: 2px;
    background: #5f4fcf;
}

.question-block:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.question-header {
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
    color: white;
    padding: 10px;
}

.question-number {
    background: rgba(255,255,255,0.2);
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.1rem;
    border: 2px solid rgba(255,255,255,0.3);
}

.question-title {
    color: #5f4fcf;
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.question-header .question-title { color: #fff; margin: 0; font-weight: 600; }

/* Titre affiché en mode lecture */
.question-title-display {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 10px 15px;
    margin-bottom: 15px;
    color: #5f4fcf;
    font-size: 0.9rem;
    font-weight: 600;
    border-left: 4px solid #5f4fcf;
    transition: all 0.2s ease;
}
.question-title-display i { color: #5f4fcf; margin-right: 8px; }
.question-title-display strong { color: #495057; }
.question-title-display:hover {
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
    transform: translateX(2px);
}

/* Code de la question */
.question-code {
    background: rgba(95, 79, 207, 0.1);
    color: #5f4fcf;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    display: inline-block;
}
.question-code--sm { padding: 2px 8px; border-radius: 12px; font-size: .75rem; margin-left: 10px; }

/* ========================================
   TYPES DE PROPOSITIONS
======================================== */
.proposition-type { margin-bottom: 20px; }

.proposition-type-header {
    padding: 10px 15px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.95rem;
    margin-bottom: 10px;
    color: #fff;
}
.proposition-type-header.manifestation { background: linear-gradient(135deg, #17a2b8 0%, #138496 100%); }
.proposition-type-header.objectif      { background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%); }
.proposition-type-header.piste         { background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%); color: #212529; }
.proposition-type-header.outil         { background: linear-gradient(135deg, #fd7e14 0%, #e55d0e 100%); }

/* Élément de proposition (style simple) */
.proposition-item {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
}
.proposition-item:hover { background: #e9ecef; border-color: #5f4fcf; }

/* Zone de saisie de proposition */
.proposition-textarea {
    width: 100%;
    min-height: 100px;
    resize: vertical;
    border-radius: 10px;
    border: 2px solid #e9ecef;
    padding: 15px;
    font-size: 0.95rem;
    line-height: 1.6;
    transition: all 0.3s ease;
    background: #fff;
}
.proposition-textarea:focus {
    border-color: #5f4fcf;
    box-shadow: 0 0 0 0.2rem rgba(95, 79, 207, 0.25);
}

/* ========================================
   CARTES / VARIANTES
======================================== */
.card-enhanced { border-radius: 15px; overflow: hidden; }

.bg-gradient-info    { background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%); }
.bg-gradient-success { background: linear-gradient(135deg, #10b981 0%, #059669 100%); }
.bg-gradient-warning { background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%); }
.bg-gradient-primary { background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%); }

/* Cartes de propositions */
.proposition-card {
    background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
    border-radius: 12px;
    padding: 18px;
    border: 2px solid #e5e7eb;
    height: 100%;
    transition: all 0.3s ease;
}
.proposition-card:hover {
    border-color: #667eea;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.15);
    transform: translateY(-2px);
}

.proposition-type-title {
    color: #374151;
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 8px;
}
.proposition-type-title i { color: #667eea; font-size: 1rem; }

.proposition-list { list-style: none; padding: 0; margin: 0; }
.proposition-list li {
    padding: 10px 0;
    color: #4b5563;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.proposition-list li i { color: #667eea; margin-top: 4px; flex-shrink: 0; }

/* Contenu d’une proposition (icône + texte) */
.proposition-content {
    align-items: flex-start;
    color: #4b5563;
    line-height: 1.7;
    font-size: 0.95rem;
}
.proposition-content i {
    color: #667eea;
    margin-top: 4px;
    flex-shrink: 0;
    font-size: 0.9rem;
}
.proposition-content span { flex: 1; }

/* ========================================
   NOTES
======================================== */
.notes-textarea {
    border-radius: 10px;
    border: 2px solid #ffc107;
    padding: 20px;
    font-size: 0.95rem;
    line-height: 1.6;
    min-height: 150px;
    resize: vertical;
    transition: all 0.3s ease;
    background: #fff;
}
.notes-textarea:focus {
    border-color: #ffb30f;
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
}
.notes-content {
    background: #fefce8;
    padding: 20px;
    border-radius: 10px;
    border-left: 5px solid #fbbf24;
    line-height: 1.8;
    color: #78350f;
}
.notes-section { display: flex; flex-direction: column; gap: 10px; }
.notes-help-text { color: #6c757d; font-size: 0.85rem; line-height: 1.4; margin-top: 8px; }

/* ========================================
   ACTIONS / SIDEBAR / BOUTONS
======================================== */
.actions-sticky {
    position: sticky;
    top: 20px;
    background: white;
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.actions-sidebar { min-width: 200px; flex-shrink: 0; }

.btn-save-inline, .btn-finalize-inline, .btn-cancel-inline, .btn-lg {
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
}
.btn-lg:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(25, 135, 84, 0.3);
}
.btn-finalize-inline {
    background: linear-gradient(135deg, #198754 0%, #146c43 100%);
    border: 2px solid #198754;
    color: white;
    box-shadow: 0 4px 12px rgba(25, 135, 84, 0.3);
}
.btn-finalize-inline:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(25, 135, 84, 0.4);
    background: linear-gradient(135deg, #157347 0%, #0f5132 100%);
}

/* ========================================
   ÉTATS / BADGES / FLASHES
======================================== */
.evaluation-info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    margin-right: 15px;
}

.status {
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 0.85rem;
    font-weight: 600;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.3);
    color: rgba(255,255,255,0.95);
    background: rgba(255,255,255,0.2);
}
.status--completed {
    background: rgba(25, 135, 84, 0.3);
    border-color: rgba(25, 135, 84, 0.5);
}
.status--draft { /* brouillon */
    background: rgba(108, 117, 125, 0.35);
    border-color: rgba(108, 117, 125, 0.5);
}

.status-badge-inline {
    display: inline-flex;
    align-items: center;
    padding: 2px 12px;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
    backdrop-filter: blur(10px);
}
.status-badge-inline.status-complete {
    background: rgba(25, 135, 84, 0.6);
    color: rgba(255, 255, 255, 0.64);
    border: 1px solid rgba(25, 135, 84, 0.4);
}

.flash-message {
    border-radius: 10px;
    border: none;
    box-shadow: 0 4px 15px rgba(25, 135, 84, 0.2);
}

/* ========================================
   TITRES / DIVISEURS / VARIANTES
======================================== */
.section-divider { position: relative; margin-top: 30px; }
.section-title-bar {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border: 2px solid #5f4fcf;
    border-radius: 12px;
    padding: 15px 25px;
    color: #5f4fcf;
    font-weight: 700;
    font-size: 1.3rem;
    text-align: center;
    box-shadow: 0 4px 15px rgba(95, 79, 207, 0.2);
}

/* Headers de section */
.section-header-modern {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 15px 20px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 1.1rem;
    color: #374151;
    margin-bottom: 20px;
    border-left: 5px solid #667eea;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.section-header-modern i { margin-right: 10px; color: #667eea; }

.type-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    color: #5f4fcf;
    padding: 12px 20px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 15px;
    border-left: 4px solid #5f4fcf;
}
.type-header--alt {
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
    color: #fff;
    border-left: 0;
    margin-bottom: 0;
    border-radius: 10px 10px 0 0;
}

/* ========================================
   PROBLÉMATIQUES
======================================== */
.problematique-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: #f8f9fa;
    border-radius: 10px;
    border-left: 4px solid #10b981;
}
.problematique-item i { font-size: 1.2rem; }

.code-badge {
    background: white;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 600;
    color: #374151;
    border: 2px solid #e5e7eb;
    font-size: 0.9rem;
}

.problematique-block {
    background: white;
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 25px;
    border: 2px solid #e5e7eb;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}
.problematique-block:hover {
    border-color: #667eea;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.15);
}

.problematique-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 8px;
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border-radius: 12px;
    margin-bottom: 20px;
    border-left: 5px solid #f59e0b;
}
.problematique-icon {
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.3rem;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}
.problematique-content { flex: 1; }
.problematique-code {
    display: inline-block;
    background: white;
    color: #f59e0b;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 2px solid #fbbf24;
}

.proposition-row { margin-top: 15px; }

/* ========================================
   PANNEAU DE RÉORGANISATION
======================================== */
.reorder-panel {
    position: fixed;
    right: -400px;
    top: 0;
    width: 400px;
    height: 100vh;
    background: white;
    box-shadow: -5px 0 25px rgba(0,0,0,0.2);
    z-index: 9999;
    transition: right 0.3s ease;
    display: flex;
    flex-direction: column;
}
.reorder-panel.active { right: 0; }
.reorder-panel-header {
    padding: 20px;
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.reorder-panel-header h5 { margin: 0; font-weight: 600; }
.reorder-panel-header .btn-close { filter: invert(1); }
.reorder-panel-body { flex: 1; overflow-y: auto; padding: 20px; }
.reorder-panel-footer {
    padding: 20px;
    border-top: 1px solid #dee2e6;
    background: #f8f9fa;
}

/* Liste triable */
.sortable-list { list-style: none; padding: 0; margin: 0; }
.sortable-item {
    background: white;
    border: 2px solid #e9ecef;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 10px;
    cursor: move;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}
.sortable-item:hover {
    border-color: #5f4fcf;
    box-shadow: 0 4px 12px rgba(95, 79, 207, 0.2);
    transform: translateX(-5px);
}
.sortable-item.dragging { opacity: 0.5; transform: rotate(3deg); }
.sortable-item.drag-over {
    border-color: #5f4fcf;
    background: rgba(95, 79, 207, 0.1);
    border-style: dashed;
}
.sortable-item-number {
    width: 30px;
    height: 30px;
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9rem;
    flex-shrink: 0;
}
.sortable-item-content { flex: 1; }
.sortable-item-title {
    font-weight: 600;
    color: #2c3e50;
    margin: 0;
    font-size: 0.95rem;
}
.sortable-item-icon { color: #5f4fcf; font-size: 1.2rem; flex-shrink: 0; }

/* Overlay */
.reorder-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.reorder-overlay.active { display: block; opacity: 1; }

/* ========================================
   NUMÉROTATION DES SECTIONS
======================================== */
.proposition-section-item { position: relative; }
.section-block { position: relative; overflow: visible; }
.section-number-badge {
    width: 35px;
    height: 35px;
    background: linear-gradient(135deg, #5f4fcf 0%, #7b68ee 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    box-shadow: 0 3px 10px rgba(95, 79, 207, 0.4);
    z-index: 10;
    font-size: 1.5rem;
}

/* ========================================
   DIAGNOSTIC - GÉNÉRER
======================================== */
.selection-counter {
    background: rgb(95, 79, 207);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    text-align: center;
    min-width: 120px;
    padding: 2px 4px;
}
.counter-number { font-size: 1.2rem; font-weight: 700; line-height: 1; }
.counter-label  { font-size: 0.75rem; font-weight: 500; margin-top: 2px; }

/* Checkboxes custom */
.form-check {
    padding: 15px;
    border-radius: 10px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    background: white;
}
.form-check:hover { background-color: #f8f9ff; border-color: #e9ecef; transform: translateX(5px); }

.form-check-input {
    width: 1.5em;
    height: 1.5em;
    margin-top: 0.1em;
    cursor: pointer;
    border: 2px solid #dee2e6;
    border-radius: 6px;
    transition: all 0.3s ease;
}
.form-check-input:hover { border-color: #5f4fcf; box-shadow: 0 0 0 0.2rem rgba(95, 79, 207, 0.1); }
.form-check-input:checked {
    background-color: #5f4fcf;
    border-color: #5f4fcf;
    box-shadow: 0 0 0 0.2rem rgba(95, 79, 207, 0.25);
    animation: checkBounce 0.3s ease;
}
.form-check-input:focus { border-color: #5f4fcf; box-shadow: 0 0 0 0.2rem rgba(95, 79, 207, 0.25); }

.form-check-label {
    cursor: pointer;
    line-height: 1.6;
    padding-left: 0.5rem;
    color: #495057;
    font-weight: 500;
    transition: color 0.3s ease;
}
.form-check-input:checked ~ .form-check-label { color: #5f4fcf; font-weight: 600; }
.form-check:hover .form-check-label { color: #2c3e50; }

@keyframes checkBounce {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.form-check:has(.form-check-input:checked) {
    background: linear-gradient(135deg, #f8f9ff 0%, #f0f0ff 100%);
    border-color: #5f4fcf;
    box-shadow: 0 2px 8px rgba(95, 79, 207, 0.15);
}

/* ========================================
   DIAGNOSTIC - PROPOSITION
======================================== */
.diagnostic-summary { display: flex; flex-direction: column; gap: 15px; }
.summary-item {
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 600;
    color: #495057;
}
.summary-description {
    color: #6c757d;
    font-size: 0.95rem;
    line-height: 1.5;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid #5f4fcf;
}
.proposition-type-section { margin-bottom: 25px; } /* valeur unique */
.propositions-content { padding: 0 20px; }

/* ========================================
   IMPRESSION
======================================== */
@media print {
    .sidebar-fixed,
    .dossier-header .header-actions,
    .modal { display: none !important; }

    .main-content {
        margin-left: 0 !important;
        width: 100% !important;
    }

    .card {
        border: 1px solid #000 !important;
        page-break-inside: avoid;
        margin-bottom: 20px;
    }

    .card-header {
        background-color: #f8f9fa !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

/*!***********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/beneficiaire.css ***!
  \***********************************************************************************************************************/
/* === HEADER GRADIENT === */
.header-gradient {
    background: white;
    box-shadow: 0 4px 20px rgb(0 0 0 / 3%);
}

.logo-img {
    width: 70px;
    height: auto;
}
.logo-apsi {
    width: 45px;
    height: auto;
}
/* === USER INFO CARD === */
.user-info {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.15);
    padding: 10px 18px;
    border-radius: 50px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    transition: all 0.3s ease;
}

.user-info:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

.user-avatar {
    width: 42px;
    height: 42px;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
    flex-shrink: 0;
}

.user-details {
    display: flex;
    align-items: center;
    gap: 12px;
}

.user-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-top: 2px;
    display: flex;
    flex-direction: column;
}
.user-name p {
    text-align: center;
    display: contents;
    font-size: 18px;
    margin: 0;
}
.user-avatar-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 1px;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
    flex-shrink: 0;
}

/* === MAIN CONTAINER === */
.main-container {
    min-height: calc(100vh - 80px);
    padding: 40px 0;
}

/* === ACTION BAR === */
.action-bar {
    background: white;
    padding: 30px;
    margin-bottom: 30px;
}

/* === SEARCH BAR === */
.search-bar-modern {
    position: relative;
    max-width: 600px;
    padding-top: 20px;
}

.search-icon {
    position: absolute;
    left: 20px;
    top: 62%;
    transform: translateY(-50%);
    color: #5f50ce;
    font-size: 18px;
    z-index: 2;
}

.search-input {
    width: 100%;
    padding: 16px 20px 16px 55px;
    border: 2px solid #e2e8f0;
    border-radius: 50px;
    font-size: 15px;
    transition: all 0.3s ease;
    background: #f7fafc;
}

.search-input:focus {
    outline: none;
    border-color: #5f4fcf;
    background: white;
    box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
}

.search-loader {
    position: absolute;
    right: 20px;
    top: 64%;
    transform: translateY(-50%);
    color: #5f4fcf;
    display: none;
}
.filter-form i{
    color: #5f4fcf;
}
/* === EMPTY STATE === */
.empty-state {
    text-align: center;
    padding: 80px 20px;
    background: white;
    border-radius: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.empty-icon {
    width: 120px;
    height: 120px;
    margin: 0 auto 30px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 50px;
    color: white;
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
}

.empty-title {
    color: #2d3748;
    font-weight: 700;
    font-size: 24px;
    margin-bottom: 15px;
}

.empty-description {
    color: #718096;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 30px;
}

.btn-logout {
    background: rgba(220, 53, 69, 0.50);
    border: 1px solid rgba(220, 53, 69, 0.4);
    color: black;
    padding: 10px 22px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-logout:hover {
    background: #dc3545;
    border-color: #dc3545;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.5);
}

/* === BENEFICIAIRES GRID === */
.beneficiaires-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.beneficiaire-card-wrapper {
    transition: all 0.3s ease;
}

.beneficiaire-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.beneficiaire-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

/* === CREATOR BADGE === */
.creator-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(102, 126, 234, 0.12);
    color: #667eea;
    padding: 7px 14px;
    border-radius: 18px;
    font-size: 11px;
    font-weight: 600;
    display: flex;
    align-items: center;
    backdrop-filter: blur(10px);
    z-index: 10;
    border: 1px solid rgba(102, 126, 234, 0.2);
}

/* === CARD HEADER === */
.card-header-modern {
    padding: 60px 25px 25px 25px;
    display: flex;
    align-items: center;
    gap: 20px;
    background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
    border-bottom: 1px solid #e2e8f0;
    flex-grow: 1;
}

.beneficiaire-avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    font-size: 30px;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.beneficiaire-info {
    flex-grow: 1;
    min-width: 0;
}

.beneficiaire-name {
    color: #2d3748;
    font-weight: 700;
    font-size: 18px;
    margin: 0 0 8px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.beneficiaire-date {
    color: #718096;
    font-size: 13.7px;
}

.beneficiaire-date i {
    color: #667eea;
}

/* === CARD FOOTER === */
/* Empêche Font Awesome d'afficher l’icône par défaut */
.btn-open-dossier .icon-folder::before {
    content: "\e185"; /* folder */
}

.btn-open-dossier:hover .icon-folder::before {
    content: "\f07c"; /* folder-open */
}

.card-footer-modern {
    padding: 20px 25px;
    background: white;
}

.btn-open-dossier {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 14px 24px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 10px;
    font-weight: 500;
    font-size: 16px;
    transition: all 0.3s ease;
    text-decoration: none;
    border: none;
}

.btn-open-dossier:hover {
    transform: translateX(5px);
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    color: white;
}

.btn-open-dossier i:last-child {
    transition: transform 0.3s ease;
}

.btn-open-dossier:hover i:last-child {
    transform: translateX(5px);
}

/* === RESULTS COUNTER === */
.results-counter {
    text-align: center;
    padding: 20px;
    color: #718096;
    font-weight: 600;
}
/* === ANIMATIONS === */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.beneficiaire-card-wrapper {
    animation: fadeIn 0.5s ease forwards;
}

.beneficiaire-card-wrapper:nth-child(1) { animation-delay: 0.05s; }
.beneficiaire-card-wrapper:nth-child(2) { animation-delay: 0.1s; }
.beneficiaire-card-wrapper:nth-child(3) { animation-delay: 0.15s; }
.beneficiaire-card-wrapper:nth-child(4) { animation-delay: 0.2s; }
.beneficiaire-card-wrapper:nth-child(5) { animation-delay: 0.25s; }
.beneficiaire-card-wrapper:nth-child(6) { animation-delay: 0.3s; }

.table-borderless>:not(caption)>*>* {
    border-bottom-width: 1px;
}
/* === Filter === */

     /* Container des filtres */
 .filter-container {
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     border-radius: 12px;
     padding: 1.5rem;
     box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
 }

/* Formulaire de filtres */
.filter-form-modern {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

/* Header des filtres */
.filter-header {
    padding-top: 35px;
    align-items: center;
    color: white;
    font-weight: 600;
    font-size: 1.1rem;
}

.filter-header i {
    font-size: 1.2rem;
}

/* Conteneur des inputs */
.filter-inputs {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: flex-end;
}

/* Groupe de filtre */
.filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 180px;
}

.filter-group label {
    color: white;
    font-weight: 500;
    font-size: 0.9rem;
    margin-bottom: 0;
}

/* Style des selects */
.filter-select {
    padding: 0.6rem 1rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.95);
    color: #333;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    cursor: pointer;
    min-width: 220px;
}

.filter-select:hover {
    border-color: rgba(255, 255, 255, 0.6);
    background: white;
}

.filter-select:focus {
    outline: none;
    border-color: white;
    background: white;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

/* Style des inputs date */
.filter-date {
    padding: 0.6rem 1rem;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.95);
    color: #333;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    cursor: pointer;
    min-width: 160px;
}

.filter-date:hover {
    border-color: rgba(255, 255, 255, 0.6);
    background: white;
}

.filter-date:focus {
    outline: none;
    border-color: white;
    background: white;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

/* Style pour le calendrier dans les inputs date */
.filter-date::-webkit-calendar-picker-indicator {
    cursor: pointer;
    filter: invert(0.5);
}

.filter-date::-webkit-calendar-picker-indicator:hover {
    filter: invert(0.3);
}

/* Conteneur des boutons d'action */
.filter-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: flex-end;
}

/* Bouton Appliquer */
.btn-filter-apply {
    background: white;
    color: #5f50ce;
    border: none;
    padding: 0.65rem 1.5rem;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-filter-apply:hover {
    background: #f8f9ff;
    transform: translateY(-2px);
    cursor: pointer;
}

.btn-filter-apply:active {
    transform: translateY(0);
}

/* Bouton Réinitialiser */
.btn-filter-reset {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.4);
    padding: 0.6rem 1.3rem;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
}

.btn-filter-reset:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.6);
    color: white;
    transform: translateY(-2px);
    text-decoration: none;
}

.btn-filter-reset:active {
    transform: translateY(0);
}
/* Badge période terminée */
.periode-terminee-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
    z-index: 10;
    animation: fadeInBadge 0.3s ease;
}

.periode-terminee-badge i {
    font-size: 14px;
}

@keyframes fadeInBadge {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Ajuster la position du badge créateur pour ne pas chevaucher */
.beneficiaire-card {
    position: relative;
}

.creator-badge {
    position: absolute;
    top: 10px;
    right: 10px;
}

/* ========================================
   FLASH TOAST MESSAGES (STYLE EXACTEMENT IDENTIQUE À PÉRIODE TERMINÉE)
======================================== */
.flash-toast {
    /* Style EXACTEMENT identique au badge période terminée */
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1050;
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    animation: slideInRight 0.3s ease-out;
    min-width: 250px;
    max-width: 350px;
}

/* Variants de couleur pour les toasts (mêmes gradients) */
.flash-success {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
}

.flash-error {
    background: linear-gradient(135deg, #dc3545 0%, #fd7e14 100%);
    color: white;
}

.flash-warning {
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
    color: white;
}

.flash-info {
    background: linear-gradient(135deg, #17a2b8 0%, #6f42c1 100%);
    color: white;
}

/* Icône dans les toasts */
.flash-toast i {
    font-size: 1em;
    flex-shrink: 0;
}

/* Texte du message */
.flash-toast span {
    flex: 1;
    line-height: 1.4;
}

/* Bouton de fermeture */
.flash-close-btn {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 3px;
    opacity: 0.8;
    transition: opacity 0.2s ease;
    flex-shrink: 0;
}

.flash-close-btn:hover {
    opacity: 1;
    background: rgba(255, 255, 255, 0.2);
}

.flash-close-btn i {
    font-size: 0.8em;
}

/* Animation d'entrée */
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Animation de sortie */
.flash-toast.fade-out {
    animation: slideOutRight 0.3s ease-in forwards;
}

@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

/* Empilement des toasts multiples */
.flash-toast:nth-child(2) { top: 80px; }
.flash-toast:nth-child(3) { top: 140px; }
.flash-toast:nth-child(4) { top: 200px; }
.flash-toast:nth-child(5) { top: 260px; }

/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/login.css ***!
  \****************************************************************************************************************/
.login-container {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.login-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgb(0 0 0 / 17%);
    max-width: 450px;
    width: 100%;
    padding: 40px;
    animation: slideUp 0.5s ease;
}

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

.login-header {
    text-align: center;
    margin-bottom: 30px;
}

.login-logo {
    max-width: 75px;
    margin-bottom: 20px;
}
.cfp02-logo{
    max-width: 135px;
    padding-left: 20px;
    padding-top: 20px;
}
.login-header h2 {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 5px;
    padding-top: 15px;
}

.login-form .form-control {
    border-radius: 10px;
    padding: 12px 15px;
    border: 2px solid #e9ecef;
    transition: all 0.3s;
}

.login-form .form-control:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}

.password-wrapper {
    position: relative;
}

.btn-toggle-password {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: #6c757d;
    cursor: pointer;
    padding: 5px 10px;
    z-index: 10;
}

.btn-toggle-password:hover {
    color: #667eea;
}

.btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    border-radius: 10px;
    padding: 8px;
    font-weight: 600;
    transition: all 0.3s;
    font-size: 18px;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4);
}

.alert {
    border-radius: 10px;
    border: none;
}

@media (max-width: 576px) {
    .login-card {
        padding: 30px 20px;
    }

    .login-logo {
        max-width: 150px;
    }
}

/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/ateliers.css ***!
  \*******************************************************************************************************************/
.atelier-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.atelier-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
}



.atelier-status {
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
}

.status-badge {
    display: inline-block;
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.9rem;
}

.competences-preview {
    padding: 10px;
    background: #e7f3ff;
    border-left: 3px solid #0d6efd;
    border-radius: 4px;
}

/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/boutons.css ***!
  \******************************************************************************************************************/
/* Actions header */
.header-actions {
    display: flex;
    gap: 12px;
}
.btn{
    cursor: pointer;
}
.btn-action {
    background: rgba(95, 79, 207, 0.15);
    border: 2px solid #5f4fcf;
    border-radius: 8px;
    padding: 8px 15px;
    color: #2d1f6f; /* Violet très foncé */
    text-decoration: none;
    align-items: center;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    font-weight: 500;
    cursor: pointer;
    font-size: 16px;
}
.btn-action i {
    font-size: 15px;
    margin-right: 6px;
}

.btn-action span {
    font-size: 15px;
}
.btn-action:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    color: white;
}

.btn-action.btn-warning:hover {
    background: #e0a800;
    border-color: #d39e00;
}

.btn-action.btn-primary:hover {
    background: rgba(13, 110, 253, 0.9);
    border-color: #0d6efd;
}

.btn-action.btn-success:hover {
    background: rgba(25, 135, 84, 0.9);
    border-color: #198754;
}
.btn-action.btn-danger:hover{
    background: #c82333;   /* rouge Bootstrap plus foncé */
    border-color: #bd2130;
}
.btn-action.btn-retour:hover{
    color: #FFFFFF;
    background: #5f4fcf;
}
.btn-action.complete:hover{
    background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%);
    border-color: #1e7e34;
}
.btn-action.btn-info:hover {
    background: #0bb3d4;   /* plus foncé que #0dcaf0 */
    border-color: #0aa2c0;
}
.btn-save-inline {
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
    margin-bottom: 40px;
    padding: 10px 20px;
    font-weight: 500;
    font-size: 1.2rem;
}
.btn-save-inline:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(13, 110, 253, 0.4);
    background: linear-gradient(135deg, #0b5ed7 0%, #004085 100%);
    color: #FFFFFF;
}
.liste-btn{

    font-weight: 500;
}
.liste-btn .nav-item {
    /* background: rgba(255, 255, 255, 0.91);
    color: #0984e3; */
}
.deco{
    background: rgba(95, 79, 207, 0.15);
    border: 2px solid #5f4fcf;
    border-radius: 7px;
    padding: 5px 8px;
    font-weight: 400;
    color: #2d1f6f; /* Violet très foncé */
    text-decoration: none;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
}
.btn-plier{
    background: rgba(95, 79, 207, 0.64);
    color: white;
    border-color: #5f4fcf;
    padding: 6px 10px;
    font-size: 14px;
    border-radius: 8px;
    font-weight: 600;
}
.btn-plier:hover{
    background: #4937a8;
    color: white;
    border-color: #473b98;
}
.btn-plier i{
    padding-right: 5px;
    font-size: 14px !important;
}

/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/profile.css ***!
  \******************************************************************************************************************/
.card-header{
    display: flex;
    justify-content: space-between;
}
.card-header i{
    align-self: center;
    font-size: 18px;
}
.py-4{
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}
table th, table td {
    border: 0;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7SUFDSSx3QkFBd0I7SUFDeEIsNkJBQTZCO0lBQzdCLHNCQUFzQjtJQUN0Qix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLFlBQVk7SUFDWixzQ0FBc0M7SUFDdEMsOENBQThDO0lBQzlDLDBCQUEwQjtJQUMxQixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLGNBQWM7QUFDbEI7QUFDQSw4QkFBOEI7QUFDOUI7SUFDSSxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLGVBQWU7QUFDbkI7QUFDQSx3Q0FBd0M7QUFDeEM7SUFDSSxXQUFXO0lBQ1gsK0JBQStCO0FBQ25DO0FBQ0EsaUNBQWlDO0FBQ2pDO0lBQ0ksZUFBZTtJQUNmLE1BQU07SUFDTixPQUFPO0lBQ1AsWUFBWTtJQUNaLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixzQ0FBc0M7SUFDdEMsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjtBQUNBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIseUJBQXlCO0lBQ3pCLGlCQUFpQjtJQUNqQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2Ysa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksbUJBQW1CLEVBQUUsb0JBQW9CO0FBQzdDOztBQUVBO0lBQ0ksMkJBQTJCO0lBQzNCLHNDQUFzQztBQUMxQzs7QUFFQTtJQUNJLDJCQUEyQjtJQUMzQixzQ0FBc0M7QUFDMUM7O0FBRUEsc0JBQXNCO0FBQ3RCO0lBQ0ksa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixpQkFBaUI7QUFDckI7Ozs7Ozs7QUMzR0E7SUFDSSxTQUFTO0lBQ1QsVUFBVTtJQUNWLHNCQUFzQjtBQUMxQjtBQUNBO0lBQ0ksU0FBUztJQUNULFVBQVU7SUFDVixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLCtCQUErQjtJQUMvQix5QkFBeUI7O0FBRTdCO0FBQ0E7SUFDSSw2REFBNkQ7QUFDakU7QUFDQTtJQUNJLHlCQUF5QjtBQUM3QjtBQUNBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtJQUNqQiwwQ0FBMEM7O0FBRTlDOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCO0FBQ0E7SUFDSSxjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0ksb0NBQW9DO0lBQ3BDLGtDQUFrQztJQUNsQywyQkFBMkI7QUFDL0I7QUFDQTtJQUNJLG9DQUFvQztBQUN4QztBQUNBO0lBQ0ksZUFBZTtBQUNuQjs7Ozs7Q0NwREMsd0JBQXdCO0FBQ3pCO0lBQ0ksbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLDZEQUE2RDtBQUNqRTs7QUFFQSx1QkFBdUI7QUFDdkI7SUFDSSw2REFBNkQ7SUFDN0QsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsYUFBYTtJQUNiLGlCQUFpQjtBQUNyQjs7QUFFQSxlQUFlLFNBQVMsRUFBRTtBQUMxQixvQkFBb0IsVUFBVSxFQUFFO0FBQ2hDLGlCQUFpQixVQUFVLEVBQUU7QUFDN0IsaUJBQWlCLFVBQVUsRUFBRTs7QUFFN0Isc0JBQXNCO0FBQ3RCO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZ0NBQWdDO0lBQ2hDLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLDZEQUE2RDtJQUM3RCwyQkFBMkI7SUFDM0IsNkNBQTZDO0FBQ2pEOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixtQkFBbUI7QUFDdkI7O0FBRUEsd0JBQXdCO0FBQ3hCO0lBQ0ksb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsNkRBQTZEO0lBQzdELFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsNkNBQTZDO0FBQ2pEOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0FBQ2hCOztBQUVBLHlCQUF5QjtBQUN6Qjs7O0lBR0ksZ0JBQWdCO0lBQ2hCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGtCQUFrQjtBQUN0Qjs7QUFFQSx1QkFBdUI7QUFDdkI7SUFDSSxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLDZEQUE2RDtBQUNqRTs7QUFFQTtJQUNJLDZEQUE2RDtJQUM3RCxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksY0FBYztJQUNkLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLDhDQUE4QztJQUM5Qyx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IsOENBQThDO0FBQ2xEOztBQUVBLHVCQUF1QjtBQUN2QjtJQUNJLDZCQUE2QjtJQUM3Qiw2REFBNkQ7QUFDakU7O0FBRUEsZUFBZTtBQUNmO0lBQ0k7UUFDSSxpQkFBaUI7SUFDckI7O0lBRUE7UUFDSSxrQkFBa0I7SUFDdEI7O0lBRUE7UUFDSSxlQUFlO1FBQ2YsWUFBWTtJQUNoQjs7SUFFQTtRQUNJLGVBQWU7SUFDbkI7O0lBRUE7UUFDSSxrQkFBa0I7SUFDdEI7O0lBRUE7UUFDSSxXQUFXO1FBQ1gsWUFBWTtJQUNoQjs7SUFFQTtRQUNJLGlCQUFpQjtJQUNyQjtBQUNKO0NBQ0Msa0NBQWtDO0NBQ2xDO0tBQ0kscUJBQXFCO0tBQ3JCLGdCQUFnQjtDQUNwQjs7Q0FFQTtLQUNJLGFBQWE7S0FDYix1QkFBdUI7S0FDdkIsU0FBUztLQUNULFlBQVk7S0FDWiw2REFBNkQ7S0FDN0Qsa0JBQWtCO0tBQ2xCLDhCQUE4QjtDQUNsQzs7Q0FFQTtLQUNJLGFBQWE7S0FDYixzQkFBc0I7S0FDdEIsUUFBUTtDQUNaOztDQUVBO0tBQ0ksY0FBYztLQUNkLGlCQUFpQjtLQUNqQixnQkFBZ0I7Q0FDcEI7O0NBRUE7S0FDSSxjQUFjO0tBQ2Qsa0JBQWtCO0tBQ2xCLGtCQUFrQjtDQUN0Qjs7Q0FFQTtLQUNJLHlCQUF5QjtLQUN6QixzQkFBc0I7Q0FDMUI7O0NBRUEsZUFBZTtDQUNmO0tBQ0k7U0FDSSxXQUFXO0tBQ2Y7O0tBRUE7U0FDSSxzQkFBc0I7U0FDdEIsa0JBQWtCO0tBQ3RCO0NBQ0o7Ozs7O0FDMU9ELHdCQUF3QjtBQUN4QjtJQUNJLG1CQUFtQjtJQUNuQixnQkFBZ0I7QUFDcEI7O0FBRUEsd0JBQXdCO0FBQ3hCO0lBQ0ksaUJBQWlCO0lBQ2pCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdDQUFnQztJQUNoQyx5QkFBeUI7SUFDekIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksNkRBQTZEO0FBQ2pFOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBLHdCQUF3QjtBQUN4QjtJQUNJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsNEJBQTRCO0lBQzVCLFNBQVM7QUFDYjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxlQUFlO0FBQ25COztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksT0FBTztJQUNQLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkI7O0FBRUEsMEJBQTBCO0FBQzFCO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksNkRBQTZEO0lBQzdELG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQiw4QkFBOEI7QUFDbEM7O0FBRUEsY0FBYztBQUNkO0lBQ0ksa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQiw2REFBNkQ7QUFDakU7O0FBRUE7SUFDSSw2REFBNkQ7SUFDN0QsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLDhDQUE4QztBQUNsRDs7QUFFQTtJQUNJLGVBQWU7SUFDZixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztJQUNkLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQiw4Q0FBOEM7SUFDOUMseUJBQXlCO0lBQ3pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IsOENBQThDO0FBQ2xEOztBQUVBLHVCQUF1QjtBQUN2QjtJQUNJLDZCQUE2QjtJQUM3Qiw2REFBNkQ7QUFDakU7O0FBRUEsd0RBQXdEO0FBQ3hEO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7Ozs7O0NDektDLG9CQUFvQjs7QUFFckIsNkJBQTZCO0FBQzdCO0lBQ0ksbUJBQW1CO0lBQ25CLFlBQVk7SUFDWiw2Q0FBNkM7QUFDakQ7O0FBRUEsdUJBQXVCO0FBQ3ZCO0lBQ0ksbUJBQW1CO0lBQ25CLDZEQUE2RDtBQUNqRTs7QUFFQTtJQUNJLDZEQUE2RDtJQUM3RCxZQUFZO0lBQ1osYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixjQUFjO0lBQ2QsNkNBQTZDO0FBQ2pEOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQiw4Q0FBOEM7SUFDOUMseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksMkJBQTJCO0lBQzNCLDhDQUE4QztBQUNsRDs7QUFFQSx5QkFBeUI7QUFDekI7SUFDSSxhQUFhO0lBQ2IsNERBQTREO0lBQzVELFNBQVM7QUFDYjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0Isd0NBQXdDO0FBQzVDOztBQUVBLG1DQUFtQztBQUNuQztJQUNJLGFBQWE7SUFDYixhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLG1CQUFtQjtJQUNuQiw2REFBNkQ7QUFDakU7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFNBQVM7QUFDYjs7QUFFQTtJQUNJLDZEQUE2RDtJQUM3RCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsNkNBQTZDO0lBQzdDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGdCQUFnQjtBQUNwQjs7QUFFQSxxQkFBcUI7QUFDckI7SUFDSSxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixRQUFRO0FBQ1o7O0FBRUE7SUFDSSw2REFBNkQ7SUFDN0QsWUFBWTtJQUNaLDZDQUE2QztBQUNqRDs7QUFFQTtJQUNJLDZEQUE2RDtJQUM3RCxXQUFXO0lBQ1gsNkNBQTZDO0FBQ2pEOztBQUVBO0lBQ0ksNkRBQTZEO0lBQzdELFlBQVk7SUFDWiwrQ0FBK0M7QUFDbkQ7O0FBRUEscUJBQXFCO0FBQ3JCO0lBQ0ksa0JBQWtCO0lBQ2xCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYiw2REFBNkQ7SUFDN0QsbUJBQW1CO0lBQ25CLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksNkRBQTZEO0lBQzdELFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLDhDQUE4QztBQUNsRDs7QUFFQTtJQUNJLGNBQWM7SUFDZCxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksY0FBYztJQUNkLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixPQUFPO0FBQ1g7O0FBRUEsdUJBQXVCO0FBQ3ZCO0lBQ0ksYUFBYTtJQUNiLDZEQUE2RDtBQUNqRTs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLDJCQUEyQjtJQUMzQixzQ0FBc0M7QUFDMUM7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLDJCQUEyQjtBQUMvQjs7QUFFQSx5QkFBeUI7QUFDekI7SUFDSSxtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLDhCQUE4QjtBQUNsQztDQUNDLG9CQUFvQjtDQUNwQjtLQUNJLGFBQWE7S0FDYixzQkFBc0I7S0FDdEIscUJBQXFCO0tBQ3JCLFFBQVE7S0FDUixrQkFBa0I7Q0FDdEI7O0NBRUE7S0FDSSxrQ0FBa0M7S0FDbEMsb0NBQW9DO0NBQ3hDOztDQUVBO0tBQ0ksNEJBQTRCO0tBQzVCLGlCQUFpQjtLQUNqQixnQkFBZ0I7Q0FDcEI7O0NBRUEsa0NBQWtDO0NBQ2xDO0tBQ0ksYUFBYTtLQUNiLHNCQUFzQjtLQUN0QixTQUFTO0NBQ2I7O0NBRUE7S0FDSSxhQUFhO0tBQ2IsbUJBQW1CO0tBQ25CLGlCQUFpQjtLQUNqQixnQkFBZ0I7S0FDaEIsY0FBYztDQUNsQjs7Q0FFQTtLQUNJLGNBQWM7S0FDZCxrQkFBa0I7S0FDbEIsZ0JBQWdCO0tBQ2hCLGFBQWE7S0FDYixtQkFBbUI7S0FDbkIsa0JBQWtCO0tBQ2xCLDhCQUE4QjtDQUNsQzs7Q0FFQSw2QkFBNkI7Q0FDN0I7S0FDSSxnQkFBZ0I7S0FDaEIsY0FBYztDQUNsQjs7Q0FFQTtLQUNJLGtCQUFrQjtLQUNsQixnQkFBZ0I7S0FDaEIsa0JBQWtCO0tBQ2xCLHlCQUF5QjtLQUN6QixrQkFBa0I7S0FDbEIsZ0JBQWdCO0tBQ2hCLGtCQUFrQjtDQUN0QjtDQUNBO0tBQ0ksNkRBQTZEO0tBQzdELHlCQUF5QjtLQUN6QixZQUFZO0tBQ1osNkNBQTZDO0NBQ2pEOztDQUVBO0tBQ0ksMkJBQTJCO0tBQzNCLDZDQUE2QztLQUM3Qyw2REFBNkQ7Q0FDakU7O0NBRUE7S0FDSSxtQkFBbUI7S0FDbkIseUJBQXlCO0tBQ3pCLFlBQVk7Q0FDaEI7O0NBRUE7S0FDSSxtQkFBbUI7S0FDbkIscUJBQXFCO0tBQ3JCLFlBQVk7S0FDWiwyQkFBMkI7S0FDM0IsK0NBQStDO0NBQ25EOztDQUVBLDRCQUE0QjtDQUM1QjtLQUNJLDZEQUE2RDtLQUM3RCxnQ0FBZ0M7S0FDaEMsZUFBZTtLQUNmLG1CQUFtQjtLQUNuQixnQkFBZ0I7S0FDaEIsTUFBTTtLQUNOLFlBQVk7S0FDWixzQ0FBc0M7Q0FDMUM7O0NBRUE7S0FDSSxhQUFhO0tBQ2IsZUFBZTtLQUNmLFNBQVM7S0FDVCxtQkFBbUI7S0FDbkIsbUJBQW1CO0NBQ3ZCOztDQUVBO0tBQ0ksaUJBQWlCO0tBQ2pCLHlCQUF5QjtLQUN6QixtQkFBbUI7S0FDbkIsaUJBQWlCO0tBQ2pCLGlCQUFpQjtLQUNqQixnQkFBZ0I7S0FDaEIsY0FBYztLQUNkLGVBQWU7S0FDZix5QkFBeUI7S0FDekIsYUFBYTtLQUNiLG1CQUFtQjtLQUNuQixtQkFBbUI7Q0FDdkI7O0NBRUE7S0FDSSxtQkFBbUI7S0FDbkIscUJBQXFCO0tBQ3JCLGNBQWM7S0FDZCwyQkFBMkI7S0FDM0IsNkNBQTZDO0NBQ2pEOztDQUVBO0tBQ0ksNkRBQTZEO0tBQzdELHFCQUFxQjtLQUNyQixZQUFZO0tBQ1osNkNBQTZDO0NBQ2pEOztDQUVBO0tBQ0ksNkRBQTZEO0tBQzdELDJCQUEyQjtDQUMvQjs7Q0FFQTtLQUNJLGtCQUFrQjtLQUNsQixjQUFjO0tBQ2QsZ0JBQWdCO0NBQ3BCOztDQUVBO0tBQ0ksY0FBYztLQUNkLGdCQUFnQjtDQUNwQjs7Q0FFQSw4Q0FBOEM7Q0FDOUM7S0FDSSx5QkFBeUI7S0FDekIsVUFBVTtLQUNWLHdCQUF3QjtDQUM1Qjs7Q0FFQTtLQUNJLFVBQVU7S0FDViw0QkFBNEI7S0FDNUIsb0JBQW9CO0tBQ3BCLGdCQUFnQjtLQUNoQixTQUFTO0tBQ1QsZ0JBQWdCO0tBQ2hCLFVBQVU7Q0FDZDs7Q0FFQTtLQUNJLHVDQUF1QztDQUMzQzs7Q0FFQTtLQUNJO1NBQ0ksVUFBVTtTQUNWLDJCQUEyQjtLQUMvQjtLQUNBO1NBQ0ksVUFBVTtTQUNWLHdCQUF3QjtLQUM1QjtDQUNKOztDQUVBLDhCQUE4QjtDQUM5QjtLQUNJLHlCQUF5QjtDQUM3Qjs7Q0FFQTtLQUNJLDJCQUEyQjtLQUMzQix1Q0FBdUM7Q0FDM0M7O0NBRUE7S0FDSSw2REFBNkQ7S0FDN0QsZ0NBQWdDO0tBQ2hDLGFBQWE7Q0FDakI7O0NBRUE7S0FDSSxjQUFjO0tBQ2QsZ0JBQWdCO0tBQ2hCLGlCQUFpQjtDQUNyQjs7Q0FFQTtLQUNJLG1CQUFtQjtDQUN2Qjs7Q0FFQTtLQUNJLDZEQUE2RDtLQUM3RCxZQUFZO0tBQ1osa0JBQWtCO0tBQ2xCLDRCQUE0QjtLQUM1QixnQkFBZ0I7S0FDaEIsZUFBZTtLQUNmLGdCQUFnQjtDQUNwQjs7Q0FFQTtLQUNJLHlCQUF5QjtLQUN6QixnQkFBZ0I7S0FDaEIsNEJBQTRCO0tBQzVCLGFBQWE7S0FDYixtQkFBbUI7Q0FDdkI7O0NBRUE7S0FDSSxhQUFhO0tBQ2IsdUJBQXVCO0tBQ3ZCLFNBQVM7S0FDVCxtQkFBbUI7Q0FDdkI7O0NBRUE7S0FDSSxnQkFBZ0I7Q0FDcEI7O0NBRUE7S0FDSSw2REFBNkQ7S0FDN0QsWUFBWTtLQUNaLFdBQVc7S0FDWCxZQUFZO0tBQ1osa0JBQWtCO0tBQ2xCLGFBQWE7S0FDYixtQkFBbUI7S0FDbkIsdUJBQXVCO0tBQ3ZCLGlCQUFpQjtLQUNqQixjQUFjO0tBQ2QsZUFBZTtLQUNmLDZDQUE2QztDQUNqRDs7Q0FFQTtLQUNJLE9BQU87Q0FDWDs7Q0FFQTtLQUNJLG1CQUFtQjtLQUNuQix5QkFBeUI7S0FDekIsYUFBYTtLQUNiLGtCQUFrQjtLQUNsQixnQkFBZ0I7S0FDaEIsaUJBQWlCO0tBQ2pCLGdCQUFnQjtLQUNoQix5QkFBeUI7Q0FDN0I7O0NBRUE7S0FDSSxxQkFBcUI7S0FDckIsZ0RBQWdEO0NBQ3BEOztDQUVBLDBCQUEwQjtDQUMxQjtLQUNJLGFBQWE7S0FDYixzQkFBc0I7S0FDdEIsU0FBUztDQUNiOztDQUVBO0tBQ0ksbUJBQW1CO0tBQ25CLHlCQUF5QjtLQUN6QixhQUFhO0tBQ2Isa0JBQWtCO0tBQ2xCLGdCQUFnQjtLQUNoQixpQkFBaUI7S0FDakIsZ0JBQWdCO0tBQ2hCLHlCQUF5QjtDQUM3Qjs7Q0FFQTtLQUNJLHFCQUFxQjtLQUNyQixnREFBZ0Q7Q0FDcEQ7O0NBRUE7S0FDSSxjQUFjO0tBQ2Qsa0JBQWtCO0tBQ2xCLGdCQUFnQjtLQUNoQixlQUFlO0NBQ25COztDQUVBLG9CQUFvQjtDQUNwQjtLQUNJLDZEQUE2RDtDQUNqRTs7Q0FFQTtLQUNJLG1CQUFtQjtLQUNuQixZQUFZO0tBQ1osNkNBQTZDO0NBQ2pEOzs7OztBQ3prQkQ7OzBDQUUwQztBQUMxQztJQUNJLHFDQUFxQztJQUNyQywyQkFBMkI7SUFDM0IsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIseUNBQXlDO0FBQzdDOztBQUVBO0lBQ0ksa0NBQWtDO0lBQ2xDLHdDQUF3QztJQUN4QyxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksa0NBQWtDO0lBQ2xDLDJCQUEyQjtJQUMzQiw2Q0FBNkM7QUFDakQ7O0FBRUE7SUFDSSw2REFBNkQ7SUFDN0QsWUFBWTtJQUNaLHFCQUFxQjtBQUN6Qjs7QUFFQTs7MENBRTBDO0FBQzFDO0lBQ0ksYUFBYTtJQUNiLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxPQUFPLFVBQVUsRUFBRSwyQkFBMkIsRUFBRTtJQUNoRCxLQUFLLFVBQVUsRUFBRSx3QkFBd0IsRUFBRTtBQUMvQzs7QUFFQTtJQUNJLDZEQUE2RDtJQUM3RCxZQUFZO0lBQ1osYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLG1CQUFtQjtBQUN2Qjs7QUFFQTs7MENBRTBDO0FBQzFDO0lBQ0ksZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDBDQUEwQztJQUMxQyw4QkFBOEI7SUFDOUIseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxTQUFTO0lBQ1QsV0FBVztJQUNYLFdBQVc7SUFDWCxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IsdUNBQXVDO0FBQzNDOztBQUVBO0lBQ0ksNkRBQTZEO0lBQzdELFlBQVk7SUFDWixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksaUNBQWlDO0lBQ2pDLFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLHVDQUF1QztBQUMzQzs7QUFFQTtJQUNJLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFNBQVM7QUFDYjtBQUNBLG1DQUFtQyxXQUFXLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztBQUU3RSxrQ0FBa0M7QUFDbEM7SUFDSSw2REFBNkQ7SUFDN0QseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLDhCQUE4QjtJQUM5Qix5QkFBeUI7QUFDN0I7QUFDQSw0QkFBNEIsY0FBYyxFQUFFLGlCQUFpQixFQUFFO0FBQy9ELGlDQUFpQyxjQUFjLEVBQUU7QUFDakQ7SUFDSSw2REFBNkQ7SUFDN0QsMEJBQTBCO0FBQzlCOztBQUVBLHdCQUF3QjtBQUN4QjtJQUNJLGtDQUFrQztJQUNsQyxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtBQUN6QjtBQUNBLHFCQUFxQixnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRTs7QUFFbEc7OzBDQUUwQztBQUMxQyxvQkFBb0IsbUJBQW1CLEVBQUU7O0FBRXpDO0lBQ0ksa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixXQUFXO0FBQ2Y7QUFDQSx5Q0FBeUMsNkRBQTZELEVBQUU7QUFDeEcseUNBQXlDLDZEQUE2RCxFQUFFO0FBQ3hHLHlDQUF5Qyw2REFBNkQsRUFBRSxjQUFjLEVBQUU7QUFDeEgseUNBQXlDLDZEQUE2RCxFQUFFOztBQUV4RywwQ0FBMEM7QUFDMUM7SUFDSSxtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IseUJBQXlCO0FBQzdCO0FBQ0EsMEJBQTBCLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFOztBQUV0RSxrQ0FBa0M7QUFDbEM7SUFDSSxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLHFCQUFxQjtJQUNyQixnREFBZ0Q7QUFDcEQ7O0FBRUE7OzBDQUUwQztBQUMxQyxpQkFBaUIsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUU7O0FBRXhELHVCQUF1Qiw2REFBNkQsRUFBRTtBQUN0Rix1QkFBdUIsNkRBQTZELEVBQUU7QUFDdEYsdUJBQXVCLDZEQUE2RCxFQUFFO0FBQ3RGLHVCQUF1Qiw2REFBNkQsRUFBRTs7QUFFdEYsMkJBQTJCO0FBQzNCO0lBQ0ksNkRBQTZEO0lBQzdELG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWix5QkFBeUI7QUFDN0I7QUFDQTtJQUNJLHFCQUFxQjtJQUNyQixnREFBZ0Q7SUFDaEQsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixnQ0FBZ0M7SUFDaEMsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixRQUFRO0FBQ1o7QUFDQSw0QkFBNEIsY0FBYyxFQUFFLGVBQWUsRUFBRTs7QUFFN0Qsb0JBQW9CLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7QUFDN0Q7SUFDSSxlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLFNBQVM7QUFDYjtBQUNBLHlCQUF5QixjQUFjLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRTs7QUFFMUUsOENBQThDO0FBQzlDO0lBQ0ksdUJBQXVCO0lBQ3ZCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxjQUFjO0lBQ2QsZUFBZTtJQUNmLGNBQWM7SUFDZCxpQkFBaUI7QUFDckI7QUFDQSw0QkFBNEIsT0FBTyxFQUFFOztBQUVyQzs7MENBRTBDO0FBQzFDO0lBQ0ksbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLHFCQUFxQjtJQUNyQixnREFBZ0Q7QUFDcEQ7QUFDQTtJQUNJLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhCQUE4QjtJQUM5QixnQkFBZ0I7SUFDaEIsY0FBYztBQUNsQjtBQUNBLGlCQUFpQixhQUFhLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFO0FBQ25FLG1CQUFtQixjQUFjLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFOztBQUUxRjs7MENBRTBDO0FBQzFDO0lBQ0ksZ0JBQWdCO0lBQ2hCLFNBQVM7SUFDVCxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix5Q0FBeUM7QUFDN0M7QUFDQSxtQkFBbUIsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFOztBQUVyRDtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIseUJBQXlCO0FBQzdCO0FBQ0E7SUFDSSwyQkFBMkI7SUFDM0IsNkNBQTZDO0FBQ2pEO0FBQ0E7SUFDSSw2REFBNkQ7SUFDN0QseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWiw2Q0FBNkM7QUFDakQ7QUFDQTtJQUNJLDJCQUEyQjtJQUMzQiw2Q0FBNkM7SUFDN0MsNkRBQTZEO0FBQ2pFOztBQUVBOzswQ0FFMEM7QUFDMUM7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixRQUFRO0lBQ1Isa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLDJCQUEyQjtJQUMzQix1Q0FBdUM7SUFDdkMsNkJBQTZCO0lBQzdCLGlDQUFpQztBQUNyQztBQUNBO0lBQ0ksa0NBQWtDO0lBQ2xDLG9DQUFvQztBQUN4QztBQUNBLGlCQUFpQixjQUFjO0lBQzNCLHFDQUFxQztJQUNyQyxzQ0FBc0M7QUFDMUM7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQiwyQkFBMkI7QUFDL0I7QUFDQTtJQUNJLGtDQUFrQztJQUNsQyxnQ0FBZ0M7SUFDaEMsd0NBQXdDO0FBQzVDOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLFlBQVk7SUFDWiw2Q0FBNkM7QUFDakQ7O0FBRUE7OzBDQUUwQztBQUMxQyxtQkFBbUIsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUU7QUFDekQ7SUFDSSw2REFBNkQ7SUFDN0QseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLDZDQUE2QztBQUNqRDs7QUFFQSx1QkFBdUI7QUFDdkI7SUFDSSw2REFBNkQ7SUFDN0Qsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsOEJBQThCO0lBQzlCLHlDQUF5QztBQUM3QztBQUNBLDJCQUEyQixrQkFBa0IsRUFBRSxjQUFjLEVBQUU7O0FBRS9EO0lBQ0ksNkRBQTZEO0lBQzdELGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLDhCQUE4QjtBQUNsQztBQUNBO0lBQ0ksNkRBQTZEO0lBQzdELFdBQVc7SUFDWCxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtBQUNoQzs7QUFFQTs7MENBRTBDO0FBQzFDO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsOEJBQThCO0FBQ2xDO0FBQ0Esd0JBQXdCLGlCQUFpQixFQUFFOztBQUUzQztJQUNJLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QseUJBQXlCO0lBQ3pCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIseUNBQXlDO0lBQ3pDLHlCQUF5QjtBQUM3QjtBQUNBO0lBQ0kscUJBQXFCO0lBQ3JCLGdEQUFnRDtBQUNwRDs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsU0FBUztJQUNULFlBQVk7SUFDWiw2REFBNkQ7SUFDN0QsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQiw4QkFBOEI7QUFDbEM7QUFDQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osNkRBQTZEO0lBQzdELGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCw4Q0FBOEM7QUFDbEQ7QUFDQSx5QkFBeUIsT0FBTyxFQUFFO0FBQ2xDO0lBQ0kscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIseUJBQXlCO0FBQzdCOztBQUVBLG1CQUFtQixnQkFBZ0IsRUFBRTs7QUFFckM7OzBDQUUwQztBQUMxQztJQUNJLGVBQWU7SUFDZixhQUFhO0lBQ2IsTUFBTTtJQUNOLFlBQVk7SUFDWixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLHVDQUF1QztJQUN2QyxhQUFhO0lBQ2IsMkJBQTJCO0lBQzNCLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7QUFDQSx3QkFBd0IsUUFBUSxFQUFFO0FBQ2xDO0lBQ0ksYUFBYTtJQUNiLDZEQUE2RDtJQUM3RCxZQUFZO0lBQ1osYUFBYTtJQUNiLDhCQUE4QjtJQUM5QixtQkFBbUI7QUFDdkI7QUFDQSwyQkFBMkIsU0FBUyxFQUFFLGdCQUFnQixFQUFFO0FBQ3hELG1DQUFtQyxpQkFBaUIsRUFBRTtBQUN0RCxzQkFBc0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRTtBQUNoRTtJQUNJLGFBQWE7SUFDYiw2QkFBNkI7SUFDN0IsbUJBQW1CO0FBQ3ZCOztBQUVBLGtCQUFrQjtBQUNsQixpQkFBaUIsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtBQUMxRDtJQUNJLGlCQUFpQjtJQUNqQix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFNBQVM7QUFDYjtBQUNBO0lBQ0kscUJBQXFCO0lBQ3JCLDZDQUE2QztJQUM3QywyQkFBMkI7QUFDL0I7QUFDQSwwQkFBMEIsWUFBWSxFQUFFLHVCQUF1QixFQUFFO0FBQ2pFO0lBQ0kscUJBQXFCO0lBQ3JCLGtDQUFrQztJQUNsQyxvQkFBb0I7QUFDeEI7QUFDQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osNkRBQTZEO0lBQzdELFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCO0FBQ0EseUJBQXlCLE9BQU8sRUFBRTtBQUNsQztJQUNJLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsU0FBUztJQUNULGtCQUFrQjtBQUN0QjtBQUNBLHNCQUFzQixjQUFjLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFOztBQUV6RSxZQUFZO0FBQ1o7SUFDSSxlQUFlO0lBQ2YsTUFBTTtJQUNOLE9BQU87SUFDUCxXQUFXO0lBQ1gsWUFBWTtJQUNaLDJCQUEyQjtJQUMzQixhQUFhO0lBQ2IsYUFBYTtJQUNiLFVBQVU7SUFDViw2QkFBNkI7QUFDakM7QUFDQSwwQkFBMEIsY0FBYyxFQUFFLFVBQVUsRUFBRTs7QUFFdEQ7OzBDQUUwQztBQUMxQyw0QkFBNEIsa0JBQWtCLEVBQUU7QUFDaEQsaUJBQWlCLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFO0FBQ3hEO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWiw2REFBNkQ7SUFDN0QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsNkNBQTZDO0lBQzdDLFdBQVc7SUFDWCxpQkFBaUI7QUFDckI7O0FBRUE7OzBDQUUwQztBQUMxQztJQUNJLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsMENBQTBDO0lBQzFDLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtBQUNwQjtBQUNBLGtCQUFrQixpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUU7QUFDdkUsa0JBQWtCLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRTs7QUFFekUsc0JBQXNCO0FBQ3RCO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsNkJBQTZCO0lBQzdCLGlCQUFpQjtBQUNyQjtBQUNBLG9CQUFvQix5QkFBeUIsRUFBRSxxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRTs7QUFFbEc7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQix5QkFBeUI7QUFDN0I7QUFDQSwwQkFBMEIscUJBQXFCLEVBQUUsK0NBQStDLEVBQUU7QUFDbEc7SUFDSSx5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLGdEQUFnRDtJQUNoRCxnQ0FBZ0M7QUFDcEM7QUFDQSwwQkFBMEIscUJBQXFCLEVBQUUsZ0RBQWdELEVBQUU7O0FBRW5HO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQiwyQkFBMkI7QUFDL0I7QUFDQSxnREFBZ0QsY0FBYyxFQUFFLGdCQUFnQixFQUFFO0FBQ2xGLHNDQUFzQyxjQUFjLEVBQUU7O0FBRXREO0lBQ0ksS0FBSyxtQkFBbUIsRUFBRTtJQUMxQixNQUFNLHFCQUFxQixFQUFFO0lBQzdCLE9BQU8sbUJBQW1CLEVBQUU7QUFDaEM7O0FBRUE7SUFDSSw2REFBNkQ7SUFDN0QscUJBQXFCO0lBQ3JCLDZDQUE2QztBQUNqRDs7QUFFQTs7MENBRTBDO0FBQzFDLHNCQUFzQixhQUFhLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFO0FBQ3hFO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGNBQWM7QUFDbEI7QUFDQTtJQUNJLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLDhCQUE4QjtBQUNsQztBQUNBLDRCQUE0QixtQkFBbUIsRUFBRSxFQUFFLGtCQUFrQjtBQUNyRSx3QkFBd0IsZUFBZSxFQUFFOztBQUV6Qzs7MENBRTBDO0FBQzFDO0lBQ0k7O2FBRVMsd0JBQXdCLEVBQUU7O0lBRW5DO1FBQ0kseUJBQXlCO1FBQ3pCLHNCQUFzQjtJQUMxQjs7SUFFQTtRQUNJLGlDQUFpQztRQUNqQyx3QkFBd0I7UUFDeEIsbUJBQW1CO0lBQ3ZCOztJQUVBO1FBQ0ksb0NBQW9DO1FBQ3BDLHNCQUFzQjtRQUN0QixpQ0FBaUM7UUFDakMseUJBQXlCO0lBQzdCO0FBQ0o7Ozs7O0FDbnVCQSw0QkFBNEI7QUFDNUI7SUFDSSxpQkFBaUI7SUFDakIsc0NBQXNDO0FBQzFDOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7QUFDaEI7QUFDQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCO0FBQ0EsMkJBQTJCO0FBQzNCO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QscUNBQXFDO0lBQ3JDLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLDJDQUEyQztJQUMzQyx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxvQ0FBb0M7SUFDcEMsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixxQ0FBcUM7SUFDckMsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixlQUFlO0lBQ2YsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsU0FBUztBQUNiOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7QUFDQTtJQUNJLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLFNBQVM7QUFDYjtBQUNBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsNkRBQTZEO0lBQzdELGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQiw4Q0FBOEM7SUFDOUMsY0FBYztBQUNsQjs7QUFFQSwyQkFBMkI7QUFDM0I7SUFDSSw4QkFBOEI7SUFDOUIsZUFBZTtBQUNuQjs7QUFFQSx1QkFBdUI7QUFDdkI7SUFDSSxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLG1CQUFtQjtBQUN2Qjs7QUFFQSx1QkFBdUI7QUFDdkI7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsUUFBUTtJQUNSLDJCQUEyQjtJQUMzQixjQUFjO0lBQ2QsZUFBZTtJQUNmLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFdBQVc7SUFDWCw0QkFBNEI7SUFDNUIseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLDhDQUE4QztBQUNsRDs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsUUFBUTtJQUNSLDJCQUEyQjtJQUMzQixjQUFjO0lBQ2QsYUFBYTtBQUNqQjtBQUNBO0lBQ0ksY0FBYztBQUNsQjtBQUNBLHdCQUF3QjtBQUN4QjtJQUNJLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQiwwQ0FBMEM7QUFDOUM7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw2REFBNkQ7SUFDN0Qsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixZQUFZO0lBQ1osZ0RBQWdEO0FBQ3BEOztBQUVBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksbUNBQW1DO0lBQ25DLHdDQUF3QztJQUN4QyxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLFlBQVk7SUFDWiwyQkFBMkI7SUFDM0IsNkNBQTZDO0FBQ2pEOztBQUVBLCtCQUErQjtBQUMvQjtJQUNJLGFBQWE7SUFDYiw0REFBNEQ7SUFDNUQsU0FBUztJQUNULG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLDBDQUEwQztJQUMxQyx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixhQUFhO0lBQ2Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksMkJBQTJCO0lBQzNCLDJDQUEyQztBQUMvQzs7QUFFQSwwQkFBMEI7QUFDMUI7SUFDSSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFdBQVc7SUFDWCxxQ0FBcUM7SUFDckMsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixXQUFXO0lBQ1gsMENBQTBDO0FBQzlDOztBQUVBLHdCQUF3QjtBQUN4QjtJQUNJLDRCQUE0QjtJQUM1QixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCw2REFBNkQ7SUFDN0QsZ0NBQWdDO0lBQ2hDLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2Qiw2REFBNkQ7SUFDN0QsWUFBWTtJQUNaLGVBQWU7SUFDZixjQUFjO0lBQ2QsK0NBQStDO0FBQ25EOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQSx3QkFBd0I7QUFDeEIsdURBQXVEO0FBQ3ZEO0lBQ0ksZ0JBQWdCLEVBQUUsV0FBVztBQUNqQzs7QUFFQTtJQUNJLGdCQUFnQixFQUFFLGdCQUFnQjtBQUN0Qzs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLDZEQUE2RDtJQUM3RCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLHFCQUFxQjtJQUNyQixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksMEJBQTBCO0lBQzFCLCtDQUErQztJQUMvQyxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksK0JBQStCO0FBQ25DOztBQUVBO0lBQ0ksMEJBQTBCO0FBQzlCOztBQUVBLDRCQUE0QjtBQUM1QjtJQUNJLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsY0FBYztJQUNkLGdCQUFnQjtBQUNwQjtBQUNBLHVCQUF1QjtBQUN2QjtJQUNJO1FBQ0ksVUFBVTtRQUNWLDJCQUEyQjtJQUMvQjtJQUNBO1FBQ0ksVUFBVTtRQUNWLHdCQUF3QjtJQUM1QjtBQUNKOztBQUVBO0lBQ0ksb0NBQW9DO0FBQ3hDOztBQUVBLDBDQUEwQyxzQkFBc0IsRUFBRTtBQUNsRSwwQ0FBMEMscUJBQXFCLEVBQUU7QUFDakUsMENBQTBDLHNCQUFzQixFQUFFO0FBQ2xFLDBDQUEwQyxxQkFBcUIsRUFBRTtBQUNqRSwwQ0FBMEMsc0JBQXNCLEVBQUU7QUFDbEUsMENBQTBDLHFCQUFxQixFQUFFOztBQUVqRTtJQUNJLHdCQUF3QjtBQUM1QjtBQUNBLG1CQUFtQjs7S0FFZCwwQkFBMEI7Q0FDOUI7S0FDSSw2REFBNkQ7S0FDN0QsbUJBQW1CO0tBQ25CLGVBQWU7S0FDZiwrQ0FBK0M7Q0FDbkQ7O0FBRUQsMEJBQTBCO0FBQzFCO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixTQUFTO0FBQ2I7O0FBRUEsdUJBQXVCO0FBQ3ZCO0lBQ0ksaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQSx5QkFBeUI7QUFDekI7SUFDSSxhQUFhO0lBQ2IsU0FBUztJQUNULGVBQWU7SUFDZixxQkFBcUI7QUFDekI7O0FBRUEscUJBQXFCO0FBQ3JCO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixXQUFXO0lBQ1gsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0FBQ3BCOztBQUVBLHNCQUFzQjtBQUN0QjtJQUNJLG9CQUFvQjtJQUNwQiwwQ0FBMEM7SUFDMUMsa0JBQWtCO0lBQ2xCLHFDQUFxQztJQUNyQyxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksc0NBQXNDO0lBQ3RDLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLDhDQUE4QztBQUNsRDs7QUFFQSwwQkFBMEI7QUFDMUI7SUFDSSxvQkFBb0I7SUFDcEIsMENBQTBDO0lBQzFDLGtCQUFrQjtJQUNsQixxQ0FBcUM7SUFDckMsV0FBVztJQUNYLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHNDQUFzQztJQUN0QyxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQiw4Q0FBOEM7QUFDbEQ7O0FBRUEsa0RBQWtEO0FBQ2xEO0lBQ0ksZUFBZTtJQUNmLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQSxtQ0FBbUM7QUFDbkM7SUFDSSxhQUFhO0lBQ2IsU0FBUztJQUNULGVBQWU7SUFDZixxQkFBcUI7QUFDekI7O0FBRUEscUJBQXFCO0FBQ3JCO0lBQ0ksaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFdBQVc7QUFDZjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1Qjs7QUFFQSx5QkFBeUI7QUFDekI7SUFDSSxvQ0FBb0M7SUFDcEMsWUFBWTtJQUNaLDBDQUEwQztJQUMxQyxzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLG9DQUFvQztJQUNwQyxzQ0FBc0M7SUFDdEMsWUFBWTtJQUNaLDJCQUEyQjtJQUMzQixxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7QUFDQSwyQkFBMkI7QUFDM0I7SUFDSSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFVBQVU7SUFDViw2REFBNkQ7SUFDN0QsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFFBQVE7SUFDUiw0Q0FBNEM7SUFDNUMsV0FBVztJQUNYLGdDQUFnQztBQUNwQzs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSTtRQUNJLFVBQVU7UUFDVixxQkFBcUI7SUFDekI7SUFDQTtRQUNJLFVBQVU7UUFDVixtQkFBbUI7SUFDdkI7QUFDSjs7QUFFQSxpRUFBaUU7QUFDakU7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFdBQVc7QUFDZjs7QUFFQTs7MENBRTBDO0FBQzFDO0lBQ0kseURBQXlEO0lBQ3pELGVBQWU7SUFDZixTQUFTO0lBQ1QsV0FBVztJQUNYLGFBQWE7SUFDYiw2REFBNkQ7SUFDN0QsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFFBQVE7SUFDUix5Q0FBeUM7SUFDekMscUNBQXFDO0lBQ3JDLGdCQUFnQjtJQUNoQixnQkFBZ0I7QUFDcEI7O0FBRUEsMERBQTBEO0FBQzFEO0lBQ0ksNkRBQTZEO0lBQzdELFlBQVk7QUFDaEI7O0FBRUE7SUFDSSw2REFBNkQ7SUFDN0QsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLDZEQUE2RDtJQUM3RCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksNkRBQTZEO0lBQzdELFlBQVk7QUFDaEI7O0FBRUEsMEJBQTBCO0FBQzFCO0lBQ0ksY0FBYztJQUNkLGNBQWM7QUFDbEI7O0FBRUEscUJBQXFCO0FBQ3JCO0lBQ0ksT0FBTztJQUNQLGdCQUFnQjtBQUNwQjs7QUFFQSx3QkFBd0I7QUFDeEI7SUFDSSxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGNBQWM7SUFDZCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osNkJBQTZCO0lBQzdCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxVQUFVO0lBQ1Ysb0NBQW9DO0FBQ3hDOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBLHVCQUF1QjtBQUN2QjtJQUNJO1FBQ0ksMkJBQTJCO1FBQzNCLFVBQVU7SUFDZDtJQUNBO1FBQ0ksd0JBQXdCO1FBQ3hCLFVBQVU7SUFDZDtBQUNKOztBQUVBLHdCQUF3QjtBQUN4QjtJQUNJLDhDQUE4QztBQUNsRDs7QUFFQTtJQUNJO1FBQ0ksd0JBQXdCO1FBQ3hCLFVBQVU7SUFDZDtJQUNBO1FBQ0ksMkJBQTJCO1FBQzNCLFVBQVU7SUFDZDtBQUNKOztBQUVBLG9DQUFvQztBQUNwQyw0QkFBNEIsU0FBUyxFQUFFO0FBQ3ZDLDRCQUE0QixVQUFVLEVBQUU7QUFDeEMsNEJBQTRCLFVBQVUsRUFBRTtBQUN4Qyw0QkFBNEIsVUFBVSxFQUFFOzs7OztBQzNyQnhDO0lBQ0ksZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLHdDQUF3QztJQUN4QyxnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGFBQWE7SUFDYiw0QkFBNEI7QUFDaEM7O0FBRUE7SUFDSTtRQUNJLFVBQVU7UUFDViwyQkFBMkI7SUFDL0I7SUFDQTtRQUNJLFVBQVU7UUFDVix3QkFBd0I7SUFDNUI7QUFDSjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsbUJBQW1CO0FBQ3ZCO0FBQ0E7SUFDSSxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtBQUNyQjtBQUNBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLGtEQUFrRDtBQUN0RDs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsUUFBUTtJQUNSLDJCQUEyQjtJQUMzQixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLGNBQWM7SUFDZCxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSw2REFBNkQ7SUFDN0QsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksMkJBQTJCO0lBQzNCLCtDQUErQztBQUNuRDs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixZQUFZO0FBQ2hCOztBQUVBO0lBQ0k7UUFDSSxrQkFBa0I7SUFDdEI7O0lBRUE7UUFDSSxnQkFBZ0I7SUFDcEI7QUFDSjs7Ozs7QUMvR0E7SUFDSSxxREFBcUQ7QUFDekQ7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0Isa0RBQWtEO0FBQ3REOzs7O0FBSUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhCQUE4QjtJQUM5QixrQkFBa0I7QUFDdEI7Ozs7O0FDOUJBLG1CQUFtQjtBQUNuQjtJQUNJLGFBQWE7SUFDYixTQUFTO0FBQ2I7QUFDQTtJQUNJLGVBQWU7QUFDbkI7QUFDQTtJQUNJLG1DQUFtQztJQUNuQyx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGVBQWU7QUFDbkI7QUFDQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxlQUFlO0FBQ25CO0FBQ0E7SUFDSSwyQkFBMkI7SUFDM0Isc0NBQXNDO0lBQ3RDLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksbUNBQW1DO0lBQ25DLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLGtDQUFrQztJQUNsQyxxQkFBcUI7QUFDekI7QUFDQTtJQUNJLG1CQUFtQixJQUFJLCtCQUErQjtJQUN0RCxxQkFBcUI7QUFDekI7QUFDQTtJQUNJLGNBQWM7SUFDZCxtQkFBbUI7QUFDdkI7QUFDQTtJQUNJLDZEQUE2RDtJQUM3RCxxQkFBcUI7QUFDekI7QUFDQTtJQUNJLG1CQUFtQixJQUFJLDJCQUEyQjtJQUNsRCxxQkFBcUI7QUFDekI7QUFDQTtJQUNJLDZEQUE2RDtJQUM3RCxZQUFZO0lBQ1osOENBQThDO0lBQzlDLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtBQUNyQjtBQUNBO0lBQ0ksMkJBQTJCO0lBQzNCLDhDQUE4QztJQUM5Qyw2REFBNkQ7SUFDN0QsY0FBYztBQUNsQjtBQUNBOztJQUVJLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0k7cUJBQ2lCO0FBQ3JCO0FBQ0E7SUFDSSxtQ0FBbUM7SUFDbkMseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGNBQWMsRUFBRSxzQkFBc0I7SUFDdEMscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsZUFBZTtBQUNuQjtBQUNBO0lBQ0ksbUNBQW1DO0lBQ25DLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLHFCQUFxQjtBQUN6QjtBQUNBO0lBQ0ksa0JBQWtCO0lBQ2xCLDBCQUEwQjtBQUM5Qjs7Ozs7QUN0SEE7SUFDSSxhQUFhO0lBQ2IsOEJBQThCO0FBQ2xDO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsZUFBZTtBQUNuQjtBQUNBO0lBQ0ksOEJBQThCO0lBQzlCLGlDQUFpQztBQUNyQztBQUNBO0lBQ0ksU0FBUztBQUNiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9oZWFkZXJfc2lkZWJhci5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9nbG9iYWwuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc3VpdmkuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbWFzcXVlLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2V2YWwuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcHJvcG9zaXRpb24uY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYmVuZWZpY2lhaXJlLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2xvZ2luLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2F0ZWxpZXJzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2JvdXRvbnMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcHJvZmlsZS5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxMjVweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLmRvc3NpZXItaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIHBhZGRpbmc6IDExLjVweCAzMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xuICAgIG1hcmdpbi10b3AgOiAwICFpbXBvcnRhbnQgO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4udGV4dC1oZWFkZXJ7XG4gICAgY29sb3I6ICM1ZjRmY2Y7XG59XG4vKiBJbmZvcm1hdGlvbnMgYsOpbsOpZmljaWFpcmUgKi9cbi5iZW5lZmljaWFpcmUtaW5mbyBoNCB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xufVxuXG4uYmVuZWZpY2lhaXJlLWluZm8gc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuLnNvdXMtdGl0cmV7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuLyoqKioqKioqKioqKiogU2lkZUJhcmUgKioqKioqKioqKioqKioqKi9cbi5zaWRlYmFyLWxvZ28ge1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4vKiBTaWRlYmFyIGNvbXBhY3RlIHVuaXZlcnNlbGxlICovXG4uc2lkZWJhci1jb21wYWN0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEyNXB4O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZDogIzVmNGZjZjtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm94LXNoYWRvdzogMnB4IDAgMTBweCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnNpZGViYXItaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNWY0ZmNmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMy41cHggMjJweDtcbn1cblxuLnNpZGViYXItbmF2IHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG59XG4ubmF2LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmc6IDlweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLm5hdi1pdGVtIGkge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5uYXYtaXRlbSBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLm5hdi1pdGVtLWJsdWUuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY5NTAwOyAvKiBCbGV1IHBsdXMgZm9uY8OpICovXG59XG5cbi5uYXYtaXRlbTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLDAsMCwwLjIpO1xufVxuXG4ubmF2LWl0ZW0uYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsMCwwLDAuMyk7XG59XG5cbi8qIENvbnRlbnUgcHJpbmNpcGFsICovXG4ubWFpbi1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMTgwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4MHB4KTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuXG4iLCJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Db21mb3J0YWE6d2dodEAzMDAuLjcwMCZmYW1pbHk9SW50ZXI6aXRhbCxvcHN6LHdnaHRAMCwxNC4uMzIsMTAwLi45MDA7MSwxNC4uMzIsMTAwLi45MDAmZGlzcGxheT1zd2FwJyk7XG4qIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuaHRtbCwgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBmb250LWZhbWlseTonSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmQ7XG47XG59XG4ucHVycGxle1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM1ZjRmY2YgMCUsICM3YjY4ZWUgMTAwJSk7O1xufVxuLnB1cnBsZS1pbml0e1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZjRmY2Y7XG59XG5mb290ZXIge1xuICAgIGNvbG9yOiAjNWY0ZmNmO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblxufVxuXG4uZm9vdGVyLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgb3BhY2l0eTogMC45NTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uZm9vdGVyLWNvbnRlbnQgaSB7XG4gICAgb3BhY2l0eTogMC45O1xufVxuLmZvb3Rlci1jb250ZW50IC5iYXNoIHtcbiAgICBjb2xvcjogIzVmNGZjZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5mb3JtLWxvZ2lue1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mb3JtLWxvZ2luIC5mb3JtLWNoZWNrLWxhYmVse1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi5mb3JtLWxvZ2luIC5mb3JtLWNoZWNrLWlucHV0e1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cbiIsIiAvKiBDYXJ0ZSBkZXMgb2JqZWN0aWZzICovXG4ub2JqZWN0aXZlcy1jYXJkIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5iZy1ncmFkaWVudC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMGQ2ZWZkIDAlLCAjMDA1NmIzIDEwMCUpO1xufVxuXG4vKiBFbi10w6p0ZSBkdSB0YWJsZWF1ICovXG4udGFibGUtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmOWZhIDAlLCAjZTllY2VmIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4udGFibGUtaGVhZGVyIHRoIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uZGF0ZS1jb2x1bW4geyB3aWR0aDogNiU7IH1cbi5vYmplY3RpdmUtY29sdW1uIHsgd2lkdGg6IDQwJTsgfVxuLnNvdXJjZS1jb2x1bW4geyB3aWR0aDogMjAlOyB9XG4ucmVzdWx0LWNvbHVtbiB7IHdpZHRoOiAyNSU7IH1cblxuLyogTGlnbmVzIGR1IHRhYmxlYXUgKi9cbi5vYmplY3RpdmVzLXRhYmxlIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLm9iamVjdGl2ZS1yb3cge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmM2Y0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5vYmplY3RpdmUtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmOWZmIDAlLCAjZjBmNGZmIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMywgMTEwLCAyNTMsIDAuMSk7XG59XG5cbi5vYmplY3RpdmUtcm93IHRkIHtcbiAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qIEJhZGdlIGRlIGRhdGUgc3R5bMOpICovXG4uZGF0ZS1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwZDZlZmQgMCUsICMwMDU2YjMgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgbWluLXdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMywgMTEwLCAyNTMsIDAuMyk7XG59XG5cbi5kYXRlLWRheSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5kYXRlLW1vbnRoIHtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBtYXJnaW46IDJweCAwO1xufVxuXG4uZGF0ZS15ZWFyIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4vKiBDb250ZW51IGRlcyBjZWxsdWxlcyAqL1xuLm9iamVjdGl2ZS1jb250ZW50LFxuLnNvdXJjZS1jb250ZW50LFxuLnJlc3VsdC1jb250ZW50IHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjNDk1MDU3O1xufVxuXG4udGV4dC1tdXRlZC1jdXN0b20ge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi8qIMOJdGF0IHZpZGUgYW3DqWxpb3LDqSAqL1xuLmVtcHR5LXN0YXRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNjBweCAzMHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGY5ZmEgMCUsICNmZmZmZmYgMTAwJSk7XG59XG5cbi5lbXB0eS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZTllY2VmIDAlLCAjZGVlMmU2IDEwMCUpO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uZW1wdHktaWNvbiBpIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG59XG5cbi5lbXB0eS10aXRsZSB7XG4gICAgY29sb3I6ICM0OTUwNTc7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZW1wdHktZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5idG4tY3JlYXRlIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDEzLCAxMTAsIDI1MywgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG4uYnRuLWNyZWF0ZTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgxMywgMTEwLCAyNTMsIDAuNCk7XG59XG5cbi8qIEZvb3RlciBkZSBsYSBjYXJ0ZSAqL1xuLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmOWZhIDAlLCAjZmZmZmZmIDEwMCUpO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAub2JqZWN0aXZlcy10YWJsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIH1cblxuICAgIC5vYmplY3RpdmUtcm93IHRkIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgIH1cblxuICAgIC5kYXRlLWJhZGdlIHtcbiAgICAgICAgbWluLXdpZHRoOiA1MHB4O1xuICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgfVxuXG4gICAgLmRhdGUtZGF5IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgIC5lbXB0eS1zdGF0ZSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICB9XG5cbiAgICAuZW1wdHktaWNvbiB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuXG4gICAgLmVtcHR5LWljb24gaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbn1cbiAvKiBTdHlsZXMgcG91ciBsYSBjb2xvbm5lIGF1dGV1ciAqL1xuIC5hdXRob3ItY29sdW1uIHtcbiAgICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICAgICBtaW4td2lkdGg6IDE1MHB4O1xuIH1cblxuIC5hdXRob3ItYmFkZ2Uge1xuICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgZ2FwOiAxMHB4O1xuICAgICBwYWRkaW5nOiA4cHg7XG4gICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGY5ZmYgMCUsICNlOGYwZmYgMTAwJSk7XG4gICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMGQ2ZWZkO1xuIH1cblxuIC5hdXRob3ItaW5mbyB7XG4gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgIGdhcDogNHB4O1xuIH1cblxuIC5hdXRob3ItaW5mbyBzdHJvbmcge1xuICAgICBjb2xvcjogIzBkNmVmZDtcbiAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gfVxuXG4gLmF1dGhvci1pbmZvIHNtYWxsIHtcbiAgICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuIH1cblxuIC5hdXRob3ItY2VsbCB7XG4gICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmY7XG4gICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gfVxuXG4gLyogUmVzcG9uc2l2ZSAqL1xuIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAuYXV0aG9yLWNvbHVtbiB7XG4gICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgfVxuXG4gICAgIC5hdXRob3ItYmFkZ2Uge1xuICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgfVxuIH1cbiIsIi8qIENhcnRlIGRlcyBxdWVzdGlvbnMgKi9cbi5xdWVzdGlvbnMtY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBMaXN0ZSBkZXMgcXVlc3Rpb25zICovXG4ucXVlc3Rpb25zLWxpc3Qge1xuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5xdWVzdGlvbi1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjNmNDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnF1ZXN0aW9uLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmMGZjZmYgMCUsICNlNmY5ZmYgMTAwJSk7XG59XG5cbi5xdWVzdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIEVuLXTDqnRlIGRlIHF1ZXN0aW9uICovXG4ucXVlc3Rpb24taGVhZGVyLW1hc3F1ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTBweCAyMHB4O1xuICAgIGdhcDogMTVweDtcbn1cblxuLnF1ZXN0aW9uLWluZGljYXRvciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucXVlc3Rpb24taW5kaWNhdG9yIGkge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG4ucXVlc3Rpb24tdGl0bGUge1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLyogQ29udGVudSBkZSBsYSByw6lwb25zZSAqL1xuLnF1ZXN0aW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4IDU1cHg7XG59XG5cbi5yZXNwb25zZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmOWZhIDAlLCAjZTllY2VmIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMwZGNhZjA7XG59XG5cbi5yZXNwb25zZS1iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogIzBkY2FmMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnJlc3BvbnNlLXRleHQge1xuICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuXG4ubm8tcmVzcG9uc2Uge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4vKiDDiXRhdCB2aWRlICovXG4uZW1wdHktc3RhdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA2MHB4IDMwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjlmYSAwJSwgI2ZmZmZmZiAxMDAlKTtcbn1cblxuLmVtcHR5LWljb24ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwZGNhZjAgMCUsICMwYTllY2EgMTAwJSk7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDEzLCAyMDIsIDI0MCwgMC4zKTtcbn1cblxuLmVtcHR5LWljb24gaSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmVtcHR5LXRpdGxlIHtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5lbXB0eS1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYnRuLWNyZWF0ZSB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxMywgMjAyLCAyNDAsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5idG4tY3JlYXRlOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDEzLCAyMDIsIDI0MCwgMC40KTtcbn1cblxuLyogRm9vdGVyIGRlIGxhIGNhcnRlICovXG4uY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllY2VmO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGY5ZmEgMCUsICNmZmZmZmYgMTAwJSk7XG59XG5cbi8qIFNjcm9sbGJhciBwZXJzb25uYWxpc8OpZSBwb3VyIGxhIGxpc3RlIGRlcyBxdWVzdGlvbnMgKi9cbi5xdWVzdGlvbnMtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA2cHg7XG59XG5cbi5xdWVzdGlvbnMtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ucXVlc3Rpb25zLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGRjYWYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLnF1ZXN0aW9ucy1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzBhOWVjYTtcbn1cbiIsIiAvKiBTdHlsZXMgZ8OpbsOpcmF1eCAqL1xuXG4vKiBNZXNzYWdlcyBmbGFzaCBhbcOpbGlvcsOpcyAqL1xuLmZsYXNoLW1lc3NhZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgyNSwgMTM1LCA4NCwgMC4yKTtcbn1cblxuLyogw4l0YXQgdmlkZSBhbcOpbGlvcsOpICovXG4uZW1wdHktc3RhdGUtY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZmZmZmIDAlLCAjZjhmOWZhIDEwMCUpO1xufVxuXG4uZW1wdHktaWNvbi1sYXJnZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzVmNGZjZiAwJSwgIzdiNjhlZSAxMDAlKTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoOTUsIDc5LCAyMDcsIDAuMyk7XG59XG5cbi5lbXB0eS1pY29uLWxhcmdlIGkge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5lbXB0eS1zdGF0ZS10aXRsZSB7XG4gICAgY29sb3I6ICM0OTUwNTc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uZW1wdHktc3RhdGUtZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5idG4tY3JlYXRlLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgxMywgMTEwLCAyNTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmJ0bi1jcmVhdGUtbGFyZ2U6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMTMsIDExMCwgMjUzLCAwLjQpO1xufVxuXG4vKiBHcmlsbGUgZCfDqXZhbHVhdGlvbnMgKi9cbi5ldmFsdWF0aW9ucy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDM1MHB4LCAxZnIpKTtcbiAgICBnYXA6IDI1cHg7XG59XG5cbi5ldmFsdWF0aW9uLWNhcmQtd3JhcHBlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmV2YWx1YXRpb24tY2FyZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZXZhbHVhdGlvbi1jYXJkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgYm94LXNoYWRvdzogMCAxNXB4IDQwcHggcmdiYSgwLDAsMCwwLjE1KTtcbn1cblxuLyogSGVhZGVyIGRlcyBjYXJ0ZXMgZCfDqXZhbHVhdGlvbiAqL1xuLmV2YWx1YXRpb24taGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjlmYSAwJSwgI2ZmZmZmZiAxMDAlKTtcbn1cblxuLmV2YWx1YXRpb24tZGF0ZS1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNXB4O1xufVxuXG4uZXZhbHVhdGlvbi1kYXRlLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNWY0ZmNmIDAlLCAjN2I2OGVlIDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDk1LCA3OSwgMjA3LCAwLjMpO1xuICAgIG1pbi13aWR0aDogNzBweDtcbn1cblxuLmRhdGUtbWFpbiB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5kYXRlLXllYXIge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5ldmFsdWF0aW9uLXRpbWUge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIEJhZGdlcyBkZSBzdGF0dXQgKi9cbi5zdGF0dXMtYmFkZ2Uge1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xufVxuXG4uc3RhdHVzLWNvbXBsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTk4NzU0IDAlLCAjMjBjOTk3IDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMjUsIDEzNSwgODQsIDAuMyk7XG59XG5cbi5zdGF0dXMtZHJhZnQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZmMxMDcgMCUsICNmZmNkMzkgMTAwJSk7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDI1NSwgMTkzLCA3LCAwLjMpO1xufVxuXG4uc3RhdHVzLW90aGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNmM3NTdkIDAlLCAjOGQ5NDk4IDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMTA4LCAxMTcsIDEyNSwgMC4zKTtcbn1cblxuLyogQ29ycHMgZGVzIGNhcnRlcyAqL1xuLmV2YWx1YXRpb24tYm9keSB7XG4gICAgcGFkZGluZzogMjVweCAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4uZXZhbHVhdGV1ci1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGY5ZmYgMCUsICNmMGY0ZmYgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICM1ZjRmY2Y7XG59XG5cbi5ldmFsdWF0ZXVyLW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM0OTUwNTc7XG59XG5cbi5wcm9ibGVtYXRpcXVlcy1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5wcm9ibGVtYXRpcXVlcy1iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzBkY2FmMCAwJSwgIzE3YTJiOCAxMDAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDEzLCAyMDIsIDI0MCwgMC4zKTtcbn1cblxuLnByb2JsZW1hdGlxdWVzLXRleHQge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5ub3Rlcy1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTJweDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZmZjMTA3O1xufVxuXG4ubm90ZXMtaWNvbiB7XG4gICAgY29sb3I6ICNmZmMxMDc7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ubm90ZXMtcHJldmlldyB7XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBmbGV4OiAxO1xufVxuXG4vKiBBY3Rpb25zIGRlcyBjYXJ0ZXMgKi9cbi5ldmFsdWF0aW9uLWFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjlmYSAwJSwgI2ZmZmZmZiAxMDAlKTtcbn1cblxuLmJ0bi1hY3Rpb24tcHJpbWFyeSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG4uYnRuLWFjdGlvbi1wcmltYXJ5OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTVweCByZ2JhKDAsMCwwLDAuMik7XG59XG5cbi5idG4tYWN0aW9uLXNlY29uZGFyeSB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmJ0bi1hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi8qIE1vZGFsIGRlIHN1cHByZXNzaW9uICovXG4ubW9kYWwtZGVsZXRlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb2RhbC1xdWVzdGlvbiB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNvbnRlbnQtc3VtbWFyeSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNkYzM1NDU7XG59XG4gLyogSGVhZGVyIGFtw6lsaW9yw6kgKi9cbiAuZXZhbHVhdGlvbi1pbmZvIHtcbiAgICAgZGlzcGxheTogZmxleDtcbiAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICBnYXA6IDRweDtcbiAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuIH1cblxuIC5zdGF0dXMtY29tcGxldGVkIHtcbiAgICAgYmFja2dyb3VuZDogcmdiYSgyNSwgMTM1LCA4NCwgMC4zKTtcbiAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1LCAxMzUsIDg0LCAwLjUpO1xuIH1cblxuIC5sYXN0LW1vZGlmaWVkIHtcbiAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gfVxuXG4gLyogUsOpc3Vtw6kgZHUgZGlhZ25vc3RpYyBhbcOpbGlvcsOpICovXG4gLmRpYWdub3N0aWMtc3VtbWFyeSB7XG4gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgIGdhcDogMTVweDtcbiB9XG5cbiAuc3VtbWFyeS1pdGVtIHtcbiAgICAgZGlzcGxheTogZmxleDtcbiAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgIGNvbG9yOiAjNDk1MDU3O1xuIH1cblxuIC5zdW1tYXJ5LWRlc2NyaXB0aW9uIHtcbiAgICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgcGFkZGluZzogMTVweDtcbiAgICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICM1ZjRmY2Y7XG4gfVxuXG4gLyogQWN0aW9ucyDDoCBjw7R0w6kgZHUgcsOpc3Vtw6kgKi9cbiAuYWN0aW9ucy1zaWRlYmFyIHtcbiAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgZmxleC1zaHJpbms6IDA7XG4gfVxuXG4gLmJ0bi1zYXZlLWlubGluZSwgLmJ0bi1maW5hbGl6ZS1pbmxpbmUsIC5idG4tY2FuY2VsLWlubGluZSB7XG4gICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiB9XG4gLmJ0bi1maW5hbGl6ZS1pbmxpbmUge1xuICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTk4NzU0IDAlLCAjMTQ2YzQzIDEwMCUpO1xuICAgICBib3JkZXI6IDJweCBzb2xpZCAjMTk4NzU0O1xuICAgICBjb2xvcjogd2hpdGU7XG4gICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyNSwgMTM1LCA4NCwgMC4zKTtcbiB9XG5cbiAuYnRuLWZpbmFsaXplLWlubGluZTpob3ZlciB7XG4gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDI1LCAxMzUsIDg0LCAwLjQpO1xuICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTU3MzQ3IDAlLCAjMGY1MTMyIDEwMCUpO1xuIH1cblxuIC5idG4tY2FuY2VsLWlubGluZSB7XG4gICAgIGJhY2tncm91bmQ6ICM2Yzc1N2Q7XG4gICAgIGJvcmRlcjogMnB4IHNvbGlkICM2Yzc1N2Q7XG4gICAgIGNvbG9yOiB3aGl0ZTtcbiB9XG5cbiAuYnRuLWNhbmNlbC1pbmxpbmU6aG92ZXIge1xuICAgICBiYWNrZ3JvdW5kOiAjNWE2MjY4O1xuICAgICBib3JkZXItY29sb3I6ICM1YTYyNjg7XG4gICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTA4LCAxMTcsIDEyNSwgMC40KTtcbiB9XG5cbiAvKiBOYXZpZ2F0aW9uIGRlcyBzZWN0aW9ucyAqL1xuIC5wcm9wb3NpdGlvbnMtbmF2IHtcbiAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjlmYSAwJSwgI2U5ZWNlZiAxMDAlKTtcbiAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICM1ZjRmY2Y7XG4gICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgdG9wOiAwO1xuICAgICB6LWluZGV4OiAxMDA7XG4gICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjEpO1xuIH1cblxuIC5uYXYtc2VjdGlvbnMge1xuICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgIGdhcDogMTBweDtcbiAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiB9XG5cbiAuc2VjdGlvbi10YWIge1xuICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgYm9yZGVyOiAycHggc29saWQgI2RlZTJlNjtcbiAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuIH1cblxuIC5zZWN0aW9uLXRhYjpob3ZlciB7XG4gICAgIGJhY2tncm91bmQ6ICNmOGY5ZmY7XG4gICAgIGJvcmRlci1jb2xvcjogIzVmNGZjZjtcbiAgICAgY29sb3I6ICM1ZjRmY2Y7XG4gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDk1LCA3OSwgMjA3LCAwLjIpO1xuIH1cblxuIC5zZWN0aW9uLXRhYi5hY3RpdmUge1xuICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNWY0ZmNmIDAlLCAjN2I2OGVlIDEwMCUpO1xuICAgICBib3JkZXItY29sb3I6ICM1ZjRmY2Y7XG4gICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDk1LCA3OSwgMjA3LCAwLjMpO1xuIH1cblxuIC5zZWN0aW9uLXRhYi5hY3RpdmU6aG92ZXIge1xuICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjN2I2OGVlIDAlLCAjNWY0ZmNmIDEwMCUpO1xuICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gfVxuXG4gLnNlY3Rpb25zLWNvdW50ZXIge1xuICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICBmb250LXdlaWdodDogNTAwO1xuIH1cblxuICN2aXNpYmxlLXNlY3Rpb25zIHtcbiAgICAgY29sb3I6ICM1ZjRmY2Y7XG4gICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gfVxuXG4gLyogQW5pbWF0aW9uIGRlIHRyYW5zaXRpb24gcG91ciBsZXMgc2VjdGlvbnMgKi9cbiAucHJvcG9zaXRpb24tc2VjdGlvbiB7XG4gICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgIG9wYWNpdHk6IDE7XG4gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiB9XG5cbiAucHJvcG9zaXRpb24tc2VjdGlvbi5oaWRkZW4ge1xuICAgICBvcGFjaXR5OiAwO1xuICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgaGVpZ2h0OiAwO1xuICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICBwYWRkaW5nOiAwO1xuIH1cblxuIC5wcm9wb3NpdGlvbi1zZWN0aW9uLnNob3cge1xuICAgICBhbmltYXRpb246IHNsaWRlSW5VcCAwLjVzIGVhc2UgZm9yd2FyZHM7XG4gfVxuXG4gQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICAgICBmcm9tIHtcbiAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgIH1cbiAgICAgdG8ge1xuICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgfVxuIH1cblxuIC8qIFNlY3Rpb25zIGRlcyBwcm9wb3NpdGlvbnMgKi9cbiAucHJvcG9zaXRpb24tc2VjdGlvbiB7XG4gICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gfVxuXG4gLnByb3Bvc2l0aW9uLXNlY3Rpb246aG92ZXIge1xuICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgIGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLDAsMCwwLjE1KTtcbiB9XG5cbiAuc2VjdGlvbi1oZWFkZXIge1xuICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmOWZhIDAlLCAjZTllY2VmIDEwMCUpO1xuICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RlZTJlNjtcbiAgICAgcGFkZGluZzogMjBweDtcbiB9XG5cbiAuc2VjdGlvbi10aXRsZSB7XG4gICAgIGNvbG9yOiAjNWY0ZmNmO1xuICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICBmb250LXNpemU6IDEuMnJlbTtcbiB9XG5cbiAucHJvcG9zaXRpb24tdHlwZS1zZWN0aW9uIHtcbiAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiB9XG5cbiAudHlwZS1oZWFkZXIge1xuICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNWY0ZmNmIDAlLCAjN2I2OGVlIDEwMCUpO1xuICAgICBjb2xvcjogd2hpdGU7XG4gICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDtcbiAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICBtYXJnaW4tYm90dG9tOiAwO1xuIH1cblxuIC5wcm9wb3NpdGlvbnMtZ3JpZCB7XG4gICAgIGJvcmRlcjogMnB4IHNvbGlkICM1ZjRmY2Y7XG4gICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG4gICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgIGJhY2tncm91bmQ6ICNmOGY5ZmY7XG4gfVxuXG4gLnByb3Bvc2l0aW9uLWl0ZW0ge1xuICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgZ2FwOiAxNXB4O1xuICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuIH1cblxuIC5wcm9wb3NpdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICAgICBtYXJnaW4tYm90dG9tOiAwO1xuIH1cblxuIC5wcm9wb3NpdGlvbi1udW1iZXIge1xuICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNWY0ZmNmIDAlLCAjN2I2OGVlIDEwMCUpO1xuICAgICBjb2xvcjogd2hpdGU7XG4gICAgIHdpZHRoOiAzNXB4O1xuICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgZGlzcGxheTogZmxleDtcbiAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICBmbGV4LXNocmluazogMDtcbiAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoOTUsIDc5LCAyMDcsIDAuMyk7XG4gfVxuXG4gLnByb3Bvc2l0aW9uLWNvbnRlbnQge1xuICAgICBmbGV4OiAxO1xuIH1cblxuIC5wcm9wb3NpdGlvbi10ZXh0YXJlYSB7XG4gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgIGJvcmRlcjogMnB4IHNvbGlkICNlOWVjZWY7XG4gICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gfVxuXG4gLnByb3Bvc2l0aW9uLXRleHRhcmVhOmZvY3VzIHtcbiAgICAgYm9yZGVyLWNvbG9yOiAjNWY0ZmNmO1xuICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5NSwgNzksIDIwNywgMC4yNSk7XG4gfVxuXG4gLyogTm90ZXMgY29tcGzDqW1lbnRhaXJlcyAqL1xuIC5ub3Rlcy1zZWN0aW9uIHtcbiAgICAgZGlzcGxheTogZmxleDtcbiAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgZ2FwOiAxMHB4O1xuIH1cblxuIC5ub3Rlcy10ZXh0YXJlYSB7XG4gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmMxMDc7XG4gICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gfVxuXG4gLm5vdGVzLXRleHRhcmVhOmZvY3VzIHtcbiAgICAgYm9yZGVyLWNvbG9yOiAjZmZiMzBmO1xuICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgMC4yNSk7XG4gfVxuXG4gLm5vdGVzLWhlbHAtdGV4dCB7XG4gICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgIG1hcmdpbi10b3A6IDhweDtcbiB9XG5cbiAvKiBTdHlsZXMgZ8OpbsOpcmF1eCAqL1xuIC5iZy1ncmFkaWVudC1wcmltYXJ5IHtcbiAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzVmNGZjZiAwJSwgIzdiNjhlZSAxMDAlKTtcbiB9XG5cbiAuZmxhc2gtbWVzc2FnZSB7XG4gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgIGJvcmRlcjogbm9uZTtcbiAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDI1LCAxMzUsIDg0LCAwLjIpO1xuIH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5BVklHQVRJT04gREVTIFNFQ1RJT05TXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2VjdGlvbnMtbmF2IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnNlY3Rpb24tbmF2LWJ0biB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg5NSwgNzksIDIwNywgMC4xKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDk1LCA3OSwgMjA3LCAwLjIpO1xuICAgIGNvbG9yOiAjNWY0ZmNmO1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG1hcmdpbjogNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZWN0aW9uLW5hdi1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTUsIDc5LCAyMDcsIDAuMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSg5NSwgNzksIDIwNywgMC4zKTtcbn1cblxuLnNlY3Rpb24tbmF2LWJ0bi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM1ZjRmY2YgMCUsICM3YjY4ZWUgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogIzVmNGZjZjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUZGSUNIQUdFIERFUyBTRUNUSU9OU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlY3Rpb24tY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbmltYXRpb246IGZhZGVJbiAwLjNzIGVhc2U7XG59XG5cbi5zZWN0aW9uLWNvbnRlbnQuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG4uc2VjdGlvbi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM1ZjRmY2YgMCUsICM3YjY4ZWUgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlY3Rpb24taWNvbiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJMT0NTIERFIFFVRVNUSU9OU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnF1ZXN0aW9uLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM1ZjRmY2Y7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5xdWVzdGlvbi1ibG9jazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTIycHg7XG4gICAgdG9wOiAyNXB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICM1ZjRmY2Y7XG59XG5cbi5xdWVzdGlvbi1ibG9jazpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLDAsMCwwLjE1KTtcbn1cblxuLnF1ZXN0aW9uLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzVmNGZjZiAwJSwgIzdiNjhlZSAxMDAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuLnF1ZXN0aW9uLW51bWJlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG59XG5cbi5xdWVzdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICM1ZjRmY2Y7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG59XG4ucXVlc3Rpb24taGVhZGVyIC5xdWVzdGlvbi10aXRsZSB7IGNvbG9yOiAjZmZmOyBtYXJnaW46IDA7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLyogVGl0cmUgYWZmaWNow6kgZW4gbW9kZSBsZWN0dXJlICovXG4ucXVlc3Rpb24tdGl0bGUtZGlzcGxheSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjlmYSAwJSwgI2U5ZWNlZiAxMDAlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBjb2xvcjogIzVmNGZjZjtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzVmNGZjZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuLnF1ZXN0aW9uLXRpdGxlLWRpc3BsYXkgaSB7IGNvbG9yOiAjNWY0ZmNmOyBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuLnF1ZXN0aW9uLXRpdGxlLWRpc3BsYXkgc3Ryb25nIHsgY29sb3I6ICM0OTUwNTc7IH1cbi5xdWVzdGlvbi10aXRsZS1kaXNwbGF5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZTllY2VmIDAlLCAjZGVlMmU2IDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xufVxuXG4vKiBDb2RlIGRlIGxhIHF1ZXN0aW9uICovXG4ucXVlc3Rpb24tY29kZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg5NSwgNzksIDIwNywgMC4xKTtcbiAgICBjb2xvcjogIzVmNGZjZjtcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnF1ZXN0aW9uLWNvZGUtLXNtIHsgcGFkZGluZzogMnB4IDhweDsgYm9yZGVyLXJhZGl1czogMTJweDsgZm9udC1zaXplOiAuNzVyZW07IG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRZUEVTIERFIFBST1BPU0lUSU9OU1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb3Bvc2l0aW9uLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wcm9wb3NpdGlvbi10eXBlLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLnByb3Bvc2l0aW9uLXR5cGUtaGVhZGVyLm1hbmlmZXN0YXRpb24geyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTdhMmI4IDAlLCAjMTM4NDk2IDEwMCUpOyB9XG4ucHJvcG9zaXRpb24tdHlwZS1oZWFkZXIub2JqZWN0aWYgICAgICB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMyOGE3NDUgMCUsICMxZTdlMzQgMTAwJSk7IH1cbi5wcm9wb3NpdGlvbi10eXBlLWhlYWRlci5waXN0ZSAgICAgICAgIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmYzEwNyAwJSwgI2UwYTgwMCAxMDAlKTsgY29sb3I6ICMyMTI1Mjk7IH1cbi5wcm9wb3NpdGlvbi10eXBlLWhlYWRlci5vdXRpbCAgICAgICAgIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZkN2UxNCAwJSwgI2U1NWQwZSAxMDAlKTsgfVxuXG4vKiDDiWzDqW1lbnQgZGUgcHJvcG9zaXRpb24gKHN0eWxlIHNpbXBsZSkgKi9cbi5wcm9wb3NpdGlvbi1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOWVjZWY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi5wcm9wb3NpdGlvbi1pdGVtOmhvdmVyIHsgYmFja2dyb3VuZDogI2U5ZWNlZjsgYm9yZGVyLWNvbG9yOiAjNWY0ZmNmOyB9XG5cbi8qIFpvbmUgZGUgc2Fpc2llIGRlIHByb3Bvc2l0aW9uICovXG4ucHJvcG9zaXRpb24tdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTllY2VmO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnByb3Bvc2l0aW9uLXRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM1ZjRmY2Y7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoOTUsIDc5LCAyMDcsIDAuMjUpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDQVJURVMgLyBWQVJJQU5URVNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXJkLWVuaGFuY2VkIHsgYm9yZGVyLXJhZGl1czogMTVweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYmctZ3JhZGllbnQtaW5mbyAgICB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwNmI2ZDQgMCUsICMwODkxYjIgMTAwJSk7IH1cbi5iZy1ncmFkaWVudC1zdWNjZXNzIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzEwYjk4MSAwJSwgIzA1OTY2OSAxMDAlKTsgfVxuLmJnLWdyYWRpZW50LXdhcm5pbmcgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmJiZjI0IDAlLCAjZjU5ZTBiIDEwMCUpOyB9XG4uYmctZ3JhZGllbnQtcHJpbWFyeSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM1ZjRmY2YgMCUsICM3YjY4ZWUgMTAwJSk7IH1cblxuLyogQ2FydGVzIGRlIHByb3Bvc2l0aW9ucyAqL1xuLnByb3Bvc2l0aW9uLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOWZhZmIgMCUsICNmM2Y0ZjYgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxOHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWU3ZWI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4ucHJvcG9zaXRpb24tY2FyZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjY3ZWVhO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjE1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi5wcm9wb3NpdGlvbi10eXBlLXRpdGxlIHtcbiAgICBjb2xvcjogIzM3NDE1MTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTVlN2ViO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbn1cbi5wcm9wb3NpdGlvbi10eXBlLXRpdGxlIGkgeyBjb2xvcjogIzY2N2VlYTsgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5wcm9wb3NpdGlvbi1saXN0IHsgbGlzdC1zdHlsZTogbm9uZTsgcGFkZGluZzogMDsgbWFyZ2luOiAwOyB9XG4ucHJvcG9zaXRpb24tbGlzdCBsaSB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGNvbG9yOiAjNGI1NTYzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDEwcHg7XG59XG4ucHJvcG9zaXRpb24tbGlzdCBsaSBpIHsgY29sb3I6ICM2NjdlZWE7IG1hcmdpbi10b3A6IDRweDsgZmxleC1zaHJpbms6IDA7IH1cblxuLyogQ29udGVudSBk4oCZdW5lIHByb3Bvc2l0aW9uIChpY8O0bmUgKyB0ZXh0ZSkgKi9cbi5wcm9wb3NpdGlvbi1jb250ZW50IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBjb2xvcjogIzRiNTU2MztcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cbi5wcm9wb3NpdGlvbi1jb250ZW50IGkge1xuICAgIGNvbG9yOiAjNjY3ZWVhO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cbi5wcm9wb3NpdGlvbi1jb250ZW50IHNwYW4geyBmbGV4OiAxOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5PVEVTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubm90ZXMtdGV4dGFyZWEge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmYzEwNztcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLm5vdGVzLXRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmIzMGY7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuMjUpO1xufVxuLm5vdGVzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZWZjZTg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2ZiYmYyNDtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiAjNzgzNTBmO1xufVxuLm5vdGVzLXNlY3Rpb24geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEwcHg7IH1cbi5ub3Rlcy1oZWxwLXRleHQgeyBjb2xvcjogIzZjNzU3ZDsgZm9udC1zaXplOiAwLjg1cmVtOyBsaW5lLWhlaWdodDogMS40OyBtYXJnaW4tdG9wOiA4cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUNUSU9OUyAvIFNJREVCQVIgLyBCT1VUT05TXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYWN0aW9ucy1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5hY3Rpb25zLXNpZGViYXIgeyBtaW4td2lkdGg6IDIwMHB4OyBmbGV4LXNocmluazogMDsgfVxuXG4uYnRuLXNhdmUtaW5saW5lLCAuYnRuLWZpbmFsaXplLWlubGluZSwgLmJ0bi1jYW5jZWwtaW5saW5lLCAuYnRuLWxnIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuLmJ0bi1sZzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgyNSwgMTM1LCA4NCwgMC4zKTtcbn1cbi5idG4tZmluYWxpemUtaW5saW5lIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTk4NzU0IDAlLCAjMTQ2YzQzIDEwMCUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxOTg3NTQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyNSwgMTM1LCA4NCwgMC4zKTtcbn1cbi5idG4tZmluYWxpemUtaW5saW5lOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDI1LCAxMzUsIDg0LCAwLjQpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxNTczNDcgMCUsICMwZjUxMzIgMTAwJSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIMOJVEFUUyAvIEJBREdFUyAvIEZMQVNIRVNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ldmFsdWF0aW9uLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZ2FwOiA0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uc3RhdHVzIHtcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC45NSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xufVxuLnN0YXR1cy0tY29tcGxldGVkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1LCAxMzUsIDg0LCAwLjMpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNSwgMTM1LCA4NCwgMC41KTtcbn1cbi5zdGF0dXMtLWRyYWZ0IHsgLyogYnJvdWlsbG9uICovXG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDgsIDExNywgMTI1LCAwLjM1KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTtcbn1cblxuLnN0YXR1cy1iYWRnZS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cbi5zdGF0dXMtYmFkZ2UtaW5saW5lLnN0YXR1cy1jb21wbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNSwgMTM1LCA4NCwgMC42KTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1LCAxMzUsIDg0LCAwLjQpO1xufVxuXG4uZmxhc2gtbWVzc2FnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDI1LCAxMzUsIDg0LCAwLjIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUSVRSRVMgLyBESVZJU0VVUlMgLyBWQVJJQU5URVNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWN0aW9uLWRpdmlkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi10b3A6IDMwcHg7IH1cbi5zZWN0aW9uLXRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjlmYSAwJSwgI2U5ZWNlZiAxMDAlKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNWY0ZmNmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgIGNvbG9yOiAjNWY0ZmNmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSg5NSwgNzksIDIwNywgMC4yKTtcbn1cblxuLyogSGVhZGVycyBkZSBzZWN0aW9uICovXG4uc2VjdGlvbi1oZWFkZXItbW9kZXJuIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmOWZhIDAlLCAjZTllY2VmIDEwMCUpO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgY29sb3I6ICMzNzQxNTE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM2NjdlZWE7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4uc2VjdGlvbi1oZWFkZXItbW9kZXJuIGkgeyBtYXJnaW4tcmlnaHQ6IDEwcHg7IGNvbG9yOiAjNjY3ZWVhOyB9XG5cbi50eXBlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZjlmYSAwJSwgI2U5ZWNlZiAxMDAlKTtcbiAgICBjb2xvcjogIzVmNGZjZjtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjNWY0ZmNmO1xufVxuLnR5cGUtaGVhZGVyLS1hbHQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM1ZjRmY2YgMCUsICM3YjY4ZWUgMTAwJSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQUk9CTMOJTUFUSVFVRVNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9ibGVtYXRpcXVlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMTBiOTgxO1xufVxuLnByb2JsZW1hdGlxdWUtaXRlbSBpIHsgZm9udC1zaXplOiAxLjJyZW07IH1cblxuLmNvZGUtYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMzc0MTUxO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWU3ZWI7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5wcm9ibGVtYXRpcXVlLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4ucHJvYmxlbWF0aXF1ZS1ibG9jazpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjY3ZWVhO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjE1KTtcbn1cblxuLnByb2JsZW1hdGlxdWUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNXB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmVmM2M3IDAlLCAjZmRlNjhhIDEwMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNmNTllMGI7XG59XG4ucHJvYmxlbWF0aXF1ZS1pY29uIHtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y1OWUwYiAwJSwgI2Q5NzcwNiAxMDAlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjQpO1xufVxuLnByb2JsZW1hdGlxdWUtY29udGVudCB7IGZsZXg6IDE7IH1cbi5wcm9ibGVtYXRpcXVlLWNvZGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjb2xvcjogI2Y1OWUwYjtcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmYmJmMjQ7XG59XG5cbi5wcm9wb3NpdGlvbi1yb3cgeyBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBBTk5FQVUgREUgUsOJT1JHQU5JU0FUSU9OXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucmVvcmRlci1wYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAtNDAwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IC01cHggMCAyNXB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ucmVvcmRlci1wYW5lbC5hY3RpdmUgeyByaWdodDogMDsgfVxuLnJlb3JkZXItcGFuZWwtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM1ZjRmY2YgMCUsICM3YjY4ZWUgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucmVvcmRlci1wYW5lbC1oZWFkZXIgaDUgeyBtYXJnaW46IDA7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5yZW9yZGVyLXBhbmVsLWhlYWRlciAuYnRuLWNsb3NlIHsgZmlsdGVyOiBpbnZlcnQoMSk7IH1cbi5yZW9yZGVyLXBhbmVsLWJvZHkgeyBmbGV4OiAxOyBvdmVyZmxvdy15OiBhdXRvOyBwYWRkaW5nOiAyMHB4OyB9XG4ucmVvcmRlci1wYW5lbC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbn1cblxuLyogTGlzdGUgdHJpYWJsZSAqL1xuLnNvcnRhYmxlLWxpc3QgeyBsaXN0LXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IH1cbi5zb3J0YWJsZS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTllY2VmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG4uc29ydGFibGUtaXRlbTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNWY0ZmNmO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSg5NSwgNzksIDIwNywgMC4yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG59XG4uc29ydGFibGUtaXRlbS5kcmFnZ2luZyB7IG9wYWNpdHk6IDAuNTsgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7IH1cbi5zb3J0YWJsZS1pdGVtLmRyYWctb3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNWY0ZmNmO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTUsIDc5LCAyMDcsIDAuMSk7XG4gICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG59XG4uc29ydGFibGUtaXRlbS1udW1iZXIge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNWY0ZmNmIDAlLCAjN2I2OGVlIDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLnNvcnRhYmxlLWl0ZW0tY29udGVudCB7IGZsZXg6IDE7IH1cbi5zb3J0YWJsZS1pdGVtLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMmMzZTUwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG4uc29ydGFibGUtaXRlbS1pY29uIHsgY29sb3I6ICM1ZjRmY2Y7IGZvbnQtc2l6ZTogMS4ycmVtOyBmbGV4LXNocmluazogMDsgfVxuXG4vKiBPdmVybGF5ICovXG4ucmVvcmRlci1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgICB6LWluZGV4OiA5OTk4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cbi5yZW9yZGVyLW92ZXJsYXkuYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IG9wYWNpdHk6IDE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTlVNw4lST1RBVElPTiBERVMgU0VDVElPTlNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9wb3NpdGlvbi1zZWN0aW9uLWl0ZW0geyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbi5zZWN0aW9uLWJsb2NrIHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuLnNlY3Rpb24tbnVtYmVyLWJhZGdlIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzVmNGZjZiAwJSwgIzdiNjhlZSAxMDAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoOTUsIDc5LCAyMDcsIDAuNCk7XG4gICAgei1pbmRleDogMTA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERJQUdOT1NUSUMgLSBHw4lOw4lSRVJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWxlY3Rpb24tY291bnRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiKDk1LCA3OSwgMjA3KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICBwYWRkaW5nOiAycHggNHB4O1xufVxuLmNvdW50ZXItbnVtYmVyIHsgZm9udC1zaXplOiAxLjJyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxOyB9XG4uY291bnRlci1sYWJlbCAgeyBmb250LXNpemU6IDAuNzVyZW07IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi10b3A6IDJweDsgfVxuXG4vKiBDaGVja2JveGVzIGN1c3RvbSAqL1xuLmZvcm0tY2hlY2sge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuLmZvcm0tY2hlY2s6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZmOyBib3JkZXItY29sb3I6ICNlOWVjZWY7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyB9XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB3aWR0aDogMS41ZW07XG4gICAgaGVpZ2h0OiAxLjVlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjFlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2RlZTJlNjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi5mb3JtLWNoZWNrLWlucHV0OmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjNWY0ZmNmOyBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5NSwgNzksIDIwNywgMC4xKTsgfVxuLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVmNGZjZjtcbiAgICBib3JkZXItY29sb3I6ICM1ZjRmY2Y7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoOTUsIDc5LCAyMDcsIDAuMjUpO1xuICAgIGFuaW1hdGlvbjogY2hlY2tCb3VuY2UgMC4zcyBlYXNlO1xufVxuLmZvcm0tY2hlY2staW5wdXQ6Zm9jdXMgeyBib3JkZXItY29sb3I6ICM1ZjRmY2Y7IGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDk1LCA3OSwgMjA3LCAwLjI1KTsgfVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgY29sb3I6ICM0OTUwNTc7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG59XG4uZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkIH4gLmZvcm0tY2hlY2stbGFiZWwgeyBjb2xvcjogIzVmNGZjZjsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmZvcm0tY2hlY2s6aG92ZXIgLmZvcm0tY2hlY2stbGFiZWwgeyBjb2xvcjogIzJjM2U1MDsgfVxuXG5Aa2V5ZnJhbWVzIGNoZWNrQm91bmNlIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG4uZm9ybS1jaGVjazpoYXMoLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGY5ZmYgMCUsICNmMGYwZmYgMTAwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiAjNWY0ZmNmO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDk1LCA3OSwgMjA3LCAwLjE1KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRElBR05PU1RJQyAtIFBST1BPU0lUSU9OXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGlhZ25vc3RpYy1zdW1tYXJ5IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxNXB4OyB9XG4uc3VtbWFyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzQ5NTA1Nztcbn1cbi5zdW1tYXJ5LWRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzVmNGZjZjtcbn1cbi5wcm9wb3NpdGlvbi10eXBlLXNlY3Rpb24geyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IC8qIHZhbGV1ciB1bmlxdWUgKi9cbi5wcm9wb3NpdGlvbnMtY29udGVudCB7IHBhZGRpbmc6IDAgMjBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJTVBSRVNTSU9OXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAgIC5zaWRlYmFyLWZpeGVkLFxuICAgIC5kb3NzaWVyLWhlYWRlciAuaGVhZGVyLWFjdGlvbnMsXG4gICAgLm1vZGFsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgIH1cbn1cbiIsIi8qID09PSBIRUFERVIgR1JBRElFTlQgPT09ICovXG4uaGVhZGVyLWdyYWRpZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYigwIDAgMCAvIDMlKTtcbn1cblxuLmxvZ28taW1nIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG4ubG9nby1hcHNpIHtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG4vKiA9PT0gVVNFUiBJTkZPIENBUkQgPT09ICovXG4udXNlci1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLnVzZXItaW5mbzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLnVzZXItYXZhdGFyIHtcbiAgICB3aWR0aDogNDJweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi51c2VyLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi51c2VyLW5hbWUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi51c2VyLW5hbWUgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW46IDA7XG59XG4udXNlci1hdmF0YXItY2lyY2xlIHtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuMyk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qID09PSBNQUlOIENPTlRBSU5FUiA9PT0gKi9cbi5tYWluLWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDgwcHgpO1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbn1cblxuLyogPT09IEFDVElPTiBCQVIgPT09ICovXG4uYWN0aW9uLWJhciB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4vKiA9PT0gU0VBUkNIIEJBUiA9PT0gKi9cbi5zZWFyY2gtYmFyLW1vZGVybiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi5zZWFyY2gtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgdG9wOiA2MiU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiAjNWY1MGNlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4uc2VhcmNoLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHggMTZweCA1NXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmYWZjO1xufVxuXG4uc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzVmNGZjZjtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjEpO1xufVxuXG4uc2VhcmNoLWxvYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogNjQlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBjb2xvcjogIzVmNGZjZjtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLmZpbHRlci1mb3JtIGl7XG4gICAgY29sb3I6ICM1ZjRmY2Y7XG59XG4vKiA9PT0gRU1QVFkgU1RBVEUgPT09ICovXG4uZW1wdHktc3RhdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA4MHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5lbXB0eS1pY29uIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC4zKTtcbn1cblxuLmVtcHR5LXRpdGxlIHtcbiAgICBjb2xvcjogIzJkMzc0ODtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uZW1wdHktZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjNzE4MDk2O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5idG4tbG9nb3V0IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCwgNTMsIDY5LCAwLjUwKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIyMCwgNTMsIDY5LCAwLjQpO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBwYWRkaW5nOiAxMHB4IDIycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5idG4tbG9nb3V0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGMzNTQ1O1xuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyMjAsIDUzLCA2OSwgMC41KTtcbn1cblxuLyogPT09IEJFTkVGSUNJQUlSRVMgR1JJRCA9PT0gKi9cbi5iZW5lZmljaWFpcmVzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzUwcHgsIDFmcikpO1xuICAgIGdhcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uYmVuZWZpY2lhaXJlLWNhcmQtd3JhcHBlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmJlbmVmaWNpYWlyZS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5iZW5lZmljaWFpcmUtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qID09PSBDUkVBVE9SIEJBREdFID09PSAqL1xuLmNyZWF0b3ItYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjEyKTtcbiAgICBjb2xvcjogIzY2N2VlYTtcbiAgICBwYWRkaW5nOiA3cHggMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgei1pbmRleDogMTA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjIpO1xufVxuXG4vKiA9PT0gQ0FSRCBIRUFERVIgPT09ICovXG4uY2FyZC1oZWFkZXItbW9kZXJuIHtcbiAgICBwYWRkaW5nOiA2MHB4IDI1cHggMjVweCAyNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y3ZmFmYyAwJSwgI2VkZjJmNyAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5iZW5lZmljaWFpcmUtYXZhdGFyIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjY3ZWVhIDAlLCAjNzY0YmEyIDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuMyk7XG59XG5cbi5iZW5lZmljaWFpcmUtaW5mbyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmJlbmVmaWNpYWlyZS1uYW1lIHtcbiAgICBjb2xvcjogIzJkMzc0ODtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5iZW5lZmljaWFpcmUtZGF0ZSB7XG4gICAgY29sb3I6ICM3MTgwOTY7XG4gICAgZm9udC1zaXplOiAxMy43cHg7XG59XG5cbi5iZW5lZmljaWFpcmUtZGF0ZSBpIHtcbiAgICBjb2xvcjogIzY2N2VlYTtcbn1cblxuLyogPT09IENBUkQgRk9PVEVSID09PSAqL1xuLyogRW1ww6pjaGUgRm9udCBBd2Vzb21lIGQnYWZmaWNoZXIgbOKAmWljw7RuZSBwYXIgZMOpZmF1dCAqL1xuLmJ0bi1vcGVuLWRvc3NpZXIgLmljb24tZm9sZGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMTg1XCI7IC8qIGZvbGRlciAqL1xufVxuXG4uYnRuLW9wZW4tZG9zc2llcjpob3ZlciAuaWNvbi1mb2xkZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwN2NcIjsgLyogZm9sZGVyLW9wZW4gKi9cbn1cblxuLmNhcmQtZm9vdGVyLW1vZGVybiB7XG4gICAgcGFkZGluZzogMjBweCAyNXB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4uYnRuLW9wZW4tZG9zc2llciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE0cHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjY3ZWVhIDAlLCAjNzY0YmEyIDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmJ0bi1vcGVuLWRvc3NpZXI6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjQpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ0bi1vcGVuLWRvc3NpZXIgaTpsYXN0LWNoaWxkIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4uYnRuLW9wZW4tZG9zc2llcjpob3ZlciBpOmxhc3QtY2hpbGQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xufVxuXG4vKiA9PT0gUkVTVUxUUyBDT1VOVEVSID09PSAqL1xuLnJlc3VsdHMtY291bnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgY29sb3I6ICM3MTgwOTY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi8qID09PSBBTklNQVRJT05TID09PSAqL1xuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLmJlbmVmaWNpYWlyZS1jYXJkLXdyYXBwZXIge1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXMgZWFzZSBmb3J3YXJkcztcbn1cblxuLmJlbmVmaWNpYWlyZS1jYXJkLXdyYXBwZXI6bnRoLWNoaWxkKDEpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjA1czsgfVxuLmJlbmVmaWNpYWlyZS1jYXJkLXdyYXBwZXI6bnRoLWNoaWxkKDIpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjFzOyB9XG4uYmVuZWZpY2lhaXJlLWNhcmQtd3JhcHBlcjpudGgtY2hpbGQoMykgeyBhbmltYXRpb24tZGVsYXk6IDAuMTVzOyB9XG4uYmVuZWZpY2lhaXJlLWNhcmQtd3JhcHBlcjpudGgtY2hpbGQoNCkgeyBhbmltYXRpb24tZGVsYXk6IDAuMnM7IH1cbi5iZW5lZmljaWFpcmUtY2FyZC13cmFwcGVyOm50aC1jaGlsZCg1KSB7IGFuaW1hdGlvbi1kZWxheTogMC4yNXM7IH1cbi5iZW5lZmljaWFpcmUtY2FyZC13cmFwcGVyOm50aC1jaGlsZCg2KSB7IGFuaW1hdGlvbi1kZWxheTogMC4zczsgfVxuXG4udGFibGUtYm9yZGVybGVzcz46bm90KGNhcHRpb24pPio+KiB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xufVxuLyogPT09IEZpbHRlciA9PT0gKi9cblxuICAgICAvKiBDb250YWluZXIgZGVzIGZpbHRyZXMgKi9cbiAuZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuMik7XG4gfVxuXG4vKiBGb3JtdWxhaXJlIGRlIGZpbHRyZXMgKi9cbi5maWx0ZXItZm9ybS1tb2Rlcm4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDFyZW07XG59XG5cbi8qIEhlYWRlciBkZXMgZmlsdHJlcyAqL1xuLmZpbHRlci1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5maWx0ZXItaGVhZGVyIGkge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4vKiBDb250ZW5ldXIgZGVzIGlucHV0cyAqL1xuLmZpbHRlci1pbnB1dHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi8qIEdyb3VwZSBkZSBmaWx0cmUgKi9cbi5maWx0ZXItZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNHJlbTtcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xufVxuXG4uZmlsdGVyLWdyb3VwIGxhYmVsIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBTdHlsZSBkZXMgc2VsZWN0cyAqL1xuLmZpbHRlci1zZWxlY3Qge1xuICAgIHBhZGRpbmc6IDAuNnJlbSAxcmVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbn1cblxuLmZpbHRlci1zZWxlY3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4uZmlsdGVyLXNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi8qIFN0eWxlIGRlcyBpbnB1dHMgZGF0ZSAqL1xuLmZpbHRlci1kYXRlIHtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1pbi13aWR0aDogMTYwcHg7XG59XG5cbi5maWx0ZXItZGF0ZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5maWx0ZXItZGF0ZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi8qIFN0eWxlIHBvdXIgbGUgY2FsZW5kcmllciBkYW5zIGxlcyBpbnB1dHMgZGF0ZSAqL1xuLmZpbHRlci1kYXRlOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmaWx0ZXI6IGludmVydCgwLjUpO1xufVxuXG4uZmlsdGVyLWRhdGU6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcjpob3ZlciB7XG4gICAgZmlsdGVyOiBpbnZlcnQoMC4zKTtcbn1cblxuLyogQ29udGVuZXVyIGRlcyBib3V0b25zIGQnYWN0aW9uICovXG4uZmlsdGVyLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxcmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi8qIEJvdXRvbiBBcHBsaXF1ZXIgKi9cbi5idG4tZmlsdGVyLWFwcGx5IHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjb2xvcjogIzVmNTBjZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMC42NXJlbSAxLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xufVxuXG4uYnRuLWZpbHRlci1hcHBseTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmZjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnRuLWZpbHRlci1hcHBseTphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogQm91dG9uIFLDqWluaXRpYWxpc2VyICovXG4uYnRuLWZpbHRlci1yZXNldCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgcGFkZGluZzogMC42cmVtIDEuM3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLWZpbHRlci1yZXNldDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLWZpbHRlci1yZXNldDphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi8qIEJhZGdlIHDDqXJpb2RlIHRlcm1pbsOpZSAqL1xuLnBlcmlvZGUtdGVybWluZWUtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMjhhNzQ1IDAlLCAjMjBjOTk3IDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSg0MCwgMTY3LCA2OSwgMC4zKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBhbmltYXRpb246IGZhZGVJbkJhZGdlIDAuM3MgZWFzZTtcbn1cblxuLnBlcmlvZGUtdGVybWluZWUtYmFkZ2UgaSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkJhZGdlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKiBBanVzdGVyIGxhIHBvc2l0aW9uIGR1IGJhZGdlIGNyw6lhdGV1ciBwb3VyIG5lIHBhcyBjaGV2YXVjaGVyICovXG4uYmVuZWZpY2lhaXJlLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNyZWF0b3ItYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZMQVNIIFRPQVNUIE1FU1NBR0VTIChTVFlMRSBFWEFDVEVNRU5UIElERU5USVFVRSDDgCBQw4lSSU9ERSBURVJNSU7DiUUpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZmxhc2gtdG9hc3Qge1xuICAgIC8qIFN0eWxlIEVYQUNURU1FTlQgaWRlbnRpcXVlIGF1IGJhZGdlIHDDqXJpb2RlIHRlcm1pbsOpZSAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgei1pbmRleDogMTA1MDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMjhhNzQ1IDAlLCAjMjBjOTk3IDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBhbmltYXRpb246IHNsaWRlSW5SaWdodCAwLjNzIGVhc2Utb3V0O1xuICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbn1cblxuLyogVmFyaWFudHMgZGUgY291bGV1ciBwb3VyIGxlcyB0b2FzdHMgKG3Dqm1lcyBncmFkaWVudHMpICovXG4uZmxhc2gtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzI4YTc0NSAwJSwgIzIwYzk5NyAxMDAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5mbGFzaC1lcnJvciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2RjMzU0NSAwJSwgI2ZkN2UxNCAxMDAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5mbGFzaC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZjMTA3IDAlLCAjZmQ3ZTE0IDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmZsYXNoLWluZm8ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxN2EyYjggMCUsICM2ZjQyYzEgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4vKiBJY8O0bmUgZGFucyBsZXMgdG9hc3RzICovXG4uZmxhc2gtdG9hc3QgaSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFRleHRlIGR1IG1lc3NhZ2UgKi9cbi5mbGFzaC10b2FzdCBzcGFuIHtcbiAgICBmbGV4OiAxO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi8qIEJvdXRvbiBkZSBmZXJtZXR1cmUgKi9cbi5mbGFzaC1jbG9zZS1idG4ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5mbGFzaC1jbG9zZS1idG46aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4uZmxhc2gtY2xvc2UtYnRuIGkge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi8qIEFuaW1hdGlvbiBkJ2VudHLDqWUgKi9cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8qIEFuaW1hdGlvbiBkZSBzb3J0aWUgKi9cbi5mbGFzaC10b2FzdC5mYWRlLW91dCB7XG4gICAgYW5pbWF0aW9uOiBzbGlkZU91dFJpZ2h0IDAuM3MgZWFzZS1pbiBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi8qIEVtcGlsZW1lbnQgZGVzIHRvYXN0cyBtdWx0aXBsZXMgKi9cbi5mbGFzaC10b2FzdDpudGgtY2hpbGQoMikgeyB0b3A6IDgwcHg7IH1cbi5mbGFzaC10b2FzdDpudGgtY2hpbGQoMykgeyB0b3A6IDE0MHB4OyB9XG4uZmxhc2gtdG9hc3Q6bnRoLWNoaWxkKDQpIHsgdG9wOiAyMDBweDsgfVxuLmZsYXNoLXRvYXN0Om50aC1jaGlsZCg1KSB7IHRvcDogMjYwcHg7IH1cbiIsIi5sb2dpbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5sb2dpbi1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYigwIDAgMCAvIDE3JSk7XG4gICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIGFuaW1hdGlvbjogc2xpZGVVcCAwLjVzIGVhc2U7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVVcCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4ubG9naW4taGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmxvZ2luLWxvZ28ge1xuICAgIG1heC13aWR0aDogNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmNmcDAyLWxvZ297XG4gICAgbWF4LXdpZHRoOiAxMzVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG59XG4ubG9naW4taGVhZGVyIGgyIHtcbiAgICBjb2xvcjogIzJjM2U1MDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLmxvZ2luLWZvcm0gLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2U5ZWNlZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuLmxvZ2luLWZvcm0gLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjY3ZWVhO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuMjUpO1xufVxuXG4ucGFzc3dvcmQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYnRuLXRvZ2dsZS1wYXNzd29yZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uYnRuLXRvZ2dsZS1wYXNzd29yZDpob3ZlciB7XG4gICAgY29sb3I6ICM2NjdlZWE7XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzY2N2VlYSAwJSwgIzc2NGJhMiAxMDAlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5idG4tcHJpbWFyeTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjQpO1xufVxuXG4uYWxlcnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAubG9naW4tY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICB9XG5cbiAgICAubG9naW4tbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgfVxufVxuIiwiLmF0ZWxpZXItY2FyZCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XG59XG5cbi5hdGVsaWVyLWNhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMCwwLDAsMC4xNSkgIWltcG9ydGFudDtcbn1cblxuXG5cbi5hdGVsaWVyLXN0YXR1cyB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnN0YXR1cy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmNvbXBldGVuY2VzLXByZXZpZXcge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2U3ZjNmZjtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMwZDZlZmQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuIiwiLyogQWN0aW9ucyBoZWFkZXIgKi9cbi5oZWFkZXItYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEycHg7XG59XG4uYnRue1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5idG4tYWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDk1LCA3OSwgMjA3LCAwLjE1KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNWY0ZmNmO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiA4cHggMTVweDtcbiAgICBjb2xvcjogIzJkMWY2ZjsgLyogVmlvbGV0IHRyw6hzIGZvbmPDqSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5idG4tYWN0aW9uIGkge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cblxuLmJ0bi1hY3Rpb24gc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xufVxuLmJ0bi1hY3Rpb246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5idG4tYWN0aW9uLmJ0bi13YXJuaW5nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTBhODAwO1xuICAgIGJvcmRlci1jb2xvcjogI2QzOWUwMDtcbn1cblxuLmJ0bi1hY3Rpb24uYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTMsIDExMCwgMjUzLCAwLjkpO1xuICAgIGJvcmRlci1jb2xvcjogIzBkNmVmZDtcbn1cblxuLmJ0bi1hY3Rpb24uYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjUsIDEzNSwgODQsIDAuOSk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTk4NzU0O1xufVxuLmJ0bi1hY3Rpb24uYnRuLWRhbmdlcjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAjYzgyMzMzOyAgIC8qIHJvdWdlIEJvb3RzdHJhcCBwbHVzIGZvbmPDqSAqL1xuICAgIGJvcmRlci1jb2xvcjogI2JkMjEzMDtcbn1cbi5idG4tYWN0aW9uLmJ0bi1yZXRvdXI6aG92ZXJ7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZDogIzVmNGZjZjtcbn1cbi5idG4tYWN0aW9uLmNvbXBsZXRlOmhvdmVye1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMyOGE3NDUgMCUsICMxZTdlMzQgMTAwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWU3ZTM0O1xufVxuLmJ0bi1hY3Rpb24uYnRuLWluZm86aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwYmIzZDQ7ICAgLyogcGx1cyBmb25jw6kgcXVlICMwZGNhZjAgKi9cbiAgICBib3JkZXItY29sb3I6ICMwYWEyYzA7XG59XG4uYnRuLXNhdmUtaW5saW5lIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMGQ2ZWZkIDAlLCAjMDA1NmIzIDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTMsIDExMCwgMjUzLCAwLjMpO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG59XG4uYnRuLXNhdmUtaW5saW5lOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDEzLCAxMTAsIDI1MywgMC40KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMGI1ZWQ3IDAlLCAjMDA0MDg1IDEwMCUpO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuLmxpc3RlLWJ0bntcblxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ubGlzdGUtYnRuIC5uYXYtaXRlbSB7XG4gICAgLyogYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkxKTtcbiAgICBjb2xvcjogIzA5ODRlMzsgKi9cbn1cbi5kZWNve1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTUsIDc5LCAyMDcsIDAuMTUpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM1ZjRmY2Y7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIHBhZGRpbmc6IDVweCA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzJkMWY2ZjsgLyogVmlvbGV0IHRyw6hzIGZvbmPDqSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG4uYnRuLXBsaWVye1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTUsIDc5LCAyMDcsIDAuNjQpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICM1ZjRmY2Y7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuLmJ0bi1wbGllcjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAjNDkzN2E4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICM0NzNiOTg7XG59XG4uYnRuLXBsaWVyIGl7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuIiwiLmNhcmQtaGVhZGVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLmNhcmQtaGVhZGVyIGl7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbn1cbi5weS00e1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG50YWJsZSB0aCwgdGFibGUgdGQge1xuICAgIGJvcmRlcjogMDtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/