/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* Variables */
:root {
  --dark-bg: #121212;
  --darker-bg: #0a0a0a;
  --card-bg: #1e1e1e;
  --card-hover: #2a2a2a;
  --primary: #A32831;
  --primary-hover: #e24e58;
  --secondary: #7e57c2;
  --text: #f5f5f5;
  --text-muted: #aaaaaa;
  --border: #333333;
  --success: #4caf50;
  --danger: #f44336;
  --warning: #ff9800;
  --info: #2196f3;
}

/* Reset & Base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Roboto", Arial, sans-serif;
  background-color: var(--dark-bg);
  color: var(--text);
  line-height: 1.6;
}

a {
  color: var(--text);
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover {
  color: var(--primary);
}

.container {
  display: flex;
  max-width: 1600px;
  margin: 0 auto;
  padding: 20px;
  position: relative;
  min-height: 100vh;
}

/* Utility Classes */
.text-center {
  text-align: center;
}

/* Header */
header {
  background-color: var(--darker-bg);
  padding: 15px 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 20px;
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.logo-text {
  font-size: 24px;
  font-weight: bold;
  color: var(--primary);
}

.logo-tagline {
  font-size: 12px;
  color: var(--text-muted);
}

.main-nav ul {
  display: flex;
  list-style: none;
}
.main-nav li {
  margin-left: 20px;
}
.main-nav a {
  font-weight: 500;
  padding: 5px 10px;
  border-radius: 4px;
}
.main-nav a:hover, .main-nav a.active {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--primary);
}

/* Main Layout */
.sidebar {
  width: 300px;
  flex-shrink: 0;
  background-color: var(--card-bg);
  border-radius: 8px;
  padding: 15px;
  margin-right: 20px;
  height: fit-content;
  position: sticky;
  top: 20px;
}

.models-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;
  margin-bottom: 30px;
}

/* Categories Section */
.categories-section, .tags-section {
  margin-bottom: 30px;
}
.categories-section h2, .tags-section h2 {
  font-size: 16px;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  padding-bottom: 8px;
}

.categories-list {
  list-style: none;
}
.categories-list li {
  margin-bottom: 10px;
}

.category-item {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}
.category-item:hover {
  background-color: var(--card-hover);
}
.category-item i {
  margin-right: 10px;
  width: 20px;
  text-align: center;
  color: var(--primary);
}

/* Tags Cloud */
.tags-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag-item {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 20px;
  font-size: 12px;
  background-color: var(--card-bg);
  transition: all 0.3s ease;
}
.tag-item:hover {
  background-color: var(--primary);
  color: white;
}

/* Model Cards */
.model-card {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background-color: #fff;
  position: relative;
}

.model-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.model-thumbnail {
  position: relative;
  width: 100%;
  padding-top: 75%; /* 4:3 Aspect Ratio */
  overflow: hidden;
}

.model-thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.model-card:hover .model-thumbnail img {
  transform: scale(1.05);
}

.model-info {
  padding: 12px;
}

.model-name {
  font-size: 16px;
  margin: 0 0 8px 0;
  font-weight: 600;
}

.model-name a {
  color: #333;
  text-decoration: none;
}

.model-age {
  color: #666;
  font-weight: normal;
  margin-left: 5px;
}

.model-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.model-tag {
  font-size: 12px;
  background-color: #f0f0f0;
  color: #666;
  padding: 3px 8px;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.model-tag:hover {
  background-color: #e0e0e0;
  color: #333;
}

.no-models {
  grid-column: 1/-1;
  text-align: center;
  padding: 30px;
  background-color: #f9f9f9;
  border-radius: 8px;
  color: #666;
}

/* Badges */
.new-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #A32831;
  color: white;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: bold;
  border-radius: 4px;
  text-transform: uppercase;
}

.viewers-badge {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 3px 8px;
  font-size: 12px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Status Indicator */
.status-dot {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
}

.status-dot.online {
  background-color: #4CAF50;
}

.status-dot.hd {
  background-color: #209ec8;
}

.status-dot.offline {
  background-color: #F44336;
}

/* Loading Indicator */
.loading-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  margin: 20px 0;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top: 4px solid #333;
  animation: spin 1s linear infinite;
  margin-bottom: 10px;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Footer */
footer {
  background-color: var(--darker-bg);
  padding: 20px 0;
  margin-top: 40px;
}

.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-info {
  color: var(--text-muted);
  font-size: 14px;
}

.footer-links a {
  margin-left: 15px;
  color: var(--text-muted);
}
.footer-links a:hover {
  color: var(--primary);
}

/* Styles pour l'infinite scroll */
.loading-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  width: 100%;
}

.no-models-message {
  text-align: center;
  padding: 20px;
  color: var(--text-muted);
  grid-column: 1/-1;
}

.loader {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: var(--primary);
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* Mobile menu styles */
.mobile-menu-toggle {
  display: none;
}

.mobile-header {
  display: none;
}

/* Responsive */
@media (max-width: 992px) {
  body {
    padding-top: 60px; /* Espace pour le header mobile */
  }
  .container {
    padding: 10px;
    margin-top: 0;
  }
  .sidebar {
    position: fixed;
    top: 0;
    left: -350px;
    transform: none;
    width: 350px;
    height: 100vh;
    margin: 0;
    padding: 60px 20px 20px;
    transition: left 0.3s ease;
    border-radius: 0;
    z-index: 1000;
  }
  .sidebar.active {
    left: 0;
  }
  .mobile-menu-toggle {
    display: block;
    position: fixed;
    top: 15px;
    left: 15px;
    z-index: 1001;
    background-color: var(--primary);
    color: white;
    border: none;
    border-radius: 4px;
    padding: 10px;
    cursor: pointer;
    font-size: 18px;
  }
  .mobile-header {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--darker-bg);
    padding: 15px 0;
    text-align: center;
    z-index: 998;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  }
  .content-area {
    margin-left: 0;
    width: 100%;
  }
}
/* Styles pour le menu mobile */
body.menu-open {
  overflow: hidden;
}

@media (max-width: 992px) {
  body.menu-open::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
  }
}
@media (max-width: 768px) {
  .header-content {
    flex-direction: column;
    gap: 15px;
  }
  .logo {
    text-align: center;
  }
  .main-nav ul {
    justify-content: center;
    flex-wrap: wrap;
  }
  .main-nav li {
    margin: 5px;
  }
  .models-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .footer-content {
    flex-direction: column;
    gap: 15px;
  }
  .footer-info {
    text-align: center;
  }
  .footer-links a {
    margin: 0 8px;
  }
  .model-info {
    padding: 8px;
  }
  .model-name {
    font-size: 14px;
  }
  .model-tags {
    margin-top: 5px;
  }
  .model-tag {
    font-size: 10px;
    padding: 2px 6px;
  }
}
@media (max-width: 480px) {
  .models-grid {
    grid-template-columns: 1fr;
  }
}
/* Styles pour la page modèle */
.model-profile {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}
.model-profile .model-content-wrapper {
  display: flex;
  gap: 20px;
}
.model-profile .model-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.model-profile .model-stream-container, .model-profile .model-offline, .model-profile .model-header, .model-profile .model-actions, .model-profile .model-description, .model-profile .related-models, .model-profile .model-stats-section, .model-profile .model-sessions-section {
  background-color: var(--card-bg);
  border-radius: 8px;
  overflow: hidden;
}
.model-profile .model-stream {
  position: relative;
}
.model-profile .stream-placeholder {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.model-profile .preview-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.model-profile .stream-preview, .model-profile .offline-preview {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.model-profile .loader-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
}
.model-profile .loader {
  width: 50px;
  height: 50px;
  border: 5px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: var(--primary);
  animation: spin 1s ease-in-out infinite;
}
.model-profile .stream-placeholder iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.model-profile .watch-button, .model-profile .profile-button {
  background-color: var(--primary);
  color: white;
  padding: 10px 20px;
  border-radius: 30px;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background-color 0.3s ease;
}
.model-profile .watch-button:hover, .model-profile .profile-button:hover {
  background-color: var(--primary-hover);
  color: white;
}
.model-profile .model-offline {
  position: relative;
}
.model-profile .model-offline .offline-message {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  gap: 15px;
  padding: 20px;
  text-align: center;
}
.model-profile .model-offline .offline-message i {
  font-size: 40px;
  color: var(--text-muted);
}
.model-profile .model-header {
  padding: 20px;
}
.model-profile .model-header .model-info-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}
.model-profile .model-header .model-username {
  font-size: 28px;
  margin: 0;
  color: var(--primary);
}
.model-profile .model-header .model-age-badge {
  background-color: var(--secondary);
  color: white;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 14px;
}
.model-profile .model-header .status-badge {
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: bold;
}
.model-profile .model-header .status-badge.online {
  background-color: #4CAF50;
  color: white;
}
.model-profile .model-header .status-badge.hd {
  background-color: #209ec8;
  color: white;
}
.model-profile .model-header .status-badge.offline {
  background-color: #F44336;
  color: white;
}
.model-profile .model-header .model-info-details {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.model-profile .model-header .model-info-row {
  display: flex;
  align-items: flex-start;
}
.model-profile .model-header .info-label {
  width: 120px;
  color: var(--text-muted);
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.model-profile .model-header .info-value {
  flex: 1;
  font-size: 14px;
}
.model-profile .model-header .description-value {
  font-weight: bold;
  color: var(--primary);
}
.model-profile .model-header .language-badge {
  background-color: rgba(255, 255, 255, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  margin-right: 5px;
}
.model-profile .model-actions {
  display: flex;
  padding: 15px;
  gap: 15px;
  justify-content: center;
}
.model-profile .model-actions .action-button {
  background-color: var(--primary);
  color: white;
  padding: 12px 25px;
  border-radius: 30px;
  font-weight: bold;
  text-align: center;
  transition: background-color 0.3s ease;
  flex: 1;
  max-width: 250px;
}
.model-profile .model-actions .action-button:hover {
  background-color: var(--primary-hover);
  color: white;
  text-decoration: none;
}
.model-profile .related-models {
  padding: 20px;
}
.model-profile .related-models h3 {
  margin-bottom: 15px;
  font-size: 18px;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  padding-bottom: 8px;
}
.model-profile .model-bottom-info {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.model-profile .model-tags-section, .model-profile .model-stats-section, .model-profile .model-sessions-section {
  padding: 20px;
}
.model-profile .model-tags-section h3, .model-profile .model-stats-section h3, .model-profile .model-sessions-section h3 {
  margin-bottom: 15px;
  font-size: 16px;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  padding-bottom: 8px;
}
.model-profile .model-tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.model-profile .model-stats-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.model-profile .model-stats-section .stat-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.model-profile .model-stats-section .stat-value {
  font-weight: bold;
  font-size: 16px;
}
.model-profile .model-stats-section .public-show-badge {
  background-color: var(--primary);
  color: white;
  padding: 5px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: bold;
}
.model-profile .sessions-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.model-profile .sessions-list .session-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px;
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
}
.model-profile .sessions-list .session-date, .model-profile .sessions-list .session-time, .model-profile .sessions-list .session-duration {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.model-profile .loading-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  width: 100%;
}
.model-profile .no-models-message {
  text-align: center;
  padding: 20px;
  color: var(--text-muted);
  grid-column: 1/-1;
}

@media (max-width: 992px) {
  .model-profile .model-content-wrapper {
    flex-direction: column;
  }
}
@media (max-width: 768px) {
  .model-profile .model-info-row {
    flex-direction: column;
    gap: 5px;
  }
  .model-profile .info-label {
    width: 100%;
  }
  .model-profile .model-actions {
    flex-direction: column;
    align-items: center;
  }
  .model-profile .model-actions .action-button {
    width: 100%;
    max-width: 100%;
  }
}
/* Styles spécifiques pour la sidebar et le layout principal */
.sidebar-logo {
  margin-bottom: 20px;
  text-align: center;
}
.sidebar-logo a {
  text-decoration: none;
  color: var(--primary);
}

.logo-text {
  display: block;
  font-size: 24px;
  font-weight: bold;
}

.logo-tagline {
  display: block;
  font-size: 12px;
  color: var(--text-muted);
}

.sidebar-section,
.categories-section,
.tags-section,
.related-tags-sidebar {
  background-color: var(--card-bg);
  border-radius: 8px;
  padding: 0 15px;
  margin-bottom: 20px;
}
.sidebar-section h2,
.categories-section h2,
.tags-section h2,
.related-tags-sidebar h2 {
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 15px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}

.sidebar-menu,
.categories-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebar-menu li,
.categories-list li {
  margin-bottom: 8px;
}

.category-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 4px;
  transition: all 0.3s ease;
  color: var(--text);
  text-decoration: none;
}
.category-item:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.category-item.active {
  background-color: var(--primary);
  color: white;
}
.category-item i {
  width: 20px;
  text-align: center;
}

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

/* Styles pour le champ de recherche */
.search-form {
  width: 100%;
}

.search-input-container {
  display: flex;
  position: relative;
}

.search-input {
  flex: 1;
  padding: 10px 15px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--text);
  font-size: 14px;
  width: 100%;
}
.search-input:focus {
  outline: none;
  border-color: var(--primary);
  background-color: rgba(255, 255, 255, 0.15);
}

.search-button {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  padding: 5px 10px;
}
.search-button:hover {
  color: var(--primary);
}

/* Styles pour les cartes de modèles */
.models-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
}
.models-grid .model-card {
  background-color: var(--card-bg);
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
}
.models-grid .model-card .model-thumbnail {
  position: relative;
}
.models-grid .model-card .model-thumbnail img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
}
.models-grid .model-card .model-thumbnail .status-badge {
  top: 10px;
  right: 10px;
  padding: 3px 8px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: bold;
}
.models-grid .model-card .model-thumbnail .status-badge.offline {
  background-color: #9e9e9e;
  color: white;
}
.models-grid .model-card .model-thumbnail .new-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #A32831;
  color: white;
  padding: 3px 8px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: bold;
}
.models-grid .model-card .model-thumbnail .viewers-count {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.models-grid .model-card .model-thumbnail .viewers-badge {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 3px 8px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: bold;
}
.models-grid .model-card .model-info {
  padding: 10px;
}
.models-grid .model-card .model-info .model-name {
  margin: 0 0 8px 0;
  font-size: 16px;
}
.models-grid .model-card .model-info .model-name a {
  color: var(--text);
  text-decoration: none;
}
.models-grid .model-card .model-info .model-age {
  background-color: var(--secondary);
  color: white;
  padding: 2px 6px;
  border-radius: 20px;
  font-size: 12px;
  margin-left: 5px;
}
.models-grid .model-card .model-info .model-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.models-grid .model-card .model-info .model-tags .model-tag {
  background-color: rgba(255, 255, 255, 0.1);
  padding: 2px 6px;
  border-radius: 20px;
  font-size: 11px;
  color: var(--text-muted);
  text-decoration: none;
}
.models-grid .model-card .model-info .model-tags .model-tag:hover {
  background-color: var(--primary);
  color: white;
}
.models-grid .model-card .model-info .model-tags .model-tag.active {
  background-color: var(--primary);
  color: white;
}
.models-grid .model-card .no-models {
  grid-column: 1/-1;
  text-align: center;
  padding: 50px;
  background-color: var(--card-bg);
  border-radius: 8px;
}
.models-grid .model-card .loading-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  margin-top: 20px;
}
.models-grid .model-card .loading-indicator .spinner {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  border-top-color: var(--primary);
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 992px) {
  .models-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  }
}
/* Styles pour la page de tag */
.tag-header {
  background-color: var(--card-bg);
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 20px;
}
.tag-header .tag-title {
  font-size: 24px;
  margin-bottom: 10px;
}
.tag-header .tag-meta {
  color: var(--text-muted);
}
.tag-header .tag-count {
  display: inline-block;
  background-color: var(--primary);
  color: white;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 14px;
  margin-bottom: 10px;
}
.tag-header .tag-description {
  font-size: 14px;
  line-height: 1.5;
}

/* Styles pour la page de gender */
.gender-header {
  background-color: var(--card-bg);
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 20px;
}
.gender-header .gender-title {
  font-size: 24px;
  margin-bottom: 10px;
}
.gender-header .gender-meta {
  color: var(--text-muted);
}
.gender-header .gender-count {
  display: inline-block;
  background-color: var(--primary);
  color: white;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 14px;
  margin-bottom: 10px;
}
.gender-header .gender-description {
  margin-top: 5px;
}

/* Styles pour la page de recherche */
.search-results-header {
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--border);
}
.search-results-header h1 {
  font-size: 24px;
  margin-bottom: 5px;
  color: var(--text);
}
.search-results-header p {
  color: var(--text-muted);
  font-size: 14px;
}

/* Styles pour la section de contenu du modèle */
.model-content-section {
  margin: 30px 0;
  padding: 20px;
  background-color: var(--card-bg);
  border-radius: 8px;
}
.model-content-section .content-title {
  margin-bottom: 20px;
  color: var(--primary);
  font-size: 24px;
}
.model-content-section .model-description p {
  margin-bottom: 15px;
  line-height: 1.6;
}
.model-content-section .model-faq {
  margin-top: 30px;
}
.model-content-section .model-faq h3 {
  margin-bottom: 20px;
  font-size: 20px;
  color: var(--primary);
}
.model-content-section .model-faq .faq-item {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}
.model-content-section .model-faq .faq-item:last-child {
  border-bottom: none;
}
.model-content-section .model-faq .faq-item h4 {
  margin-bottom: 10px;
  font-size: 18px;
  color: var(--text);
}
.model-content-section .model-faq .faq-item p {
  line-height: 1.6;
  color: var(--text-muted);
}

/* Status dots for model cards */
.status-dot {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
}

.status-dot.online {
  background-color: #4CAF50;
}

.status-dot.hd {
  background-color: #209ec8;
}

.status-dot.offline {
  background-color: #F44336;
}

.stream-placeholder {
  position: relative;
}

.stream-placeholder.fap-mode-active {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: black;
}

.stream-placeholder.fap-mode-active iframe {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}

.fap-mode-body {
  overflow: hidden;
}

/* Styles pour l'en-tête du modèle */
.model-info-header {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 15px;
}

.model-status-stats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.stat-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
}

.stat-value {
  font-weight: bold;
}

.public-show-badge {
  background-color: #28a745;
  color: white;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
}

.hidden-show-badge, .private-show-badge {
  background-color: #dc3545;
  color: white;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
}

.group-show-badge {
  background-color: #fd7e14;
  color: white;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
}

.away-show-badge {
  background-color: #6c757d;
  color: white;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
}

.status-badge {
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
}

.status-badge.online {
  background-color: #28a745;
  color: white;
}

.status-badge.hd {
  background-color: #209ec8;
  color: white;
}

.status-badge.offline {
  background-color: #dc3545;
  color: white;
}

/* Styles responsifs pour mobile */
@media (max-width: 768px) {
  .model-username {
    text-align: center;
  }
  .model-status-stats {
    justify-content: center;
  }
  .model-info-details {
    text-align: center;
  }
  .model-info-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 10px;
  }
  .info-label {
    margin-bottom: 5px;
  }
  .model-actions {
    display: flex;
    justify-content: center;
    margin-top: 15px;
  }
  .model-sessions-section h3,
  .related-models h3 {
    text-align: center;
  }
  .sessions-list {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .session-item {
    width: 100%;
    text-align: center;
  }
  .models-grid {
    justify-content: center;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .model-card {
    width: 100%;
  }
  .stream-placeholder iframe {
    height: 250px;
  }
  .model-tag {
    display: inline-block;
    margin: 3px;
  }
  .info-value {
    word-break: break-word;
    max-width: 100%;
  }
  .action-button {
    width: 80%;
    text-align: center;
    margin: 0 auto;
    display: block;
  }
}
/* Sidebar Section */
.sidebar-section {
  margin-bottom: 20px;
}
.sidebar-section:last-child {
  margin-bottom: 0;
}

.menu-title {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--border);
}

.ad-container {
  display: flex;
  justify-content: center;
  margin: 10px 0;
  background-color: var(--darker-bg);
  border-radius: 4px;
  overflow: hidden;
}

.sidebar-ad {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Bouton de retour en haut */
.scroll-to-top-btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: var(--primary);
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  border: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, background-color 0.3s ease;
  z-index: 999;
}
.scroll-to-top-btn.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.scroll-to-top-btn:hover {
  background-color: var(--primary-hover);
}
.scroll-to-top-btn i {
  font-size: 20px;
}

/* Media queries pour devices mobiles */
@media (max-width: 768px) {
  .scroll-to-top-btn {
    width: 40px;
    height: 40px;
    bottom: 20px;
    right: 20px;
  }
  .scroll-to-top-btn i {
    font-size: 16px;
  }
}
/* Styles pour les dropdowns */
.dropdown-toggle {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
}
.dropdown-toggle i {
  transition: transform 0.3s ease;
}
.dropdown-toggle:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.dropdown-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}
.dropdown-content.active {
  max-height: 1000px;
}

/* Styles pour le menu fixe */
.sidebar {
  transition: position 0.3s ease;
}
.sidebar.fixed {
  position: fixed;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  z-index: 1000;
}

/* Ajustement du contenu principal pour le menu fixe */
.content-area {
  transition: margin-left 0.3s ease;
}
.sidebar.fixed + .content-area {
  margin-left: 250px;
}

/* Styles pour le menu mobile */
body.menu-open {
  overflow: hidden;
}

@media (max-width: 992px) {
  body.menu-open::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
  }
  .mobile-menu-toggle {
    display: block;
    position: fixed;
    top: 15px;
    left: 15px;
    z-index: 1001;
    background-color: var(--primary);
    color: white;
    border: none;
    border-radius: 4px;
    padding: 10px;
    cursor: pointer;
    font-size: 18px;
    transition: background-color 0.3s ease;
  }
  .mobile-menu-toggle:hover {
    background-color: var(--primary-hover);
  }
  .mobile-header {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--darker-bg);
    padding: 15px 0;
    text-align: center;
    z-index: 998;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  }
  .content-area {
    margin-left: 0;
    width: 100%;
    padding-top: 60px;
  }
}

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