/*!***********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/customers/css/registration-page.css ***!
  \***********************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap);
/*!***************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/customers/css/registration-page.css (1) ***!
  \***************************************************************************************************************************************/
/* ==========================================================================
   Customer Registration Page - Premium Redesign
   Design System: Vibrant & Block-based / Premium black + gold
   Typography: DM Sans (headings + body)
   Colors: Primary #1C1917, Accent #CA8A04, Background #FAFAF9
   ========================================================================== */

/* --- CSS Custom Properties (scoped to .registration-page) --- */
.registration-page {
    --reg-primary: #1C1917;
    --reg-secondary: #44403C;
    --reg-accent: #CA8A04;
    --reg-accent-hover: #A16207;
    --reg-accent-light: #FEF3C7;
    --reg-accent-glow: rgba(202, 138, 4, 0.15);
    --reg-bg: #FAFAF9;
    --reg-bg-card: #FFFFFF;
    --reg-text: #0C0A09;
    --reg-text-muted: #78716C;
    --reg-text-light: #A8A29E;
    --reg-border: #E7E5E4;
    --reg-border-focus: #CA8A04;
    --reg-success: #16A34A;
    --reg-info: #0284C7;
    --reg-danger: #DC2626;
    --reg-radius: 12px;
    --reg-radius-sm: 8px;
    --reg-radius-lg: 16px;
    --reg-shadow-sm: 0 1px 3px rgba(28, 25, 23, 0.06);
    --reg-shadow: 0 4px 16px rgba(28, 25, 23, 0.08);
    --reg-shadow-lg: 0 8px 32px rgba(28, 25, 23, 0.12);
    --reg-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Google Font Import --- */

/* --- Base Typography Override --- */
.registration-page,
.registration-page *:not(.fas):not(.far):not(.fab):not(.fa):not(.fea):not([data-feather]):not(.uil) {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.reg-hero,
.reg-hero *:not(.fas):not(.far):not(.fab):not(.fa):not(.fea):not([data-feather]):not(.uil) {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ==========================================================================
   NAVBAR - White text on hero (scoped via body.reg-hero-page)
   ========================================================================== */

.reg-hero-page #topnav {
    background: transparent !important;
    box-shadow: none !important;
}

.reg-hero-page #topnav .navigation-menu > li > a,
.reg-hero-page #topnav .navigation-menu > li > .sub-menu-item {
    color: rgba(255, 255, 255, 0.85) !important;
}

.reg-hero-page #topnav .navigation-menu > li > a:hover,
.reg-hero-page #topnav .navigation-menu > li > .sub-menu-item:hover {
    color: #CA8A04 !important;
}

.reg-hero-page #topnav .navigation-menu > li.has-submenu .menu-arrow {
    border-color: rgba(255, 255, 255, 0.85) !important;
}

/* Show light logo, hide dark logo */
.reg-hero-page #topnav .logo-dark {
    display: none !important;
}
.reg-hero-page #topnav .logo-light {
    display: inline-block !important;
}

/* Login button stays red but lighten border */
.reg-hero-page #topnav .buy-button .btn-primary {
    background: #CA8A04 !important;
    border-color: #CA8A04 !important;
    color: #fff !important;
}

/* Mobile hamburger lines white */
.reg-hero-page #topnav .navbar-toggle .lines span {
    background-color: #fff !important;
}

/* When navbar becomes sticky/scrolled, revert to default */
.reg-hero-page #topnav.nav-sticky {
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}
.reg-hero-page #topnav.nav-sticky .navigation-menu > li > a,
.reg-hero-page #topnav.nav-sticky .navigation-menu > li > .sub-menu-item {
    color: #3c4858 !important;
}
.reg-hero-page #topnav.nav-sticky .navigation-menu > li > a:hover,
.reg-hero-page #topnav.nav-sticky .navigation-menu > li > .sub-menu-item:hover {
    color: #CA8A04 !important;
}
.reg-hero-page #topnav.nav-sticky .logo-dark {
    display: inline-block !important;
}
.reg-hero-page #topnav.nav-sticky .logo-light {
    display: none !important;
}
.reg-hero-page #topnav.nav-sticky .buy-button .btn-primary {
    background: #CA8A04 !important;
    border-color: #CA8A04 !important;
}
.reg-hero-page #topnav.nav-sticky .navbar-toggle .lines span {
    background-color: #3c4858 !important;
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */

.reg-hero {
    position: relative;
    overflow: hidden;
    padding: 100px 0 60px;
    min-height: 320px;
    background-size: cover !important;
    background-position: center !important;
}

.reg-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(28, 25, 23, 0.92) 0%,
        rgba(28, 25, 23, 0.75) 50%,
        rgba(68, 64, 60, 0.65) 100%
    );
    z-index: 1;
}

.reg-hero::after {
    display: none;
}

.reg-hero .container {
    position: relative;
    z-index: 3;
    text-align: center;
}

/* Hero breadcrumb */
.reg-hero .reg-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 24px;
    font-size: 0.85rem;
    font-weight: 500;
}

.reg-hero .reg-breadcrumb a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color var(--reg-transition);
}

.reg-hero .reg-breadcrumb a:hover {
    color: var(--reg-accent);
}

.reg-hero .reg-breadcrumb .separator {
    color: rgba(255, 255, 255, 0.3);
    font-size: 0.75rem;
}

.reg-hero .reg-breadcrumb .current {
    color: rgba(255, 255, 255, 0.9);
}

/* Hero title */
.reg-hero h1 {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 12px;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.reg-hero h1 .accent {
    color: var(--reg-accent);
}

.reg-hero .hero-subtitle {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.7);
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
    margin-bottom: 0;
}

/* Hero trust badges */
.reg-hero .trust-badges {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 28px;
    flex-wrap: wrap;
}

.reg-hero .trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.875rem;
    font-weight: 500;
}

.reg-hero .trust-badge i {
    color: var(--reg-accent);
    font-size: 1rem;
}

/* ==========================================================================
   PROGRESS STEPPER (replaces KTStepper nav pills)
   ========================================================================== */

.reg-progress-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 24px 0 8px;
    max-width: 600px;
    margin: 0 auto;
}

.reg-step-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    gap: 6px;
}

.reg-step-dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--reg-border);
    color: var(--reg-text-muted);
    font-size: 0.875rem;
    font-weight: 700;
    flex-shrink: 0;
    transition: all var(--reg-transition);
    cursor: default;
}

.reg-step-dot .step-check {
    display: none;
}

.reg-step-indicator.active .reg-step-dot {
    background: var(--reg-accent);
    color: #FFFFFF;
    box-shadow: 0 0 0 4px var(--reg-accent-glow), var(--reg-shadow);
}

.reg-step-indicator.completed .reg-step-dot {
    background: var(--reg-success);
    color: #FFFFFF;
}

.reg-step-indicator.completed .reg-step-dot .step-number {
    display: none;
}

.reg-step-indicator.completed .reg-step-dot .step-check {
    display: block;
}

.reg-step-line {
    flex: 1;
    height: 3px;
    background: var(--reg-border);
    margin: 0 8px;
    border-radius: 2px;
    transition: background var(--reg-transition);
    align-self: center;
    /* Vertically align with the dot center (44px dot / 2 = 22px, plus 24px top padding offset) */
    margin-top: -22px;
}

.reg-step-indicator.completed + .reg-step-line {
    background: var(--reg-success);
}

.reg-step-label {
    white-space: nowrap;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--reg-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.reg-step-indicator.active .reg-step-label {
    color: var(--reg-accent);
}

.reg-step-indicator.completed .reg-step-label {
    color: var(--reg-success);
}

/* ==========================================================================
   MAIN FORM CONTAINER
   ========================================================================== */

.reg-form-container {
    background: var(--reg-bg);
    padding: 0 0 32px;
    position: relative;
    margin-top: -40px;
    z-index: 4;
}

.reg-form-card {
    background: var(--reg-bg-card);
    border-radius: var(--reg-radius-lg);
    box-shadow: var(--reg-shadow-lg);
    border: 1px solid var(--reg-border);
    padding: 28px 32px;
    max-width: 900px;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .reg-form-card {
        padding: 24px 16px;
        border-radius: var(--reg-radius);
        margin: 0 8px;
    }
}

/* ==========================================================================
   FORM SECTION CARDS
   ========================================================================== */

.reg-section {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--reg-border);
}

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

.reg-section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.reg-section-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--reg-accent-light);
    color: var(--reg-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.reg-section-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--reg-primary);
    margin: 0;
    letter-spacing: -0.01em;
}

.reg-section-subtitle {
    font-size: 0.8rem;
    color: var(--reg-text-muted);
    margin: 2px 0 0;
}

/* ==========================================================================
   FORM CONTROLS - Enhanced Styling
   ========================================================================== */

.registration-page .form-control,
.registration-page .form-select {
    border: 1.5px solid var(--reg-border);
    border-radius: var(--reg-radius-sm);
    padding: 10px 14px;
    font-size: 0.9375rem;
    color: var(--reg-text);
    background: var(--reg-bg-card);
    transition: all var(--reg-transition);
    min-height: 46px;
}

.registration-page .form-control:focus,
.registration-page .form-select:focus {
    border-color: var(--reg-border-focus);
    box-shadow: 0 0 0 3px var(--reg-accent-glow);
    outline: none;
}

.registration-page .form-control.is-invalid,
.registration-page .form-select.is-invalid {
    border-color: var(--reg-danger);
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

.registration-page .form-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--reg-primary);
    margin-bottom: 4px;
}

/* Tighter spacing between form groups */
.registration-page .mb-3 {
    margin-bottom: 0.75rem !important;
}

.registration-page .fv-row {
    margin-bottom: 0;
}

.registration-page .form-label .required {
    color: var(--reg-danger) !important;
    font-size: 0.8rem;
}

.registration-page textarea.form-control {
    min-height: 100px;
    resize: vertical;
}

/* ==========================================================================
   CHECKBOX CARDS - Modern selectable cards
   ========================================================================== */

.reg-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
}

.reg-checkbox-grid.compact {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
}

.reg-checkbox-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1.5px solid var(--reg-border);
    border-radius: var(--reg-radius-sm);
    background: var(--reg-bg-card);
    cursor: pointer;
    transition: all var(--reg-transition);
    user-select: none;
}

.reg-checkbox-card:hover {
    border-color: var(--reg-accent);
    background: var(--reg-accent-glow);
}

.reg-checkbox-card.checked {
    border-color: var(--reg-accent);
    background: var(--reg-accent-light);
    box-shadow: 0 0 0 1px var(--reg-accent);
}

.reg-checkbox-card input[type="checkbox"] {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 2px solid var(--reg-border);
    flex-shrink: 0;
    accent-color: var(--reg-accent);
    cursor: pointer;
}

.reg-checkbox-card input[type="checkbox"]:checked {
    border-color: var(--reg-accent);
}

.reg-checkbox-card .checkbox-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--reg-text);
    line-height: 1.3;
}

/* Dynamic rendered checkboxes (renderFieldsForStep) */
.registration-page .checkbox-group .row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin: 0;
}

.registration-page .checkbox-group .row .col-md-4.form-check {
    max-width: 100% !important;
    width: 100% !important;
    flex: none;
    padding: 4px 10px;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid var(--reg-border);
    border-radius: var(--reg-radius-sm);
    background: var(--reg-bg-card);
    cursor: pointer;
    transition: all var(--reg-transition);
}

.registration-page .checkbox-group .row .col-md-4.form-check:hover {
    border-color: var(--reg-accent);
    background: var(--reg-accent-glow);
}

.registration-page .checkbox-group .row .col-md-4.form-check:has(input:checked) {
    border-color: var(--reg-accent);
    background: var(--reg-accent-glow);
    box-shadow: 0 0 0 1px var(--reg-accent);
}

.registration-page .checkbox-group .row .form-check-input {
    margin-top: 0;
    flex-shrink: 0;
    accent-color: var(--reg-accent);
}

.registration-page .checkbox-group .row .form-check-label {
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    margin-left: 0 !important;
}

/* Dynamic rendered radio buttons */
.registration-page .checkbox-list.form-check {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    padding: 0;
}

.registration-page .checkbox-list .radio-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    margin: 0;
    border: 1.5px solid var(--reg-border);
    border-radius: var(--reg-radius-sm);
    background: var(--reg-bg-card);
    cursor: pointer;
    transition: all var(--reg-transition);
}

.registration-page .checkbox-list .radio-option:hover {
    border-color: var(--reg-accent);
    background: var(--reg-accent-glow);
}

/* ==========================================================================
   PRICE OPTION CARDS
   ========================================================================== */

.reg-price-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
}

.reg-price-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1.5px solid var(--reg-border);
    border-radius: var(--reg-radius-sm);
    background: var(--reg-bg-card);
    cursor: pointer;
    transition: all var(--reg-transition);
}

.reg-price-card:hover {
    border-color: var(--reg-accent);
    background: var(--reg-accent-glow);
}

.reg-price-card.checked {
    border-color: var(--reg-accent);
    background: var(--reg-accent-light);
}

.reg-price-card input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--reg-accent);
    cursor: pointer;
    flex-shrink: 0;
}

.reg-price-card .price-amount {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--reg-primary);
    white-space: nowrap;
    line-height: 1.3;
}

.reg-price-card .price-label {
    font-size: 0.7rem;
    color: var(--reg-text-muted);
}

/* ==========================================================================
   COLLAPSIBLE CHECKBOX SECTIONS
   ========================================================================== */

.reg-collapsible-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 14px;
    background: var(--reg-bg);
    border: 1.5px solid var(--reg-border);
    border-radius: var(--reg-radius-sm);
    cursor: pointer;
    transition: all var(--reg-transition);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--reg-primary);
}

.reg-collapsible-toggle:hover {
    border-color: var(--reg-accent);
    background: var(--reg-accent-glow);
}

.reg-collapsible-toggle .toggle-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    border-radius: 12px;
    background: var(--reg-accent);
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0 6px;
}

.reg-collapsible-toggle .toggle-arrow {
    transition: transform var(--reg-transition);
    color: var(--reg-text-muted);
}

.reg-collapsible-toggle[aria-expanded="true"] .toggle-arrow {
    transform: rotate(180deg);
}

.reg-collapsible-content {
    padding: 12px 0 0;
}

/* ==========================================================================
   TIP/INFO ALERT - Premium style
   ========================================================================== */

.reg-tip {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    background: linear-gradient(135deg, #EFF6FF 0%, #F0F9FF 100%);
    border: 1px solid #BFDBFE;
    border-radius: var(--reg-radius-sm);
    margin: 10px 0 0;
}

.reg-tip-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #3B82F6;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    flex-shrink: 0;
}

.reg-tip-content {
    flex: 1;
}

.reg-tip-content strong {
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    color: #1E40AF;
    margin-bottom: 2px;
}

.reg-tip-content p {
    font-size: 0.8125rem;
    color: #1E3A5F;
    margin: 0;
    line-height: 1.5;
}

/* ==========================================================================
   TERMS & CONDITIONS CHECKBOX
   ========================================================================== */

.reg-terms {
    padding: 16px 18px;
    background: var(--reg-bg);
    border: 1.5px solid var(--reg-border);
    border-radius: var(--reg-radius-sm);
}

.reg-terms label {
    font-size: 0.875rem;
    color: var(--reg-secondary);
}

.reg-terms a {
    color: var(--reg-accent);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: var(--reg-accent-glow);
    text-underline-offset: 2px;
}

.reg-terms a:hover {
    color: var(--reg-accent-hover);
}

/* ==========================================================================
   ACTION BUTTONS
   ========================================================================== */

.reg-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 24px;
    margin-top: 8px;
    border-top: 1px solid var(--reg-border);
}

.registration-page .btn-reg-continue {
    background: var(--reg-accent) !important;
    color: #FFFFFF !important;
    border: none !important;
    padding: 12px 32px !important;
    border-radius: var(--reg-radius-sm) !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    transition: all var(--reg-transition) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}

.registration-page .btn-reg-continue:hover {
    background: var(--reg-accent-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(202, 138, 4, 0.3) !important;
}

.registration-page .btn-reg-back {
    background: transparent !important;
    color: var(--reg-text-muted) !important;
    border: 1.5px solid var(--reg-border) !important;
    padding: 12px 24px !important;
    border-radius: var(--reg-radius-sm) !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    transition: all var(--reg-transition) !important;
    cursor: pointer !important;
}

.registration-page .btn-reg-back:hover {
    border-color: var(--reg-secondary) !important;
    color: var(--reg-primary) !important;
}

.registration-page .btn-reg-submit {
    background: var(--reg-success) !important;
    color: #FFFFFF !important;
    border: none !important;
    padding: 14px 36px !important;
    border-radius: var(--reg-radius-sm) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    transition: all var(--reg-transition) !important;
    cursor: pointer !important;
}

.registration-page .btn-reg-submit:hover {
    background: #15803D !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.3) !important;
}

/* ==========================================================================
   RESPONSIVE - Mobile optimizations
   ========================================================================== */

@media (max-width: 768px) {
    .reg-hero {
        padding: 80px 0 50px;
        min-height: 260px;
    }

    .reg-hero h1 {
        font-size: 1.5rem;
    }

    .reg-hero .trust-badges {
        gap: 16px;
    }

    .reg-progress-bar {
        padding: 20px 16px 8px;
    }

    .reg-step-label {
        font-size: 0.65rem;
    }

    .reg-checkbox-grid {
        grid-template-columns: 1fr;
    }

    .reg-checkbox-grid.compact {
        grid-template-columns: 1fr 1fr;
    }

    .registration-page .checkbox-group .row,
    .registration-page .checkbox-list.form-check {
        grid-template-columns: 1fr;
    }

    .reg-price-grid {
        grid-template-columns: 1fr 1fr;
    }

    .reg-form-card {
        padding: 20px 14px;
    }

    .reg-actions {
        flex-direction: column-reverse;
        gap: 12px;
    }

    .reg-actions .btn-reg-continue,
    .reg-actions .btn-reg-back,
    .reg-actions .btn-reg-submit {
        width: 100% !important;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .reg-price-grid {
        grid-template-columns: 1fr;
    }

    .reg-step-dot {
        width: 36px;
        height: 36px;
        font-size: 0.8rem;
    }

    .reg-step-label {
        display: none;
    }
}

/* ==========================================================================
   ANIMATION - Reduced motion support
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .registration-page,
    .registration-page * {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }

    .reg-price-card:hover,
    .registration-page .btn-reg-continue:hover,
    .registration-page .btn-reg-submit:hover {
        transform: none;
    }
}

/* ==========================================================================
   OVERRIDE - Hide original stepper nav (replaced by progress bar)
   ========================================================================== */

.registration-page .stepper-nav {
    display: none !important;
}

/* Keep KTStepper functional but hide its visual nav */
.registration-page .stepper-item {
    display: none;
}

/* Override original bg and card styles */
.registration-page .bg-light.bg-gradient {
    background: transparent !important;
}

.registration-page .card.rounded.shadow {
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
}

/* Hide original hero section */
.registration-page .bg-half-170 {
    display: none;
}

/* Hide original shape divider */
.registration-page .shape {
    display: none !important;
}

/* Override form flash messages styling */
.registration-page .alert {
    border-radius: var(--reg-radius-sm);
    font-size: 0.875rem;
    border: none;
}

/* Fix Bootstrap default checkbox float pulling outside container */
.registration-page .form-check .form-check-input {
    float: left;
    margin-left: 0.5em;
}

/* Dynamic field types (renderFieldsForStep) styling */
.registration-page .checkbox-group .row .col-md-4 {
    padding: 4px 6px;
}

.registration-page .checkbox-group .form-check-input {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 2px solid var(--reg-border);
    accent-color: var(--reg-accent);
}

.registration-page .checkbox-group .form-check-label {
    font-size: 0.875rem;
    font-weight: 500;
}

.registration-page .control-label.transplant-rf {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--reg-primary);
}

/* Style the existing stepper content areas */
.registration-page [data-kt-stepper-element="content"] {
    padding: 0;
}

/* Override card-body padding inside form container */
.registration-page .container.card-body {
    padding: 0 !important;
    max-width: 900px;
}

/* ==========================================================================
   PHONE VALIDATION FEEDBACK
   ========================================================================== */

.registration-page .validation-feedback.success {
    background-color: #d1e7dd;
    border: 1px solid #badbcc;
    color: #0f5132;
}

.registration-page .validation-feedback.error {
    background-color: #f8d7da;
    border: 1px solid #f5c2c7;
    color: #842029;
}

.registration-page .validation-feedback.warning {
    background-color: #fff3cd;
    border: 1px solid #ffecb5;
    color: #664d03;
}

.registration-page .validation-feedback.info {
    background-color: #d1ecf1;
    border: 1px solid #b8daff;
    color: #055160;
}

.registration-page .phone-validation-spinner {
    display: none !important;
}

.registration-page .phone-validation-spinner.d-block {
    display: block !important;
}

/* Contact method checkbox cards - checked state toggle */
.registration-page .reg-checkbox-card:has(input:checked) {
    border-color: var(--reg-accent);
    background: var(--reg-accent-light);
    box-shadow: 0 0 0 1px var(--reg-accent);
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIseUJBQXlCO0FBQzdCOztBQUVBLDZDQUE2QztBQUM3QztJQUNJLFVBQVU7QUFDZDs7QUFFQSxxREFBcUQ7QUFDckQ7SUFDSSxxQkFBcUI7SUFDckIsZ0JBQWdCO0FBQ3BCOztBQUVBOzsrRUFFK0U7O0FBRS9FO0lBQ0kseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixjQUFjO0FBQ2xCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixjQUFjO0FBQ2xCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixjQUFjO0FBQ2xCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBLHlEQUF5RDtBQUN6RDtJQUNJLCtCQUErQjtJQUMvQixtQ0FBbUM7SUFDbkMsdUNBQXVDO0FBQzNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2N1c3RvbWVycy9jc3MvcmVnaXN0cmF0aW9uLXBhZ2UuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDdXN0b21lciBSZWdpc3RyYXRpb24gUGFnZSAtIFByZW1pdW0gUmVkZXNpZ25cbiAgIERlc2lnbiBTeXN0ZW06IFZpYnJhbnQgJiBCbG9jay1iYXNlZCAvIFByZW1pdW0gYmxhY2sgKyBnb2xkXG4gICBUeXBvZ3JhcGh5OiBETSBTYW5zIChoZWFkaW5ncyArIGJvZHkpXG4gICBDb2xvcnM6IFByaW1hcnkgIzFDMTkxNywgQWNjZW50ICNDQThBMDQsIEJhY2tncm91bmQgI0ZBRkFGOVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tIENTUyBDdXN0b20gUHJvcGVydGllcyAoc2NvcGVkIHRvIC5yZWdpc3RyYXRpb24tcGFnZSkgLS0tICovXG4ucmVnaXN0cmF0aW9uLXBhZ2Uge1xuICAgIC0tcmVnLXByaW1hcnk6ICMxQzE5MTc7XG4gICAgLS1yZWctc2Vjb25kYXJ5OiAjNDQ0MDNDO1xuICAgIC0tcmVnLWFjY2VudDogI0NBOEEwNDtcbiAgICAtLXJlZy1hY2NlbnQtaG92ZXI6ICNBMTYyMDc7XG4gICAgLS1yZWctYWNjZW50LWxpZ2h0OiAjRkVGM0M3O1xuICAgIC0tcmVnLWFjY2VudC1nbG93OiByZ2JhKDIwMiwgMTM4LCA0LCAwLjE1KTtcbiAgICAtLXJlZy1iZzogI0ZBRkFGOTtcbiAgICAtLXJlZy1iZy1jYXJkOiAjRkZGRkZGO1xuICAgIC0tcmVnLXRleHQ6ICMwQzBBMDk7XG4gICAgLS1yZWctdGV4dC1tdXRlZDogIzc4NzE2QztcbiAgICAtLXJlZy10ZXh0LWxpZ2h0OiAjQThBMjlFO1xuICAgIC0tcmVnLWJvcmRlcjogI0U3RTVFNDtcbiAgICAtLXJlZy1ib3JkZXItZm9jdXM6ICNDQThBMDQ7XG4gICAgLS1yZWctc3VjY2VzczogIzE2QTM0QTtcbiAgICAtLXJlZy1pbmZvOiAjMDI4NEM3O1xuICAgIC0tcmVnLWRhbmdlcjogI0RDMjYyNjtcbiAgICAtLXJlZy1yYWRpdXM6IDEycHg7XG4gICAgLS1yZWctcmFkaXVzLXNtOiA4cHg7XG4gICAgLS1yZWctcmFkaXVzLWxnOiAxNnB4O1xuICAgIC0tcmVnLXNoYWRvdy1zbTogMCAxcHggM3B4IHJnYmEoMjgsIDI1LCAyMywgMC4wNik7XG4gICAgLS1yZWctc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMjgsIDI1LCAyMywgMC4wOCk7XG4gICAgLS1yZWctc2hhZG93LWxnOiAwIDhweCAzMnB4IHJnYmEoMjgsIDI1LCAyMywgMC4xMik7XG4gICAgLS1yZWctdHJhbnNpdGlvbjogMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLyogLS0tIEdvb2dsZSBGb250IEltcG9ydCAtLS0gKi9cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PURNK1NhbnM6aXRhbCxvcHN6LHdnaHRAMCw5Li40MCw0MDA7MCw5Li40MCw1MDA7MCw5Li40MCw2MDA7MCw5Li40MCw3MDA7MSw5Li40MCw0MDAmZGlzcGxheT1zd2FwJyk7XG5cbi8qIC0tLSBCYXNlIFR5cG9ncmFwaHkgT3ZlcnJpZGUgLS0tICovXG4ucmVnaXN0cmF0aW9uLXBhZ2UsXG4ucmVnaXN0cmF0aW9uLXBhZ2UgKjpub3QoLmZhcyk6bm90KC5mYXIpOm5vdCguZmFiKTpub3QoLmZhKTpub3QoLmZlYSk6bm90KFtkYXRhLWZlYXRoZXJdKTpub3QoLnVpbCkge1xuICAgIGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjtcbn1cblxuLnJlZy1oZXJvLFxuLnJlZy1oZXJvICo6bm90KC5mYXMpOm5vdCguZmFyKTpub3QoLmZhYik6bm90KC5mYSk6bm90KC5mZWEpOm5vdChbZGF0YS1mZWF0aGVyXSk6bm90KC51aWwpIHtcbiAgICBmb250LWZhbWlseTogJ0RNIFNhbnMnLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOQVZCQVIgLSBXaGl0ZSB0ZXh0IG9uIGhlcm8gKHNjb3BlZCB2aWEgYm9keS5yZWctaGVyby1wYWdlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJlZy1oZXJvLXBhZ2UgI3RvcG5hdiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5yZWctaGVyby1wYWdlICN0b3BuYXYgLm5hdmlnYXRpb24tbWVudSA+IGxpID4gYSxcbi5yZWctaGVyby1wYWdlICN0b3BuYXYgLm5hdmlnYXRpb24tbWVudSA+IGxpID4gLnN1Yi1tZW51LWl0ZW0ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpICFpbXBvcnRhbnQ7XG59XG5cbi5yZWctaGVyby1wYWdlICN0b3BuYXYgLm5hdmlnYXRpb24tbWVudSA+IGxpID4gYTpob3Zlcixcbi5yZWctaGVyby1wYWdlICN0b3BuYXYgLm5hdmlnYXRpb24tbWVudSA+IGxpID4gLnN1Yi1tZW51LWl0ZW06aG92ZXIge1xuICAgIGNvbG9yOiAjQ0E4QTA0ICFpbXBvcnRhbnQ7XG59XG5cbi5yZWctaGVyby1wYWdlICN0b3BuYXYgLm5hdmlnYXRpb24tbWVudSA+IGxpLmhhcy1zdWJtZW51IC5tZW51LWFycm93IHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkgIWltcG9ydGFudDtcbn1cblxuLyogU2hvdyBsaWdodCBsb2dvLCBoaWRlIGRhcmsgbG9nbyAqL1xuLnJlZy1oZXJvLXBhZ2UgI3RvcG5hdiAubG9nby1kYXJrIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ucmVnLWhlcm8tcGFnZSAjdG9wbmF2IC5sb2dvLWxpZ2h0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLyogTG9naW4gYnV0dG9uIHN0YXlzIHJlZCBidXQgbGlnaHRlbiBib3JkZXIgKi9cbi5yZWctaGVyby1wYWdlICN0b3BuYXYgLmJ1eS1idXR0b24gLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjQ0E4QTA0ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjQ0E4QTA0ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLyogTW9iaWxlIGhhbWJ1cmdlciBsaW5lcyB3aGl0ZSAqL1xuLnJlZy1oZXJvLXBhZ2UgI3RvcG5hdiAubmF2YmFyLXRvZ2dsZSAubGluZXMgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4vKiBXaGVuIG5hdmJhciBiZWNvbWVzIHN0aWNreS9zY3JvbGxlZCwgcmV2ZXJ0IHRvIGRlZmF1bHQgKi9cbi5yZWctaGVyby1wYWdlICN0b3BuYXYubmF2LXN0aWNreSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsMCwwLDAuMDgpICFpbXBvcnRhbnQ7XG59XG4ucmVnLWhlcm8tcGFnZSAjdG9wbmF2Lm5hdi1zdGlja3kgLm5hdmlnYXRpb24tbWVudSA+IGxpID4gYSxcbi5yZWctaGVyby1wYWdlICN0b3BuYXYubmF2LXN0aWNreSAubmF2aWdhdGlvbi1tZW51ID4gbGkgPiAuc3ViLW1lbnUtaXRlbSB7XG4gICAgY29sb3I6ICMzYzQ4NTggIWltcG9ydGFudDtcbn1cbi5yZWctaGVyby1wYWdlICN0b3BuYXYubmF2LXN0aWNreSAubmF2aWdhdGlvbi1tZW51ID4gbGkgPiBhOmhvdmVyLFxuLnJlZy1oZXJvLXBhZ2UgI3RvcG5hdi5uYXYtc3RpY2t5IC5uYXZpZ2F0aW9uLW1lbnUgPiBsaSA+IC5zdWItbWVudS1pdGVtOmhvdmVyIHtcbiAgICBjb2xvcjogI0NBOEEwNCAhaW1wb3J0YW50O1xufVxuLnJlZy1oZXJvLXBhZ2UgI3RvcG5hdi5uYXYtc3RpY2t5IC5sb2dvLWRhcmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuLnJlZy1oZXJvLXBhZ2UgI3RvcG5hdi5uYXYtc3RpY2t5IC5sb2dvLWxpZ2h0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ucmVnLWhlcm8tcGFnZSAjdG9wbmF2Lm5hdi1zdGlja3kgLmJ1eS1idXR0b24gLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjQ0E4QTA0ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjQ0E4QTA0ICFpbXBvcnRhbnQ7XG59XG4ucmVnLWhlcm8tcGFnZSAjdG9wbmF2Lm5hdi1zdGlja3kgLm5hdmJhci10b2dnbGUgLmxpbmVzIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzQ4NTggIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhFUk8gU0VDVElPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJlZy1oZXJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDYwcHg7XG4gICAgbWluLWhlaWdodDogMzIwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4ucmVnLWhlcm86OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTM1ZGVnLFxuICAgICAgICByZ2JhKDI4LCAyNSwgMjMsIDAuOTIpIDAlLFxuICAgICAgICByZ2JhKDI4LCAyNSwgMjMsIDAuNzUpIDUwJSxcbiAgICAgICAgcmdiYSg2OCwgNjQsIDYwLCAwLjY1KSAxMDAlXG4gICAgKTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4ucmVnLWhlcm86OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmVnLWhlcm8gLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBIZXJvIGJyZWFkY3J1bWIgKi9cbi5yZWctaGVybyAucmVnLWJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ucmVnLWhlcm8gLnJlZy1icmVhZGNydW1iIGEge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXJlZy10cmFuc2l0aW9uKTtcbn1cblxuLnJlZy1oZXJvIC5yZWctYnJlYWRjcnVtYiBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tcmVnLWFjY2VudCk7XG59XG5cbi5yZWctaGVybyAucmVnLWJyZWFkY3J1bWIgLnNlcGFyYXRvciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5yZWctaGVybyAucmVnLWJyZWFkY3J1bWIgLmN1cnJlbnQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG5cbi8qIEhlcm8gdGl0bGUgKi9cbi5yZWctaGVybyBoMSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjc1cmVtLCA0dncsIDIuNzVyZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ucmVnLWhlcm8gaDEgLmFjY2VudCB7XG4gICAgY29sb3I6IHZhcigtLXJlZy1hY2NlbnQpO1xufVxuXG4ucmVnLWhlcm8gLmhlcm8tc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBIZXJvIHRydXN0IGJhZGdlcyAqL1xuLnJlZy1oZXJvIC50cnVzdC1iYWRnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAyNHB4O1xuICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucmVnLWhlcm8gLnRydXN0LWJhZGdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5yZWctaGVybyAudHJ1c3QtYmFkZ2UgaSB7XG4gICAgY29sb3I6IHZhcigtLXJlZy1hY2NlbnQpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBST0dSRVNTIFNURVBQRVIgKHJlcGxhY2VzIEtUU3RlcHBlciBuYXYgcGlsbHMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmVnLXByb2dyZXNzLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMDtcbiAgICBwYWRkaW5nOiAyNHB4IDAgOHB4O1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5yZWctc3RlcC1pbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGdhcDogNnB4O1xufVxuXG4ucmVnLXN0ZXAtZG90IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tcmVnLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcmVnLXRyYW5zaXRpb24pO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnJlZy1zdGVwLWRvdCAuc3RlcC1jaGVjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnJlZy1zdGVwLWluZGljYXRvci5hY3RpdmUgLnJlZy1zdGVwLWRvdCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWFjY2VudCk7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHZhcigtLXJlZy1hY2NlbnQtZ2xvdyksIHZhcigtLXJlZy1zaGFkb3cpO1xufVxuXG4ucmVnLXN0ZXAtaW5kaWNhdG9yLmNvbXBsZXRlZCAucmVnLXN0ZXAtZG90IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctc3VjY2Vzcyk7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5yZWctc3RlcC1pbmRpY2F0b3IuY29tcGxldGVkIC5yZWctc3RlcC1kb3QgLnN0ZXAtbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmVnLXN0ZXAtaW5kaWNhdG9yLmNvbXBsZXRlZCAucmVnLXN0ZXAtZG90IC5zdGVwLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnJlZy1zdGVwLWxpbmUge1xuICAgIGZsZXg6IDE7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWJvcmRlcik7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1yZWctdHJhbnNpdGlvbik7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIC8qIFZlcnRpY2FsbHkgYWxpZ24gd2l0aCB0aGUgZG90IGNlbnRlciAoNDRweCBkb3QgLyAyID0gMjJweCwgcGx1cyAyNHB4IHRvcCBwYWRkaW5nIG9mZnNldCkgKi9cbiAgICBtYXJnaW4tdG9wOiAtMjJweDtcbn1cblxuLnJlZy1zdGVwLWluZGljYXRvci5jb21wbGV0ZWQgKyAucmVnLXN0ZXAtbGluZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLXN1Y2Nlc3MpO1xufVxuXG4ucmVnLXN0ZXAtbGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLXJlZy10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5yZWctc3RlcC1pbmRpY2F0b3IuYWN0aXZlIC5yZWctc3RlcC1sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLXJlZy1hY2NlbnQpO1xufVxuXG4ucmVnLXN0ZXAtaW5kaWNhdG9yLmNvbXBsZXRlZCAucmVnLXN0ZXAtbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1yZWctc3VjY2Vzcyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNQUlOIEZPUk0gQ09OVEFJTkVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmVnLWZvcm0tY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctYmcpO1xuICAgIHBhZGRpbmc6IDAgMCAzMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICB6LWluZGV4OiA0O1xufVxuXG4ucmVnLWZvcm0tY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWJnLWNhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJlZy1yYWRpdXMtbGcpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXJlZy1zaGFkb3ctbGcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJlZy1ib3JkZXIpO1xuICAgIHBhZGRpbmc6IDI4cHggMzJweDtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVnLWZvcm0tY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmVnLXJhZGl1cyk7XG4gICAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRk9STSBTRUNUSU9OIENBUkRTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmVnLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJlZy1ib3JkZXIpO1xufVxuXG4ucmVnLXNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ucmVnLXNlY3Rpb24taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG59XG5cbi5yZWctc2VjdGlvbi1pY29uIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJlZy1hY2NlbnQtbGlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1yZWctYWNjZW50KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucmVnLXNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1yZWctcHJpbWFyeSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xufVxuXG4ucmVnLXNlY3Rpb24tc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1yZWctdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luOiAycHggMCAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRk9STSBDT05UUk9MUyAtIEVuaGFuY2VkIFN0eWxpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5yZWdpc3RyYXRpb24tcGFnZSAuZm9ybS1jb250cm9sLFxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5mb3JtLXNlbGVjdCB7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1yZWctYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yZWctcmFkaXVzLXNtKTtcbiAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6IHZhcigtLXJlZy10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctYmctY2FyZCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXJlZy10cmFuc2l0aW9uKTtcbiAgICBtaW4taGVpZ2h0OiA0NnB4O1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLmZvcm0tY29udHJvbDpmb2N1cyxcbi5yZWdpc3RyYXRpb24tcGFnZSAuZm9ybS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVnLWJvcmRlci1mb2N1cyk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLXJlZy1hY2NlbnQtZ2xvdyk7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCxcbi5yZWdpc3RyYXRpb24tcGFnZSAuZm9ybS1zZWxlY3QuaXMtaW52YWxpZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWctZGFuZ2VyKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyMjAsIDM4LCAzOCwgMC4xKTtcbn1cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5mb3JtLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLXJlZy1wcmltYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi8qIFRpZ2h0ZXIgc3BhY2luZyBiZXR3ZWVuIGZvcm0gZ3JvdXBzICovXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLm1iLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5mdi1yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5yZWdpc3RyYXRpb24tcGFnZSAuZm9ybS1sYWJlbCAucmVxdWlyZWQge1xuICAgIGNvbG9yOiB2YXIoLS1yZWctZGFuZ2VyKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ0hFQ0tCT1ggQ0FSRFMgLSBNb2Rlcm4gc2VsZWN0YWJsZSBjYXJkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJlZy1jaGVja2JveC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5yZWctY2hlY2tib3gtZ3JpZC5jb21wYWN0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNjBweCwgMWZyKSk7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5yZWctY2hlY2tib3gtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcmVnLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmVnLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWJnLWNhcmQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcmVnLXRyYW5zaXRpb24pO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucmVnLWNoZWNrYm94LWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVnLWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWFjY2VudC1nbG93KTtcbn1cblxuLnJlZy1jaGVja2JveC1jYXJkLmNoZWNrZWQge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVnLWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWFjY2VudC1saWdodCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLXJlZy1hY2NlbnQpO1xufVxuXG4ucmVnLWNoZWNrYm94LWNhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXJlZy1ib3JkZXIpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFjY2VudC1jb2xvcjogdmFyKC0tcmVnLWFjY2VudCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmVnLWNoZWNrYm94LWNhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVnLWFjY2VudCk7XG59XG5cbi5yZWctY2hlY2tib3gtY2FyZCAuY2hlY2tib3gtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tcmVnLXRleHQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi8qIER5bmFtaWMgcmVuZGVyZWQgY2hlY2tib3hlcyAocmVuZGVyRmllbGRzRm9yU3RlcCkgKi9cbi5yZWdpc3RyYXRpb24tcGFnZSAuY2hlY2tib3gtZ3JvdXAgLnJvdyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdhcDogNnB4O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5jaGVja2JveC1ncm91cCAucm93IC5jb2wtbWQtNC5mb3JtLWNoZWNrIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IG5vbmU7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJlZy1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJlZy1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJlZy1iZy1jYXJkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXJlZy10cmFuc2l0aW9uKTtcbn1cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5jaGVja2JveC1ncm91cCAucm93IC5jb2wtbWQtNC5mb3JtLWNoZWNrOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXJlZy1hY2NlbnQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJlZy1hY2NlbnQtZ2xvdyk7XG59XG5cbi5yZWdpc3RyYXRpb24tcGFnZSAuY2hlY2tib3gtZ3JvdXAgLnJvdyAuY29sLW1kLTQuZm9ybS1jaGVjazpoYXMoaW5wdXQ6Y2hlY2tlZCkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVnLWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWFjY2VudC1nbG93KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tcmVnLWFjY2VudCk7XG59XG5cbi5yZWdpc3RyYXRpb24tcGFnZSAuY2hlY2tib3gtZ3JvdXAgLnJvdyAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhY2NlbnQtY29sb3I6IHZhcigtLXJlZy1hY2NlbnQpO1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLmNoZWNrYm94LWdyb3VwIC5yb3cgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyogRHluYW1pYyByZW5kZXJlZCByYWRpbyBidXR0b25zICovXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLmNoZWNrYm94LWxpc3QuZm9ybS1jaGVjayB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5yZWdpc3RyYXRpb24tcGFnZSAuY2hlY2tib3gtbGlzdCAucmFkaW8tb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcmVnLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmVnLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWJnLWNhcmQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcmVnLXRyYW5zaXRpb24pO1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLmNoZWNrYm94LWxpc3QgLnJhZGlvLW9wdGlvbjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWctYWNjZW50KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctYWNjZW50LWdsb3cpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUFJJQ0UgT1BUSU9OIENBUkRTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmVnLXByaWNlLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTYwcHgsIDFmcikpO1xuICAgIGdhcDogOHB4O1xufVxuXG4ucmVnLXByaWNlLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcmVnLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmVnLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWJnLWNhcmQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcmVnLXRyYW5zaXRpb24pO1xufVxuXG4ucmVnLXByaWNlLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVnLWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWFjY2VudC1nbG93KTtcbn1cblxuLnJlZy1wcmljZS1jYXJkLmNoZWNrZWQge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVnLWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWFjY2VudC1saWdodCk7XG59XG5cbi5yZWctcHJpY2UtY2FyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBhY2NlbnQtY29sb3I6IHZhcigtLXJlZy1hY2NlbnQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnJlZy1wcmljZS1jYXJkIC5wcmljZS1hbW91bnQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tcmVnLXByaW1hcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLnJlZy1wcmljZS1jYXJkIC5wcmljZS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgY29sb3I6IHZhcigtLXJlZy10ZXh0LW11dGVkKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENPTExBUFNJQkxFIENIRUNLQk9YIFNFQ1RJT05TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmVnLWNvbGxhcHNpYmxlLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWJnKTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJlZy1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJlZy1yYWRpdXMtc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcmVnLXRyYW5zaXRpb24pO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tcmVnLXByaW1hcnkpO1xufVxuXG4ucmVnLWNvbGxhcHNpYmxlLXRvZ2dsZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWctYWNjZW50KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctYWNjZW50LWdsb3cpO1xufVxuXG4ucmVnLWNvbGxhcHNpYmxlLXRvZ2dsZSAudG9nZ2xlLWNvdW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctYWNjZW50KTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAwIDZweDtcbn1cblxuLnJlZy1jb2xsYXBzaWJsZS10b2dnbGUgLnRvZ2dsZS1hcnJvdyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXJlZy10cmFuc2l0aW9uKTtcbiAgICBjb2xvcjogdmFyKC0tcmVnLXRleHQtbXV0ZWQpO1xufVxuXG4ucmVnLWNvbGxhcHNpYmxlLXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAudG9nZ2xlLWFycm93IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ucmVnLWNvbGxhcHNpYmxlLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEycHggMCAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVElQL0lORk8gQUxFUlQgLSBQcmVtaXVtIHN0eWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmVnLXRpcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNFRkY2RkYgMCUsICNGMEY5RkYgMTAwJSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JGREJGRTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yZWctcmFkaXVzLXNtKTtcbiAgICBtYXJnaW46IDEwcHggMCAwO1xufVxuXG4ucmVnLXRpcC1pY29uIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICMzQjgyRjY7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yZWctdGlwLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5yZWctdGlwLWNvbnRlbnQgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxRTQwQUY7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ucmVnLXRpcC1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiAjMUUzQTVGO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEVSTVMgJiBDT05ESVRJT05TIENIRUNLQk9YXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmVnLXRlcm1zIHtcbiAgICBwYWRkaW5nOiAxNnB4IDE4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVnLWJnKTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXJlZy1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJlZy1yYWRpdXMtc20pO1xufVxuXG4ucmVnLXRlcm1zIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1yZWctc2Vjb25kYXJ5KTtcbn1cblxuLnJlZy10ZXJtcyBhIHtcbiAgICBjb2xvcjogdmFyKC0tcmVnLWFjY2VudCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXJlZy1hY2NlbnQtZ2xvdyk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5yZWctdGVybXMgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXJlZy1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQUNUSU9OIEJVVFRPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5yZWctYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJlZy1ib3JkZXIpO1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLmJ0bi1yZWctY29udGludWUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJlZy1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMnB4IDMycHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yZWctcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXJlZy10cmFuc2l0aW9uKSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbn1cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5idG4tcmVnLWNvbnRpbnVlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctYWNjZW50LWhvdmVyKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMjAyLCAxMzgsIDQsIDAuMykgIWltcG9ydGFudDtcbn1cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5idG4tcmVnLWJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXJlZy10ZXh0LW11dGVkKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tcmVnLWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yZWctcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS1yZWctdHJhbnNpdGlvbikgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5idG4tcmVnLWJhY2s6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVnLXNlY29uZGFyeSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcmVnLXByaW1hcnkpICFpbXBvcnRhbnQ7XG59XG5cbi5yZWdpc3RyYXRpb24tcGFnZSAuYnRuLXJlZy1zdWJtaXQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJlZy1zdWNjZXNzKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTRweCAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmVnLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXJlZy10cmFuc2l0aW9uKSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLmJ0bi1yZWctc3VibWl0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTU4MDNEICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyMiwgMTYzLCA3NCwgMC4zKSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUkVTUE9OU0lWRSAtIE1vYmlsZSBvcHRpbWl6YXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucmVnLWhlcm8ge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDAgNTBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjYwcHg7XG4gICAgfVxuXG4gICAgLnJlZy1oZXJvIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLnJlZy1oZXJvIC50cnVzdC1iYWRnZXMge1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgfVxuXG4gICAgLnJlZy1wcm9ncmVzcy1iYXIge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDE2cHggOHB4O1xuICAgIH1cblxuICAgIC5yZWctc3RlcC1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICB9XG5cbiAgICAucmVnLWNoZWNrYm94LWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAucmVnLWNoZWNrYm94LWdyaWQuY29tcGFjdCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG5cbiAgICAucmVnaXN0cmF0aW9uLXBhZ2UgLmNoZWNrYm94LWdyb3VwIC5yb3csXG4gICAgLnJlZ2lzdHJhdGlvbi1wYWdlIC5jaGVja2JveC1saXN0LmZvcm0tY2hlY2sge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAucmVnLXByaWNlLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxuXG4gICAgLnJlZy1mb3JtLWNhcmQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDE0cHg7XG4gICAgfVxuXG4gICAgLnJlZy1hY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgfVxuXG4gICAgLnJlZy1hY3Rpb25zIC5idG4tcmVnLWNvbnRpbnVlLFxuICAgIC5yZWctYWN0aW9ucyAuYnRuLXJlZy1iYWNrLFxuICAgIC5yZWctYWN0aW9ucyAuYnRuLXJlZy1zdWJtaXQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5yZWctcHJpY2UtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgIC5yZWctc3RlcC1kb3Qge1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICB9XG5cbiAgICAucmVnLXN0ZXAtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFOSU1BVElPTiAtIFJlZHVjZWQgbW90aW9uIHN1cHBvcnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnJlZ2lzdHJhdGlvbi1wYWdlLFxuICAgIC5yZWdpc3RyYXRpb24tcGFnZSAqIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnJlZy1wcmljZS1jYXJkOmhvdmVyLFxuICAgIC5yZWdpc3RyYXRpb24tcGFnZSAuYnRuLXJlZy1jb250aW51ZTpob3ZlcixcbiAgICAucmVnaXN0cmF0aW9uLXBhZ2UgLmJ0bi1yZWctc3VibWl0OmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9WRVJSSURFIC0gSGlkZSBvcmlnaW5hbCBzdGVwcGVyIG5hdiAocmVwbGFjZWQgYnkgcHJvZ3Jlc3MgYmFyKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5zdGVwcGVyLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBLZWVwIEtUU3RlcHBlciBmdW5jdGlvbmFsIGJ1dCBoaWRlIGl0cyB2aXN1YWwgbmF2ICovXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLnN0ZXBwZXItaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogT3ZlcnJpZGUgb3JpZ2luYWwgYmcgYW5kIGNhcmQgc3R5bGVzICovXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLmJnLWxpZ2h0LmJnLWdyYWRpZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLmNhcmQucm91bmRlZC5zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLyogSGlkZSBvcmlnaW5hbCBoZXJvIHNlY3Rpb24gKi9cbi5yZWdpc3RyYXRpb24tcGFnZSAuYmctaGFsZi0xNzAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGUgb3JpZ2luYWwgc2hhcGUgZGl2aWRlciAqL1xuLnJlZ2lzdHJhdGlvbi1wYWdlIC5zaGFwZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBPdmVycmlkZSBmb3JtIGZsYXNoIG1lc3NhZ2VzIHN0eWxpbmcgKi9cbi5yZWdpc3RyYXRpb24tcGFnZSAuYWxlcnQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJlZy1yYWRpdXMtc20pO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4vKiBGaXggQm9vdHN0cmFwIGRlZmF1bHQgY2hlY2tib3ggZmxvYXQgcHVsbGluZyBvdXRzaWRlIGNvbnRhaW5lciAqL1xuLnJlZ2lzdHJhdGlvbi1wYWdlIC5mb3JtLWNoZWNrIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbi8qIER5bmFtaWMgZmllbGQgdHlwZXMgKHJlbmRlckZpZWxkc0ZvclN0ZXApIHN0eWxpbmcgKi9cbi5yZWdpc3RyYXRpb24tcGFnZSAuY2hlY2tib3gtZ3JvdXAgLnJvdyAuY29sLW1kLTQge1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG59XG5cbi5yZWdpc3RyYXRpb24tcGFnZSAuY2hlY2tib3gtZ3JvdXAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcmVnLWJvcmRlcik7XG4gICAgYWNjZW50LWNvbG9yOiB2YXIoLS1yZWctYWNjZW50KTtcbn1cblxuLnJlZ2lzdHJhdGlvbi1wYWdlIC5jaGVja2JveC1ncm91cCAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLmNvbnRyb2wtbGFiZWwudHJhbnNwbGFudC1yZiB7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLXJlZy1wcmltYXJ5KTtcbn1cblxuLyogU3R5bGUgdGhlIGV4aXN0aW5nIHN0ZXBwZXIgY29udGVudCBhcmVhcyAqL1xuLnJlZ2lzdHJhdGlvbi1wYWdlIFtkYXRhLWt0LXN0ZXBwZXItZWxlbWVudD1cImNvbnRlbnRcIl0ge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIE92ZXJyaWRlIGNhcmQtYm9keSBwYWRkaW5nIGluc2lkZSBmb3JtIGNvbnRhaW5lciAqL1xuLnJlZ2lzdHJhdGlvbi1wYWdlIC5jb250YWluZXIuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBIT05FIFZBTElEQVRJT04gRkVFREJBQ0tcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5yZWdpc3RyYXRpb24tcGFnZSAudmFsaWRhdGlvbi1mZWVkYmFjay5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlN2RkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYWRiY2M7XG4gICAgY29sb3I6ICMwZjUxMzI7XG59XG5cbi5yZWdpc3RyYXRpb24tcGFnZSAudmFsaWRhdGlvbi1mZWVkYmFjay5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjVjMmM3O1xuICAgIGNvbG9yOiAjODQyMDI5O1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLnZhbGlkYXRpb24tZmVlZGJhY2sud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZlY2I1O1xuICAgIGNvbG9yOiAjNjY0ZDAzO1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLnZhbGlkYXRpb24tZmVlZGJhY2suaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QxZWNmMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjhkYWZmO1xuICAgIGNvbG9yOiAjMDU1MTYwO1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLnBob25lLXZhbGlkYXRpb24tc3Bpbm5lciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLnBob25lLXZhbGlkYXRpb24tc3Bpbm5lci5kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4vKiBDb250YWN0IG1ldGhvZCBjaGVja2JveCBjYXJkcyAtIGNoZWNrZWQgc3RhdGUgdG9nZ2xlICovXG4ucmVnaXN0cmF0aW9uLXBhZ2UgLnJlZy1jaGVja2JveC1jYXJkOmhhcyhpbnB1dDpjaGVja2VkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yZWctYWNjZW50KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWctYWNjZW50LWxpZ2h0KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tcmVnLWFjY2VudCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/