/*!**************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./vendor/symfony/ux-live-component/assets/dist/live.min.css ***!
  \**************************************************************************************************************************************************/
[data-loading=""],[data-loading=show],[data-loading*=\|show]{display:none}
/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* ============================================
   FONT LOCALI - Titillium Web (self-hosted)
   Rimuove dipendenza da Google Fonts per privacy e performance
   I font sono in assets/fonts/ e Webpack li processa automaticamente
   ============================================ */

/* Titillium Web 300 (Light) */
@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Titillium Web Light'), local('TitilliumWeb-Light'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-300.200585c3.woff2) format('woff2'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-300.7f6adf71.woff) format('woff');
}

/* Titillium Web 300 Italic */
@font-face {
    font-family: 'Titillium Web';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: local('Titillium Web Light Italic'), local('TitilliumWeb-LightItalic'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-300italic.6a1ff2bd.woff2) format('woff2'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-300italic.020a51f7.woff) format('woff');
}

/* Titillium Web 400 (Regular) */
@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Titillium Web Regular'), local('TitilliumWeb-Regular'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-regular.757dc14e.woff2) format('woff2'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-regular.a457814e.woff) format('woff');
}

/* Titillium Web 400 Italic */
@font-face {
    font-family: 'Titillium Web';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: local('Titillium Web Italic'), local('TitilliumWeb-Italic'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-italic.cfe0da55.woff2) format('woff2'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-italic.f2f6d01c.woff) format('woff');
}

/* Titillium Web 600 (SemiBold) */
@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: local('Titillium Web SemiBold'), local('TitilliumWeb-SemiBold'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-600.bed3da73.woff2) format('woff2'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-600.db8015d1.woff) format('woff');
}

/* Titillium Web 600 Italic */
@font-face {
    font-family: 'Titillium Web';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: local('Titillium Web SemiBold Italic'), local('TitilliumWeb-SemiBoldItalic'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-600italic.dff1b02b.woff2) format('woff2'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-600italic.8bc764f6.woff) format('woff');
}

/* Titillium Web 700 (Bold) */
@font-face {
    font-family: 'Titillium Web';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Titillium Web Bold'), local('TitilliumWeb-Bold'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-700.2dea20ce.woff2) format('woff2'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-700.ec31bd09.woff) format('woff');
}

/* Titillium Web 700 Italic */
@font-face {
    font-family: 'Titillium Web';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: local('Titillium Web Bold Italic'), local('TitilliumWeb-BoldItalic'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-700italic.5ffb894a.woff2) format('woff2'),
         url(/build/fonts/titillium-web-v10-latin-ext_latin-700italic.1e034156.woff) format('woff');
}

/* Lora:400,700 */

/* lora-regular - latin-ext_latin */
@font-face {
    font-family: 'Lora';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Lora Regular'), local('Lora-Regular'),
        url(/build/fonts/lora-v20-latin-ext_latin-regular.42608ec3.woff2) format('woff2'),
        url(/build/fonts/lora-v20-latin-ext_latin-regular.72663b06.woff) format('woff');
}

/* lora-700 - latin-ext_latin */
@font-face {
    font-family: 'Lora';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Lora Bold'), local('Lora-Bold'),
        url(/build/fonts/lora-v20-latin-ext_latin-700.6b127af0.woff2) format('woff2'),
        url(/build/fonts/lora-v20-latin-ext_latin-700.bc2a6310.woff) format('woff');
}

/* lora-italic - latin-ext_latin */
@font-face {
    font-family: 'Lora';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: local('Lora Italic'), local('Lora-Italic'),
        url(/build/fonts/lora-v20-latin-ext_latin-italic.6754ad13.woff2) format('woff2'),
        url(/build/fonts/lora-v20-latin-ext_latin-italic.1139940a.woff) format('woff');
}

/* lora-700italic - latin-ext_latin */
@font-face {
    font-family: 'Lora';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: local('Lora Bold Italic'), local('Lora-BoldItalic'),
        url(/build/fonts/lora-v20-latin-ext_latin-700italic.f0b3e78f.woff2) format('woff2'),
        url(/build/fonts/lora-v20-latin-ext_latin-700italic.682f13a7.woff) format('woff');
}

/* Roboto+Mono:400,700 */

/* roboto-mono-regular - latin-ext_latin */
@font-face {
    font-family: 'Roboto Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Roboto Mono Regular'), local('RobotoMono-Regular'),
        url(/build/fonts/roboto-mono-v13-latin-ext_latin-regular.5397a943.woff2) format('woff2'),
        url(/build/fonts/roboto-mono-v13-latin-ext_latin-regular.fbfeb646.woff) format('woff');
}

/* roboto-mono-700 - latin-ext_latin */
@font-face {
    font-family: 'Roboto Mono';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Roboto Mono Bold'), local('RobotoMono-Bold'),
        url(/build/fonts/roboto-mono-v13-latin-ext_latin-700.1ec5c084.woff2) format('woff2'),
        url(/build/fonts/roboto-mono-v13-latin-ext_latin-700.f0a053d0.woff) format('woff');
}

/* roboto-mono-italic - latin-ext_latin */
@font-face {
    font-family: 'Roboto Mono';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: local('Roboto Mono Italic'), local('RobotoMono-Italic'),
        url(/build/fonts/roboto-mono-v13-latin-ext_latin-italic.20e79968.woff2) format('woff2'),
        url(/build/fonts/roboto-mono-v13-latin-ext_latin-italic.a363d652.woff) format('woff');
}

/* roboto-mono-700italic - latin-ext_latin */
@font-face {
    font-family: 'Roboto Mono';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: local('Roboto Mono Bold Italic'), local('RobotoMono-BoldItalic'),
        url(/build/fonts/roboto-mono-v13-latin-ext_latin-700italic.bc4a6089.woff2) format('woff2'),
        url(/build/fonts/roboto-mono-v13-latin-ext_latin-700italic.78b7fff3.woff) format('woff');
}

/* ============================================ */

:root {
    --bg-main: #0B2139;

}

html,
body {
    scroll-behavior: smooth !important;
    margin: 0;
    padding: 0;
}

.bg-info{
    background-color: #18A2B8!important;
}




* {
    scroll-behavior: smooth !important;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.rounded-bottom-3{
    border-bottom-left-radius:0.75rem !important ;
    border-bottom-right-radius: 0.75rem !important ;
}

body {
    background-color: oklch(95.438% 0.00111 202.551) !important;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    transition: opacity 200ms;
}

body.turbo-loading {
    opacity: 0.6;
    pointer-events: none;
}


/* Target: qualsiasi div con id che inizia con "documenti_corso_courseStaff" */
div[id^="documenti_corso_courseStaff"] {
   width: 100% !important;
}




.validation-card-errors ul {
    line-height: 24px !important;
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
    font-size: 20px !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    background-color: oklch(93.6% 0.032 17.717) !important;
    border-radius: 0.375rem !important;
    border: 1px solid oklch(80.8% 0.114 19.571) !important;
}

.popover-rejectionNote-course-document .popover-body-custom{
    max-width: 200px!important;

}



.dropdown-menu.ente-operating.area-riservata.p-2.show{
    min-width: unset!important;
    top: 0!important;
    width: 100%!important;
    max-width: 22.2rem!important;
    inset: 0 auto auto 2px!important;
}



/* Turbo Frame loading overlay:
   Turbo imposta automaticamente l'attributo [busy] sul frame mentre carica.
   Usiamo ::before per l’overlay e ::after per lo spinner.
   Applichiamo solo ai frame interessati (#tab-frame e #signed-file-frame) per sicurezza.
*/

turbo-frame#tab-frame{
  display: block;
  position: relative;
  width: 100%;
  min-height: 30vh;
}


turbo-frame#tab-frame[busy]::before,
turbo-frame#signed-file-frame[busy]::before,
turbo-frame#tab-frame[aria-busy="true"]::before,
turbo-frame#signed-file-frame[aria-busy="true"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.6);
  z-index: 90!important;
  backdrop-filter: blur(1px);
}

turbo-frame#tab-frame[busy]::after,
turbo-frame#signed-file-frame[busy]::after,
turbo-frame#tab-frame[aria-busy="true"]::after,
turbo-frame#signed-file-frame[aria-busy="true"]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 48px;
  margin: 0;
  border-radius: 50%;
  border: 4px solid rgba(13, 110, 253, 0.25);
  border-top-color: #0d6efd;
  animation: turbo-frame-spin 0.75s linear infinite;
  z-index: 92!important;
}

[id^="dialog-action-associate"]>div {
    display: flex!important;
    justify-content: center!important;
    align-items: center!important;
}

#dialog-welcome-info>div{
    justify-content: start!important;
    align-items: start!important;
}

.accordion-button.accordion-button-documents-investigation::after{
    color:white!important;
    content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 x=%270px%27 y=%270px%27 viewBox=%270 0 24 24%27%3E%3Cg%3E%3Cpath fill=%27white%27 stroke=%27white%27 stroke-width=%271.8%27 d=%27M12,10.3l4.8,4.8c0.3,0.3,0.8,0.3,1.1,0c0.3-0.3,0.3-0.8,0-1c0,0,0,0,0,0l-4.8-4.8c-0.6-0.6-1.5-0.6-2.1,0L6.2,14c-0.3,0.3-0.3,0.8,0,1c0,0,0,0,0,0c0.3,0.3,0.8,0.3,1.1,0L12,10.3z%27/%3E%3C/g%3E%3C/svg%3E");
}

.accordion-button.accordion-button-metadata-investigation::after{
    color:white!important;
    content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 x=%270px%27 y=%270px%27 viewBox=%270 0 24 24%27%3E%3Cg%3E%3Cpath fill=%27white%27 stroke=%27white%27 stroke-width=%271.8%27 d=%27M12,10.3l4.8,4.8c0.3,0.3,0.8,0.3,1.1,0c0.3-0.3,0.3-0.8,0-1c0,0,0,0,0,0l-4.8-4.8c-0.6-0.6-1.5-0.6-2.1,0L6.2,14c-0.3,0.3-0.3,0.8,0,1c0,0,0,0,0,0c0.3,0.3,0.8,0.3,1.1,0L12,10.3z%27/%3E%3C/g%3E%3C/svg%3E");
}

@keyframes turbo-frame-spin {
  to { transform: rotate(360deg); }
}

@keyframes popoverFadeIn {
  from { opacity: 0 }
  to { opacity: 1 }
}
@keyframes popoverFadeOut {
  from { opacity: 1 }
  to { opacity: 0 }
}

.fade-in {
  animation: popoverFadeIn 200ms ease-in forwards;
}
.fade-out {
  animation: popoverFadeOut 250ms ease-out forwards;
}


/* Stili per le animazioni dei pulsanti file */
.file-button {
  transition: all 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  overflow: hidden;
  width:100%;
}

.download-button {
  opacity: 1;
  transform: translateX(0);
}

.shrinked-button {
    width: 75% !important;
    transition: width 0.4s ease, opacity 0.4s ease;
}

.shrinked-button.hiding {
    width: 0 !important;
    opacity: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
}


.full-button{
    width: 100% !important;
    transition: width 0.4s ease, opacity 0.4s ease;
}

.full-button.hiding{
    padding: 0;
    margin: 0;
    overflow: hidden;
    width: 0 !important;
    opacity: 0;
}



.upload-button.expanding {
    animation: buttonExpand 0.4s forwards;
}

@keyframes buttonExpand {
  from { width: 37px; }
  to { width: 100%!important; }
}


.button-label {
  opacity: 0;
  transform: translateX(-20px);
  transition: all 0.4s ease;
}

.button-label.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Effetti feedback contenitore */
.container-feedback {
  transition: all 0.4s ease;
}

.container-feedback.success {
  background-color: rgba(25, 135, 84, 0.1) !important;
  border-color: rgba(25, 135, 84, 0.5) !important;
}

.container-feedback.info {
  background-color: rgba(13, 110, 253, 0.1) !important;
  border-color: rgba(13, 110, 253, 0.5) !important;
}




.title-error-validation,
.p-error-validation {
    color: oklch(39.6% 0.141 25.723);
}

.validation-card-errors ul li {
    color: oklch(44.4% 0.177 26.899) !important;
}

.button-403 {
    border-color: rgba(177, 177, 177, 0.613) !important;
}

.button-403:hover {
    background-color: rgba(201, 201, 201, 0.359) !important;
}


.btn-primary{
    background-color: #0066cc!important;
}

.btn-primary:hover{
    background-color: #005bb5!important;
    border-color: #0056b3!important;
}


/* Stili minimi per riprodurre hover/transition simili a Tailwind */
.card-action {
    transition: box-shadow .25s ease, border-color .25s ease, transform .18s ease;
    cursor: pointer;
}
.card-action:hover {
    border: 3px solid #0066cc!important;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)!important;
}

.text-gray{
    color: oklch(44.6% 0.03 256.802) !important;
}

.icon-circle {
    width: 56px;
    height: 56px;
    border-radius: .5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}
.card-action .action-line {
    transition: transform .18s ease;
}
.card-action:hover .action-line {
    transform: translateX(.5rem);
}

.status-card {
    background: #f8fafc; /* approssima bg-gray-50 */
    border-radius: .375rem;
}
.status-title { font-weight: 600; color: #111827; } /* text-gray-900 */



.btn-outline-dashed {
    width: 100%;
    border: 2px dashed rgba(186, 186, 186, 0.753);
    background: transparent;
    color: rgb(96, 96, 96);
    padding: 1rem 1rem;
    border-radius: 0.375rem;
    transition: background 0.2s, color 0.2s;
    font-weight: 500;
    font-size: 18px;
    position: relative;
    z-index: 999;
}

.btn.btn-outline-dashed:hover,
.btn.btn-outline-dashed:focus {
    color: #0066cc;
    border-color: #0066cc;
    outline: none;
    cursor: pointer;
}

/* Aggiungi al tuo file CSS */
.flash-highlight {
    animation: flash 2s ease-in-out;
}

@keyframes flash {
    0%, 100% { background-color: transparent; }
    50% { background-color: rgba(255, 193, 7, 0.2); }
}

.error-indicator {
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0% { opacity: 1; }
    50% { opacity: 0.6; }
    100% { opacity: 1; }
}

#tab-frame[aria-busy] .loader-container {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

div[data-id="popover-user-role"]>button:hover {
    transform: scale(1.05);
    -webkit-transition: transform 0.2s ease-in-out;
    -moz-transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
}

/* Animazioni per data-loading */
.loader-show {
    display: flex !important;
    opacity: 1 !important;
    height: 100% !important;
    width: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    visibility: visible !important;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out !important;
    z-index: 10 !important;
    background-color: rgba(255, 255, 255, 0.8) !important;
}

.skeleton-show>div {
    display: block !important;
    padding-top: 1.5rem !important;
}

.placeholder-glow>.placeholder {
    background-color: rgb(150 150 150) !important;
    height: 0.8rem !important;
    min-height: 0.8rem !important;
}

.help-text {
    margin-top: 0.5rem !important;

    padding-left: 1rem !important;
}

.placeholder-glow .placeholder {
    animation: placeholder-pulse 1.2s ease-in-out infinite;
}

@keyframes placeholder-pulse {
    0% {
        opacity: 0.6;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.6;
    }
}

.ring-pulse {
    position: relative;
    z-index: 1;
}

.ring-pulse::after {
    content: '';
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 2px solid #CC334D;
    opacity: 0.6;
    animation: ringPulse 1.2s infinite cubic-bezier(.4,0,.2,1);
    pointer-events: none;
    z-index: -1;
}

@keyframes ringPulse {
    0% {
        transform: scale(0.8);
        opacity: 0.6;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.3;
    }
    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}


.loader-hide {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out !important;
}

.content-hide-loading {
    opacity: 0.3 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease-in-out !important;
}

 .office-environments-component .environment-item {
        transition: all 0.3s ease;
        background-color: #f8f9fa;
        border-left: 4px solid #6c757d !important;
    }

    .office-environments-component .environment-item:hover {
        border-left: 4px solid #0d6efd !important;
        transform: translateX(3px);
    }

    .office-environments-component .delete-environment-btn {
        transition: all 0.2s ease;
    }

    .office-environments-component .delete-environment-btn:hover {
        background-color: #dc3545;
        color: white;
    }

    .office-environments-component .btn-add-environment {
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
    }

    .office-environments-component .btn-add-environment:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }

    .office-environments-component .input-group-text {
        background-color: #e9ecef;
    }

    @media (max-width: 767.98px) {
        .office-environments-component .environment-item {
            padding: 1rem !important;
        }
    }

/* Contenitore per il loader con positioning relativo */
.loader-container {
    position: relative !important;
}

/* Stato iniziale per il loader */
[data-loading*="loader-show"] {
    opacity: 0;
    visibility: hidden;
}

/* Stato iniziale per il contenuto */
[data-loading*="content-hide-loading"] {
    opacity: 1;
    pointer-events: auto;
}

div[data-controller="dialog"] button {
    color: white;
}

.modal.fade.show {
    overflow-y: hidden !important;
}




/* Transizione fadeIn per il welcome dialog */
.modal#dialog-welcome-info {
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}

.modal#dialog-welcome-info.show {
    opacity: 1;
}

/* Animazione per il contenuto del modal welcome */
.modal#dialog-welcome-info .modal-dialog {
    transform: translateY(-20px);
    transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
}

.modal#dialog-welcome-info.show .modal-dialog {
    transform: translateY(0);
}

/* Animazione per le card del contenuto welcome */
.welcome-info-content .card {
    opacity: 0;
    transform: translateY(20px);
    transition: transform 0.2s ease-in-out, opacity 0.3s ease-in-out;
    animation: fadeInCards 0.6s ease-in-out forwards;
}

.welcome-info-content .card:nth-child(1) {
    animation-delay: 0.4s;
}

body[data-route="pagina_404_custom"] .sidebar-content {
    min-height: unset !important;
    height: 40vh !important;
    max-height: unset !important;
}

.col-6 .ts-control,
.col-3 .ts-control {
    border-radius: 0.4rem;
    display: flex;
    align-items: center;
}

.ts-wrapper .ts-control {
    min-height: 42px !important;
}

.ts-control>.item {
    font-size: 15px;
}

.plugin-clear_button .clear-button {
    top: 60%;
    scale: 2;
    transition: all 0.3s ease-in-out;
}

.plugin-clear_button .clear-button:hover {
    color: #dc0d22;
}



.col-6 .ts-control>input,
.col-3 .ts-control>input {
    font-size: 15px !important;
}

.ts-dropdown-content {
    font-size: 16px !important;
}

.col-6 .ts-wrapper.single .ts-control,
.col-3 .ts-wrapper.single .ts-control {
    background-image: none !important;
}

.bg-danger-opacity-10 {
    background-color: #ff00000a !important;
}

.welcome-info-content .card:nth-child(2) {
    animation-delay: 0.4s;
}

.welcome-info-content .card:hover {
    transform: translateY(-2px);
}

.welcome-info-content .badge {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* Keyframe per l'animazione delle card */
@keyframes fadeInCards {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animazione per il contenuto alert */
.welcome-info-content .alert {
    opacity: 0;
    animation: fadeInAlert 0.5s ease-in-out 0.1s forwards;
}

@keyframes fadeInAlert {
    0% {
        opacity: 0;
        transform: translateX(-10px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}


    .fade-in {
        opacity: 0;
        animation: fadeIn 0.7s forwards;
    }
    @keyframes fadeIn {
        to { opacity: 1; }
    }

    /* Animazione fade-out */
    .fade-out {
        opacity: 1;
        animation: fadeOut 0.7s forwards;
    }
    @keyframes fadeOut {
        to { opacity: 0; }
    }

.btn.btn-sm.disabled.btn-success-download.p-3.btn-outline-success {
    background-color: rgba(0, 166, 41, 0.427) !important;
    color: rgba(96, 96, 96, 0.753) !important;
    border-color: rgb(15, 100, 0) ! important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}


.btn.btn-sm.btn-success-download.p-3.btn-outline-success:hover,
.btn-success:hover,
.btn.btn-success-download.text-black.btn-outline-success.btn-sm:hover {
    background-color: #138961 !important;
    color: white !important;
    border-color: #007706 !important;
    transition: background-color 0.3s ease !important;
}

/* Pulsante danger per eliminazione documento */
.btn.btn-sm.btn-danger-delete.p-3.btn-outline-danger,
.btn-danger-delete {
    max-height: 48px!important;
    color: #dc3545 !important;
    border-color: #dc3545 !important;
    border: 2.5px solid;
    z-index: 99 !important;
    box-shadow: none !important;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s !important;
}

.swal2-popup.swal2-modal.swal2-icon-warning.swal2-show {
    z-index: 999 !important;
}



.btn.btn-sm.btn-danger-delete.p-3.btn-outline-danger:hover,
.btn.btn-danger-delete.btn-outline-danger:hover,
.btn.btn-danger-delete.btn-outline-danger:focus {
    background-color: #dc3545 !important;
    color: #fff !important;
    border-color: #b02a37 !important;
    max-height: 48px!important;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s !important;
}

.btn.btn-sm.btn-danger-delete.p-3.btn-outline-danger:disabled,
.btn.btn-danger-delete.btn-outline-danger:disabled,
.btn.btn-danger-delete.btn-outline-danger.disabled {
    background-color: rgba(220, 53, 69, 0.18) !important;
    color: rgba(96, 96, 96, 0.753) !important;
    border-color: #b02a37 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    box-shadow: none !important;
}

.extension-info {
    max-width: 340px !important;
    width: 100% !important;
}

.extension-info #popover-body-container {
    max-height: 100px !important;
}

.document-extension-info {
    max-width: 400px !important;
    width: 100% !important;
}

.document-extension-info #popover-body-container {
    max-height: 300px !important;
}

div.ts-wrapper{
    margin-top: 1rem!important;
}

.ts-control>input{
    width:100%!important;
}

.ts-control{
    padding:10px;
}

#accreditation_requirement__document_type_ids-ts-control,
#accreditation_requirement__metadata_field_ids-ts-control,
#accreditation_requirement__existing_parent_code-ts-control{
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
    overflow-x: auto;
}

#accreditation_requirement__document_type_ids-ts-control:focus,
#accreditation_requirement__metadata_field_ids-ts-control:focus,
#accreditation_requirement__existing_parent_code-ts-control:focus{
    border-color: #0066cc !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25) !important;
}

#accreditation_requirement__document_type_ids > option:hover,
#accreditation_requirement__metadata_field_ids > option:hover,
#accreditation_requirement__existing_parent_code > option:hover
{
    background-color: #0066cc;
    color:white;
    cursor: pointer;
}

#accreditation_requirement__document_type_ids,
#accreditation_requirement__metadata_field_ids,
#accreditation_requirement__existing_parent_code
{
    overflow-x:auto;
}





/* assets/styles/components/_tom-select.scss */

.ts-dropdown-content{
    padding: 10px 1rem 10px 1rem;
    background-color: #f6f6f6 !important;
}

.ts-dropdown-content>.option{
    cursor: pointer !important;
    padding:0.8rem 0 0.8rem 0;
}

.ts-dropdown-content>.option:hover {
    background-color: #06c !important;
    color: white;
    padding: 0.7rem;
    transform: translateX(0.1%);
    border-radius: 10px;
    transition: all 0.2s ease-in-out;
}


.ts-wrapper {
    .item {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.25rem 0.5rem;
        background: #f0f0f0;
        border-radius: 4px;
        margin-right: 10px;
        margin-bottom: 10px;

        .custom-remove-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 20px;
            padding: 0;
            background: transparent;
            border: none;
            color: #666;
            cursor: pointer;
            border-radius: 50%;
            transition: all 0.2s ease;

            &:hover {
                background: rgba(255, 0, 0, 0.1);
                color: #ff0000;
            }

            &:focus {
                outline: 2px solid #007bff;
                outline-offset: 1px;
            }

            svg {
                width: 12px;
                height: 12px;
            }
        }
    }
}


.btn.btn-download.btn-disabled.btn-outline-primary.btn-sm {
    background-color: rgba(201, 201, 201, 0.427) !important;
    color: rgba(96, 96, 96, 0.753) !important;
    border-color: rgb(167 167 167) ! important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}


.not-clickable {
    pointer-events: none !important;
    cursor: not-allowed !important;
}


/* Stile per card singola */
.single-card:not(:only-of-type) {
    max-width: 600px;
    margin: 0 auto;
}


.btn-hover-danger {
    transition: background-color 0.3s ease !important;
}

.btn-hover-danger:hover {
    color: white !important;
    background-color: #dc3545 !important;
}

.btn-hover-danger:hover>svg {
    stroke: white !important;
    color: white !important;
}

.btn-hover-danger.disabled,
.btn-hover-danger:disabled {
    background-color: rgba(201, 201, 201, 0.427) !important;
    color: rgba(96, 96, 96, 0.753) !important;
    border-color: rgb(167, 167, 167) !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.btn-hover-success {
    transition: background-color 0.3s ease !important;
}

.btn-hover-success:hover {
    color: white !important;
    background-color: #198754 !important;
}

.btn-hover-success:hover>svg {
    stroke: white !important;
    color: white !important;
}

.btn-hover-success.disabled,
.btn-hover-success:disabled {
    background-color: rgba(201, 201, 201, 0.427) !important;
    color: rgba(96, 96, 96, 0.753) !important;
    border-color: rgb(167, 167, 167) !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}



/* Stili responsive per card singola */
@media (min-width: 768px) {
    .single-card:not(:only-of-type) {
        max-width: 500px;
    }
}

@media (min-width: 992px) {
    .single-card:not(:only-of-type) {
        max-width: 600px;
    }
}

/* Card singola con più spazio */
.single-card .card-header {
    padding: 2rem !important;
    text-align: center;
}

.single-card .role-icon-bg {
    display: none;
    /* Nasconde l'icona di sfondo per card singola */
}

.single-card .card-body .role-link {
    padding: 1rem !important;
    font-size: 1.1rem;
}

.border.rounded-3 {
    border-radius: 0.75rem !important;
}

/* Assicurati che gli elementi figli rispettino i bordi arrotondati */
.border.rounded-3 .card-header-custom {
    border-top-left-radius: 0.75rem !important;
    border-top-right-radius: 0.75rem !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.border.rounded-3 .card-body {
    border-bottom-left-radius: 0.75rem !important;
    border-bottom-right-radius: 0.75rem !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

.area-riservata-menu:last-child>a {
    border-bottom: none !important;
}

.area-riservata-menu svg {
    stroke: #0066CC !important;
    width: 18px !important;

    height: 18px !important;
}


.modal-content {

    max-height: 740px !important;
    overflow-y: auto !important;
}

.modal-body {
    background-color: oklch(96.7% 0.003 264.542) !important;
}

.course-choice:disabled {
    background-color: rgba(201, 201, 201, 0.427) !important;
    color: rgba(96, 96, 96, 0.753) !important;
    cursor: not-allowed !important;
}

.font-sans-serif {
    font-family: "Titillium Web", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

body[data-route="role_selection"] {
    background-color: white !important;
}

#profileTabs .nav-link.active {
    background-color: #0066cc !important;
    color: white !important;
    transition: all 0.3s ease;
}

#profileTabs .nav-link {
    background-color: #ececec !important;
    color: hsl(210, 17%, 44%) !important;
    transition: all 0.3s ease;

}

body[data-route="role_selection"] .sidebar-content {
    max-height: 120vh !important;
}

body[data-route="ente-request-update"] .card-body .row.g-3.mt-2.justify-content-center.align-items-center:has(.credits-recognition.d-none) {
    justify-content: flex-start !important;
}

body[data-route="ente-request-update"] .card-body .row.g-3.mt-2.justify-content-center.align-items-center:has(.credits-recognition.d-none) .hours {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
}

.accordion-arrow {
    transition: transform 0.3s;
}

.card-header.collapsed .accordion-arrow {
    transform: rotate(0deg);
}

.card-header:not(.collapsed) .accordion-arrow {
    transform: rotate(90deg);
}

.rounded-top-3 {
    border-top-left-radius: 0.5rem !important;
    border-top-right-radius: 0.8rem !important;
}

.border-purple {
    border-color: #8F3FD4 !important;
}

.text-purple {
    color: #8F3FD4 !important;
}

.bg-purple {
    background-color: #8F3FD4 !important;
}

.title-informazioni-ente {
    border-radius: 0.3rem !important;
}

.card-identificazione {
    border: 1px solid rgba(201, 201, 201, 0.427);
    border-radius: 0.75rem !important;
}

.info-card-determina>div {
    align-items: start !important;
    margin-top: 0.5rem !important;
    gap: .3rem !important;
}

.info-card-determina>div>svg {
    width: 2rem !important;
    height: 1.6rem !important;
    stroke-width: 2;
}

body[data-route="app_login"] aside.sidebar-wrapper {
    display: none !important;
}

body[data-route="app_login"] main.main-content {
    max-width: unset !important;
    background-color: white;
}

/* Stili per l'area di caricamento file */
.file-upload-area {
    position: relative;
}

.file-dropzone {
    border: 2px dashed #ccc;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: #f9f9f9;
}

.border-left-danger {
    border-left: 4px solid #dc3545 !important;
}

.alert-danger .alert-heading {
    color: #721c24;
}

.file-dropzone:hover {
    border-color: #0066CC;
    color: #0066CC;
    background-color: #f0f0f0;
}

.file-remove-btn {
    transition: transform 0.3s ease;
    scale: 1.5;
}

.btn-warning-hover:hover {
    background-color: #ad6800 !important;
}

.file-remove-btn:hover {
    transform: scale(1.5);
}

.file-dropzone.dragover {
    border-color: #0d6efd;
    background-color: rgba(13, 110, 253, 0.05);
}

.file-dropzone.has-file {
    border-color: #198754;
    background-color: rgba(25, 135, 84, 0.05);
}

.file-dropzone .upload-icon {
    margin-bottom: 10px;
}

.file-dropzone .upload-text {
    font-weight: 500;
    margin-bottom: 5px;
}

.file-dropzone .upload-hint {
    font-size: 0.875rem;
    color: #6c757d;
    margin: 0;
}

/* Nasconde l'input file originale ma lo mantiene accessibile */
.file-upload-area input[type="file"] {
    opacity: 0;
    position: absolute;
    z-index: -1;
}

.additional-document-field{
    padding-top: .500rem!important;
    padding-bottom: .500rem!important;
}

/* Evidenzia la card globale degli errori di validazione della revisione documenti */
.card-validation-errors {
    border-width: 1px;
    border-style: solid;
    background-color: #f8d7da;
    color: #842029;
}

/* Borda e mette in evidenza gli accordion dei documenti con errori */
.document-review-card.document-review-error {
    border-left: 4px solid #dc3545;
    box-shadow: 0 0 0 1px rgba(220, 53, 69, 0.25);
}

/* Colora la riga della tabella del documento in errore */
.document-row-error {
    background-color: rgba(220, 53, 69, 0.06);
    border-color: rgba(220, 53, 69, 0.6);
}

/* Input nota con errore */
.is-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
#accordionSedi .card,
#accordionAmbienti .card,
#environmentsAccordion .card,
#accordionClassi .card,
#accordionCorsi .card {
    transition: box-shadow 0.3s cubic-bezier(.4, 0, .2, 1), background-color 0.3s cubic-bezier(.4, 0, .2, 1);
}

#accordionSedi .card-header,
#accordionAmbienti .card-header,
#environmentsAccordion .card-header,
#accordionClassi .card-header,
#accordionCorsi .card-header {
    transition: background 0.4s cubic-bezier(.4, 0, .2, 1), color 0.4s cubic-bezier(.4, 0, .2, 1);
}

#accordionSedi .accordion-collapse,
#accordionAmbienti .accordion-collapse,
#environmentsAccordion .accordion-collapse,
#accordionClassi .accordion-collapse,
#accordionCorsi .accordion-collapse {
    transition: height 0.35s cubic-bezier(.4, 0, .2, 1);
}

#accordionAmbienti .accordion-arrow {
    transition: transform 0.3s;
}

#accordionAmbienti .card-header.collapsed .accordion-arrow {
    transform: rotate(0deg);
}

#accordionAmbienti .card-header:not(.collapsed) .accordion-arrow {
    transform: rotate(90deg);
}

#coursesAccordion .card {
    transition: box-shadow 0.3s cubic-bezier(.4, 0, .2, 1), background-color 0.3s cubic-bezier(.4, 0, .2, 1);
}

#coursesAccordion .card-header,
#coursesAccordion .accordion-button {
    transition: background 0.4s cubic-bezier(.4, 0, .2, 1), color 0.4s cubic-bezier(.4, 0, .2, 1);
}

#coursesAccordion .accordion-collapse {
    transition: height 0.35s cubic-bezier(.4, 0, .2, 1);
}

/* Rotazione freccia */
#coursesAccordion .accordion-arrow {
    transition: transform 0.3s;
}

#coursesAccordion .accordion-button.collapsed .accordion-arrow {
    transform: rotate(0deg);
}

#coursesAccordion .accordion-button:not(.collapsed) .accordion-arrow {
    transform: rotate(90deg);
}

#accordionEditions .card {
    transition: box-shadow 0.3s cubic-bezier(.4, 0, .2, 1), background-color 0.3s cubic-bezier(.4, 0, .2, 1);
}

#accordionEditions .card-header {
    transition: background 0.4s cubic-bezier(.4, 0, .2, 1), color 0.4s cubic-bezier(.4, 0, .2, 1);
}

#accordionEditions .accordion-collapse {
    transition: height 0.35s cubic-bezier(.4, 0, .2, 1);
}

/* Rotazione freccia per edizioni */
#accordionEditions .accordion-arrow {
    transition: transform 0.3s;
}

#accordionEditions .card-header.collapsed .accordion-arrow {
    transform: rotate(0deg);
}

#accordionEditions .card-header:not(.collapsed) .accordion-arrow {
    transform: rotate(90deg);
}

#accordionStudents .card {
    transition: box-shadow 0.3s cubic-bezier(.4, 0, .2, 1), background-color 0.3s cubic-bezier(.4, 0, .2, 1);
}

#accordionStudents .card-header {
    transition: background 0.4s cubic-bezier(.4, 0, .2, 1), color 0.4s cubic-bezier(.4, 0, .2, 1);
}

#accordionStudents .accordion-collapse {
    transition: height 0.35s cubic-bezier(.4, 0, .2, 1);
}

/* Rotazione freccia per edizioni */
#accordionStudents .accordion-arrow {
    transition: transform 0.3s;
}

#accordionStudents .card-header.collapsed .accordion-arrow {
    transform: rotate(0deg);
}

#accordionStudents .card-header:not(.collapsed) .accordion-arrow {
    transform: rotate(90deg);
}

#accordionCalendars .card {
    transition: box-shadow 0.3s cubic-bezier(.4, 0, .2, 1), background-color 0.3s cubic-bezier(.4, 0, .2, 1);
}

#accordionCalendars .card-header {
    transition: background 0.4s cubic-bezier(.4, 0, .2, 1), color 0.4s cubic-bezier(.4, 0, .2, 1);
}

#accordionCalendars .accordion-collapse {
    transition: height 0.35s cubic-bezier(.4, 0, .2, 1);
}

/* Rotazione freccia per edizioni */
#accordionCalendars .accordion-arrow {
    transition: transform 0.3s;
}

#accordionCalendars .card-header.collapsed .accordion-arrow {
    transform: rotate(0deg);
}

#accordionCalendars .card-header:not(.collapsed) .accordion-arrow {
    transform: rotate(90deg);
}

#accordionStaff .card {
    transition: box-shadow 0.3s cubic-bezier(.4, 0, .2, 1), background-color 0.3s cubic-bezier(.4, 0, .2, 1);
}

#accordionStaff .card-header {
    transition: background 0.4s cubic-bezier(.4, 0, .2, 1), color 0.4s cubic-bezier(.4, 0, .2, 1);
}

#accordionStaff .accordion-collapse {
    transition: height 0.35s cubic-bezier(.4, 0, .2, 1);
}

/* Rotazione freccia per edizioni */
#accordionStaff .accordion-arrow {
    transition: transform 0.3s;
}

#accordionStaff .card-header.collapsed .accordion-arrow {
    transform: rotate(0deg);
}

#accordionStaff .card-header:not(.collapsed) .accordion-arrow {
    transform: rotate(90deg);
}

.ente-operating {
    transform: translate3d(-2px, 33px, 0px) !important;
}

.popover-Doc-sede #popover-body-container {
    max-height: 300px !important;
}






.border-gray {
    border-color: rgba(201, 201, 201, 0.427) !important;
}

.course-upload .popover {
    width: 300px !important;
    max-width: 500px !important;
}

.course-upload .popover-div {
    width: 100% !important;
}

div[data-file-preview-target="preview"] .file-preview-item:only-child>* {
    border-top: 0px !important;
}

.btn-copy {
    border: none;
    background-color: transparent !important;
    padding: 5px;
    transition: background-color 0.3s ease !important;
}

.ripple-effect {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    opacity: 0.6;
    transform: scale(0);
    animation: ripple 0.4s linear;
    background: rgba(0, 0, 0, 0.15);
}


.box-shadow-inset {
    box-shadow: 1px 1px 12px -3px rgba(0, 0, 0, 0.24) inset;
    -webkit-box-shadow: 1px 1px 12px -3px rgba(0, 0, 0, 0.24) inset;
    -moz-box-shadow: 1px 1px 12px -3px rgba(0, 0, 0, 0.24) inset;
}

@keyframes ripple {
    to {
        opacity: 0;
        transform: scale(2);
    }
}

.skeleton-loader-overlay {
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
}

.skeleton-animation {
    width: 80%;
    height: 2rem;
    background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
    background-size: 200% 100%;
    animation: skeleton-loading 1.2s infinite linear;
    border-radius: 4px;
}

@keyframes skeleton-loading {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

div[data-id="copy-popover"] .popover {
    min-width: 150px !important;
}

#popover-rejectionNote-course-document #popover-body-container {
    max-height: 200px !important;
}

#popover-rejectionNote-course-document #customTrigger-popover {
    top: -14px !important;
    left: -7px !important;
    min-width: 100px !important;
    min-height: 28px !important;

}

div[data-id="copy-popover"] .shadow-lg.p-2.rounded-2 {
    padding: .2rem !important;
}

.alert-card-warning {
    border-color: #fcce00 !important;
    background-color: oklch(94.5% 0.129 101.54/30%) !important;
}

.alert-card-danger {
    border-color: #d10303 !important;
    background-color: oklch(62% 0.25 29.23 / 30%) !important;
}

.alert-card-success {
    border-color: #198754 !important;
    background-color: oklch(72.3% 0.219 149.579 / 30%) !important;
}

.w-fit {
    width: fit-content !important;
}


div[disabled="disabled"] input[type="checkbox"] {
    cursor: not-allowed !important;
    pointer-events: none !important;

}

input[type="number"].disabled {
    background-color: rgba(201, 201, 201, 0.427) !important;
    cursor: not-allowed !important;
    width: 25% !important;
}

div[disabled="disabled"] {

    cursor: not-allowed !important;
    pointer-events: none !important;
}

div[disabled="disabled"] input[type=checkbox]:not(:checked)+label::after {
    background-color: rgba(201, 201, 201, 0.427) !important;
    cursor: not-allowed !important;
}

div[disabled="disabled"] label {
    color: rgba(0, 0, 0, 0.616) !important;

}



td.d-flex {
    min-height: 80px !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    overflow: hidden;
}

.input-radio-button-doc>div {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
}

.textarea-doc {
    max-height: 50px !important;
}

.description-doc-ente button {
    margin-bottom: 0.25rem !important;
}

.description-doc-ente .popover-header-custom {
    border-bottom: 1px solid #b9b9b9 !important;

}

.nav-link.w-100.rounded-2.text-primary.disabled {
    color: #6c757d !important;
    background-color: transparent !important;
    border-color: transparent !important;
}



.nav-link.w-100.rounded-2.text-primary.disabled>span {
    background-color: oklch(87.2% 0.01 258.338) !important;
}

.description-doc-ente .popover-body-custom {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    cursor: text !important;
}

.bg-white-50 {
    background-color: #f6f6f6 !important;
}

.bg-pink {
    background-color: oklch(71.8% 0.202 349.761) !important;
}

.alert-card-info {
    border-color: #0080ff !important;
    background-color: oklch(93.2% 0.032 255.585/50%) !important;
}

.btn-copy:hover {

    background-color: oklch(87.2% 0.01 258.338) !important;

}


.btn-copy:hover>svg,
.btn-copy:hover>span>svg {
    stroke: #0066CC !important;
}

.cookiebar {
    max-width: 100% !important;
}

.btn-notify {
    color: white !important;
    border-radius: 50% !important;
    padding: 10px !important;
    margin-right: 10px !important;
    transition: background-color 0.3s ease !important;
}

.notify-body {
    background-color: #ffffff !important;
}



.pulsing-flash-info {
    animation: pulsing-flash-blue 1.5s infinite;
    background-color: #0066CC;
}

.pulsing-flash-warning {
    animation: pulsing-flash-yellow 1.5s infinite;
    background-color: #fcce00;
}

.pulsing-flash-success {
    animation: pulsing-flash-green 1.5s infinite;
    background-color: #028056;
}

.pulsing-flash-danger {
    animation: pulsing-flash-red 1.5s infinite;
    background-color: #cc334d;
}

@keyframes pulsing-flash-blue {
    0% {
        background-color: #0066cc82;
    }

    50% {
        background-color: #0066CC;
    }

    100% {
        background-color: #0066cc82;
    }
}

@keyframes pulsing-flash-yellow {
    0% {
        background-color: #fcce0082;
    }

    50% {
        background-color: #fcce00;
    }

    100% {
        background-color: #fcce0082;
    }
}

@keyframes pulsing-flash-green {
    0% {
        background-color: #02805682;
    }

    50% {
        background-color: #028056;
    }

    100% {
        background-color: #02805682;
    }
}

@keyframes pulsing-flash-red {
    0% {
        background-color: #cc334d82;
    }

    50% {
        background-color: #cc334d;
    }

    100% {
        background-color: #cc334d82;
    }
}


.cancel-button:hover {
    background-color: rgba(177, 177, 177, 0.281) !important;
}

.notify-body:hover {
    background-color: oklch(97.1% 0.013 17.38) !important;
    cursor: pointer !important;
}

.btn-notify>svg {
    width: 28px !important;
    height: 28px !important;
}


.popover-arrow {
    width: 1.2em;
    height: 1.2em;
    position: absolute;
    display: block;
}

.popover {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease-in-out;
    pointer-events: none;
    z-index: 1060;
}

div[data-id=popover-user-role] div[data-popover-target="popover"] {
    min-width: 250px !important;
}

.popover.mostra {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.bs-popover-top .popover-arrow {
    left: 50%;
    bottom: -0.5em;
    transform: translateX(-50%) rotate(-45deg);
    border-width: 0 1em 1em 0;
    border-style: solid;
    border-color: transparent transparent #fff transparent;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0);
    background: transparent;
}

.bs-popover-bottom .popover-arrow {
    left: 50%;
    top: -0.5em;
    transform: translateX(-50%) rotate(45deg);
    border-width: 1em 1em 0 0;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0);
    background: transparent;
}

.bs-popover-right .popover-arrow {
    top: 50%;
    left: -0.5em;
    transform: translateY(-50%) rotate(135deg);
    border-width: 1em 1em 0 0;
    border-style: solid;
    border-color: transparent #ffffff transparent transparent;
    box-shadow: 2px 0 6px rgba(0, 0, 0, 0);
    background: transparent;
}

.bs-popover-left .popover-arrow {
    top: 50%;
    right: -0.5em;
    transform: translateY(-50%) rotate(225deg);
    border-width: 1em 0 0 1em;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    box-shadow: -2px 0 6px rgba(0, 0, 0, 0);
    background: transparent;
}


@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }

    75% {
        opacity: 0.25;
    }

    80% {
        opacity: 0.1;
    }

    90% {
        opacity: 0.05;
    }

    100% {
        opacity: 0;
    }
}



.dropdown-menu.submenu-positioned::before {
    content: "";
    position: absolute;
    top: 20px !important;
    left: unset !important;
    right: -5px;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background-color: #fff;
    transform: rotate(45deg);
}

.submenu-positioned {
    top: -30px !important;
}

.dropdown-item[data-accordion="true"]:hover,
.dropdown-item[data-accordion="true"].active {
    background-color: rgba(0, 103, 204, 0.1);
}

.dropdown-menu .dropdown-menu {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.dropdown-item[data-accordion="true"] .icon {
    transition: transform 0.2s ease;
}

.dropdown-item[data-accordion="true"][aria-expanded="true"] .icon {
    transform: rotate(-90deg);
}

.rounded-top-2 {
    border-top-left-radius: 0.3rem !important;
    border-top-right-radius: 0.3rem !important;
}


.backdrop-filter {
    backdrop-filter: blur(8px) saturate(160%);
    -webkit-backdrop-filter: blur(8px) saturate(160%);
    background-color: rgba(0, 102, 204, 0.25);
    /* opzionale: leggero overlay blu */
    transition: backdrop-filter 0.3s;
}

.ce-header {
    padding-top: 0px !important;
}

.sub-link {
    text-decoration: none !important;
}

.sub-link:hover {
    transform: scale(1.02);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    -webkit-transition: transform 0.2s ease-in-out;
    -moz-transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
}

.card-header.role-header {
    min-height: 140px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-top-left-radius: 0.75rem !important;
    /* stesso valore di rounded-3 */
    border-top-right-radius: 0.75rem !important;
    /* Se vuoi anche evitare doppio bordo tra header e body: */
    border-bottom: none;
}

.card:after {
    content: unset !important;
    margin-top: 0px !important;
}

.notification-menu {
    max-height: 500px !important;
    overflow-y: auto !important;
}

.dropstart ul {
    transform: translate3d(-230px, 22px, 0px) !important;
}

.card-title::first-letter,
.card-text::first-letter {
    text-transform: capitalize !important;
}




.upload[disabled="disabled"]+label {
    background-color: rgba(201, 201, 201, 0.427) !important;
    color: rgba(96, 96, 96, 0.753) !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.link-highlight:hover {
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    color: #0066CC !important;
}

label.form-label{
    font-weight: 600!important;
}

.tipo-requisito-documento {
    text-decoration: underline !important;
}

.form-check [type="radio"]:disabled:not(:checked)+label::before {
    border-color: hsl(210, 100%, 71%) !important;
}

.input-type-select:disabled{
    background-color: rgba(201, 201, 201, 0.427) !important;
    color: rgba(96, 96, 96, 0.753) !important;
    cursor: not-allowed !important;
}


.form-check [type="radio"]:disabled:checked+label::before {
    border-color: hsl(210, 100%, 71%) !important;
}

.form-check [type="radio"]:disabled:checked+label::after {
    background-color: hsla(210, 100%, 39%, 0.652) !important;
}



.tipo-requisito-documento:hover {
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    transform: scale(1.05) !important;
}


.area-riservata-menu a:hover {
    background-color: oklch(92.8% 0.006 264.531) !important;
    transition: background-color 0.3s ease !important;
}

.fade-out {
    animation: fadeOut 0.3s ease-in-out forwards;
}

.profile-menu a:hover {
    background-color: oklch(92.8% 0.006 264.531) !important;
    transition: background-color 0.3s ease !important;
}

.progress-spinner.progress-spinner-active:not(.progress-spinner-double) {
    border-color: #0066CC !important;
    border-bottom-color: hsl(210, 3%, 85%) !important;
}


.btn-notify:hover {
    background-color: #0066CC !important;
}

.table>tbody:not(.border) {
    border: 1px solid hsl(210, 4%, 78%) !important;
    /* bordo esterno */
    cursor: pointer !important;
    border-collapse: separate !important;
}

.table>tbody>tr>td:not(.text-center.d-flex.flex-row.justify-content-center.align-items-center.gap-2) {
    border: 1px solid hsl(210, 4%, 78%);
    /* bordi interni */
}

.codex-editor__redactor {
    margin-left: 0 !important;
}


.ce-block__content {
    margin-right: 35px !important;
    margin-left: 0px !important;
    max-width: 1190px !important;
}


.ce-block__content>div {
    max-width: 1180px !important;
}



.info-role {
    position: absolute;
    top: -20px;
}

.codex-editor__redactor {
    padding-bottom: 0px !important;
}

.ce-toolbar__actions {
    right: -308px !important;
}


.role-card {
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

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

.role-header {
    position: relative;
    overflow: hidden;
}

.role-icon-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    opacity: 0.1;
}

.role-icon-bg>svg {
    width: 100% !important;
    height: 100% !important;
    stroke: white !important;
}

.role-link {
    transition: background-color 0.2s ease;
    text-decoration: none;
    color: inherit;
}

.role-link:hover {
    background-color: oklch(96.7% 0.003 264.542) !important;
    color: inherit;
    text-decoration: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.it-callout {
    border: 2px solid #0066CC !important;
}

.icon-container {
    transition: background-color 0.2s ease;
}

.button-home-500:hover {
    background-color: oklch(92.8% 0.006 264.531) !important;
    transition: background-color 0.3s ease !important;
}

.dashboard:hover {
    background-color: oklch(92.8% 0.006 264.531) !important;
    transition: background-color 0.3s ease !important;
}

.role-link:hover .icon-container {
    background-color: #e9ecef;
}

.chevron-icon {
    transition: color 0.2s ease;
}

.role-link:hover .chevron-icon {
    color: #495057;
}

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

.bg-gradient-success {
    background: linear-gradient(135deg, #198754 0%, #146c43 100%);
}

.bg-gradient-info {
    background: linear-gradient(135deg, #0dcaf09a 0%, #087990 100%);
}

.bg-gradient-warning {
    background: linear-gradient(135deg, #ffc107 0%, #cc9a06 100%);
}

.bg-gradient-dark {
    background: linear-gradient(135deg, #212529 0%, #000 100%);
}

.bg-gradient-danger {
    background: linear-gradient(135deg, #dc3545 0%, #b02a37 100%);
}

.bg-gradient-purple {
    background: linear-gradient(135deg, #a259e6 0%, #6f42c1 100%);
}

.bg-gradient-secondary {
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
}

a {
    color: inherit !important;
}

.form-gruppo {
    width: 30%;
}


.main-content {
    flex: 1 0 auto;
}

.it-footer {
    flex-shrink: 0;
}

.bg-gray-50 {
    background-color: #ececec !important;
}



.svgFlag {
    width: 20px;
    height: 20px;
}

.breadcrumb-container-custom {
    background-color: #e1e1e1;
    border-radius: 5px;
    text-align: center;
    padding: 5px 5px 5px 5px;
    width: fit-content;
}

.breadcrumb-item:hover {
    cursor: pointer;
}


.highlight-section {
    animation: highlightFade 2s ease-out;
    position: relative;
}

.highlight-section::before {
    content: '';
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    background: rgba(28, 117, 188, 0.1);
    border: 2px solid #1c75bc;
    border-radius: 8px;
    animation: highlightPulse 2s ease-out;
    pointer-events: none;
    z-index: 1;
}

@keyframes highlightFade {
    0% {
        background-color: rgba(28, 117, 188, 0.1);
    }
    100% {
        background-color: transparent;
    }
}

@keyframes highlightPulse {
        0% {
        opacity: 1;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(1.02);
    }
}


div[data-id^="popover-document-review-"] #popover-body-container {
    max-height: 200px!important;
    overflow-y: auto!important;
}
.popover{
    z-index: 1060 !important;
}


.button-close{
    background-color: transparent!important;
    border: none!important;
    width: 1.5em!important;
    height: 1.5em!important;
    padding: 0!important;
    transform: scale(1.5);
    transition: all 0.3s ease;
}

.button-close:hover{
    color: rgba(203, 0, 0, 0.513)!important;
}



.alert-success-custom,
.alert-danger-custom,
.alert-info-custom,
.alert-warning-custom {
    backdrop-filter: blur(100px);
    border-radius: 5px;
    top: 30px;
    right: 5px;
}

.alert-success-custom {
    border-left: 8px solid #198754 !important;
    background-color: #f3fef2 !important;
    border: 1px solid #a5ff8c;
}

.alert-danger-custom {
    border-left: 8px solid #dc3545 !important;
    background-color: #FEF2F2 !important;
    border: 1px solid #ff8c97;
}

.alert-info-custom {
    border-left: 8px solid #0066cc !important;
    background-color: #f2fbfe !important;
    border: 1px solid #8ce0ff;

}

.alert-warning-custom {
    border-left: 8px solid #ffc107 !important;
    background-color: #fff7cf !important;
    border: 1px solid #fcd968;
}


.back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 998;
    transition: bottom 0.3s ease;
}

/* Flash messages right bottom (lo sto mettendo in top right).

body:has(.alert-success-custom),
body:has(.alert-danger-custom),
body:has(.alert-info-custom),
body:has(.alert-warning-custom) {
    .back-to-top {
        bottom: 120px;
    }
} */






@keyframes slideInDown {
    from {
        transform: translateY(-40px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.breadcrumb-item+.breadcrumb-item::before {
    color: black !important;
}

.shadow-md {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1),
        0 2px 4px -2px rgb(0 0 0 / 0.1)!important;
}

.read-more:hover {
    text-decoration: underline !important;
    cursor: pointer !important;
    color: #0066CC !important;
}

.change-password {
    transition: background-color 0.3s ease !important;
}

.change-password:hover {
    text-decoration: underline !important;
    cursor: pointer !important;
    background-color: #0066CC !important;
    color: white !important;
}

.btn-download {
    color: #0066CC ! important;
    transition: background-color 0.3s ease !important;
}


/* Modifica la massima altezza del corpo del popover */
#popover-body-container {
    max-height: 300px !important;
    overflow-y: auto !important;
}


.custom-upload {
    min-height: 191px !important;
}

js-existing-file-block {
    word-break: break-all !important;
}

.select-corso>select {
    background-color: oklch(96.7% 0.003 264.542) !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

.cursor-pointer:hover {
    cursor: pointer !important;
}

select.cursor-pointer:hover>option:hover {
    background-color: oklch(96.7% 0.003 264.542) !important;
}

select.cursor-pointer>option {
    padding: 6px !important;
}


div[data-controller="file-preview"]>div.col-md-3>label {
    text-align: center !important;
    width: 100% !important;
    font-weight: 600 !important;
}

.select-sede {
    cursor: pointer !important;
}

.select-sede:hover {
    cursor: pointer !important;
}

.btn-download:hover {
    color: white !important;
    background-color: #0066CC !important;

}



.notification-count {
    top: 10px !important;
    left: 45px !important;
}

.btn-download:hover>svg {
    stroke: white !important;
    color: white !important;
}


div[data-controller="notification"] .dropdown-menu:before {
    background-color: #0066CC !important;
    z-index: -1 !important;
}

.alert.slide-in {
    animation: slideInDown 0.6s ease;
}

.list-breadcrumb,
.list-breadcrumb>li {
    list-style-type: none;
    text-align: center;
    padding: 0;
    margin: 0;
}

/* ...existing code... */
.list-breadcrumb>li>span,
.list-breadcrumb>li>a {
    text-align: center;
    position: relative;
    transition: color 0.3s ease;
    text-decoration: none !important;
}

.list-breadcrumb>li>span:hover,
.list-breadcrumb>li>a:hover {
    cursor: pointer;
}

/* Aggiungo l'animazione per la sottolineatura */
.list-breadcrumb>li>span::after,
.list-breadcrumb>li>a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: 0px;
    left: 0;
    background-color: currentColor;
    transition: width 0.3s ease;
}

.list-breadcrumb>li>span:hover::after,
.list-breadcrumb>li>a:hover::after {
    width: 100%;
}


/** Input type  */
.input-type-search {
    border: 1px solid #ced4da !important;
    padding-left: 2.2rem !important;
    border-radius: 0.375rem !important;
}

.input-type-text {
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
}

.input-type-text:focus {
    border-color: #0066cc !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25) !important;
}

.input-type-date {
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
}

.input-type-date:focus {
    border-color: #0066cc !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25) !important;
}


.input-type-search:focus {
    border-color: #0066cc !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25) !important;
}

.input-type-select {
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
    padding: .375rem .5rem !important;
    background-color: #fff !important;
}

.input-type-select:focus {
    border-color: #0066cc !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25) !important;
}

/** Input type select end */

.table> :not(caption)>*>* {
    padding: 1rem 1rem !important;
}

.table-responsive-custom {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

.main-content>.table-responsive-custom {
    /* Se vuoi limitare la larghezza massima come il main-content */
    max-width: 100%;
}

.table-responsive-custom table {
    min-width: 500px;
    /* o la larghezza minima desiderata */
}


input[type="radio"].text-success:has(~ label),
input[type="radio"].text-success+label {
    color: #198754 !important;
    /* Bootstrap text-success */
    font-weight: bold;
}

.d-flex.justify-content-center.gap-1.compilantStatus>label:first-of-type {
    margin-right: 20px !important;
}

/* Se l'input radio ha .text-danger, la label subito dopo prende .text-danger */
input[type="radio"].text-danger:has(~ label),
input[type="radio"].text-danger+label {
    color: #dc3545 !important;
    /* Bootstrap text-danger */
    font-weight: 600 !important;
}



#coursesAccordion .accordion-header .accordion-button::after {
    content: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 x=%270px%27 y=%270px%27 viewBox=%270 0 24 24%27 %3E%3Cg%3E%3Cpath fill=%27white%27 d=%27M12,10.3l4.8,4.8c0.3,0.3,0.8,0.3,1.1,0c0.3-0.3,0.3-0.8,0-1c0,0,0,0,0,0l-4.8-4.8c-0.6-0.6-1.5-0.6-2.1,0L6.2,14c-0.3,0.3-0.3,0.8,0,1c0,0,0,0,0,0c0.3,0.3,0.8,0.3,1.1,0L12,10.3z%27/%3E%3C/g%3E%3C/svg%3E") !important;
}

#coursesAccordion .accordion-header .accordion-button:hover {
    text-decoration: unset !important;
}

#coursesAccordion .d-flex.flex-column:hover:not(#courseStaffAccordion) {
    text-decoration: underline !important;
}


/* .sticky-save-bar {
    position: sticky;
    bottom:0;
    left: 0;
    z-index: 100;
    backdrop-filter: blur(8px) saturate(160%);
    padding:4rem;
    width: 30%;
    display: flex-start;
    align-items: center;
} */

.sticky-save-bar {
    position: sticky;
    bottom: 1rem;
    left: 2rem;
    z-index: 100;
    backdrop-filter: blur(8px) saturate(160%);
    border-radius: 1rem;
    box-shadow: 0 10px 16px rgb(0 0 0 / 16%);
    padding: 1.2rem 1rem;
    width: fit-content;
    min-width: 220px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 1rem;
    transition: box-shadow 0.3s;
}

.sticky-save-bar:hover {
    box-shadow: 0 4px 24px rgba(0,0,0,0.18);
}

.no-shadow.sticky-save-bar, .no-shadow.sticky-save-bar:hover {
    box-shadow: none !important;
}


#popoverSalva::after {
    content: "";
    position: absolute;
    bottom: 100%;
    top: 100%;
    left:47%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 10px solid #393939;
}



/* ! Sidebar - Soluzione solo CSS */

.sidebar-wrapper {
    max-width: 350px;
    overflow-y: scroll;
    height: 100%;
    position: sticky;
    top: 0;
    min-height: 530px;
    max-height: 100vh;
}

.sidebar-content {
    min-height: 100vh;
}

.sidebar-body:has(p.register) {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.accordion-item-sidebar:not(.danger):hover {
    background-color: #0066cc !important;
    transition: background-color 0.3s ease !important;
    color: white !important;

}


.accordion-item-sidebar.danger:hover {
    background-color: #f003 !important;
    transition: background-color 0.3s ease !important;
    color: oklch(63.7% 0.237 25.331) !important;
}


.accordion-item-sidebar:not(.danger):hover>svg,
.accordion-item-sidebar:not(.danger):hover>svg path {
    stroke: white !important;
    color: white !important;
}



.footer-sidebar {
    flex-shrink: 0;
    margin-top: auto;
    border-top: 1px solid #E5E7EB;
    padding: 1rem;
}

.main-content {
    max-width: calc(100% - 350px) !important;
}

body[data-route="app_home"] .main-content{
    padding-right: 0!important;
    padding-left: 0!important;
    padding-top: 0!important;
    max-width: calc(100% - 315px) !important;
    padding-bottom: 0!important;
}

.card-new-system{
    border-left: 5px solid #0066CC !important;
}




.flex-layout {
    display: flex;
    height: 100%;
    max-height: fit-content;
}

.border-gray-figma {
    border-color: #E5E7EB;
}

.sidebar-nav-links svg {
    stroke: #0066CC !important;
}


.accordion-item-sidebar {
    text-decoration: none !important;
    padding: 0.5rem 0.5rem !important;
    background-color: #a9a9a920;
    border-radius: 6px !important;
}

.accordion-item-sidebar.danger {
    background-color: #ff000021 !important;
}

/* === DYNAMIC FORM STYLING === */
/* Contenitore principale dei campi dinamici */
.dynamic-form-container {
    width: 100%;
}

/* Gruppo di campi per requisito */
.dynamic-form-group {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
    width: 100%;
}

/* Wrapper singolo campo */
.dynamic-field-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1 1 calc(33.333% - 1rem); /* 3 colonne di default */
    min-width: 250px;
}

/* Label uniforme per tutti i campi */
.dynamic-field-wrapper .form-label {
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 0.95rem;
    color: #333;
    text-align: left;
    width: 100%;
}

/* Input e widget uniformi */
.dynamic-field-wrapper .form-control,
.dynamic-field-wrapper .form-select,
.dynamic-field-wrapper .input-type-text,
.dynamic-field-wrapper .input-type-date,
.dynamic-field-wrapper input[type="text"],
.dynamic-field-wrapper input[type="number"],
.dynamic-field-wrapper input[type="date"],
.dynamic-field-wrapper select {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    font-size: 1rem;
    line-height: 1.5;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.dynamic-field-wrapper .form-control:focus,
.dynamic-field-wrapper input:focus,
.dynamic-field-wrapper select:focus {
    border-color: #0066cc;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25);
}

/* Campo piena larghezza (per textarea, campi speciali) */
.dynamic-field-wrapper.full-width {
    flex: 1 1 100%;
}

/* Campo mezza larghezza */
.dynamic-field-wrapper.half-width {
    flex: 1 1 calc(50% - 0.5rem);
}

/* Campo terzo larghezza */
.dynamic-field-wrapper.third-width {
    flex: 1 1 calc(33.333% - 1rem);
}

/* Checkbox e Radio hanno layout diverso */
.dynamic-field-wrapper.checkbox-wrapper,
.dynamic-field-wrapper.radio-wrapper {
    flex: 1 1 calc(50% - 0.5rem);
}

.dynamic-field-wrapper .form-check {
    padding-left: 0;
    min-height: auto;
}

.dynamic-field-wrapper .form-check input[type="checkbox"],
.dynamic-field-wrapper .form-check input[type="radio"] {
    width: auto;
    margin-right: 0.5rem;
}

/* Textarea */
.dynamic-field-wrapper textarea.form-control {
    min-height: 100px;
    resize: vertical;
}

/* Messaggi di errore */
.dynamic-field-wrapper .invalid-feedback,
.dynamic-field-wrapper p[id$="-error"] {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: #dc3545;
}

/* Contenitore per elementi duplicabili */
.dynamic-duplicable-container {
    width: 100%;
    margin-top: 1rem;
}

/* Radio group styling speciale */
.dynamic-radio-group {
    background-color: #f8f9fa;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.dynamic-radio-group .form-label {
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.dynamic-radio-group .form-check {
    margin-bottom: 0.5rem;
}

/* Responsive: 2 colonne su tablet */
@media (max-width: 991px) {
    .dynamic-field-wrapper {
        flex: 1 1 calc(50% - 0.5rem);
    }

    .dynamic-field-wrapper.third-width {
        flex: 1 1 calc(50% - 0.5rem);
    }
}

/* Responsive: 1 colonna su mobile */
@media (max-width: 767px) {
    .dynamic-field-wrapper,
    .dynamic-field-wrapper.half-width,
    .dynamic-field-wrapper.third-width,
    .dynamic-field-wrapper.checkbox-wrapper,
    .dynamic-field-wrapper.radio-wrapper {
        flex: 1 1 100%;
        min-width: 100%;
    }
}

/* Hover visivo dedicato al bottone Reset nella sticky-save-bar */
.btn.btn-reset.bg-warning:hover {
    filter: brightness(0.95);
    box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.35); /* usa il colore warning */
    border-color: #e0a800 !important; /* tono pif9 scuro del warning */
}

/* ============================================
   LOADER OVERLAY - Sezione Azioni
   Overlay con puntini bouncing per feedback visivo durante LiveAction
   ============================================ */

.actions-loading-overlay {
    position: absolute;
    pointer-events: none;
    top: 0;
    right: -20px;
    width: 35rem;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.75);
    justify-content: center;
    display: flex;
    align-items: center;
    border-radius: 0.375rem;
    z-index: 10;
}

/* Contenitore puntini */
.bouncing-dots {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* Singolo puntino */
.bouncing-dots__dot {
    width: 15px;
    height: 15px;
    background-color: #0d6efd; /* Bootstrap primary */
    border-radius: 50%;
    animation: bouncing-dots-animation 0.9s infinite ease-in-out;
}

/* Animazione sequenziale con delay */
.bouncing-dots__dot:nth-child(1) {
    animation-delay: 0s;
}

.bouncing-dots__dot:nth-child(2) {
    animation-delay: 0.15s;
}

.bouncing-dots__dot:nth-child(3) {
    animation-delay: 0.3s;
}

/* Keyframes per l'animazione bouncing */
@keyframes bouncing-dots-animation {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: 0.6;
    }
    40% {
        transform: translateY(-10px);
        opacity: 1;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNJO1FBQ0ksd0JBQXdCO1FBQ3hCLFlBQVk7SUFDaEI7SUFDQTtRQUNJLDRCQUE0QjtRQUM1QixVQUFVO0lBQ2Q7QUFDSiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3ZlbmRvci9zeW1mb255L3V4LWxpdmUtY29tcG9uZW50L2Fzc2V0cy9kaXN0L2xpdmUubWluLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiW2RhdGEtbG9hZGluZz1cIlwiXSxbZGF0YS1sb2FkaW5nPXNob3ddLFtkYXRhLWxvYWRpbmcqPVxcfHNob3dde2Rpc3BsYXk6bm9uZX0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRk9OVCBMT0NBTEkgLSBUaXRpbGxpdW0gV2ViIChzZWxmLWhvc3RlZClcbiAgIFJpbXVvdmUgZGlwZW5kZW56YSBkYSBHb29nbGUgRm9udHMgcGVyIHByaXZhY3kgZSBwZXJmb3JtYW5jZVxuICAgSSBmb250IHNvbm8gaW4gYXNzZXRzL2ZvbnRzLyBlIFdlYnBhY2sgbGkgcHJvY2Vzc2EgYXV0b21hdGljYW1lbnRlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBUaXRpbGxpdW0gV2ViIDMwMCAoTGlnaHQpICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IGxvY2FsKCdUaXRpbGxpdW0gV2ViIExpZ2h0JyksIGxvY2FsKCdUaXRpbGxpdW1XZWItTGlnaHQnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvVGl0aWxsaXVtX1dlYi90aXRpbGxpdW0td2ViLXYxMC1sYXRpbi1leHRfbGF0aW4tMzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9UaXRpbGxpdW1fV2ViL3RpdGlsbGl1bS13ZWItdjEwLWxhdGluLWV4dF9sYXRpbi0zMDAud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiBUaXRpbGxpdW0gV2ViIDMwMCBJdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogbG9jYWwoJ1RpdGlsbGl1bSBXZWIgTGlnaHQgSXRhbGljJyksIGxvY2FsKCdUaXRpbGxpdW1XZWItTGlnaHRJdGFsaWMnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvVGl0aWxsaXVtX1dlYi90aXRpbGxpdW0td2ViLXYxMC1sYXRpbi1leHRfbGF0aW4tMzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9UaXRpbGxpdW1fV2ViL3RpdGlsbGl1bS13ZWItdjEwLWxhdGluLWV4dF9sYXRpbi0zMDBpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiBUaXRpbGxpdW0gV2ViIDQwMCAoUmVndWxhcikgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogbG9jYWwoJ1RpdGlsbGl1bSBXZWIgUmVndWxhcicpLCBsb2NhbCgnVGl0aWxsaXVtV2ViLVJlZ3VsYXInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvVGl0aWxsaXVtX1dlYi90aXRpbGxpdW0td2ViLXYxMC1sYXRpbi1leHRfbGF0aW4tcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvVGl0aWxsaXVtX1dlYi90aXRpbGxpdW0td2ViLXYxMC1sYXRpbi1leHRfbGF0aW4tcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbi8qIFRpdGlsbGl1bSBXZWIgNDAwIEl0YWxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOiBsb2NhbCgnVGl0aWxsaXVtIFdlYiBJdGFsaWMnKSwgbG9jYWwoJ1RpdGlsbGl1bVdlYi1JdGFsaWMnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvVGl0aWxsaXVtX1dlYi90aXRpbGxpdW0td2ViLXYxMC1sYXRpbi1leHRfbGF0aW4taXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9UaXRpbGxpdW1fV2ViL3RpdGlsbGl1bS13ZWItdjEwLWxhdGluLWV4dF9sYXRpbi1pdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiBUaXRpbGxpdW0gV2ViIDYwMCAoU2VtaUJvbGQpICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IGxvY2FsKCdUaXRpbGxpdW0gV2ViIFNlbWlCb2xkJyksIGxvY2FsKCdUaXRpbGxpdW1XZWItU2VtaUJvbGQnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvVGl0aWxsaXVtX1dlYi90aXRpbGxpdW0td2ViLXYxMC1sYXRpbi1leHRfbGF0aW4tNjAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9UaXRpbGxpdW1fV2ViL3RpdGlsbGl1bS13ZWItdjEwLWxhdGluLWV4dF9sYXRpbi02MDAud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiBUaXRpbGxpdW0gV2ViIDYwMCBJdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogbG9jYWwoJ1RpdGlsbGl1bSBXZWIgU2VtaUJvbGQgSXRhbGljJyksIGxvY2FsKCdUaXRpbGxpdW1XZWItU2VtaUJvbGRJdGFsaWMnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvVGl0aWxsaXVtX1dlYi90aXRpbGxpdW0td2ViLXYxMC1sYXRpbi1leHRfbGF0aW4tNjAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9UaXRpbGxpdW1fV2ViL3RpdGlsbGl1bS13ZWItdjEwLWxhdGluLWV4dF9sYXRpbi02MDBpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiBUaXRpbGxpdW0gV2ViIDcwMCAoQm9sZCkgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogbG9jYWwoJ1RpdGlsbGl1bSBXZWIgQm9sZCcpLCBsb2NhbCgnVGl0aWxsaXVtV2ViLUJvbGQnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvVGl0aWxsaXVtX1dlYi90aXRpbGxpdW0td2ViLXYxMC1sYXRpbi1leHRfbGF0aW4tNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9UaXRpbGxpdW1fV2ViL3RpdGlsbGl1bS13ZWItdjEwLWxhdGluLWV4dF9sYXRpbi03MDAud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiBUaXRpbGxpdW0gV2ViIDcwMCBJdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYic7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogbG9jYWwoJ1RpdGlsbGl1bSBXZWIgQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1RpdGlsbGl1bVdlYi1Cb2xkSXRhbGljJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL1RpdGlsbGl1bV9XZWIvdGl0aWxsaXVtLXdlYi12MTAtbGF0aW4tZXh0X2xhdGluLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvVGl0aWxsaXVtX1dlYi90aXRpbGxpdW0td2ViLXYxMC1sYXRpbi1leHRfbGF0aW4tNzAwaXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuLyogTG9yYTo0MDAsNzAwICovXG5cbi8qIGxvcmEtcmVndWxhciAtIGxhdGluLWV4dF9sYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdMb3JhJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOiBsb2NhbCgnTG9yYSBSZWd1bGFyJyksIGxvY2FsKCdMb3JhLVJlZ3VsYXInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Mb3JhL2xvcmEtdjIwLWxhdGluLWV4dF9sYXRpbi1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0xvcmEvbG9yYS12MjAtbGF0aW4tZXh0X2xhdGluLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiBsb3JhLTcwMCAtIGxhdGluLWV4dF9sYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdMb3JhJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOiBsb2NhbCgnTG9yYSBCb2xkJyksIGxvY2FsKCdMb3JhLUJvbGQnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Mb3JhL2xvcmEtdjIwLWxhdGluLWV4dF9sYXRpbi03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTG9yYS9sb3JhLXYyMC1sYXRpbi1leHRfbGF0aW4tNzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuLyogbG9yYS1pdGFsaWMgLSBsYXRpbi1leHRfbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTG9yYSc7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogbG9jYWwoJ0xvcmEgSXRhbGljJyksIGxvY2FsKCdMb3JhLUl0YWxpYycpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0xvcmEvbG9yYS12MjAtbGF0aW4tZXh0X2xhdGluLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Mb3JhL2xvcmEtdjIwLWxhdGluLWV4dF9sYXRpbi1pdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiBsb3JhLTcwMGl0YWxpYyAtIGxhdGluLWV4dF9sYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdMb3JhJztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOiBsb2NhbCgnTG9yYSBCb2xkIEl0YWxpYycpLCBsb2NhbCgnTG9yYS1Cb2xkSXRhbGljJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvTG9yYS9sb3JhLXYyMC1sYXRpbi1leHRfbGF0aW4tNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL0xvcmEvbG9yYS12MjAtbGF0aW4tZXh0X2xhdGluLTcwMGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbi8qIFJvYm90bytNb25vOjQwMCw3MDAgKi9cblxuLyogcm9ib3RvLW1vbm8tcmVndWxhciAtIGxhdGluLWV4dF9sYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIFJlZ3VsYXInKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1JvYm90b19Nb25vL3JvYm90by1tb25vLXYxMy1sYXRpbi1leHRfbGF0aW4tcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Sb2JvdG9fTW9uby9yb2JvdG8tbW9uby12MTMtbGF0aW4tZXh0X2xhdGluLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vKiByb2JvdG8tbW9uby03MDAgLSBsYXRpbi1leHRfbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Sb2JvdG9fTW9uby9yb2JvdG8tbW9uby12MTMtbGF0aW4tZXh0X2xhdGluLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Sb2JvdG9fTW9uby9yb2JvdG8tbW9uby12MTMtbGF0aW4tZXh0X2xhdGluLTcwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbi8qIHJvYm90by1tb25vLWl0YWxpYyAtIGxhdGluLWV4dF9sYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvTW9uby1JdGFsaWMnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Sb2JvdG9fTW9uby9yb2JvdG8tbW9uby12MTMtbGF0aW4tZXh0X2xhdGluLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Sb2JvdG9fTW9uby9yb2JvdG8tbW9uby12MTMtbGF0aW4tZXh0X2xhdGluLWl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbi8qIHJvYm90by1tb25vLTcwMGl0YWxpYyAtIGxhdGluLWV4dF9sYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGRJdGFsaWMnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Sb2JvdG9fTW9uby9yb2JvdG8tbW9uby12MTMtbGF0aW4tZXh0X2xhdGluLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Sb2JvdG9fTW9uby9yb2JvdG8tbW9uby12MTMtbGF0aW4tZXh0X2xhdGluLTcwMGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcbiAgICAtLWJnLW1haW46ICMwQjIxMzk7XG5cbn1cblxuaHRtbCxcbmJvZHkge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5iZy1pbmZve1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxOEEyQjghaW1wb3J0YW50O1xufVxuXG5cblxuXG4qIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aCAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5yb3VuZGVkLWJvdHRvbS0ze1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MC43NXJlbSAhaW1wb3J0YW50IDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC43NXJlbSAhaW1wb3J0YW50IDtcbn1cblxuYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goOTUuNDM4JSAwLjAwMTExIDIwMi41NTEpICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zO1xufVxuXG5ib2R5LnR1cmJvLWxvYWRpbmcge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vKiBUYXJnZXQ6IHF1YWxzaWFzaSBkaXYgY29uIGlkIGNoZSBpbml6aWEgY29uIFwiZG9jdW1lbnRpX2NvcnNvX2NvdXJzZVN0YWZmXCIgKi9cbmRpdltpZF49XCJkb2N1bWVudGlfY29yc29fY291cnNlU3RhZmZcIl0ge1xuICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuXG5cblxuLnZhbGlkYXRpb24tY2FyZC1lcnJvcnMgdWwge1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IG9rbGNoKDkzLjYlIDAuMDMyIDE3LjcxNykgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIG9rbGNoKDgwLjglIDAuMTE0IDE5LjU3MSkgIWltcG9ydGFudDtcbn1cblxuLnBvcG92ZXItcmVqZWN0aW9uTm90ZS1jb3Vyc2UtZG9jdW1lbnQgLnBvcG92ZXItYm9keS1jdXN0b217XG4gICAgbWF4LXdpZHRoOiAyMDBweCFpbXBvcnRhbnQ7XG5cbn1cblxuXG5cbi5kcm9wZG93bi1tZW51LmVudGUtb3BlcmF0aW5nLmFyZWEtcmlzZXJ2YXRhLnAtMi5zaG93e1xuICAgIG1pbi13aWR0aDogdW5zZXQhaW1wb3J0YW50O1xuICAgIHRvcDogMCFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMjIuMnJlbSFpbXBvcnRhbnQ7XG4gICAgaW5zZXQ6IDAgYXV0byBhdXRvIDJweCFpbXBvcnRhbnQ7XG59XG5cblxuXG4vKiBUdXJibyBGcmFtZSBsb2FkaW5nIG92ZXJsYXk6XG4gICBUdXJibyBpbXBvc3RhIGF1dG9tYXRpY2FtZW50ZSBsJ2F0dHJpYnV0byBbYnVzeV0gc3VsIGZyYW1lIG1lbnRyZSBjYXJpY2EuXG4gICBVc2lhbW8gOjpiZWZvcmUgcGVyIGzigJlvdmVybGF5IGUgOjphZnRlciBwZXIgbG8gc3Bpbm5lci5cbiAgIEFwcGxpY2hpYW1vIHNvbG8gYWkgZnJhbWUgaW50ZXJlc3NhdGkgKCN0YWItZnJhbWUgZSAjc2lnbmVkLWZpbGUtZnJhbWUpIHBlciBzaWN1cmV6emEuXG4qL1xuXG50dXJiby1mcmFtZSN0YWItZnJhbWV7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzMHZoO1xufVxuXG5cbnR1cmJvLWZyYW1lI3RhYi1mcmFtZVtidXN5XTo6YmVmb3JlLFxudHVyYm8tZnJhbWUjc2lnbmVkLWZpbGUtZnJhbWVbYnVzeV06OmJlZm9yZSxcbnR1cmJvLWZyYW1lI3RhYi1mcmFtZVthcmlhLWJ1c3k9XCJ0cnVlXCJdOjpiZWZvcmUsXG50dXJiby1mcmFtZSNzaWduZWQtZmlsZS1mcmFtZVthcmlhLWJ1c3k9XCJ0cnVlXCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIHotaW5kZXg6IDkwIWltcG9ydGFudDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCk7XG59XG5cbnR1cmJvLWZyYW1lI3RhYi1mcmFtZVtidXN5XTo6YWZ0ZXIsXG50dXJiby1mcmFtZSNzaWduZWQtZmlsZS1mcmFtZVtidXN5XTo6YWZ0ZXIsXG50dXJiby1mcmFtZSN0YWItZnJhbWVbYXJpYS1idXN5PVwidHJ1ZVwiXTo6YWZ0ZXIsXG50dXJiby1mcmFtZSNzaWduZWQtZmlsZS1mcmFtZVthcmlhLWJ1c3k9XCJ0cnVlXCJdOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoMTMsIDExMCwgMjUzLCAwLjI1KTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzBkNmVmZDtcbiAgYW5pbWF0aW9uOiB0dXJiby1mcmFtZS1zcGluIDAuNzVzIGxpbmVhciBpbmZpbml0ZTtcbiAgei1pbmRleDogOTIhaW1wb3J0YW50O1xufVxuXG5baWRePVwiZGlhbG9nLWFjdGlvbi1hc3NvY2lhdGVcIl0+ZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4IWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciFpbXBvcnRhbnQ7XG59XG5cbiNkaWFsb2ctd2VsY29tZS1pbmZvPmRpdntcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0IWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQhaW1wb3J0YW50O1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbi5hY2NvcmRpb24tYnV0dG9uLWRvY3VtZW50cy1pbnZlc3RpZ2F0aW9uOjphZnRlcntcbiAgICBjb2xvcjp3aGl0ZSFpbXBvcnRhbnQ7XG4gICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHg9JzBweCcgeT0nMHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDZyUzRSUzQ3BhdGggZmlsbD0nd2hpdGUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMS44JyBkPSdNMTIsMTAuM2w0LjgsNC44YzAuMywwLjMsMC44LDAuMywxLjEsMGMwLjMtMC4zLDAuMy0wLjgsMC0xYzAsMCwwLDAsMCwwbC00LjgtNC44Yy0wLjYtMC42LTEuNS0wLjYtMi4xLDBMNi4yLDE0Yy0wLjMsMC4zLTAuMywwLjgsMCwxYzAsMCwwLDAsMCwwYzAuMywwLjMsMC44LDAuMywxLjEsMEwxMiwxMC4zeicvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbi5hY2NvcmRpb24tYnV0dG9uLW1ldGFkYXRhLWludmVzdGlnYXRpb246OmFmdGVye1xuICAgIGNvbG9yOndoaXRlIWltcG9ydGFudDtcbiAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NnJTNFJTNDcGF0aCBmaWxsPSd3aGl0ZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjgnIGQ9J00xMiwxMC4zbDQuOCw0LjhjMC4zLDAuMywwLjgsMC4zLDEuMSwwYzAuMy0wLjMsMC4zLTAuOCwwLTFjMCwwLDAsMCwwLDBsLTQuOC00LjhjLTAuNi0wLjYtMS41LTAuNi0yLjEsMEw2LjIsMTRjLTAuMywwLjMtMC4zLDAuOCwwLDFjMCwwLDAsMCwwLDBjMC4zLDAuMywwLjgsMC4zLDEuMSwwTDEyLDEwLjN6Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG5cbkBrZXlmcmFtZXMgdHVyYm8tZnJhbWUtc3BpbiB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHBvcG92ZXJGYWRlSW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMCB9XG4gIHRvIHsgb3BhY2l0eTogMSB9XG59XG5Aa2V5ZnJhbWVzIHBvcG92ZXJGYWRlT3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDEgfVxuICB0byB7IG9wYWNpdHk6IDAgfVxufVxuXG4uZmFkZS1pbiB7XG4gIGFuaW1hdGlvbjogcG9wb3ZlckZhZGVJbiAyMDBtcyBlYXNlLWluIGZvcndhcmRzO1xufVxuLmZhZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBwb3BvdmVyRmFkZU91dCAyNTBtcyBlYXNlLW91dCBmb3J3YXJkcztcbn1cblxuXG4vKiBTdGlsaSBwZXIgbGUgYW5pbWF6aW9uaSBkZWkgcHVsc2FudGkgZmlsZSAqL1xuLmZpbGUtYnV0dG9uIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuMSwgMC4yNSwgMSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOjEwMCU7XG59XG5cbi5kb3dubG9hZC1idXR0b24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5zaHJpbmtlZC1idXR0b24ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2UsIG9wYWNpdHkgMC40cyBlYXNlO1xufVxuXG4uc2hyaW5rZWQtYnV0dG9uLmhpZGluZyB7XG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLmZ1bGwtYnV0dG9ue1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlLCBvcGFjaXR5IDAuNHMgZWFzZTtcbn1cblxuLmZ1bGwtYnV0dG9uLmhpZGluZ3tcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuXG5cbi51cGxvYWQtYnV0dG9uLmV4cGFuZGluZyB7XG4gICAgYW5pbWF0aW9uOiBidXR0b25FeHBhbmQgMC40cyBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyBidXR0b25FeHBhbmQge1xuICBmcm9tIHsgd2lkdGg6IDM3cHg7IH1cbiAgdG8geyB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7IH1cbn1cblxuXG4uYnV0dG9uLWxhYmVsIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbn1cblxuLmJ1dHRvbi1sYWJlbC52aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vKiBFZmZldHRpIGZlZWRiYWNrIGNvbnRlbml0b3JlICovXG4uY29udGFpbmVyLWZlZWRiYWNrIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbn1cblxuLmNvbnRhaW5lci1mZWVkYmFjay5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNSwgMTM1LCA4NCwgMC4xKSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjUsIDEzNSwgODQsIDAuNSkgIWltcG9ydGFudDtcbn1cblxuLmNvbnRhaW5lci1mZWVkYmFjay5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTEwLCAyNTMsIDAuMSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDEzLCAxMTAsIDI1MywgMC41KSAhaW1wb3J0YW50O1xufVxuXG5cblxuXG4udGl0bGUtZXJyb3ItdmFsaWRhdGlvbixcbi5wLWVycm9yLXZhbGlkYXRpb24ge1xuICAgIGNvbG9yOiBva2xjaCgzOS42JSAwLjE0MSAyNS43MjMpO1xufVxuXG4udmFsaWRhdGlvbi1jYXJkLWVycm9ycyB1bCBsaSB7XG4gICAgY29sb3I6IG9rbGNoKDQ0LjQlIDAuMTc3IDI2Ljg5OSkgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi00MDMge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNzcsIDE3NywgMTc3LCAwLjYxMykgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi00MDM6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAxLCAyMDEsIDIwMSwgMC4zNTkpICFpbXBvcnRhbnQ7XG59XG5cblxuLmJ0bi1wcmltYXJ5e1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDY2Y2MhaW1wb3J0YW50O1xufVxuXG4uYnRuLXByaW1hcnk6aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWJiNSFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1NmIzIWltcG9ydGFudDtcbn1cblxuXG4vKiBTdGlsaSBtaW5pbWkgcGVyIHJpcHJvZHVycmUgaG92ZXIvdHJhbnNpdGlvbiBzaW1pbGkgYSBUYWlsd2luZCAqL1xuLmNhcmQtYWN0aW9uIHtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yNXMgZWFzZSwgYm9yZGVyLWNvbG9yIC4yNXMgZWFzZSwgdHJhbnNmb3JtIC4xOHMgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY2FyZC1hY3Rpb246aG92ZXIge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICMwMDY2Y2MhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMSkhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ncmF5e1xuICAgIGNvbG9yOiBva2xjaCg0NC42JSAwLjAzIDI1Ni44MDIpICFpbXBvcnRhbnQ7XG59XG5cbi5pY29uLWNpcmNsZSB7XG4gICAgd2lkdGg6IDU2cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmNhcmQtYWN0aW9uIC5hY3Rpb24tbGluZSB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xOHMgZWFzZTtcbn1cbi5jYXJkLWFjdGlvbjpob3ZlciAuYWN0aW9uLWxpbmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCguNXJlbSk7XG59XG5cbi5zdGF0dXMtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYzsgLyogYXBwcm9zc2ltYSBiZy1ncmF5LTUwICovXG4gICAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbn1cbi5zdGF0dXMtdGl0bGUgeyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzExMTgyNzsgfSAvKiB0ZXh0LWdyYXktOTAwICovXG5cblxuXG4uYnRuLW91dGxpbmUtZGFzaGVkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgcmdiYSgxODYsIDE4NiwgMTg2LCAwLjc1Myk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHJnYig5NiwgOTYsIDk2KTtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCBjb2xvciAwLjJzO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OTk7XG59XG5cbi5idG4uYnRuLW91dGxpbmUtZGFzaGVkOmhvdmVyLFxuLmJ0bi5idG4tb3V0bGluZS1kYXNoZWQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDA2NmNjO1xuICAgIGJvcmRlci1jb2xvcjogIzAwNjZjYztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogQWdnaXVuZ2kgYWwgdHVvIGZpbGUgQ1NTICovXG4uZmxhc2gtaGlnaGxpZ2h0IHtcbiAgICBhbmltYXRpb246IGZsYXNoIDJzIGVhc2UtaW4tb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgICAwJSwgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgNTAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE5MywgNywgMC4yKTsgfVxufVxuXG4uZXJyb3ItaW5kaWNhdG9yIHtcbiAgICBhbmltYXRpb246IHB1bHNlIDEuNXMgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHsgb3BhY2l0eTogMTsgfVxuICAgIDUwJSB7IG9wYWNpdHk6IDAuNjsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbiN0YWItZnJhbWVbYXJpYS1idXN5XSAubG9hZGVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbmRpdltkYXRhLWlkPVwicG9wb3Zlci11c2VyLXJvbGVcIl0+YnV0dG9uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLyogQW5pbWF6aW9uaSBwZXIgZGF0YS1sb2FkaW5nICovXG4ubG9hZGVyLXNob3cge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMTAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgIWltcG9ydGFudDtcbn1cblxuLnNrZWxldG9uLXNob3c+ZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBsYWNlaG9sZGVyLWdsb3c+LnBsYWNlaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTUwIDE1MCAxNTApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwLjhyZW0gIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwLjhyZW0gIWltcG9ydGFudDtcbn1cblxuLmhlbHAtdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG5cbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBsYWNlaG9sZGVyLWdsb3cgLnBsYWNlaG9sZGVyIHtcbiAgICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXB1bHNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItcHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG59XG5cbi5yaW5nLXB1bHNlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLnJpbmctcHVsc2U6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IC04cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNDQzMzNEQ7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGFuaW1hdGlvbjogcmluZ1B1bHNlIDEuMnMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogLTE7XG59XG5cbkBrZXlmcmFtZXMgcmluZ1B1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cblxuLmxvYWRlci1oaWRlIHtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDAuM3MgZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbn1cblxuLmNvbnRlbnQtaGlkZS1sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAwLjMgIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xufVxuXG4gLm9mZmljZS1lbnZpcm9ubWVudHMtY29tcG9uZW50IC5lbnZpcm9ubWVudC1pdGVtIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjNmM3NTdkICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm9mZmljZS1lbnZpcm9ubWVudHMtY29tcG9uZW50IC5lbnZpcm9ubWVudC1pdGVtOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMGQ2ZWZkICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuICAgIH1cblxuICAgIC5vZmZpY2UtZW52aXJvbm1lbnRzLWNvbXBvbmVudCAuZGVsZXRlLWVudmlyb25tZW50LWJ0biB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgfVxuXG4gICAgLm9mZmljZS1lbnZpcm9ubWVudHMtY29tcG9uZW50IC5kZWxldGUtZW52aXJvbm1lbnQtYnRuOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIC5vZmZpY2UtZW52aXJvbm1lbnRzLWNvbXBvbmVudCAuYnRuLWFkZC1lbnZpcm9ubWVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm9mZmljZS1lbnZpcm9ubWVudHMtY29tcG9uZW50IC5idG4tYWRkLWVudmlyb25tZW50OmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLDAsMCwwLjEpO1xuICAgIH1cblxuICAgIC5vZmZpY2UtZW52aXJvbm1lbnRzLWNvbXBvbmVudCAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gICAgICAgIC5vZmZpY2UtZW52aXJvbm1lbnRzLWNvbXBvbmVudCAuZW52aXJvbm1lbnQtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbi8qIENvbnRlbml0b3JlIHBlciBpbCBsb2FkZXIgY29uIHBvc2l0aW9uaW5nIHJlbGF0aXZvICovXG4ubG9hZGVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG5cbi8qIFN0YXRvIGluaXppYWxlIHBlciBpbCBsb2FkZXIgKi9cbltkYXRhLWxvYWRpbmcqPVwibG9hZGVyLXNob3dcIl0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBTdGF0byBpbml6aWFsZSBwZXIgaWwgY29udGVudXRvICovXG5bZGF0YS1sb2FkaW5nKj1cImNvbnRlbnQtaGlkZS1sb2FkaW5nXCJdIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG5kaXZbZGF0YS1jb250cm9sbGVyPVwiZGlhbG9nXCJdIGJ1dHRvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4ubW9kYWwuZmFkZS5zaG93IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuXG5cblxuLyogVHJhbnNpemlvbmUgZmFkZUluIHBlciBpbCB3ZWxjb21lIGRpYWxvZyAqL1xuLm1vZGFsI2RpYWxvZy13ZWxjb21lLWluZm8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xufVxuXG4ubW9kYWwjZGlhbG9nLXdlbGNvbWUtaW5mby5zaG93IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiBBbmltYXppb25lIHBlciBpbCBjb250ZW51dG8gZGVsIG1vZGFsIHdlbGNvbWUgKi9cbi5tb2RhbCNkaWFsb2ctd2VsY29tZS1pbmZvIC5tb2RhbC1kaWFsb2cge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC40cyBlYXNlLWluLW91dDtcbn1cblxuLm1vZGFsI2RpYWxvZy13ZWxjb21lLWluZm8uc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8qIEFuaW1hemlvbmUgcGVyIGxlIGNhcmQgZGVsIGNvbnRlbnV0byB3ZWxjb21lICovXG4ud2VsY29tZS1pbmZvLWNvbnRlbnQgLmNhcmQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW5DYXJkcyAwLjZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xufVxuXG4ud2VsY29tZS1pbmZvLWNvbnRlbnQgLmNhcmQ6bnRoLWNoaWxkKDEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XG59XG5cbmJvZHlbZGF0YS1yb3V0ZT1cInBhZ2luYV80MDRfY3VzdG9tXCJdIC5zaWRlYmFyLWNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA0MHZoICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbn1cblxuLmNvbC02IC50cy1jb250cm9sLFxuLmNvbC0zIC50cy1jb250cm9sIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udHMtd3JhcHBlciAudHMtY29udHJvbCB7XG4gICAgbWluLWhlaWdodDogNDJweCAhaW1wb3J0YW50O1xufVxuXG4udHMtY29udHJvbD4uaXRlbSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4ucGx1Z2luLWNsZWFyX2J1dHRvbiAuY2xlYXItYnV0dG9uIHtcbiAgICB0b3A6IDYwJTtcbiAgICBzY2FsZTogMjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnBsdWdpbi1jbGVhcl9idXR0b24gLmNsZWFyLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNkYzBkMjI7XG59XG5cblxuXG4uY29sLTYgLnRzLWNvbnRyb2w+aW5wdXQsXG4uY29sLTMgLnRzLWNvbnRyb2w+aW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xufVxuXG4udHMtZHJvcGRvd24tY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jb2wtNiAudHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wsXG4uY29sLTMgLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1kYW5nZXItb3BhY2l0eS0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDBhICFpbXBvcnRhbnQ7XG59XG5cbi53ZWxjb21lLWluZm8tY29udGVudCAuY2FyZDpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcbn1cblxuLndlbGNvbWUtaW5mby1jb250ZW50IC5jYXJkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi53ZWxjb21lLWluZm8tY29udGVudCAuYmFkZ2Uge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiBLZXlmcmFtZSBwZXIgbCdhbmltYXppb25lIGRlbGxlIGNhcmQgKi9cbkBrZXlmcmFtZXMgZmFkZUluQ2FyZHMge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKiBBbmltYXppb25lIHBlciBpbCBjb250ZW51dG8gYWxlcnQgKi9cbi53ZWxjb21lLWluZm8tY29udGVudCAuYWxlcnQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW5BbGVydCAwLjVzIGVhc2UtaW4tb3V0IDAuMXMgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluQWxlcnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuXG4gICAgLmZhZGUtaW4ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbmltYXRpb246IGZhZGVJbiAwLjdzIGZvcndhcmRzO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgICAgIHRvIHsgb3BhY2l0eTogMTsgfVxuICAgIH1cblxuICAgIC8qIEFuaW1hemlvbmUgZmFkZS1vdXQgKi9cbiAgICAuZmFkZS1vdXQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBhbmltYXRpb246IGZhZGVPdXQgMC43cyBmb3J3YXJkcztcbiAgICB9XG4gICAgQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgICAgICAgdG8geyBvcGFjaXR5OiAwOyB9XG4gICAgfVxuXG4uYnRuLmJ0bi1zbS5kaXNhYmxlZC5idG4tc3VjY2Vzcy1kb3dubG9hZC5wLTMuYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNjYsIDQxLCAwLjQyNykgIWltcG9ydGFudDtcbiAgICBjb2xvcjogcmdiYSg5NiwgOTYsIDk2LCAwLjc1MykgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYigxNSwgMTAwLCAwKSAhIGltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLmJ0bi5idG4tc20uYnRuLXN1Y2Nlc3MtZG93bmxvYWQucC0zLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIsXG4uYnRuLXN1Y2Nlc3M6aG92ZXIsXG4uYnRuLmJ0bi1zdWNjZXNzLWRvd25sb2FkLnRleHQtYmxhY2suYnRuLW91dGxpbmUtc3VjY2Vzcy5idG4tc206aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzg5NjEgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICMwMDc3MDYgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xufVxuXG4vKiBQdWxzYW50ZSBkYW5nZXIgcGVyIGVsaW1pbmF6aW9uZSBkb2N1bWVudG8gKi9cbi5idG4uYnRuLXNtLmJ0bi1kYW5nZXItZGVsZXRlLnAtMy5idG4tb3V0bGluZS1kYW5nZXIsXG4uYnRuLWRhbmdlci1kZWxldGUge1xuICAgIG1heC1oZWlnaHQ6IDQ4cHghaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAyLjVweCBzb2xpZDtcbiAgICB6LWluZGV4OiA5OSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzICFpbXBvcnRhbnQ7XG59XG5cbi5zd2FsMi1wb3B1cC5zd2FsMi1tb2RhbC5zd2FsMi1pY29uLXdhcm5pbmcuc3dhbDItc2hvdyB7XG4gICAgei1pbmRleDogOTk5ICFpbXBvcnRhbnQ7XG59XG5cblxuXG4uYnRuLmJ0bi1zbS5idG4tZGFuZ2VyLWRlbGV0ZS5wLTMuYnRuLW91dGxpbmUtZGFuZ2VyOmhvdmVyLFxuLmJ0bi5idG4tZGFuZ2VyLWRlbGV0ZS5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIsXG4uYnRuLmJ0bi1kYW5nZXItZGVsZXRlLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjAyYTM3ICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogNDhweCFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzLCBib3JkZXItY29sb3IgMC4zcyAhaW1wb3J0YW50O1xufVxuXG4uYnRuLmJ0bi1zbS5idG4tZGFuZ2VyLWRlbGV0ZS5wLTMuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkLFxuLmJ0bi5idG4tZGFuZ2VyLWRlbGV0ZS5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQsXG4uYnRuLmJ0bi1kYW5nZXItZGVsZXRlLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDUzLCA2OSwgMC4xOCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogcmdiYSg5NiwgOTYsIDk2LCAwLjc1MykgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNiMDJhMzcgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5leHRlbnNpb24taW5mbyB7XG4gICAgbWF4LXdpZHRoOiAzNDBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5leHRlbnNpb24taW5mbyAjcG9wb3Zlci1ib2R5LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMTAwcHggIWltcG9ydGFudDtcbn1cblxuLmRvY3VtZW50LWV4dGVuc2lvbi1pbmZvIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmRvY3VtZW50LWV4dGVuc2lvbi1pbmZvICNwb3BvdmVyLWJvZHktY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xufVxuXG5kaXYudHMtd3JhcHBlcntcbiAgICBtYXJnaW4tdG9wOiAxcmVtIWltcG9ydGFudDtcbn1cblxuLnRzLWNvbnRyb2w+aW5wdXR7XG4gICAgd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG59XG5cbi50cy1jb250cm9se1xuICAgIHBhZGRpbmc6MTBweDtcbn1cblxuI2FjY3JlZGl0YXRpb25fcmVxdWlyZW1lbnRfX2RvY3VtZW50X3R5cGVfaWRzLXRzLWNvbnRyb2wsXG4jYWNjcmVkaXRhdGlvbl9yZXF1aXJlbWVudF9fbWV0YWRhdGFfZmllbGRfaWRzLXRzLWNvbnRyb2wsXG4jYWNjcmVkaXRhdGlvbl9yZXF1aXJlbWVudF9fZXhpc3RpbmdfcGFyZW50X2NvZGUtdHMtY29udHJvbHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW0gIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4jYWNjcmVkaXRhdGlvbl9yZXF1aXJlbWVudF9fZG9jdW1lbnRfdHlwZV9pZHMtdHMtY29udHJvbDpmb2N1cyxcbiNhY2NyZWRpdGF0aW9uX3JlcXVpcmVtZW50X19tZXRhZGF0YV9maWVsZF9pZHMtdHMtY29udHJvbDpmb2N1cyxcbiNhY2NyZWRpdGF0aW9uX3JlcXVpcmVtZW50X19leGlzdGluZ19wYXJlbnRfY29kZS10cy1jb250cm9sOmZvY3Vze1xuICAgIGJvcmRlci1jb2xvcjogIzAwNjZjYyAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEwMiwgMjA0LCAwLjI1KSAhaW1wb3J0YW50O1xufVxuXG4jYWNjcmVkaXRhdGlvbl9yZXF1aXJlbWVudF9fZG9jdW1lbnRfdHlwZV9pZHMgPiBvcHRpb246aG92ZXIsXG4jYWNjcmVkaXRhdGlvbl9yZXF1aXJlbWVudF9fbWV0YWRhdGFfZmllbGRfaWRzID4gb3B0aW9uOmhvdmVyLFxuI2FjY3JlZGl0YXRpb25fcmVxdWlyZW1lbnRfX2V4aXN0aW5nX3BhcmVudF9jb2RlID4gb3B0aW9uOmhvdmVyXG57XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjZjYztcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNhY2NyZWRpdGF0aW9uX3JlcXVpcmVtZW50X19kb2N1bWVudF90eXBlX2lkcyxcbiNhY2NyZWRpdGF0aW9uX3JlcXVpcmVtZW50X19tZXRhZGF0YV9maWVsZF9pZHMsXG4jYWNjcmVkaXRhdGlvbl9yZXF1aXJlbWVudF9fZXhpc3RpbmdfcGFyZW50X2NvZGVcbntcbiAgICBvdmVyZmxvdy14OmF1dG87XG59XG5cblxuXG5cblxuLyogYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL190b20tc2VsZWN0LnNjc3MgKi9cblxuLnRzLWRyb3Bkb3duLWNvbnRlbnR7XG4gICAgcGFkZGluZzogMTBweCAxcmVtIDEwcHggMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2ICFpbXBvcnRhbnQ7XG59XG5cbi50cy1kcm9wZG93bi1jb250ZW50Pi5vcHRpb257XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzowLjhyZW0gMCAwLjhyZW0gMDtcbn1cblxuLnRzLWRyb3Bkb3duLWNvbnRlbnQ+Lm9wdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2YyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAwLjdyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuMSUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cblxuLnRzLXdyYXBwZXIge1xuICAgIC5pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgLmN1c3RvbS1yZW1vdmUtYnRuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwLjEpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmYwMDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgIzAwN2JmZjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uYnRuLmJ0bi1kb3dubG9hZC5idG4tZGlzYWJsZWQuYnRuLW91dGxpbmUtcHJpbWFyeS5idG4tc20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAxLCAyMDEsIDIwMSwgMC40MjcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHJnYmEoOTYsIDk2LCA5NiwgMC43NTMpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMTY3IDE2NyAxNjcpICEgaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4ubm90LWNsaWNrYWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG5cblxuLyogU3RpbGUgcGVyIGNhcmQgc2luZ29sYSAqL1xuLnNpbmdsZS1jYXJkOm5vdCg6b25seS1vZi10eXBlKSB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuXG4uYnRuLWhvdmVyLWRhbmdlciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1ob3Zlci1kYW5nZXI6aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1ob3Zlci1kYW5nZXI6aG92ZXI+c3ZnIHtcbiAgICBzdHJva2U6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5idG4taG92ZXItZGFuZ2VyLmRpc2FibGVkLFxuLmJ0bi1ob3Zlci1kYW5nZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAxLCAyMDEsIDIwMSwgMC40MjcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHJnYmEoOTYsIDk2LCA5NiwgMC43NTMpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMTY3LCAxNjcsIDE2NykgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5idG4taG92ZXItc3VjY2VzcyB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1ob3Zlci1zdWNjZXNzOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk4NzU0ICFpbXBvcnRhbnQ7XG59XG5cbi5idG4taG92ZXItc3VjY2Vzczpob3Zlcj5zdmcge1xuICAgIHN0cm9rZTogd2hpdGUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1ob3Zlci1zdWNjZXNzLmRpc2FibGVkLFxuLmJ0bi1ob3Zlci1zdWNjZXNzOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMSwgMjAxLCAyMDEsIDAuNDI3KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiByZ2JhKDk2LCA5NiwgOTYsIDAuNzUzKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiKDE2NywgMTY3LCAxNjcpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cblxuLyogU3RpbGkgcmVzcG9uc2l2ZSBwZXIgY2FyZCBzaW5nb2xhICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2luZ2xlLWNhcmQ6bm90KDpvbmx5LW9mLXR5cGUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5zaW5nbGUtY2FyZDpub3QoOm9ubHktb2YtdHlwZSkge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIH1cbn1cblxuLyogQ2FyZCBzaW5nb2xhIGNvbiBwacO5IHNwYXppbyAqL1xuLnNpbmdsZS1jYXJkIC5jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNpbmdsZS1jYXJkIC5yb2xlLWljb24tYmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogTmFzY29uZGUgbCdpY29uYSBkaSBzZm9uZG8gcGVyIGNhcmQgc2luZ29sYSAqL1xufVxuXG4uc2luZ2xlLWNhcmQgLmNhcmQtYm9keSAucm9sZS1saW5rIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5ib3JkZXIucm91bmRlZC0zIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi8qIEFzc2ljdXJhdGkgY2hlIGdsaSBlbGVtZW50aSBmaWdsaSByaXNwZXR0aW5vIGkgYm9yZGkgYXJyb3RvbmRhdGkgKi9cbi5ib3JkZXIucm91bmRlZC0zIC5jYXJkLWhlYWRlci1jdXN0b20ge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC43NXJlbSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLnJvdW5kZWQtMyAuY2FyZC1ib2R5IHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLmFyZWEtcmlzZXJ2YXRhLW1lbnU6bGFzdC1jaGlsZD5hIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5hcmVhLXJpc2VydmF0YS1tZW51IHN2ZyB7XG4gICAgc3Ryb2tlOiAjMDA2NkNDICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcblxuICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xufVxuXG5cbi5tb2RhbC1jb250ZW50IHtcblxuICAgIG1heC1oZWlnaHQ6IDc0MHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWwtYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goOTYuNyUgMC4wMDMgMjY0LjU0MikgIWltcG9ydGFudDtcbn1cblxuLmNvdXJzZS1jaG9pY2U6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAxLCAyMDEsIDIwMSwgMC40MjcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHJnYmEoOTYsIDk2LCA5NiwgMC43NTMpICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xufVxuXG4uZm9udC1zYW5zLXNlcmlmIHtcbiAgICBmb250LWZhbWlseTogXCJUaXRpbGxpdW0gV2ViXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbmJvZHlbZGF0YS1yb3V0ZT1cInJvbGVfc2VsZWN0aW9uXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4jcHJvZmlsZVRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjZjYyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbiNwcm9maWxlVGFicyAubmF2LWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogaHNsKDIxMCwgMTclLCA0NCUpICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxufVxuXG5ib2R5W2RhdGEtcm91dGU9XCJyb2xlX3NlbGVjdGlvblwiXSAuc2lkZWJhci1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMjB2aCAhaW1wb3J0YW50O1xufVxuXG5ib2R5W2RhdGEtcm91dGU9XCJlbnRlLXJlcXVlc3QtdXBkYXRlXCJdIC5jYXJkLWJvZHkgLnJvdy5nLTMubXQtMi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyLmFsaWduLWl0ZW1zLWNlbnRlcjpoYXMoLmNyZWRpdHMtcmVjb2duaXRpb24uZC1ub25lKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHlbZGF0YS1yb3V0ZT1cImVudGUtcmVxdWVzdC11cGRhdGVcIl0gLmNhcmQtYm9keSAucm93LmctMy5tdC0yLmp1c3RpZnktY29udGVudC1jZW50ZXIuYWxpZ24taXRlbXMtY2VudGVyOmhhcyguY3JlZGl0cy1yZWNvZ25pdGlvbi5kLW5vbmUpIC5ob3VycyB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDAgMCA1MCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uYWNjb3JkaW9uLWFycm93IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cblxuLmNhcmQtaGVhZGVyLmNvbGxhcHNlZCAuYWNjb3JkaW9uLWFycm93IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuLmNhcmQtaGVhZGVyOm5vdCguY29sbGFwc2VkKSAuYWNjb3JkaW9uLWFycm93IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5yb3VuZGVkLXRvcC0zIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC44cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcHVycGxlIHtcbiAgICBib3JkZXItY29sb3I6ICM4RjNGRDQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcHVycGxlIHtcbiAgICBjb2xvcjogIzhGM0ZENCAhaW1wb3J0YW50O1xufVxuXG4uYmctcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEYzRkQ0ICFpbXBvcnRhbnQ7XG59XG5cbi50aXRsZS1pbmZvcm1hemlvbmktZW50ZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5jYXJkLWlkZW50aWZpY2F6aW9uZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDIwMSwgMjAxLCAwLjQyNyk7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbSAhaW1wb3J0YW50O1xufVxuXG4uaW5mby1jYXJkLWRldGVybWluYT5kaXYge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIGdhcDogLjNyZW0gIWltcG9ydGFudDtcbn1cblxuLmluZm8tY2FyZC1kZXRlcm1pbmE+ZGl2PnN2ZyB7XG4gICAgd2lkdGg6IDJyZW0gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEuNnJlbSAhaW1wb3J0YW50O1xuICAgIHN0cm9rZS13aWR0aDogMjtcbn1cblxuYm9keVtkYXRhLXJvdXRlPVwiYXBwX2xvZ2luXCJdIGFzaWRlLnNpZGViYXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5W2RhdGEtcm91dGU9XCJhcHBfbG9naW5cIl0gbWFpbi5tYWluLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLyogU3RpbGkgcGVyIGwnYXJlYSBkaSBjYXJpY2FtZW50byBmaWxlICovXG4uZmlsZS11cGxvYWQtYXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmlsZS1kcm9wem9uZSB7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNjY2M7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG59XG5cbi5ib3JkZXItbGVmdC1kYW5nZXIge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2RjMzU0NSAhaW1wb3J0YW50O1xufVxuXG4uYWxlcnQtZGFuZ2VyIC5hbGVydC1oZWFkaW5nIHtcbiAgICBjb2xvcjogIzcyMWMyNDtcbn1cblxuLmZpbGUtZHJvcHpvbmU6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzAwNjZDQztcbiAgICBjb2xvcjogIzAwNjZDQztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuXG4uZmlsZS1yZW1vdmUtYnRuIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIHNjYWxlOiAxLjU7XG59XG5cbi5idG4td2FybmluZy1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkNjgwMCAhaW1wb3J0YW50O1xufVxuXG4uZmlsZS1yZW1vdmUtYnRuOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG59XG5cbi5maWxlLWRyb3B6b25lLmRyYWdvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMwZDZlZmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTEwLCAyNTMsIDAuMDUpO1xufVxuXG4uZmlsZS1kcm9wem9uZS5oYXMtZmlsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTk4NzU0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUsIDEzNSwgODQsIDAuMDUpO1xufVxuXG4uZmlsZS1kcm9wem9uZSAudXBsb2FkLWljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5maWxlLWRyb3B6b25lIC51cGxvYWQtdGV4dCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5maWxlLWRyb3B6b25lIC51cGxvYWQtaGludCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIE5hc2NvbmRlIGwnaW5wdXQgZmlsZSBvcmlnaW5hbGUgbWEgbG8gbWFudGllbmUgYWNjZXNzaWJpbGUgKi9cbi5maWxlLXVwbG9hZC1hcmVhIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuLmFkZGl0aW9uYWwtZG9jdW1lbnQtZmllbGR7XG4gICAgcGFkZGluZy10b3A6IC41MDByZW0haW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAuNTAwcmVtIWltcG9ydGFudDtcbn1cblxuLyogRXZpZGVuemlhIGxhIGNhcmQgZ2xvYmFsZSBkZWdsaSBlcnJvcmkgZGkgdmFsaWRhemlvbmUgZGVsbGEgcmV2aXNpb25lIGRvY3VtZW50aSAqL1xuLmNhcmQtdmFsaWRhdGlvbi1lcnJvcnMge1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcbiAgICBjb2xvcjogIzg0MjAyOTtcbn1cblxuLyogQm9yZGEgZSBtZXR0ZSBpbiBldmlkZW56YSBnbGkgYWNjb3JkaW9uIGRlaSBkb2N1bWVudGkgY29uIGVycm9yaSAqL1xuLmRvY3VtZW50LXJldmlldy1jYXJkLmRvY3VtZW50LXJldmlldy1lcnJvciB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZGMzNTQ1O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTtcbn1cblxuLyogQ29sb3JhIGxhIHJpZ2EgZGVsbGEgdGFiZWxsYSBkZWwgZG9jdW1lbnRvIGluIGVycm9yZSAqL1xuLmRvY3VtZW50LXJvdy1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDUzLCA2OSwgMC4wNik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyMCwgNTMsIDY5LCAwLjYpO1xufVxuXG4vKiBJbnB1dCBub3RhIGNvbiBlcnJvcmUgKi9cbi5pcy1pbnZhbGlkIHtcbiAgICBib3JkZXItY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC4yNSk7XG59XG4jYWNjb3JkaW9uU2VkaSAuY2FyZCxcbiNhY2NvcmRpb25BbWJpZW50aSAuY2FyZCxcbiNlbnZpcm9ubWVudHNBY2NvcmRpb24gLmNhcmQsXG4jYWNjb3JkaW9uQ2xhc3NpIC5jYXJkLFxuI2FjY29yZGlvbkNvcnNpIC5jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksIGJhY2tncm91bmQtY29sb3IgMC4zcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbn1cblxuI2FjY29yZGlvblNlZGkgLmNhcmQtaGVhZGVyLFxuI2FjY29yZGlvbkFtYmllbnRpIC5jYXJkLWhlYWRlcixcbiNlbnZpcm9ubWVudHNBY2NvcmRpb24gLmNhcmQtaGVhZGVyLFxuI2FjY29yZGlvbkNsYXNzaSAuY2FyZC1oZWFkZXIsXG4jYWNjb3JkaW9uQ29yc2kgLmNhcmQtaGVhZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksIGNvbG9yIDAuNHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbiNhY2NvcmRpb25TZWRpIC5hY2NvcmRpb24tY29sbGFwc2UsXG4jYWNjb3JkaW9uQW1iaWVudGkgLmFjY29yZGlvbi1jb2xsYXBzZSxcbiNlbnZpcm9ubWVudHNBY2NvcmRpb24gLmFjY29yZGlvbi1jb2xsYXBzZSxcbiNhY2NvcmRpb25DbGFzc2kgLmFjY29yZGlvbi1jb2xsYXBzZSxcbiNhY2NvcmRpb25Db3JzaSAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbiNhY2NvcmRpb25BbWJpZW50aSAuYWNjb3JkaW9uLWFycm93IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cblxuI2FjY29yZGlvbkFtYmllbnRpIC5jYXJkLWhlYWRlci5jb2xsYXBzZWQgLmFjY29yZGlvbi1hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG59XG5cbiNhY2NvcmRpb25BbWJpZW50aSAuY2FyZC1oZWFkZXI6bm90KC5jb2xsYXBzZWQpIC5hY2NvcmRpb24tYXJyb3cge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuI2NvdXJzZXNBY2NvcmRpb24gLmNhcmQge1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpO1xufVxuXG4jY291cnNlc0FjY29yZGlvbiAuY2FyZC1oZWFkZXIsXG4jY291cnNlc0FjY29yZGlvbiAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjRzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpLCBjb2xvciAwLjRzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpO1xufVxuXG4jY291cnNlc0FjY29yZGlvbiAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbi8qIFJvdGF6aW9uZSBmcmVjY2lhICovXG4jY291cnNlc0FjY29yZGlvbiAuYWNjb3JkaW9uLWFycm93IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cblxuI2NvdXJzZXNBY2NvcmRpb24gLmFjY29yZGlvbi1idXR0b24uY29sbGFwc2VkIC5hY2NvcmRpb24tYXJyb3cge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG4jY291cnNlc0FjY29yZGlvbiAuYWNjb3JkaW9uLWJ1dHRvbjpub3QoLmNvbGxhcHNlZCkgLmFjY29yZGlvbi1hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4jYWNjb3JkaW9uRWRpdGlvbnMgLmNhcmQge1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpO1xufVxuXG4jYWNjb3JkaW9uRWRpdGlvbnMgLmNhcmQtaGVhZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksIGNvbG9yIDAuNHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbiNhY2NvcmRpb25FZGl0aW9ucyAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbi8qIFJvdGF6aW9uZSBmcmVjY2lhIHBlciBlZGl6aW9uaSAqL1xuI2FjY29yZGlvbkVkaXRpb25zIC5hY2NvcmRpb24tYXJyb3cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuXG4jYWNjb3JkaW9uRWRpdGlvbnMgLmNhcmQtaGVhZGVyLmNvbGxhcHNlZCAuYWNjb3JkaW9uLWFycm93IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuI2FjY29yZGlvbkVkaXRpb25zIC5jYXJkLWhlYWRlcjpub3QoLmNvbGxhcHNlZCkgLmFjY29yZGlvbi1hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4jYWNjb3JkaW9uU3R1ZGVudHMgLmNhcmQge1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpO1xufVxuXG4jYWNjb3JkaW9uU3R1ZGVudHMgLmNhcmQtaGVhZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksIGNvbG9yIDAuNHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbiNhY2NvcmRpb25TdHVkZW50cyAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbi8qIFJvdGF6aW9uZSBmcmVjY2lhIHBlciBlZGl6aW9uaSAqL1xuI2FjY29yZGlvblN0dWRlbnRzIC5hY2NvcmRpb24tYXJyb3cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuXG4jYWNjb3JkaW9uU3R1ZGVudHMgLmNhcmQtaGVhZGVyLmNvbGxhcHNlZCAuYWNjb3JkaW9uLWFycm93IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuI2FjY29yZGlvblN0dWRlbnRzIC5jYXJkLWhlYWRlcjpub3QoLmNvbGxhcHNlZCkgLmFjY29yZGlvbi1hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4jYWNjb3JkaW9uQ2FsZW5kYXJzIC5jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksIGJhY2tncm91bmQtY29sb3IgMC4zcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbn1cblxuI2FjY29yZGlvbkNhbGVuZGFycyAuY2FyZC1oZWFkZXIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSwgY29sb3IgMC40cyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbn1cblxuI2FjY29yZGlvbkNhbGVuZGFycyAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbi8qIFJvdGF6aW9uZSBmcmVjY2lhIHBlciBlZGl6aW9uaSAqL1xuI2FjY29yZGlvbkNhbGVuZGFycyAuYWNjb3JkaW9uLWFycm93IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cblxuI2FjY29yZGlvbkNhbGVuZGFycyAuY2FyZC1oZWFkZXIuY29sbGFwc2VkIC5hY2NvcmRpb24tYXJyb3cge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG4jYWNjb3JkaW9uQ2FsZW5kYXJzIC5jYXJkLWhlYWRlcjpub3QoLmNvbGxhcHNlZCkgLmFjY29yZGlvbi1hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4jYWNjb3JkaW9uU3RhZmYgLmNhcmQge1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpO1xufVxuXG4jYWNjb3JkaW9uU3RhZmYgLmNhcmQtaGVhZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksIGNvbG9yIDAuNHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbiNhY2NvcmRpb25TdGFmZiAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbi8qIFJvdGF6aW9uZSBmcmVjY2lhIHBlciBlZGl6aW9uaSAqL1xuI2FjY29yZGlvblN0YWZmIC5hY2NvcmRpb24tYXJyb3cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuXG4jYWNjb3JkaW9uU3RhZmYgLmNhcmQtaGVhZGVyLmNvbGxhcHNlZCAuYWNjb3JkaW9uLWFycm93IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuI2FjY29yZGlvblN0YWZmIC5jYXJkLWhlYWRlcjpub3QoLmNvbGxhcHNlZCkgLmFjY29yZGlvbi1hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4uZW50ZS1vcGVyYXRpbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTJweCwgMzNweCwgMHB4KSAhaW1wb3J0YW50O1xufVxuXG4ucG9wb3Zlci1Eb2Mtc2VkZSAjcG9wb3Zlci1ib2R5LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMzAwcHggIWltcG9ydGFudDtcbn1cblxuXG5cblxuXG5cbi5ib3JkZXItZ3JheSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMSwgMjAxLCAyMDEsIDAuNDI3KSAhaW1wb3J0YW50O1xufVxuXG4uY291cnNlLXVwbG9hZCAucG9wb3ZlciB7XG4gICAgd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA1MDBweCAhaW1wb3J0YW50O1xufVxuXG4uY291cnNlLXVwbG9hZCAucG9wb3Zlci1kaXYge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbmRpdltkYXRhLWZpbGUtcHJldmlldy10YXJnZXQ9XCJwcmV2aWV3XCJdIC5maWxlLXByZXZpZXctaXRlbTpvbmx5LWNoaWxkPioge1xuICAgIGJvcmRlci10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uYnRuLWNvcHkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xufVxuXG4ucmlwcGxlLWVmZmVjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgYW5pbWF0aW9uOiByaXBwbGUgMC40cyBsaW5lYXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuXG4uYm94LXNoYWRvdy1pbnNldCB7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAxMnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjI0KSBpbnNldDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDFweCAxcHggMTJweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yNCkgaW5zZXQ7XG4gICAgLW1vei1ib3gtc2hhZG93OiAxcHggMXB4IDEycHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMjQpIGluc2V0O1xufVxuXG5Aa2V5ZnJhbWVzIHJpcHBsZSB7XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICAgIH1cbn1cblxuLnNrZWxldG9uLWxvYWRlci1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2tlbGV0b24tYW5pbWF0aW9uIHtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNlZWUgMjUlLCAjZjVmNWY1IDUwJSwgI2VlZSA3NSUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgIGFuaW1hdGlvbjogc2tlbGV0b24tbG9hZGluZyAxLjJzIGluZmluaXRlIGxpbmVhcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbkBrZXlmcmFtZXMgc2tlbGV0b24tbG9hZGluZyB7XG4gICAgMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG4gICAgfVxufVxuXG5kaXZbZGF0YS1pZD1cImNvcHktcG9wb3ZlclwiXSAucG9wb3ZlciB7XG4gICAgbWluLXdpZHRoOiAxNTBweCAhaW1wb3J0YW50O1xufVxuXG4jcG9wb3Zlci1yZWplY3Rpb25Ob3RlLWNvdXJzZS1kb2N1bWVudCAjcG9wb3Zlci1ib2R5LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjAwcHggIWltcG9ydGFudDtcbn1cblxuI3BvcG92ZXItcmVqZWN0aW9uTm90ZS1jb3Vyc2UtZG9jdW1lbnQgI2N1c3RvbVRyaWdnZXItcG9wb3ZlciB7XG4gICAgdG9wOiAtMTRweCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IC03cHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMjhweCAhaW1wb3J0YW50O1xuXG59XG5cbmRpdltkYXRhLWlkPVwiY29weS1wb3BvdmVyXCJdIC5zaGFkb3ctbGcucC0yLnJvdW5kZWQtMiB7XG4gICAgcGFkZGluZzogLjJyZW0gIWltcG9ydGFudDtcbn1cblxuLmFsZXJ0LWNhcmQtd2FybmluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmNjZTAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goOTQuNSUgMC4xMjkgMTAxLjU0LzMwJSkgIWltcG9ydGFudDtcbn1cblxuLmFsZXJ0LWNhcmQtZGFuZ2VyIHtcbiAgICBib3JkZXItY29sb3I6ICNkMTAzMDMgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBva2xjaCg2MiUgMC4yNSAyOS4yMyAvIDMwJSkgIWltcG9ydGFudDtcbn1cblxuLmFsZXJ0LWNhcmQtc3VjY2VzcyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTk4NzU0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goNzIuMyUgMC4yMTkgMTQ5LjU3OSAvIDMwJSkgIWltcG9ydGFudDtcbn1cblxuLnctZml0IHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbn1cblxuXG5kaXZbZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuXG59XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0uZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAxLCAyMDEsIDIwMSwgMC40MjcpICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbn1cblxuZGl2W2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0ge1xuXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmRpdltkaXNhYmxlZD1cImRpc2FibGVkXCJdIGlucHV0W3R5cGU9Y2hlY2tib3hdOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMSwgMjAxLCAyMDEsIDAuNDI3KSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbn1cblxuZGl2W2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0gbGFiZWwge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNjE2KSAhaW1wb3J0YW50O1xuXG59XG5cblxuXG50ZC5kLWZsZXgge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlucHV0LXJhZGlvLWJ1dHRvbi1kb2M+ZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnRleHRhcmVhLWRvYyB7XG4gICAgbWF4LWhlaWdodDogNTBweCAhaW1wb3J0YW50O1xufVxuXG4uZGVzY3JpcHRpb24tZG9jLWVudGUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5kZXNjcmlwdGlvbi1kb2MtZW50ZSAucG9wb3Zlci1oZWFkZXItY3VzdG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2I5YjliOSAhaW1wb3J0YW50O1xuXG59XG5cbi5uYXYtbGluay53LTEwMC5yb3VuZGVkLTIudGV4dC1wcmltYXJ5LmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG5cblxuLm5hdi1saW5rLnctMTAwLnJvdW5kZWQtMi50ZXh0LXByaW1hcnkuZGlzYWJsZWQ+c3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goODcuMiUgMC4wMSAyNTguMzM4KSAhaW1wb3J0YW50O1xufVxuXG4uZGVzY3JpcHRpb24tZG9jLWVudGUgLnBvcG92ZXItYm9keS1jdXN0b20ge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiB0ZXh0ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13aGl0ZS01MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNiAhaW1wb3J0YW50O1xufVxuXG4uYmctcGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goNzEuOCUgMC4yMDIgMzQ5Ljc2MSkgIWltcG9ydGFudDtcbn1cblxuLmFsZXJ0LWNhcmQtaW5mbyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA4MGZmICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goOTMuMiUgMC4wMzIgMjU1LjU4NS81MCUpICFpbXBvcnRhbnQ7XG59XG5cbi5idG4tY29weTpob3ZlciB7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBva2xjaCg4Ny4yJSAwLjAxIDI1OC4zMzgpICFpbXBvcnRhbnQ7XG5cbn1cblxuXG4uYnRuLWNvcHk6aG92ZXI+c3ZnLFxuLmJ0bi1jb3B5OmhvdmVyPnNwYW4+c3ZnIHtcbiAgICBzdHJva2U6ICMwMDY2Q0MgIWltcG9ydGFudDtcbn1cblxuLmNvb2tpZWJhciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5idG4tbm90aWZ5IHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgIWltcG9ydGFudDtcbn1cblxuLm5vdGlmeS1ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59XG5cblxuXG4ucHVsc2luZy1mbGFzaC1pbmZvIHtcbiAgICBhbmltYXRpb246IHB1bHNpbmctZmxhc2gtYmx1ZSAxLjVzIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDY2Q0M7XG59XG5cbi5wdWxzaW5nLWZsYXNoLXdhcm5pbmcge1xuICAgIGFuaW1hdGlvbjogcHVsc2luZy1mbGFzaC15ZWxsb3cgMS41cyBpbmZpbml0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNjZTAwO1xufVxuXG4ucHVsc2luZy1mbGFzaC1zdWNjZXNzIHtcbiAgICBhbmltYXRpb246IHB1bHNpbmctZmxhc2gtZ3JlZW4gMS41cyBpbmZpbml0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4MDU2O1xufVxuXG4ucHVsc2luZy1mbGFzaC1kYW5nZXIge1xuICAgIGFuaW1hdGlvbjogcHVsc2luZy1mbGFzaC1yZWQgMS41cyBpbmZpbml0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MzMzRkO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNpbmctZmxhc2gtYmx1ZSB7XG4gICAgMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2NmNjODI7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjZDQztcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjZjYzgyO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzaW5nLWZsYXNoLXllbGxvdyB7XG4gICAgMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNjZTAwODI7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjY2UwMDtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjY2UwMDgyO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzaW5nLWZsYXNoLWdyZWVuIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjgwNTY4MjtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4MDU2O1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4MDU2ODI7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNpbmctZmxhc2gtcmVkIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzMzNGQ4MjtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MzMzRkO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MzMzRkODI7XG4gICAgfVxufVxuXG5cbi5jYW5jZWwtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3NywgMTc3LCAxNzcsIDAuMjgxKSAhaW1wb3J0YW50O1xufVxuXG4ubm90aWZ5LWJvZHk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG9rbGNoKDk3LjElIDAuMDEzIDE3LjM4KSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYnRuLW5vdGlmeT5zdmcge1xuICAgIHdpZHRoOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7XG59XG5cblxuLnBvcG92ZXItYXJyb3cge1xuICAgIHdpZHRoOiAxLjJlbTtcbiAgICBoZWlnaHQ6IDEuMmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBvcG92ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTA2MDtcbn1cblxuZGl2W2RhdGEtaWQ9cG9wb3Zlci11c2VyLXJvbGVdIGRpdltkYXRhLXBvcG92ZXItdGFyZ2V0PVwicG9wb3ZlclwiXSB7XG4gICAgbWluLXdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xufVxuXG4ucG9wb3Zlci5tb3N0cmEge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmJzLXBvcG92ZXItdG9wIC5wb3BvdmVyLWFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAtMC41ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIGJvcmRlci13aWR0aDogMCAxZW0gMWVtIDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1hcnJvdyB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogLTAuNWVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlci13aWR0aDogMWVtIDFlbSAwIDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAtMnB4IDZweCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uYnMtcG9wb3Zlci1yaWdodCAucG9wb3Zlci1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLTAuNWVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTM1ZGVnKTtcbiAgICBib3JkZXItd2lkdGg6IDFlbSAxZW0gMCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAwIDZweCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IC5wb3BvdmVyLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogLTAuNWVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMjI1ZGVnKTtcbiAgICBib3JkZXItd2lkdGg6IDFlbSAwIDAgMWVtO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xuICAgIGJveC1zaGFkb3c6IC0ycHggMCA2cHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuXG4gICAgNzUlIHtcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICB9XG5cbiAgICA4MCUge1xuICAgICAgICBvcGFjaXR5OiAwLjE7XG4gICAgfVxuXG4gICAgOTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC4wNTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cblxuXG4uZHJvcGRvd24tbWVudS5zdWJtZW51LXBvc2l0aW9uZWQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogdW5zZXQgIWltcG9ydGFudDtcbiAgICByaWdodDogLTVweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uc3VibWVudS1wb3NpdGlvbmVkIHtcbiAgICB0b3A6IC0zMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kcm9wZG93bi1pdGVtW2RhdGEtYWNjb3JkaW9uPVwidHJ1ZVwiXTpob3Zlcixcbi5kcm9wZG93bi1pdGVtW2RhdGEtYWNjb3JkaW9uPVwidHJ1ZVwiXS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTAzLCAyMDQsIDAuMSk7XG59XG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1tZW51IHtcbiAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uZHJvcGRvd24taXRlbVtkYXRhLWFjY29yZGlvbj1cInRydWVcIl0gLmljb24ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5kcm9wZG93bi1pdGVtW2RhdGEtYWNjb3JkaW9uPVwidHJ1ZVwiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAuaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLnJvdW5kZWQtdG9wLTIge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuM3JlbSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjNyZW0gIWltcG9ydGFudDtcbn1cblxuXG4uYmFja2Ryb3AtZmlsdGVyIHtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KSBzYXR1cmF0ZSgxNjAlKTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpIHNhdHVyYXRlKDE2MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTAyLCAyMDQsIDAuMjUpO1xuICAgIC8qIG9wemlvbmFsZTogbGVnZ2VybyBvdmVybGF5IGJsdSAqL1xuICAgIHRyYW5zaXRpb246IGJhY2tkcm9wLWZpbHRlciAwLjNzO1xufVxuXG4uY2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbGluazpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmNhcmQtaGVhZGVyLnJvbGUtaGVhZGVyIHtcbiAgICBtaW4taGVpZ2h0OiAxNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgICAvKiBzdGVzc28gdmFsb3JlIGRpIHJvdW5kZWQtMyAqL1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgLyogU2UgdnVvaSBhbmNoZSBldml0YXJlIGRvcHBpbyBib3JkbyB0cmEgaGVhZGVyIGUgYm9keTogKi9cbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY2FyZDphZnRlciB7XG4gICAgY29udGVudDogdW5zZXQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLm5vdGlmaWNhdGlvbi1tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmRyb3BzdGFydCB1bCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjMwcHgsIDIycHgsIDBweCkgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtdGl0bGU6OmZpcnN0LWxldHRlcixcbi5jYXJkLXRleHQ6OmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDtcbn1cblxuXG5cblxuLnVwbG9hZFtkaXNhYmxlZD1cImRpc2FibGVkXCJdK2xhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMSwgMjAxLCAyMDEsIDAuNDI3KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiByZ2JhKDk2LCA5NiwgOTYsIDAuNzUzKSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubGluay1oaWdobGlnaHQ6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwNjZDQyAhaW1wb3J0YW50O1xufVxuXG5sYWJlbC5mb3JtLWxhYmVse1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAhaW1wb3J0YW50O1xufVxuXG4udGlwby1yZXF1aXNpdG8tZG9jdW1lbnRvIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1jaGVjayBbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBoc2woMjEwLCAxMDAlLCA3MSUpICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dC10eXBlLXNlbGVjdDpkaXNhYmxlZHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMSwgMjAxLCAyMDEsIDAuNDI3KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiByZ2JhKDk2LCA5NiwgOTYsIDAuNzUzKSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbn1cblxuXG4uZm9ybS1jaGVjayBbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBoc2woMjEwLCAxMDAlLCA3MSUpICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLWNoZWNrIFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQ6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMjEwLCAxMDAlLCAzOSUsIDAuNjUyKSAhaW1wb3J0YW50O1xufVxuXG5cblxuLnRpcG8tcmVxdWlzaXRvLWRvY3VtZW50bzpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgIWltcG9ydGFudDtcbn1cblxuXG4uYXJlYS1yaXNlcnZhdGEtbWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBva2xjaCg5Mi44JSAwLjAwNiAyNjQuNTMxKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5mYWRlLW91dCB7XG4gICAgYW5pbWF0aW9uOiBmYWRlT3V0IDAuM3MgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG59XG5cbi5wcm9maWxlLW1lbnUgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goOTIuOCUgMC4wMDYgMjY0LjUzMSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xufVxuXG4ucHJvZ3Jlc3Mtc3Bpbm5lci5wcm9ncmVzcy1zcGlubmVyLWFjdGl2ZTpub3QoLnByb2dyZXNzLXNwaW5uZXItZG91YmxlKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2NkNDICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaHNsKDIxMCwgMyUsIDg1JSkgIWltcG9ydGFudDtcbn1cblxuXG4uYnRuLW5vdGlmeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjZDQyAhaW1wb3J0YW50O1xufVxuXG4udGFibGU+dGJvZHk6bm90KC5ib3JkZXIpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBoc2woMjEwLCA0JSwgNzglKSAhaW1wb3J0YW50O1xuICAgIC8qIGJvcmRvIGVzdGVybm8gKi9cbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZT50Ym9keT50cj50ZDpub3QoLnRleHQtY2VudGVyLmQtZmxleC5mbGV4LXJvdy5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyLmFsaWduLWl0ZW1zLWNlbnRlci5nYXAtMikge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgyMTAsIDQlLCA3OCUpO1xuICAgIC8qIGJvcmRpIGludGVybmkgKi9cbn1cblxuLmNvZGV4LWVkaXRvcl9fcmVkYWN0b3Ige1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLmNlLWJsb2NrX19jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM1cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMTkwcHggIWltcG9ydGFudDtcbn1cblxuXG4uY2UtYmxvY2tfX2NvbnRlbnQ+ZGl2IHtcbiAgICBtYXgtd2lkdGg6IDExODBweCAhaW1wb3J0YW50O1xufVxuXG5cblxuLmluZm8tcm9sZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIwcHg7XG59XG5cbi5jb2RleC1lZGl0b3JfX3JlZGFjdG9yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jZS10b29sYmFyX19hY3Rpb25zIHtcbiAgICByaWdodDogLTMwOHB4ICFpbXBvcnRhbnQ7XG59XG5cblxuLnJvbGUtY2FyZCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnJvbGUtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLnJvbGUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJvbGUtaWNvbi1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgb3BhY2l0eTogMC4xO1xufVxuXG4ucm9sZS1pY29uLWJnPnN2ZyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBzdHJva2U6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5yb2xlLWxpbmsge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnJvbGUtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goOTYuNyUgMC4wMDMgMjY0LjU0MikgIWltcG9ydGFudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG59XG5cbi5pdC1jYWxsb3V0IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA2NkNDICFpbXBvcnRhbnQ7XG59XG5cbi5pY29uLWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5idXR0b24taG9tZS01MDA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG9rbGNoKDkyLjglIDAuMDA2IDI2NC41MzEpICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmRhc2hib2FyZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogb2tsY2goOTIuOCUgMC4wMDYgMjY0LjUzMSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xufVxuXG4ucm9sZS1saW5rOmhvdmVyIC5pY29uLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cblxuLmNoZXZyb24taWNvbiB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ucm9sZS1saW5rOmhvdmVyIC5jaGV2cm9uLWljb24ge1xuICAgIGNvbG9yOiAjNDk1MDU3O1xufVxuXG4uYmctZ3JhZGllbnQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzBkNmVmZCAwJSwgIzBhNThjYSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxOTg3NTQgMCUsICMxNDZjNDMgMTAwJSk7XG59XG5cbi5iZy1ncmFkaWVudC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMGRjYWYwOWEgMCUsICMwODc5OTAgMTAwJSk7XG59XG5cbi5iZy1ncmFkaWVudC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZjMTA3IDAlLCAjY2M5YTA2IDEwMCUpO1xufVxuXG4uYmctZ3JhZGllbnQtZGFyayB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzIxMjUyOSAwJSwgIzAwMCAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LWRhbmdlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2RjMzU0NSAwJSwgI2IwMmEzNyAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2EyNTllNiAwJSwgIzZmNDJjMSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzZjNzU3ZCAwJSwgIzQ5NTA1NyAxMDAlKTtcbn1cblxuYSB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tZ3J1cHBvIHtcbiAgICB3aWR0aDogMzAlO1xufVxuXG5cbi5tYWluLWNvbnRlbnQge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4uaXQtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmJnLWdyYXktNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWMgIWltcG9ydGFudDtcbn1cblxuXG5cbi5zdmdGbGFnIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5icmVhZGNydW1iLWNvbnRhaW5lci1jdXN0b20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1cHggNXB4IDVweCA1cHg7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLmhpZ2hsaWdodC1zZWN0aW9uIHtcbiAgICBhbmltYXRpb246IGhpZ2hsaWdodEZhZGUgMnMgZWFzZS1vdXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGlnaGxpZ2h0LXNlY3Rpb246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogLTEwcHg7XG4gICAgcmlnaHQ6IC0xMHB4O1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyOCwgMTE3LCAxODgsIDAuMSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzFjNzViYztcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYW5pbWF0aW9uOiBoaWdobGlnaHRQdWxzZSAycyBlYXNlLW91dDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG5Aa2V5ZnJhbWVzIGhpZ2hsaWdodEZhZGUge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyOCwgMTE3LCAxODgsIDAuMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaGlnaGxpZ2h0UHVsc2Uge1xuICAgICAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgIH1cbn1cblxuXG5kaXZbZGF0YS1pZF49XCJwb3BvdmVyLWRvY3VtZW50LXJldmlldy1cIl0gI3BvcG92ZXItYm9keS1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4IWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy15OiBhdXRvIWltcG9ydGFudDtcbn1cbi5wb3BvdmVye1xuICAgIHotaW5kZXg6IDEwNjAgIWltcG9ydGFudDtcbn1cblxuXG4uYnV0dG9uLWNsb3Nle1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxLjVlbSFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxLjVlbSFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5idXR0b24tY2xvc2U6aG92ZXJ7XG4gICAgY29sb3I6IHJnYmEoMjAzLCAwLCAwLCAwLjUxMykhaW1wb3J0YW50O1xufVxuXG5cblxuLmFsZXJ0LXN1Y2Nlc3MtY3VzdG9tLFxuLmFsZXJ0LWRhbmdlci1jdXN0b20sXG4uYWxlcnQtaW5mby1jdXN0b20sXG4uYWxlcnQtd2FybmluZy1jdXN0b20ge1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMDBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRvcDogMzBweDtcbiAgICByaWdodDogNXB4O1xufVxuXG4uYWxlcnQtc3VjY2Vzcy1jdXN0b20ge1xuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgIzE5ODc1NCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2ZlZjIgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYTVmZjhjO1xufVxuXG4uYWxlcnQtZGFuZ2VyLWN1c3RvbSB7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRjJGMiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjhjOTc7XG59XG5cbi5hbGVydC1pbmZvLWN1c3RvbSB7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAjMDA2NmNjICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZmJmZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4Y2UwZmY7XG5cbn1cblxuLmFsZXJ0LXdhcm5pbmctY3VzdG9tIHtcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICNmZmMxMDcgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmN2NmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZjZDk2ODtcbn1cblxuXG4uYmFjay10by10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgei1pbmRleDogOTk4O1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjNzIGVhc2U7XG59XG5cbi8qIEZsYXNoIG1lc3NhZ2VzIHJpZ2h0IGJvdHRvbSAobG8gc3RvIG1ldHRlbmRvIGluIHRvcCByaWdodCkuXG5cbmJvZHk6aGFzKC5hbGVydC1zdWNjZXNzLWN1c3RvbSksXG5ib2R5OmhhcyguYWxlcnQtZGFuZ2VyLWN1c3RvbSksXG5ib2R5OmhhcyguYWxlcnQtaW5mby1jdXN0b20pLFxuYm9keTpoYXMoLmFsZXJ0LXdhcm5pbmctY3VzdG9tKSB7XG4gICAgLmJhY2stdG8tdG9wIHtcbiAgICAgICAgYm90dG9tOiAxMjBweDtcbiAgICB9XG59ICovXG5cblxuXG5cblxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5icmVhZGNydW1iLWl0ZW0rLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbn1cblxuLnNoYWRvdy1tZCB7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSxcbiAgICAgICAgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKSFpbXBvcnRhbnQ7XG59XG5cbi5yZWFkLW1vcmU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDY2Q0MgIWltcG9ydGFudDtcbn1cblxuLmNoYW5nZS1wYXNzd29yZCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmNoYW5nZS1wYXNzd29yZDpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2NkNDICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5idG4tZG93bmxvYWQge1xuICAgIGNvbG9yOiAjMDA2NkNDICEgaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlICFpbXBvcnRhbnQ7XG59XG5cblxuLyogTW9kaWZpY2EgbGEgbWFzc2ltYSBhbHRlenphIGRlbCBjb3JwbyBkZWwgcG9wb3ZlciAqL1xuI3BvcG92ZXItYm9keS1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xufVxuXG5cbi5jdXN0b20tdXBsb2FkIHtcbiAgICBtaW4taGVpZ2h0OiAxOTFweCAhaW1wb3J0YW50O1xufVxuXG5qcy1leGlzdGluZy1maWxlLWJsb2NrIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGwgIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdC1jb3Jzbz5zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG9rbGNoKDk2LjclIDAuMDAzIDI2NC41NDIpICFpbXBvcnRhbnQ7XG59XG5cbi5jdXJzb3ItcG9pbnRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG5cbi5jdXJzb3ItcG9pbnRlcjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG5cbnNlbGVjdC5jdXJzb3ItcG9pbnRlcjpob3Zlcj5vcHRpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG9rbGNoKDk2LjclIDAuMDAzIDI2NC41NDIpICFpbXBvcnRhbnQ7XG59XG5cbnNlbGVjdC5jdXJzb3ItcG9pbnRlcj5vcHRpb24ge1xuICAgIHBhZGRpbmc6IDZweCAhaW1wb3J0YW50O1xufVxuXG5cbmRpdltkYXRhLWNvbnRyb2xsZXI9XCJmaWxlLXByZXZpZXdcIl0+ZGl2LmNvbC1tZC0zPmxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdC1zZWRlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdC1zZWRlOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1kb3dubG9hZDpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjZDQyAhaW1wb3J0YW50O1xuXG59XG5cblxuXG4ubm90aWZpY2F0aW9uLWNvdW50IHtcbiAgICB0b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICBsZWZ0OiA0NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5idG4tZG93bmxvYWQ6aG92ZXI+c3ZnIHtcbiAgICBzdHJva2U6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cblxuZGl2W2RhdGEtY29udHJvbGxlcj1cIm5vdGlmaWNhdGlvblwiXSAuZHJvcGRvd24tbWVudTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDY2Q0MgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAtMSAhaW1wb3J0YW50O1xufVxuXG4uYWxlcnQuc2xpZGUtaW4ge1xuICAgIGFuaW1hdGlvbjogc2xpZGVJbkRvd24gMC42cyBlYXNlO1xufVxuXG4ubGlzdC1icmVhZGNydW1iLFxuLmxpc3QtYnJlYWRjcnVtYj5saSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogLi4uZXhpc3RpbmcgY29kZS4uLiAqL1xuLmxpc3QtYnJlYWRjcnVtYj5saT5zcGFuLFxuLmxpc3QtYnJlYWRjcnVtYj5saT5hIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmxpc3QtYnJlYWRjcnVtYj5saT5zcGFuOmhvdmVyLFxuLmxpc3QtYnJlYWRjcnVtYj5saT5hOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIEFnZ2l1bmdvIGwnYW5pbWF6aW9uZSBwZXIgbGEgc290dG9saW5lYXR1cmEgKi9cbi5saXN0LWJyZWFkY3J1bWI+bGk+c3Bhbjo6YWZ0ZXIsXG4ubGlzdC1icmVhZGNydW1iPmxpPmE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4ubGlzdC1icmVhZGNydW1iPmxpPnNwYW46aG92ZXI6OmFmdGVyLFxuLmxpc3QtYnJlYWRjcnVtYj5saT5hOmhvdmVyOjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cblxuLyoqIElucHV0IHR5cGUgICovXG4uaW5wdXQtdHlwZS1zZWFyY2gge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGEgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMnJlbSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dC10eXBlLXRleHQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGEgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4uaW5wdXQtdHlwZS10ZXh0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDY2Y2MgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMDIsIDIwNCwgMC4yNSkgIWltcG9ydGFudDtcbn1cblxuLmlucHV0LXR5cGUtZGF0ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dC10eXBlLWRhdGU6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwNjZjYyAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEwMiwgMjA0LCAwLjI1KSAhaW1wb3J0YW50O1xufVxuXG5cbi5pbnB1dC10eXBlLXNlYXJjaDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2NmNjICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTAyLCAyMDQsIDAuMjUpICFpbXBvcnRhbnQ7XG59XG5cbi5pbnB1dC10eXBlLXNlbGVjdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogLjM3NXJlbSAuNXJlbSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmlucHV0LXR5cGUtc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDY2Y2MgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMDIsIDIwNCwgMC4yNSkgIWltcG9ydGFudDtcbn1cblxuLyoqIElucHV0IHR5cGUgc2VsZWN0IGVuZCAqL1xuXG4udGFibGU+IDpub3QoY2FwdGlvbik+Kj4qIHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnRhYmxlLXJlc3BvbnNpdmUtY3VzdG9tIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLm1haW4tY29udGVudD4udGFibGUtcmVzcG9uc2l2ZS1jdXN0b20ge1xuICAgIC8qIFNlIHZ1b2kgbGltaXRhcmUgbGEgbGFyZ2hlenphIG1hc3NpbWEgY29tZSBpbCBtYWluLWNvbnRlbnQgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50YWJsZS1yZXNwb25zaXZlLWN1c3RvbSB0YWJsZSB7XG4gICAgbWluLXdpZHRoOiA1MDBweDtcbiAgICAvKiBvIGxhIGxhcmdoZXp6YSBtaW5pbWEgZGVzaWRlcmF0YSAqL1xufVxuXG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXS50ZXh0LXN1Y2Nlc3M6aGFzKH4gbGFiZWwpLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLnRleHQtc3VjY2VzcytsYWJlbCB7XG4gICAgY29sb3I6ICMxOTg3NTQgIWltcG9ydGFudDtcbiAgICAvKiBCb290c3RyYXAgdGV4dC1zdWNjZXNzICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5kLWZsZXguanVzdGlmeS1jb250ZW50LWNlbnRlci5nYXAtMS5jb21waWxhbnRTdGF0dXM+bGFiZWw6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlIGwnaW5wdXQgcmFkaW8gaGEgLnRleHQtZGFuZ2VyLCBsYSBsYWJlbCBzdWJpdG8gZG9wbyBwcmVuZGUgLnRleHQtZGFuZ2VyICovXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0udGV4dC1kYW5nZXI6aGFzKH4gbGFiZWwpLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLnRleHQtZGFuZ2VyK2xhYmVsIHtcbiAgICBjb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50O1xuICAgIC8qIEJvb3RzdHJhcCB0ZXh0LWRhbmdlciAqL1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbn1cblxuXG5cbiNjb3Vyc2VzQWNjb3JkaW9uIC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XG4gICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHg9JzBweCcgeT0nMHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnICUzRSUzQ2clM0UlM0NwYXRoIGZpbGw9J3doaXRlJyBkPSdNMTIsMTAuM2w0LjgsNC44YzAuMywwLjMsMC44LDAuMywxLjEsMGMwLjMtMC4zLDAuMy0wLjgsMC0xYzAsMCwwLDAsMCwwbC00LjgtNC44Yy0wLjYtMC42LTEuNS0wLjYtMi4xLDBMNi4yLDE0Yy0wLjMsMC4zLTAuMywwLjgsMCwxYzAsMCwwLDAsMCwwYzAuMywwLjMsMC44LDAuMywxLjEsMEwxMiwxMC4zeicvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpICFpbXBvcnRhbnQ7XG59XG5cbiNjb3Vyc2VzQWNjb3JkaW9uIC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbiNjb3Vyc2VzQWNjb3JkaW9uIC5kLWZsZXguZmxleC1jb2x1bW46aG92ZXI6bm90KCNjb3Vyc2VTdGFmZkFjY29yZGlvbikge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5cblxuLyogLnN0aWNreS1zYXZlLWJhciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206MDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KSBzYXR1cmF0ZSgxNjAlKTtcbiAgICBwYWRkaW5nOjRyZW07XG4gICAgd2lkdGg6IDMwJTtcbiAgICBkaXNwbGF5OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59ICovXG5cbi5zdGlja3ktc2F2ZS1iYXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAxcmVtO1xuICAgIGxlZnQ6IDJyZW07XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpIHNhdHVyYXRlKDE2MCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE2cHggcmdiKDAgMCAwIC8gMTYlKTtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMXJlbTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzO1xufVxuXG4uc3RpY2t5LXNhdmUtYmFyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IHJnYmEoMCwwLDAsMC4xOCk7XG59XG5cbi5uby1zaGFkb3cuc3RpY2t5LXNhdmUtYmFyLCAubm8tc2hhZG93LnN0aWNreS1zYXZlLWJhcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbiNwb3BvdmVyU2FsdmE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6NDclO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgIzM5MzkzOTtcbn1cblxuXG5cbi8qICEgU2lkZWJhciAtIFNvbHV6aW9uZSBzb2xvIENTUyAqL1xuXG4uc2lkZWJhci13cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgbWluLWhlaWdodDogNTMwcHg7XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG59XG5cbi5zaWRlYmFyLWNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4uc2lkZWJhci1ib2R5OmhhcyhwLnJlZ2lzdGVyKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwdmg7XG59XG5cbi5hY2NvcmRpb24taXRlbS1zaWRlYmFyOm5vdCguZGFuZ2VyKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjZjYyAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cbn1cblxuXG4uYWNjb3JkaW9uLWl0ZW0tc2lkZWJhci5kYW5nZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDAzICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgIWltcG9ydGFudDtcbiAgICBjb2xvcjogb2tsY2goNjMuNyUgMC4yMzcgMjUuMzMxKSAhaW1wb3J0YW50O1xufVxuXG5cbi5hY2NvcmRpb24taXRlbS1zaWRlYmFyOm5vdCguZGFuZ2VyKTpob3Zlcj5zdmcsXG4uYWNjb3JkaW9uLWl0ZW0tc2lkZWJhcjpub3QoLmRhbmdlcik6aG92ZXI+c3ZnIHBhdGgge1xuICAgIHN0cm9rZTogd2hpdGUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuXG5cbi5mb290ZXItc2lkZWJhciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0U1RTdFQjtcbiAgICBwYWRkaW5nOiAxcmVtO1xufVxuXG4ubWFpbi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4KSAhaW1wb3J0YW50O1xufVxuXG5ib2R5W2RhdGEtcm91dGU9XCJhcHBfaG9tZVwiXSAubWFpbi1jb250ZW50e1xuICAgIHBhZGRpbmctcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzE1cHgpICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAhaW1wb3J0YW50O1xufVxuXG4uY2FyZC1uZXctc3lzdGVte1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzAwNjZDQyAhaW1wb3J0YW50O1xufVxuXG5cblxuXG4uZmxleC1sYXlvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuXG4uYm9yZGVyLWdyYXktZmlnbWEge1xuICAgIGJvcmRlci1jb2xvcjogI0U1RTdFQjtcbn1cblxuLnNpZGViYXItbmF2LWxpbmtzIHN2ZyB7XG4gICAgc3Ryb2tlOiAjMDA2NkNDICFpbXBvcnRhbnQ7XG59XG5cblxuLmFjY29yZGlvbi1pdGVtLXNpZGViYXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjVyZW0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTlhOWE5MjA7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5hY2NvcmRpb24taXRlbS1zaWRlYmFyLmRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDIxICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PSBEWU5BTUlDIEZPUk0gU1RZTElORyA9PT0gKi9cbi8qIENvbnRlbml0b3JlIHByaW5jaXBhbGUgZGVpIGNhbXBpIGRpbmFtaWNpICovXG4uZHluYW1pYy1mb3JtLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEdydXBwbyBkaSBjYW1waSBwZXIgcmVxdWlzaXRvICovXG4uZHluYW1pYy1mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDFyZW07XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIFdyYXBwZXIgc2luZ29sbyBjYW1wbyAqL1xuLmR5bmFtaWMtZmllbGQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMSBjYWxjKDMzLjMzMyUgLSAxcmVtKTsgLyogMyBjb2xvbm5lIGRpIGRlZmF1bHQgKi9cbiAgICBtaW4td2lkdGg6IDI1MHB4O1xufVxuXG4vKiBMYWJlbCB1bmlmb3JtZSBwZXIgdHV0dGkgaSBjYW1waSAqL1xuLmR5bmFtaWMtZmllbGQtd3JhcHBlciAuZm9ybS1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIElucHV0IGUgd2lkZ2V0IHVuaWZvcm1pICovXG4uZHluYW1pYy1maWVsZC13cmFwcGVyIC5mb3JtLWNvbnRyb2wsXG4uZHluYW1pYy1maWVsZC13cmFwcGVyIC5mb3JtLXNlbGVjdCxcbi5keW5hbWljLWZpZWxkLXdyYXBwZXIgLmlucHV0LXR5cGUtdGV4dCxcbi5keW5hbWljLWZpZWxkLXdyYXBwZXIgLmlucHV0LXR5cGUtZGF0ZSxcbi5keW5hbWljLWZpZWxkLXdyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uZHluYW1pYy1maWVsZC13cmFwcGVyIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4uZHluYW1pYy1maWVsZC13cmFwcGVyIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmR5bmFtaWMtZmllbGQtd3JhcHBlciBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5keW5hbWljLWZpZWxkLXdyYXBwZXIgLmZvcm0tY29udHJvbDpmb2N1cyxcbi5keW5hbWljLWZpZWxkLXdyYXBwZXIgaW5wdXQ6Zm9jdXMsXG4uZHluYW1pYy1maWVsZC13cmFwcGVyIHNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2NmNjO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTAyLCAyMDQsIDAuMjUpO1xufVxuXG4vKiBDYW1wbyBwaWVuYSBsYXJnaGV6emEgKHBlciB0ZXh0YXJlYSwgY2FtcGkgc3BlY2lhbGkpICovXG4uZHluYW1pYy1maWVsZC13cmFwcGVyLmZ1bGwtd2lkdGgge1xuICAgIGZsZXg6IDEgMSAxMDAlO1xufVxuXG4vKiBDYW1wbyBtZXp6YSBsYXJnaGV6emEgKi9cbi5keW5hbWljLWZpZWxkLXdyYXBwZXIuaGFsZi13aWR0aCB7XG4gICAgZmxleDogMSAxIGNhbGMoNTAlIC0gMC41cmVtKTtcbn1cblxuLyogQ2FtcG8gdGVyem8gbGFyZ2hlenphICovXG4uZHluYW1pYy1maWVsZC13cmFwcGVyLnRoaXJkLXdpZHRoIHtcbiAgICBmbGV4OiAxIDEgY2FsYygzMy4zMzMlIC0gMXJlbSk7XG59XG5cbi8qIENoZWNrYm94IGUgUmFkaW8gaGFubm8gbGF5b3V0IGRpdmVyc28gKi9cbi5keW5hbWljLWZpZWxkLXdyYXBwZXIuY2hlY2tib3gtd3JhcHBlcixcbi5keW5hbWljLWZpZWxkLXdyYXBwZXIucmFkaW8td3JhcHBlciB7XG4gICAgZmxleDogMSAxIGNhbGMoNTAlIC0gMC41cmVtKTtcbn1cblxuLmR5bmFtaWMtZmllbGQtd3JhcHBlciAuZm9ybS1jaGVjayB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG59XG5cbi5keW5hbWljLWZpZWxkLXdyYXBwZXIgLmZvcm0tY2hlY2sgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmR5bmFtaWMtZmllbGQtd3JhcHBlciAuZm9ybS1jaGVjayBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4vKiBUZXh0YXJlYSAqL1xuLmR5bmFtaWMtZmllbGQtd3JhcHBlciB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qIE1lc3NhZ2dpIGRpIGVycm9yZSAqL1xuLmR5bmFtaWMtZmllbGQtd3JhcHBlciAuaW52YWxpZC1mZWVkYmFjayxcbi5keW5hbWljLWZpZWxkLXdyYXBwZXIgcFtpZCQ9XCItZXJyb3JcIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogI2RjMzU0NTtcbn1cblxuLyogQ29udGVuaXRvcmUgcGVyIGVsZW1lbnRpIGR1cGxpY2FiaWxpICovXG4uZHluYW1pYy1kdXBsaWNhYmxlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLyogUmFkaW8gZ3JvdXAgc3R5bGluZyBzcGVjaWFsZSAqL1xuLmR5bmFtaWMtcmFkaW8tZ3JvdXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uZHluYW1pYy1yYWRpby1ncm91cCAuZm9ybS1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4uZHluYW1pYy1yYWRpby1ncm91cCAuZm9ybS1jaGVjayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4vKiBSZXNwb25zaXZlOiAyIGNvbG9ubmUgc3UgdGFibGV0ICovXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAuZHluYW1pYy1maWVsZC13cmFwcGVyIHtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICB9XG5cbiAgICAuZHluYW1pYy1maWVsZC13cmFwcGVyLnRoaXJkLXdpZHRoIHtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICB9XG59XG5cbi8qIFJlc3BvbnNpdmU6IDEgY29sb25uYSBzdSBtb2JpbGUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5keW5hbWljLWZpZWxkLXdyYXBwZXIsXG4gICAgLmR5bmFtaWMtZmllbGQtd3JhcHBlci5oYWxmLXdpZHRoLFxuICAgIC5keW5hbWljLWZpZWxkLXdyYXBwZXIudGhpcmQtd2lkdGgsXG4gICAgLmR5bmFtaWMtZmllbGQtd3JhcHBlci5jaGVja2JveC13cmFwcGVyLFxuICAgIC5keW5hbWljLWZpZWxkLXdyYXBwZXIucmFkaW8td3JhcHBlciB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKiBIb3ZlciB2aXNpdm8gZGVkaWNhdG8gYWwgYm90dG9uZSBSZXNldCBuZWxsYSBzdGlja3ktc2F2ZS1iYXIgKi9cbi5idG4uYnRuLXJlc2V0LmJnLXdhcm5pbmc6aG92ZXIge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuMzUpOyAvKiB1c2EgaWwgY29sb3JlIHdhcm5pbmcgKi9cbiAgICBib3JkZXItY29sb3I6ICNlMGE4MDAgIWltcG9ydGFudDsgLyogdG9ubyBwaWY5IHNjdXJvIGRlbCB3YXJuaW5nICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMT0FERVIgT1ZFUkxBWSAtIFNlemlvbmUgQXppb25pXG4gICBPdmVybGF5IGNvbiBwdW50aW5pIGJvdW5jaW5nIHBlciBmZWVkYmFjayB2aXNpdm8gZHVyYW50ZSBMaXZlQWN0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWN0aW9ucy1sb2FkaW5nLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0yMHB4O1xuICAgIHdpZHRoOiAzNXJlbTtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgei1pbmRleDogMTA7XG59XG5cbi8qIENvbnRlbml0b3JlIHB1bnRpbmkgKi9cbi5ib3VuY2luZy1kb3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIFNpbmdvbG8gcHVudGlubyAqL1xuLmJvdW5jaW5nLWRvdHNfX2RvdCB7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDZlZmQ7IC8qIEJvb3RzdHJhcCBwcmltYXJ5ICovXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogYm91bmNpbmctZG90cy1hbmltYXRpb24gMC45cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLyogQW5pbWF6aW9uZSBzZXF1ZW56aWFsZSBjb24gZGVsYXkgKi9cbi5ib3VuY2luZy1kb3RzX19kb3Q6bnRoLWNoaWxkKDEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xufVxuXG4uYm91bmNpbmctZG90c19fZG90Om50aC1jaGlsZCgyKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjE1cztcbn1cblxuLmJvdW5jaW5nLWRvdHNfX2RvdDpudGgtY2hpbGQoMykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbn1cblxuLyogS2V5ZnJhbWVzIHBlciBsJ2FuaW1hemlvbmUgYm91bmNpbmcgKi9cbkBrZXlmcmFtZXMgYm91bmNpbmctZG90cy1hbmltYXRpb24ge1xuICAgIDAlLCA4MCUsIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/