/*!**************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/shop/css/custom-module.css ***!
  \**************************************************************************************************************************/
#customizationModal .modal-content.module {
    max-width: 75vw;
    height: auto;
    border-radius: 16px;
    max-height: unset;
}

.customization-preview {
    overflow: hidden;
    border-radius: 0 0 12px 12px;
}

.customization-preview .customization-title {
    font-size: 1.5rem;
    margin-bottom: 20px;
    color: #333;
}

/* Toolbar */
.canvas-toolbar {
    background: var(--main-color);
    /* border-radius: 12px 12px 0 0; */
    padding: 16px 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 10;
}
.toolbar-section {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.toolbar-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: white;
    font-size: 0.95rem;
    white-space: nowrap;
}

.canvas-toolbar-bottom {
    border-radius: 0 0 12px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Dropdown Ajouter */
.toolbar-add-dropdown {
    position: relative;
}

.toolbar-btn-add {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: white;
    color: var(--main-color);
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

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

.toolbar-btn-add svg:last-child {
    transition: transform 0.2s;
}

.toolbar-add-dropdown.show .toolbar-btn-add svg:last-child {
    transform: rotate(180deg);
}

.toolbar-section .dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 220px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s;
    z-index: 1000;
}

.toolbar-section .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.toolbar-section .dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 16px;
    background: none;
    border: none;
    color: #333;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.2s;
    text-align: left;
}

.toolbar-section .dropdown-item:first-child {
    border-radius: 8px 8px 0 0;
}

.toolbar-section .dropdown-item:last-child {
    border-radius: 0 0 8px 8px;
}

.toolbar-section .dropdown-item:hover {
    background: #f0f0f0;
}

.toolbar-section .dropdown-item svg {
    color: var(--main-color);
}

/* Séparateur */
.toolbar-separator {
    width: 1px;
    height: 30px;
    background: rgba(255, 255, 255, 0.6);
}

/* Color Picker avec swatches */
.color-picker-dropdown,
.bg-color-picker-dropdown {
    position: relative;
}

.color-picker-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    background: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.color-picker-button:hover {
    background: white;
    border-color: white;
}

.color-preview {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    display: block;
}

.color-swatch-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 12px;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.2s;
    z-index: 1000;
}

.color-swatch-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.color-swatch-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #333;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid #e9ecef;
    text-align: center;
}

/* Grid pour les swatches */
.color-swatches-grid {
    display: grid;
    grid-template-columns: repeat(6, 36px);
    gap: 8px;
}

.color-swatch {
    width: 36px;
    height: 36px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.color-swatch:hover {
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.color-swatch.active {
    border: 3px solid var(--main-color);
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.color-swatch-advanced {
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border: 3px solid transparent;
    background-image: linear-gradient(white, white), conic-gradient(from 0deg, #ff0000, #ff8800, #ffff00, #00ff00, #0088ff, #8800ff, #ff0000);
    background-origin: border-box;
    background-clip: padding-box, border-box;
}
.color-swatch-advanced svg {
    display: block;
}

/* Contrôles de texte dans la toolbar */
.toolbar-input {
    flex: 1;
    min-width: 200px;
    padding: 6px 12px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.2s;
}

.toolbar-input:focus {
    outline: none;
    border-color: white;
    background: white;
}

.toolbar-select {
    padding: 7px 12px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.2s;
}

.toolbar-select:focus {
    outline: none;
    border-color: white;
    background: white;
}

.toolbar-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.toolbar-btn-danger {
    background: #dc3545;
    color: white;
}

.toolbar-btn-danger:hover {
    background: #c82333;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3);
}

/* Bouton Options */
.toolbar-options-dropdown {
    position: relative;
    margin-left: auto;
}

#optionsDropdownMenu.dropdown-menu.show {
    right: 0;
    left: auto;
}

.toolbar-btn-options {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: white;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.toolbar-btn-options:hover {
    transform: translateY(-2px);
}

.dropdown-divider {
    height: 1px;
    background: #e9ecef;
    margin: 4px 0;
}

/* Sous-menus dropdown */
.dropdown-submenu-toggle .dropdown-submenu-arrow {
    margin-left: auto;
    flex-shrink: 0;
    transition: transform 0.2s;
}

.dropdown-submenu-toggle[aria-expanded="true"] .dropdown-submenu-arrow {
    transform: rotate(90deg);
}

.dropdown-submenu-content .dropdown-item {
    padding-left: 32px;
}

/* CANVAS WRAPPER */
.customization-preview .canvas-wrapper {
    background: #f8f9fa;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--main-color);
    position: relative;
    overflow: hidden;
    width: 100%;
    opacity: 0;
    transition: opacity 0.2s ease;
    display: flex;
}

.customization-preview .canvas-wrapper.zoom-initialized {
    opacity: 1;
}

.customization-preview .canvas-wrapper .canvas-scroll-zone {
    overflow: hidden;
    position: relative;
    flex: 1;
    min-width: 0;
}

.customization-preview .canvas-wrapper canvas {
    border-radius: 8px;
    max-width: none;
    height: auto !important;
}

/* Bouton toggle sidebar (toggle sur le bord droit du canvas) */
.toolbar-btn-toggle {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 44px;
    background: white;
    color: var(--main-color);
    border: 1px solid #e0e0e0;
    border-right: none;
    border-radius: 6px 0 0 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -2px 0 6px rgba(0, 0, 0, 0.1);
    z-index: 2;
    padding: 0;
    transition: background 0.2s;
}

.toolbar-btn-toggle:hover {
    background: #f0f0f0;
}

.toolbar-btn-toggle svg {
    transition: transform 0.3s ease;
}

.toolbar-btn-toggle.open svg {
    transform: rotate(180deg);
}

/* === SIDEBAR ESCAMOTABLE === */
.customization-controls {
    display: none;
    width: 380px;
    flex-shrink: 0;
    /* height: 100%; */
    overflow: hidden;
    flex-direction: column;
    background: white;
    box-shadow: -4px 0 12px rgba(0, 0, 0, 0.15);
    border-radius: 0 0 12px 0;
    z-index: 1;
}

.customization-controls.sidebar-open {
    display: flex;
}

.tabs-container {
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

.tabs-header {
    display: flex;
    background: #f8f9fa;
}

.tab-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 8px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    color: #6c757d;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s;
}

.tab-btn:hover {
    background: rgba(102, 126, 234, 0.05);
    color: var(--accent-color);
}

.tab-btn.active {
    background: white;
    color: var(--main-color);
    border-bottom-color: var(--main-color);
}

.tab-btn svg {
    flex-shrink: 0;
}

.tabs-content {
    flex: 1;
    overflow-y: auto;
}

.tab-panel {
    display: none;
    padding: 20px;
}

.tab-panel.active {
    display: block;
}

/* Tab Options vide */
.tab-panel-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: #999;
    text-align: center;
}

.tab-panel-empty svg {
    margin-bottom: 16px;
    opacity: 0.3;
}

.tab-panel-empty p {
    margin: 0;
    font-size: 1rem;
}

/* Liste des calques */
.layers-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    background: #fafafa;
    overflow: hidden;
}

.layers-list:empty {
    min-height: 100px;
}

.layer-item {
    padding: 12px;
    background: white;
    border-bottom: 1px solid #e9ecef;
    margin-bottom: 0;
    transition: all 0.2s;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

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

.layer-item:hover {
    background: #f0f0f0;
}

.layer-item.active {
    background: #e3f2fd;
    border-left: 3px solid var(--accent-color);
    padding-left: 9px;
}

.layer-label {
    flex: 1;
    font-size: 0.95rem;
    color: #333;
    user-select: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.layer-item.active .layer-label {
    font-weight: 600;
    color: var(--accent-color);
}

/* Actions des calques */
.layer-actions {
  display: flex;
  gap: 4px;
  align-items: center;
  flex-shrink: 0;
}

.layer-action-btn {
  background: transparent;
  border: none;
  padding: 4px;
  cursor: pointer;
  opacity: 0.5;
  transition: all 0.2s ease;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.layer-action-btn:hover {
  opacity: 1;
  background: rgba(102, 126, 234, 0.1);
  color: var(--accent-color);
}

.layer-action-delete:hover {
  background: #ffebee;
  color: #d32f2f;
}

.layer-item.active .layer-action-btn {
  opacity: 0.7;
}

/* Poignée de drag */
.layer-drag-handle {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  margin-right: 8px;
  cursor: grab;
  opacity: 0.4;
  transition: opacity 0.2s ease;
  flex-shrink: 0;
}

.layer-drag-handle:hover {
  opacity: 0.8;
}

.layer-drag-handle:active {
  cursor: grabbing;
}

.layer-drag-handle svg {
  pointer-events: none;
}

/* États de drag & drop */
.layer-item-ghost {
  opacity: 0.4;
  background: #e3f2fd !important;
  border: 2px dashed var(--accent-color) !important;
}

.layer-item-dragging {
  opacity: 0.8;
  background: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: rotate(2deg);
  cursor: grabbing !important;
}

.layer-delete-btn {
    background: transparent;
    border: none;
    padding: 6px 10px;
    cursor: pointer;
    font-size: 16px;
    opacity: 0.6;
    transition: all 0.2s ease;
    border-radius: 6px;
    flex-shrink: 0;
    line-height: 1;
}

.layer-delete-btn:hover {
    opacity: 1;
    background: #ffebee;
    transform: scale(1.1);
}

.layer-delete-btn:active {
    transform: scale(0.95);
}

.help-text {
    font-size: 0.85rem;
    color: #6c757d;
    margin-top: 12px;
    padding: 8px 12px;
    background: #f8f9fa;
    border-radius: 6px;
    line-height: 1.4;
}

/* === TAB PROPRIÉTÉS === */
.properties-content {
    min-height: 200px;
}

.properties-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: #999;
    text-align: center;
}

.properties-empty svg {
    margin-bottom: 16px;
    opacity: 0.3;
}

.properties-empty p {
    margin: 0;
    font-size: 0.95rem;
}

.property-section {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e9ecef;
}

.property-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.property-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--accent-color);
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.property-section-title svg {
    flex-shrink: 0;
}

.property-row {
    margin-bottom: 12px;
}

.property-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #495057;
    margin-bottom: 6px;
}

.property-input,
.property-select,
.property-textarea {
    width: 100%;
    padding: 8px 10px;
    border: 2px solid #e9ecef;
    border-radius: 6px;
    font-size: 0.85rem;
    transition: border-color 0.2s;
}

.property-input:focus,
.property-select:focus,
.property-textarea:focus {
    outline: none;
    border-color: var(--accent-color);
}

.property-input[type="number"] {
    width: 80px;
}

.property-group {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    margin-bottom: 12px;
}

.property-group .property-row {
    flex: 1;
    margin-bottom: 0;
}

.property-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.property-buttons.actions {
    justify-content: flex-start;
}

.property-btn {
    flex: 1;
    min-width: 60px;
    padding: 8px 12px;
    border: 2px solid #e9ecef;
    border-radius: 6px;
    background: white;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.8rem;
    font-weight: 600;
    color: #495057;
}

.property-btn:hover {
    border-color: var(--accent-color);
    color: var(--accent-color);
}
.property-btn#propDelete:hover {
    border-color: #dc3545;
    color: #dc3545;
}

.property-btn.active {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: white;
}

.property-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    min-width: auto;
}

.property-slider-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.property-slider {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: #e9ecef;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
}

.property-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--accent-color);
    cursor: pointer;
    transition: transform 0.2s;
}

.property-slider::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

.property-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--accent-color);
    cursor: pointer;
    border: none;
}

.property-slider-value {
    min-width: 45px;
    text-align: right;
    font-weight: 600;
    color: var(--accent-color);
    font-size: 0.85rem;
}

/* Boutons d'action */
.action-buttons {
    display: flex;
    gap: 12px;
}

.btn svg {
    flex-shrink: 0;
}

.btn-primary {
    background: var(--accent-color);
    color: white;
}

.btn-primary:hover {
    background: #6b86ff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.btn-secondary:hover, .btn-danger:hover {
    transform: translateY(-2px);
}

.btn-full {
    width: 100%;
}

/* MODALS */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
}

.modal-content {
    background: white;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    max-width: 600px;
    width: 100%;
    max-height: 80vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.modal-small {
    max-width: 400px;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #e9ecef;
}

.modal-header h3 {
    margin: 0;
    font-size: 1.25rem;
    color: #333;
}

.modal-close {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: #6c757d;
    transition: all 0.2s;
    border-radius: 4px;
}

.modal-close:hover {
    background: #f0f0f0;
    color: #333;
}

.modal-body {
    padding: 24px;
    overflow-y: auto;
}

/* Formulaire dans la modal */
.form-group {
    margin-bottom: 16px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
    font-size: 0.95rem;
}

.form-input {
    width: 100%;
    padding: 10px 12px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 1rem;
    transition: border-color 0.2s;
}

.form-input:focus {
    outline: none;
    border-color: var(--accent-color);
}

.form-select {
    width: 100%;
    padding: 10px 12px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 0.95rem;
    cursor: pointer;
    transition: border-color 0.2s;
}

.form-select:focus {
    outline: none;
    border-color: var(--accent-color);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* Grille d'images prédéfinies */
.preset-images-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
    gap: 12px;
    max-height: 400px;
    overflow-y: auto;
}

.preset-image-item {
    aspect-ratio: 1;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
}

.preset-image-item:hover {
    border-color: var(--accent-color);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}

.preset-image-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
}

.no-images {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #999;
}

/* Grille des modèles/gabarits */
.templates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
}

.template-card {
    cursor: pointer;
    transition: all 0.2s;
}

.template-card:hover {
    border-color: var(--accent-color) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}

.template-card-preview {
    padding: 12px 8px;
}

.template-card-preview img {
    width: 100%;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.2));
}

/* Scrollbar personnalisée */
.tabs-content::-webkit-scrollbar,
.preset-images-grid::-webkit-scrollbar {
    width: 6px;
}

.tabs-content::-webkit-scrollbar-track,
.preset-images-grid::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.tabs-content::-webkit-scrollbar-thumb,
.preset-images-grid::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 3px;
}

.tabs-content::-webkit-scrollbar-thumb:hover,
.preset-images-grid::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Boutons de style de texte (Gras, Italique, Souligné) */
.toolbar-btn-style {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: all 0.2s;
    color: #333;
}

.toolbar-btn-style:hover {
    background: white;
    border-color: white;
    transform: translateY(-1px);
}

.toolbar-btn-style.active {
    background: var(--main-color);
    border-color: white;
    color: white;
}

.toolbar-btn-style svg {
    flex-shrink: 0;
}

.manipulation-tooltip {
  position: absolute;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-family: monospace;
  pointer-events: none;
  z-index: 1000;
  display: none;
  white-space: nowrap;
  transform: translateX(-50%);
}

#control-hover-tooltip {
  font-family: var(--bs-font-sans-serif);
  font-size: var(--bs-tooltip-font-size, 0.875rem);
  padding: var(--bs-tooltip-padding-y, 0.25rem) var(--bs-tooltip-padding-x, 0.5rem);
  border-radius: var(--bs-tooltip-border-radius, 0.25rem);
}

#control-hover-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.8);
}

/* Full screen */
#fullscreenModal .modal-content {
    height: 100%;
    padding: 0;
    max-width: none;
    max-height: none;
}
#fullscreenContent {
    height: 100%;
}
#fullscreenContent .customization-preview .canvas-scroll-zone {
    max-width: 100%;
}
#fullscreenContent .customization-preview .canvas-container {
    width: 100% !important;
}
#fullscreenContent .customization-preview .canvas-wrapper canvas {
    height: auto !important;
    /* width: 100% !important; */
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
    /* Sidebar prend toute la largeur sur mobile */
    .customization-controls {
        width: 100%;
    }
    
    .toolbar-section {
        flex-direction: column;
        align-items: stretch;
    }
    
    .toolbar-input {
        min-width: auto;
    }

    .toolbar-separator {
        display: none;
    }

    .toolbar-label {
        justify-content: center;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .preset-images-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 12px;
    }

    .canvas-toolbar {
        padding: 12px 16px;
    }
}

@media (max-width: 480px) {
    .toolbar-btn-add {
        font-size: 0.85rem;
        padding: 8px 16px;
    }

    .tab-btn {
        font-size: 0.75rem;
        padding: 12px 4px;
        flex-direction: column;
        gap: 4px;
    }

    .tab-btn svg {
        width: 14px;
        height: 14px;
    }

    .modal-content {
        max-width: 95%;
    }
}

/* ============================================
   TEMPORARY PANEL (Ajout texte / Images prédéfinies)
   ============================================ */

.temporary-panel {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: white;
    z-index: 10;
    display: flex;
    flex-direction: column;
    animation: temporaryPanelSlideIn 0.2s ease-out;
}

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

.temporary-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #e9ecef;
    background: #f8f9fa;
}

.temporary-panel-header h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--main-color);
    display: flex;
    align-items: center;
    gap: 8px;
}

.temporary-panel-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.temporary-panel-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Styles spécifiques pour le panneau d'ajout de texte */
#addTextPanel .form-group {
    margin-bottom: 0;
}

#addTextPanel .btn-primary {
    margin-top: 8px;
}

/* Styles spécifiques pour le panneau d'images prédéfinies */
#presetImagesPanel .preset-images-grid {
    max-height: none;
}

/* ============================================
   FULLSCREEN MODAL
   ============================================ */

#fullscreenModal .modal-content {
    height: 100vh;
    display: flex;
    flex-direction: column;
}

#fullscreenModal .fullscreen-modal-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
}

#fullscreenModal .fullscreen-modal-body .customization-preview {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
}

#fullscreenModal .fullscreen-modal-body .customization-main {
    flex: 1;
    height: 100%;
}

#fullscreenModal .fullscreen-modal-body .canvas-wrapper {
    height: 100%;
}

#fullscreenModal .fullscreen-modal-body .canvas-scroll-zone {
    height: 100%;
}

/* Boutons sélection de quantité */
.toolbar-btn-select-qty {
    padding: 12px;
    background: white;
}
.toolbar-btn-select-qty:hover {
    background-color: var(--main-color);
    -webkit-box-shadow:inset 0px 0px 0px 1px white;
    -moz-box-shadow:inset 0px 0px 0px 1px white;
    box-shadow:inset 0px 0px 0px 1px white;
}
.toolbar-btn-select-qty:hover svg {
    color: white;
}
.toolbar-btn-select-qty svg {
    height: 16px;
    width: 16px;
    color: var(--main-color);
}

/* Bouton ajouter au panier */
.toolbar-btn-add-to-cart:hover {
    color: var(--main-color);
}
.toolbar-btn-add-to-cart:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Bouton fullscreen */
.toolbar-btn-fullscreen {
    padding: 11px;
    min-width: auto;
}

/* ============================================
   ZOOM CONTROLS
   ============================================ */

.zoom-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    background: white;
    padding: 4px 8px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Zoom controls flottants (dans le canvas-wrapper) */
.zoom-controls.zoom-controls-floating {
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 1;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.zoom-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    color: var(--main-color);
}

.zoom-btn:hover:not(.disabled) {
    border-color: var(--main-color);
}

.zoom-btn:active:not(.disabled) {
    transform: scale(0.95);
}

.zoom-btn.disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.zoom-btn svg {
    pointer-events: none;
}

.zoom-reset-btn {
    margin-right: 4px;
    background: var(--main-color);
    border-color: var(--main-color);
    color: white;
}

.zoom-reset-btn:hover {
    background: var(--main-color);
    border-color: var(--main-color);
}

.zoom-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.zoom-input {
    width: 60px;
    height: 32px;
    padding: 4px 24px 4px 8px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    text-align: center;
    font-size: 0.9rem;
    font-weight: 600;
    color: #333;
    outline: none;
    transition: all 0.2s;
}

.zoom-input:focus {
    border-color: var(--main-color);
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.zoom-unit {
    position: absolute;
    right: 8px;
    font-size: 0.85rem;
    color: #666;
    pointer-events: none;
    font-weight: 500;
}

/* Responsive pour petits écrans */
@media (max-width: 992px) {
    .zoom-controls {
        gap: 4px;
        padding: 4px 6px;
    }

    .zoom-btn {
        width: 28px;
        height: 28px;
    }

    .zoom-input {
        width: 50px;
        height: 28px;
        font-size: 0.85rem;
    }

    /* Masquer les zoom-controls flottants sur mobile (pinch to zoom) */
    .zoom-controls.zoom-controls-floating {
        display: none;
    }
}

/* ============================================
   QUANTITY SELECTOR MODULE (toolbar bottom)
   ============================================ */
.module-quantity-group {
    width: auto;
}

.module-quantity-group .form-control {
    width: 80px;
    min-width: 80px;
}

/* ============================================
   GRADIENT COLOR PICKER (React)
   ============================================ */
.gradient-picker-wrapper {
    width: 100%;
}
.gradient-picker-wrapper > div:first-child {
    border-radius: 16px 16px 4px 4px;
}
.gradient-picker-wrapper #rbgcp-square-canvas-dark {
    width: 100%;
    border-radius: 0;
}
/*!**************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/shop/css/notifications.css ***!
  \**************************************************************************************************************************/
/* Position relative sur le wrapper pour scoper les notifications */
.customization-wrapper {
    position: relative;
}

.notification-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    pointer-events: none;
}

.notification {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-radius: 8px;
    background: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-left: 4px solid;
    pointer-events: auto;
    opacity: 0;
    width: calc(100% - 40px);
    max-width: 500px;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.notification.show {
    opacity: 1;
}

.notification-info {
    border-left-color: #0dcaf0;
    background: #cff4fc;
}

.notification-success {
    border-left-color: #198754;
    background: #d1e7dd;
}

.notification-warning {
    border-left-color: #ffc107;
    background: #fff3cd;
}

.notification-error {
    border-left-color: #dc3545;
    background: #f8d7da;
}

.notification-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.notification-info .notification-icon {
    color: #055160;
}

.notification-success .notification-icon {
    color: #0a3622;
}

.notification-warning .notification-icon {
    color: #664d03;
}

.notification-error .notification-icon {
    color: #58151c;
}

.notification-content {
    flex: 1;
}

.notification-message {
    font-size: 14px;
    line-height: 1.5;
    color: #333;
}

.notification-close {
    flex-shrink: 0;
    background: transparent;
    border: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    transition: color 0.2s;
}

.notification-close:hover {
    color: #000;
}

/* Modal de confirmation - backdrop prend toute la place */
.notification-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    pointer-events: auto;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.notification-backdrop.show {
    opacity: 1;
}

.notification-modal {
    background: white;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    max-width: 500px;
    width: 90%;
    margin: 20px;
    transform: scale(0.9);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.notification-backdrop.show .notification-modal {
    transform: scale(1);
    opacity: 1;
}

.notification-modal-content {
    padding: 24px;
}

.notification-modal-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    color: #333;
}

.notification-modal-body {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.notification-modal-icon {
    flex-shrink: 0;
}

.notification-modal-info .notification-modal-icon {
    color: #0dcaf0;
}

.notification-modal-warning .notification-modal-icon {
    color: #ffc107;
}

.notification-modal-danger .notification-modal-icon {
    color: #dc3545;
}

.notification-modal-message {
    flex: 1;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

.notification-modal-footer {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.notification-modal .btn {
    padding: 10px 20px;
    border-radius: 6px;
    border: none;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.notification-modal .btn-cancel {
    background: #e9ecef;
    color: #495057;
}

.notification-modal .btn-cancel:hover {
    background: #dee2e6;
}

.notification-modal .btn-confirm {
    color: white;
}

.notification-modal .btn-info {
    background: #0dcaf0;
}

.notification-modal .btn-info:hover {
    background: #0ab6d7;
}

.notification-modal .btn-warning {
    background: #ffc107;
    color: #000;
}

.notification-modal .btn-warning:hover {
    background: #e0a800;
}

.notification-modal .btn-danger {
    background: #dc3545;
}

.notification-modal .btn-danger:hover {
    background: #bb2d3b;
}
/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/shop/css/rulers.css ***!
  \*******************************************************************************************************************/
/* ============================================
   RULERS (Règles graduées)
   ============================================ */

.ruler {
  position: absolute;
  background: white;
  z-index: 1;
  pointer-events: none;
}

.ruler-horizontal {
  top: 0;
  left: 30px; /* Largeur de la règle verticale */
  right: 0;
  height: 30px;
  overflow: hidden;
}

.ruler-vertical {
  top: 30px; /* Hauteur de la règle horizontale */
  left: 0;
  bottom: 0;
  width: 30px;
  overflow: hidden;
}

/* Crosshairs (indicateurs de position) */
.ruler-crosshair {
  position: absolute;
  background: var(--main-color);
  pointer-events: none;
  display: none;
  z-index: 1;
}

.ruler-crosshair-horizontal {
  top: 0;
  width: 2px;
  height: 30px;
}

.ruler-crosshair-vertical {
  left: 0;
  width: 30px;
  height: 2px;
}

/* Coin supérieur gauche (intersection des règles) */
.canvas-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  background: white;
}

/* Ajuster le canvas-scroll-zone pour laisser place aux règles */
.canvas-wrapper {
  position: relative;
}

.canvas-scroll-zone {
  padding-left: 30px;
  padding-top: 30px;
}

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