/*!***************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/searchHome/SearchSubmit/SearchSubmit.css ***!
  \***************************************************************************************************************************************************/
/* =========================================
   SEARCH SUBMIT - REFONTE UI/UX MODERNE
   ========================================= */

/* Reset des inputs ReactiveSearch */
.no-border-input {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  outline: none !important;
  font-size: 14px !important;
  color: #1f2937 !important;
}

.no-border-input::placeholder {
  color: #9ca3af !important;
}

.no-border-input:focus {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Cache les icônes par défaut de ReactiveSearch */
.search-icon,
.DataSearch__icon,
.rs-search-icon,
.rs-search-icon svg {
  display: none !important;
}

/* =========================================
   BARRE DE RECHERCHE PRINCIPALE
   ========================================= */

.search-container {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding: 20px 0 15px;
  position: relative;
}

.search-bar-wrapper {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

.search-bar {
  display: flex;
  align-items: center;
  gap: 0;
  background: #ffffff;
  border-radius: 60px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 6px 8px 6px 20px;
  transition: all 0.3s ease;
}

.search-bar:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06);
  border-color: #d1d5db;
}

.search-bar:focus-within {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15), 0 0 0 2px rgba(0, 0, 0, 0.05);
  border-color: #1f2937;
}

/* Sections de la barre de recherche */
.search-section {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  position: relative;
  transition: background-color 0.2s ease;
  border-radius: 30px;
  cursor: pointer;
}

.search-section:hover {
  background-color: #f3f4f6;
}

.search-section-divider {
  width: 1px;
  height: 28px;
  background: #e5e7eb;
  flex-shrink: 0;
}

.search-section-icon {
  color: #6b7280;
  font-size: 18px;
  flex-shrink: 0;
  transition: color 0.2s ease;
}

.search-section:hover .search-section-icon {
  color: #1f2937;
}

.search-section-input {
  flex: 1;
  min-width: 0;
}

.search-section-label {
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

/* Bouton de recherche principal */
.search-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
  color: white;
  border: none;
  border-radius: 50px;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
}

.search-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  background: linear-gradient(135deg, #374151 0%, #1f2937 100%);
}

.search-button:active {
  transform: translateY(0);
}

/* =========================================
   FILTRES (PILLS)
   ========================================= */

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

.filters-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

/* Filter Pill - Style de base */
.filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  transition: all 0.25s ease;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.filter-pill:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.filter-pill.active {
  background: #1f2937;
  border-color: #1f2937;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(31, 41, 55, 0.3);
}

.filter-pill.active:hover {
  background: #374151;
  border-color: #374151;
}

.filter-pill-icon {
  font-size: 14px;
  opacity: 0.8;
}

.filter-pill.active .filter-pill-icon {
  opacity: 1;
}

/* Bouton de suppression du filtre */
.filter-wrapper {
  position: relative;
  display: inline-flex;
}

.filter-clear-btn {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ef4444;
  color: white;
  border: 2px solid white;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(239, 68, 68, 0.4);
}

.filter-wrapper:hover .filter-clear-btn {
  opacity: 1;
  transform: scale(1);
}

.filter-clear-btn:hover {
  background: #dc2626;
  transform: scale(1.1);
}

/* Filtre spécial "Les mieux notés" */
.filter-pill.star-filter {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  border-color: #fbbf24;
  color: #92400e;
}

.filter-pill.star-filter:hover {
  background: linear-gradient(135deg, #fde68a 0%, #fcd34d 100%);
}

.filter-pill.star-filter.active {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  border-color: #d97706;
  color: white;
}

/* =========================================
   COMPTEUR DE RÉSULTATS
   ========================================= */

.results-counter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  background: #f3f4f6;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
}

.results-counter-number {
  font-weight: 700;
  color: #1f2937;
}

/* =========================================
   RESET FILTERS LINK
   ========================================= */

.reset-filters-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  color: #ef4444;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 20px;
}

.reset-filters-link:hover {
  background: #fef2f2;
  color: #dc2626;
}

/* =========================================
   STICKY BAR
   ========================================= */

.sticky-search-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  padding: 12px 20px;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
}

.sticky-search-bar.visible {
  transform: translateY(0);
}

.sticky-search-bar .search-bar {
  padding: 4px 6px 4px 16px;
}

.sticky-search-bar .search-section {
  padding: 8px 12px;
}

.sticky-search-bar .search-button {
  padding: 10px 20px;
  font-size: 13px;
}

/* =========================================
   SUGGESTIONS DROPDOWN
   ========================================= */

.suggestions-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  max-height: 400px;
  overflow-y: auto;
  z-index: 1300;
  animation: dropdownFadeIn 0.2s ease-out;
}

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

.suggestion-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  transition: all 0.15s ease;
  border-bottom: 1px solid #f3f4f6;
}

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

.suggestion-item:hover {
  background: #f9fafb;
}

.suggestion-item-avatar {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  object-fit: cover;
  background: #e5e7eb;
  flex-shrink: 0;
}

.suggestion-item-content {
  flex: 1;
  min-width: 0;
}

.suggestion-item-title {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.suggestion-item-subtitle {
  font-size: 12px;
  color: #6b7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================================
   OVERLAY PANELS
   ========================================= */

.overlay-panel-modern {
  border-radius: 16px !important;
  border: none !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2) !important;
  padding: 0 !important;
  overflow: hidden;
}

.overlay-panel-modern::before {
  display: none !important;
}

.overlay-panel-content {
  padding: 16px;
}

.overlay-panel-header {
  padding: 16px;
  border-bottom: 1px solid #f3f4f6;
  font-weight: 600;
  font-size: 15px;
  color: #1f2937;
}

/* =========================================
   BACKDROP (Fond sombre)
   ========================================= */

.search-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.search-backdrop.visible {
  opacity: 1;
  visibility: visible;
}

/* =========================================
   RÉSULTATS LAYOUT
   ========================================= */

.results-layout {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}

.results-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 24px;
}

@media (max-width: 1200px) {
  .results-grid {
    grid-template-columns: 1fr;
  }
}

/* Map container sticky */
.map-sticky-container {
  position: sticky;
  top: 100px;
  height: calc(100vh - 120px);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* =========================================
   PAGINATION
   ========================================= */

.pagination-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px 0;
}

.pagination-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #1f2937;
  color: white;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pagination-btn:hover:not(:disabled) {
  background: #374151;
  transform: translateY(-1px);
}

.pagination-btn:disabled {
  background: #e5e7eb;
  color: #9ca3af;
  cursor: not-allowed;
}

/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 768px) {
  .search-bar {
    flex-direction: column;
    border-radius: 20px;
    padding: 12px;
    gap: 0;
  }

  .search-section {
    width: 100%;
    padding: 12px;
    border-radius: 12px;
  }

  .search-section-divider {
    width: 100%;
    height: 1px;
    margin: 4px 0;
  }

  .search-button {
    width: 100%;
    margin-top: 8px;
    border-radius: 12px;
  }

  .filters-row {
    justify-content: flex-start;
    padding-bottom: 8px;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .filters-row::-webkit-scrollbar {
    display: none;
  }

  .filter-pill {
    flex-shrink: 0;
  }
}

/* =========================================
   ANIMATIONS
   ========================================= */

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

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

@keyframes highlightFlash {
  0% { background-color: rgba(255, 255, 0, 0.4); }
  100% { background-color: transparent; }
}

.highlighted {
  animation: highlightFlash 1s ease-out;
}

/* =========================================
   SIDEBAR TRANSPARENT (existant)
   ========================================= */

.sidebar-transparent .p-sidebar-content {
  position: relative;
  background: rgba(255, 255, 255, 0.9);
}

.sidebar-transparent .p-sidebar-content::before {
  content: "";
  position: relative;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.sidebar-transparent .p-sidebar-content > * {
  z-index: 2;
}

/* =========================================
   PRESENCE BADGES
   ========================================= */

.presence-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid transparent;
  background: #f3f4f6;
  color: #6b7280;
}

.presence-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  display: inline-block;
}

.presence-online {
  background: #ecfdf5;
  color: #047857;
  border-color: #6ee7b7;
}

.presence-online .presence-dot {
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.2);
  animation: presence-pulse 1.6s infinite;
}

.presence-offline {
  background: #f9fafb;
  color: #9ca3af;
  border-color: #e5e7eb;
}

.presence-offline .presence-dot {
  background: #9ca3af;
  opacity: 0.7;
}

.presence-busy {
  background: #fff7ed;
  border-color: #fdba74;
  color: #c2410c;
}

.presence-busy .presence-dot {
  background: #f97316;
  box-shadow: 0 0 0 4px rgba(251, 146, 60, 0.25);
  animation: presence-pulse-orange 1.6s infinite;
}

@keyframes presence-pulse {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4); }
  70% { box-shadow: 0 0 0 7px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

@keyframes presence-pulse-orange {
  0% { box-shadow: 0 0 0 0 rgba(251, 146, 60, 0.4); }
  70% { box-shadow: 0 0 0 7px rgba(251, 146, 60, 0); }
  100% { box-shadow: 0 0 0 0 rgba(251, 146, 60, 0); }
}

/* =========================================
   QUILL EDITOR
   ========================================= */

.custom-quill-editor .ql-container {
  border: none !important;
  min-height: 60px;
  max-height: 300px;
}

.custom-quill-editor .ql-toolbar {
  border: none !important;
  border-bottom: 1px solid #e5e7eb !important;
}

.custom-quill-editor .ql-editor {
  padding-left: 0;
  padding-right: 0;
  font-size: 0.9rem;
}

/* =========================================
   DIVERS
   ========================================= */

.hidden-suggestions {
  display: none !important;
}

input:hover {
  box-shadow: none;
}

/*!******************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/configprofessionnel/FullCalendar/styles.css ***!
  \******************************************************************************************************************************************************/
.App {
    font-family: sans-serif;
    text-align: center;
}

.bg-marron {
    background-color: rgb(194, 158, 109);
}

.bg-white {
    background-color: white;
}



.bg-black {
    background-color: black;
}

.font-arial {
    font-family: 'Arial'
}

/* TEXT */
.text-white {
    color: white;
}

.text-black {
    color: black;
}

.c-pointer {
    cursor: pointer;
}

.fc-timeGridWeek-button {
    background-color: red;
    color: red;
}
/*!***************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/pageproparticulier/Composants/styles/imagesBlock.css ***!
  \***************************************************************************************************************************************************************/
/* body {
    background-color: #f4f4f4;
    font-family: 'Arial, sans-serif';
    margin: 0;
    padding: 1rem;
  }
  
  .container {
    max-width: 100%;
    padding: 1.5rem;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 0 auto;
  } */
  
  .header-section {
    text-align: center;
    margin-bottom: 1.5rem;
  }
  
  /* .profile-header {
    background-color: black;
    color: white;
    padding: 1rem;
    border-radius: 8px;
    font-size: 2rem;
    font-weight: bold;
    margin: 0;
  }
  
  .image-slider-container {
    margin-bottom: 1.5rem;
  }
  
  .slider-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
  }
  
  .logo-section img {
    max-width: 230px;
    max-height: 80px;
    object-fit: contain;
    margin-bottom: 1rem;
  }
  
  .description {
    margin-bottom: 1.5rem;
    text-align: center;
  }
  
  .profession-title {
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
  }
  
  .description p {
    color: #555;
    font-size: 1.1rem;
  }
  
  .button-container {
    text-align: center;
  }
  
  .appointment-button {
    background-color: black;
    color: white;
    padding: 0.8rem 1.5rem;
    font-size: 1rem;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-transform: uppercase;
  }
  
  .appointment-button:hover {
    background-color: #333;
  }
  
  .map-container {
    margin-top: 1.5rem;
  }
  
  iframe {
    width: 100%;
    height: 300px;
    border: none;
    border-radius: 8px;
  } */
  
/*!**************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/pageproparticulier/ModalHebdoProfil.css ***!
  \**************************************************************************************************************************************************/
/* Animation pour les transitions */
@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0.8;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Masquer le titre central et le bouton "Aujourd'hui" */
.calendar-container .fc-toolbar-title,
.calendar-container .fc-today-button {
  display: none !important;
}

/* Masquer uniquement les boutons Jour, Mois, Année */
.calendar-container .fc-dayGridMonth-button,
.calendar-container .fc-timeGridWeek-button,
.calendar-container .fc-timeGridDay-button,
.calendar-container .fc-listMonth-button {
  display: none !important;
}

/* Positionnement de la barre d'outils */
.calendar-container .fc-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  position: relative;
  width: 100%;
  height: 50px;
}

/* Style des boutons Précédent/Suivant */
.calendar-container .fc-prev-button,
.calendar-container .fc-next-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgb(0, 0, 0) !important;
  border: none !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  transition: all 0.2s ease !important;
  color: white !important;
  padding: 0 !important;
  z-index: 1000; /* Assure une priorité maximale */
}

/* Positionnement absolu des boutons */
.calendar-container .fc-prev-button {
  left: 20px;
}

.calendar-container .fc-next-button {
  right: 20px;
}

/* Effets au survol */
.calendar-container .fc-prev-button:hover,
.calendar-container .fc-next-button:hover {
  background-color: #343a40 !important;
  transform: translateY(-50%) scale(1.05) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}

/* Style des icônes des boutons Précédent/Suivant */
.calendar-container .fc-icon-chevron-left::before,
.calendar-container .fc-icon-chevron-right::before {
  font-size: 14px !important;
  font-weight: bold !important;
}

/* Style des en-têtes de colonne pour afficher les dates */
.calendar-container .fc-col-header-cell-cushion {
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  padding: 5px;
}

/* Style des cellules de jour */
.calendar-container .fc-daygrid-day {
  border: 1px solid #e0e0e0;
}

/* Style des événements */
.calendar-container .fc-event {
  border: none;
  border-radius: 4px;
  padding: 2px 4px;
  margin: 1px;
  font-size: 12px;
  cursor: pointer;
}

/* Style des jours du calendrier */
.calendar-container .fc-day-other {
  background-color: #f8f9fa;
}

/* Style des jours actuels */
.calendar-container .fc-day-today {
  background-color: rgba(253, 237, 186, 0.5);
}

/* Style des cellules de temps */
.calendar-container .fc-timegrid-slot {
  height: 40px;
  border-bottom: 1px solid #f0f0f0;
}

/* Style des lignes de temps */
.calendar-container .fc-timegrid-col {
  border-right: 1px solid #f0f0f0;
}

/* Style des en-têtes de jour */
.calendar-container .fc-day-header {
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  padding: 5px;
  background-color: #f8f9fa;
}

/* Supprime toutes les bordures du tableau dayGrid */
.calendar-container .fc .fc-scrollgrid,
.calendar-container .fc .fc-scrollgrid thead,
.calendar-container .fc .fc-scrollgrid tbody,
.calendar-container .fc .fc-scrollgrid td,
.calendar-container .fc .fc-scrollgrid th {
  border: none !important;
}

.calendar-container .fc-col-header-cell {
  background-color: white !important;
}









/* Style pour les écrans de bureau */
.responsive-sidebar {
  width: 55% !important;
}

/* Style pour les écrans mobiles */
@media (max-width: 960px) {
  .responsive-sidebar {
    width: 100% !important;
  }
}

/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
.p-tabmenuitem {
  padding: 5px 0px 5px 0px;
}

.toast-demo button {
  min-width: 10rem;
  margin-right: .5rem;
}

@media screen and (max-width: 960px) {
  .toast-demo button {
    width: 100%;
    margin-bottom: .5rem;
  }
}

.hover {
  color: rgb(255, 196, 0);
}

.hauteur {
  height: 10px;
}

#select-style {
  display: inline-table;
  padding: 0;
  margin-bottom: 6px;
  border: 1px solid #ccc;
  width: 275px;
  overflow: hidden;
  background-color: #fff;
}

.select-style select {
  padding: 5px 8px;
  width: 130%;
  border: none;
  box-shadow: none;
  background-color: transparent;
  background-image: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.hidden-textbox {
  display: inline;
}

/* SEARCHINPUT */
.c-pointer {
  cursor: pointer;
}

.aujdem {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120%;
}


.auj {

  border-top-left-radius: 10px;
  border-bottom-left-radius: 0px;
  box-shadow: 2px 2px 2px rgb(125 94 54);
  background-color: rgb(194, 156, 112) !important;

}


.dem {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 0px;
  box-shadow: 2px 2px 2px rgb(125 94 54);
  background-color: rgb(194, 156, 112) !important;

}

/* .auj {
  position: absolute;
  top: 2px;
  left: 50%;
  transform: translate(-50%,-50%);
  border-top-left-radius: 10px;
  border-bottom-left-radius: 0px;
  box-shadow: 2px 2px 2px rgb(125 94 54);
  width: 60%;
}
.dem {
  position: absolute;
  top: -1px;
  right: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 0px;
  box-shadow: 2px 2px 2px rgb(125 94 54);
  width: 55%;
} */
.date {
  display: inline;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  box-shadow: 2px 2px 2px rgb(125 94 54);
}

.datepicker {
  display: inline;
  border-radius: 10px;
  box-shadow: 2px 2px 2px rgb(125 94 54);
}

.text-black {
  color: black;
}

#searchName,
#searchLocation {
  border-radius: 0px !important;
}

#searchLocation {
  border-top-right-radius: 50px !important;
  border-bottom-right-radius: 50px !important;
}

.rech:hover {
  color: red;
}

#filtreville.dimension {
  height: "220px";
  width: "330px";
  overflow: "auto";
}

#champsdate.dimension {
  height: "220px";
  width: "330px";
  overflow: "auto";
}

/* FIN SEARCHINPUT */
.search {
  color: orange;
  cursor: pointer;
}

.search:hover {
  color: red;
}

/* RESULTAT.JS */
.ficherst {
  box-shadow: 5px 5px 5px 5px;
  background-color: white;
}

.rstImgFiche {
  font-size: 20px;
  color: orange;
  background-color: black;
  border: 1px solid white;
  padding: 10px;
}


/* début toogle personnalisé */
.checkbox-google {
  display: inline-block;
  height: 28px;
  line-height: 28px;
  margin-right: 10px;
  position: relative;
  vertical-align: middle;
  font-size: 14px;
  user-select: none;
}

.checkbox-google .checkbox-google-switch {
  display: inline-block;
  width: 36px;
  height: 14px;
  border-radius: 20px;
  position: relative;
  top: 6px;
  vertical-align: top;
  background: rgb(138, 123, 118);
  transition: .2s;
}

.checkbox-google .checkbox-google-switch:before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: -3px;
  left: -1px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  transition: .15s;
}

.checkbox-google input[type=checkbox] {
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.checkbox-google input[type=checkbox]:checked+.checkbox-google-switch {
  /* OUI */
  background: red;
}

.checkbox-google input[type=checkbox]:checked+.checkbox-google-switch:before {
  background: white;
  transform: translateX(18px);
}

/* Hover */
.checkbox-google input[type="checkbox"]:not(:disabled)+.checkbox-google-switch {
  cursor: pointer;
  border-color: rgba(0, 0, 0, .3);
}

/* Active/Focus */
.checkbox-google input[type="checkbox"]:not(:disabled):active+.checkbox-google-switch:before,
.checkbox-google input[type="checkbox"]:not(:disabled):focus+.checkbox-google-switch:before {
  animation: checkbox-active-on 0.5s forwards linear;
}

@keyframes checkbox-active-on {
  0% {
    box-shadow: 0 0 0 0 rgba(212, 212, 212, 0);
  }

  99% {
    box-shadow: 0 0 0 10px rgba(212, 212, 212, 0.5);
  }
}

.checkbox-google input[type="checkbox"]:not(:disabled):checked:active+.checkbox-google-switch:before,
.checkbox-google input[type="checkbox"]:not(:disabled):checked:focus+.checkbox-google-switch:before {
  animation: checkbox-active-off 0.5s forwards linear;
}

@keyframes checkbox-active-off {
  0% {
    box-shadow: 0 0 0 0 rgba(154, 190, 247, 0);
  }

  99% {
    box-shadow: 0 0 0 10px rgba(154, 190, 247, 0.5);
  }
}

/* Disabled */
.checkbox-google input[type=checkbox]:disabled+.checkbox-google-switch {
  filter: grayscale(60%);
  border-color: rgba(0, 0, 0, .1);
}

.checkbox-google input[type=checkbox]:disabled+.checkbox-google-switch:before {
  /* background: #eee; */
  background-color: white;
}

/* fin toogle personnalisé */


.stockstar {
  flex-direction: row;
}

#tabmenuaccordionpresta .p-tabmenu-nav {
  width: 740px;
}

#tabmenutop .p-tabmenu-nav {
  width: auto;
}

.bg-black {
  background-color: black;
}

.mb-100 {
  margin-bottom: '100px'
}


/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/pageproparticulier/style.css ***!
  \***************************************************************************************************************************************/
/* #datetemplate .p-button {
    background-color: rgb(192, 165, 120) !important;
} */

.prestation-description {
    transition: all 0.5s ease-in-out;
    max-height: 0;
    overflow: hidden;
}

.prestation-description.open {
    max-height: 500px;
}

.p-datepicker table {
    font-size: 12px;
}

.p-datepicker-header .p-datepicker-title .p-link {
    font-size: 15px;
}
  
.p-button.p-component.p-datepicker-trigger.p-button-icon-only {
    background-color:var(--header-color)!important;
}

/* Cible l'événement FullCalendar des heures disponibles */
.fc-daygrid-event .col-12.w-100.p-1.text-center.mx-auto.font-weight-bold.h6 {
    border: 2px solid var(--header-color); /* Bordure colorée avec une variable CSS */
    border-radius: 8px; /* Coins arrondis */
    color: white !important; /* Couleur du texte blanche */
    font-family: Arial !important; /* Font Arial */
    padding: 5px; /* Espacement interne pour plus d'aération */
  }
  
  #_disponibilites .fc-daygrid-event.fc-daygrid-dot-event.fc-event {
    background-color: transparent !important; /* Fond transparent */  
    border:none;
    color:#000000;
  }
  
  #_disponibilites .fc-event-start.fc-event-end {
    background-color: transparent !important;   /* Fond transparent */  
    border:none;
  }

  .custom-box {
    margin: 20px auto;
    padding: 15px;
    border-radius: 12px;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
    text-align: center;
  }


  
  .slider-image {
    width: 100%;
    max-width: 300px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease-in-out;
  }
  
  .slider-image:hover {
    transform: scale(1.05);
  }
  
  .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #ffffff;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);

  }

  /* Conteneur principal */
.map-block-container {
    margin: 20px auto;
    padding: 20px;
    max-width: 800px;
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    background: linear-gradient(135deg, #fffafd, #f5d2e3);
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  
  /* Section Adresse */
  .address-section {
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    padding: 20px;
    text-align: left;
  }
  
  .address-box {
    line-height: 1.6;
    color: #333;
  }
  
  .salon-name {
    font-size: 1.8rem;
    font-weight: bold;
    color: #f76c6c;
    margin-bottom: 10px;
  }
  
  .profession {
    font-size: 1.2rem;
    font-weight: bold;
    color: #6c757d;
    margin-bottom: 10px;
  }
  
  /* Section Google Maps */
  .map-section {
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  }
  
  .map-container {
    width: 100%;
    height: 300px;
    border-radius: 12px;
  }
  
  .map-container iframe {
    width: 100%;
    height: 100%;
    border-radius: 12px;
  }



  /* Conteneur principal */
  .presentation-container {
    margin: 20px auto;
    padding: 20px;
    max-width: 800px;
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  /* Wrapper pour le slider */
  .slider-wrapper {
    width: 100%;
  }
  
  /* Images */
  .image-slider {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
  
  .slider-image {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
  }
  
  .slider-image:hover {
    transform: scale(1.05);
  }
  
  /* Boutons de navigation du slider */
  .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease;
    z-index: 10;
  }
  
  .slick-arrow:hover {
    background-color: #f76c6c;
    color: #fff;
  }
  
  .slick-prev {
    left: -20px;
  }
  
  .slick-next {
    right: -20px;
  }
  
  /* Pagination (dots) */
  .slick-dots {
    text-align: center;
    margin-top: 15px;
  }
  
  .slick-dots li {
    display: inline-block;
    margin: 0 5px;
  }
  
  .slick-dots button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ddd;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  
  
  














  /* App Container */
.appointment-wrapper {
  font-family: 'Arial', sans-serif;
  color: #333;
  line-height: 1.6;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  background-color: #fff;
}

/* Header Section */
.header-section {
  position: relative;
  width: 100%;
  height: 300px;
  border-radius: 12px;
  overflow: hidden;
}

.header-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.header-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
}

.header-title {
  font-size: 3.5rem;
  font-weight: bold;
  margin: 0;
}

.header-tagline {
  font-size: 1.2rem;
  margin-top: 10px;
}

/* Main Content */
.main-content {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  gap: 20px;
}

/* Info Section */
.info-section {
  flex: 1;
  padding: 20px;
  border-right: 1px solid #f0f0f0;
}

.info-title {
  font-size: 1.8rem;
  color:  #000000;
  margin-bottom: 10px;
}

.info-description {
  font-size: 1rem;
  margin-bottom: 20px;
}

.info-details p {
  font-size: 1rem;
  margin-bottom: 10px;
}

.cta-button {
  background-color: #000000;
  color: #fff;
  border: none;
  padding: 10px 20px;
  font-size: 1.1rem;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.cta-button:hover {
  background-color: #000000;
}

/* Map Section */
.map-section {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.map-iframe {
  width: 100%;
  height: 250px;
  border: 0;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}


#formQuill .relative .ql-editor .p {
  font-size:20px!important;
}

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