/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* =========================================
   YPT360 – PREMIUM UI 2026
   Elegant • Modern • Animated • Serious
========================================= */

*,
*::before,
*::after { box-sizing: border-box; }

:root{
    --bg-main:#f4f6fb;
    --bg-card:rgba(255,255,255,0.72);
    --ink:#0b1220;
    --muted:#5b667a;
    --border:rgba(15,23,42,0.08);

    --primary:#0b3d91;
    --accent:#2563eb;
    --accent2:#7c3aed;

    --radius-xl:28px;
    --radius-lg:20px;
    --radius-md:14px;

    --shadow-soft:0 30px 80px rgba(15,23,42,0.08);
    --shadow-deep:0 50px 160px rgba(15,23,42,0.14);

    --container:1200px;
    --header-h:82px;
}

/* ================= GLOBAL ================= */
html{scroll-behavior:smooth;}
body{
    padding-top:var(--header-h);
    margin:0;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    color:var(--ink);
    background:
        radial-gradient(900px 600px at 10% -10%, #e9efff 0%, transparent 60%),
        radial-gradient(900px 600px at 90% 0%, #efe7ff 0%, transparent 60%),
        linear-gradient(180deg, #f6f8ff 0%, #ffffff 100%);
    -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;}

.container{
    max-width:var(--container);
    margin:0 auto;
    padding:0 24px;
}

/* ================= HEADER ================= */
.site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1030; /* über Offcanvas Backdrop */
    backdrop-filter:blur(18px);
    background:rgba(255,255,255,0.85);
    border-bottom:1px solid rgba(15,23,42,0.08);
    padding: 12px;
}

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

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    font-weight:900;
    color:var(--ink);
    letter-spacing:-0.02em;
}

.brand-logo{
    width:42px;height:42px;border-radius:12px;
}

.nav{
    display:flex;gap:18px;
}
.nav-link{
    text-decoration:none;
    font-weight:600;
    color:rgba(11,18,32,0.8);
    padding:10px 12px;
    border-radius:12px;
    transition:.25s ease;
}
.nav-link:hover{
    background:rgba(37,99,235,0.08);
    color:var(--primary);
}

.btn{
    border-radius:18px;
    padding:12px 18px;
    font-weight:800;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:10px;
    transition:.25s ease;
    border:1px solid transparent;
}

.btn-primary{
    background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#fff;
    box-shadow:0 25px 90px rgba(37,99,235,0.35);
}
.btn-primary:hover{transform:translateY(-2px);}

.btn-ghost{
    background:rgba(255,255,255,0.7);
    border:1px solid var(--border);
    color:var(--ink);
}

/* ================= HERO ================= */
/* Hero bleibt visuell dominant */
.hero{
    background:
        radial-gradient(800px 500px at 10% -10%, #e9efff 0%, transparent 60%),
        radial-gradient(700px 500px at 90% 0%, #efe7ff 0%, transparent 60%),
        linear-gradient(180deg, #f6f8ff 0%, #ffffff 100%);
    padding: 18px;
}

/* Erste Content Section leicht akzentuiert */
#what{
    background:linear-gradient(
        180deg,
        #ffffff 0%,
        #f8faff 60%,
        #ffffff 100%
    );
}


.hero-grid{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:60px;
    align-items:center;
}

.hero-title{
    font-size:58px;
    line-height:1.05;
    letter-spacing:-0.04em;
    margin-bottom:18px;
}
.hero-sub{
    font-size:18px;
    color:var(--muted);
    line-height:1.8;
    max-width:540px;
}

.hero-actions{margin-top:28px;display:flex;gap:14px;}

.hero-visual{
    border-radius:32px;
    overflow:hidden;
    box-shadow:var(--shadow-deep);
    animation:float 6s ease-in-out infinite;
}
@keyframes float{
    0%{transform:translateY(0);}
    50%{transform:translateY(-12px);}
    100%{transform:translateY(0);}
}

/* ================= SECTIONS ================= */
.section{padding:100px 0;}
.section-alt{
    background:linear-gradient(180deg,#f7f9ff 0%,#ffffff 100%);
}

.section-title{
    text-align:center;
    font-size:42px;
    font-weight:900;
    letter-spacing:-0.03em;
}
.section-sub{
    text-align:center;
    color:var(--muted);
    max-width:720px;
    margin:10px auto 50px;
    line-height:1.8;
}

/* ================= CARDS ================= */
.cards-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}
.card{
    background:var(--bg-card);
    backdrop-filter:blur(12px);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:26px;
    box-shadow:var(--shadow-soft);
    transition:.3s ease;
}
.card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-deep);
}

/* ================= STEPS ================= */
.steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}
.step{
    background:var(--bg-card);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:24px;
    display:flex;
    gap:16px;
    transition:.25s ease;
}
.step:hover{transform:translateY(-6px);}
.step-num{
    width:44px;height:44px;border-radius:14px;
    background:rgba(37,99,235,0.1);
    display:flex;align-items:center;justify-content:center;
    font-weight:900;color:var(--primary);
}

/* ================= MODULES ================= */
.modules-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}
.module-card{
    border-radius:28px;
    background:var(--bg-card);
    border:1px solid var(--border);
    padding:26px;
    text-align:center;
    transition:.3s ease;
    box-shadow:var(--shadow-soft);
}
.module-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-deep);
}

/* ================= CONFIG ================= */
/* =========================================
   CONFIGURATOR – PREMIUM 2026 FIX
   Modern • Clean • Enterprise Style
========================================= */

.config-grid{
    display:grid;
    grid-template-columns:1fr 380px;
    gap:28px;
    align-items:flex-start;
}

.config-card{
    position:relative;
    border-radius:32px;
    background:linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.75) 100%);
    backdrop-filter:blur(20px);
    border:1px solid rgba(15,23,42,0.08);
    padding:34px 32px;
    box-shadow:
        0 40px 120px rgba(15,23,42,0.08),
        inset 0 1px 0 rgba(255,255,255,0.6);
}

/* subtle top accent line */
.config-card::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:4px;
    border-radius:32px 32px 0 0;
    background:linear-gradient(90deg,#0b3d91,#2563eb,#7c3aed);
}

/* ===== FORM ===== */
.config-form{
    display:flex;
    flex-direction:column;
    gap:22px;
}

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

/* modern floating inputs */
.config-form input,
.config-form textarea,
.config-form select{
    width:100%;
    padding:16px 16px;
    border-radius:16px;
    border:1px solid rgba(15,23,42,0.12);
    background:linear-gradient(180deg,#f9fbff 0%,#ffffff 100%);
    font-size:14.5px;
    font-weight:500;
    outline:none;
    transition:all .22s ease;
    box-shadow:0 6px 18px rgba(15,23,42,0.04);
}

.config-form input::placeholder,
.config-form textarea::placeholder{
    color:rgba(91,102,122,0.65);
}

.config-form input:focus,
.config-form textarea:focus,
.config-form select:focus{
    border-color:rgba(37,99,235,0.5);
    box-shadow:
        0 0 0 6px rgba(37,99,235,0.10),
        0 12px 30px rgba(37,99,235,0.12);
    transform:translateY(-1px);
}

.config-form textarea{
    min-height:130px;
    resize:vertical;
}

/* ===== MODULE SELECTOR ===== */
/* ===============================
   MODULE SELECTOR – CARD CHECKBOX UI
================================= */

.module-selector [type="checkbox"]{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

/* Grid Layout */
.module-selector{
    border-radius:24px;
    border:1px solid rgba(15,23,42,0.08);
    background:linear-gradient(180deg,#f8faff 0%,#ffffff 100%);
    padding:18px;
    box-shadow:0 10px 30px rgba(15,23,42,0.05);
}

.module-selector h4{
    margin:0 0 14px 0;
    font-weight:900;
}

/* Symfony labels → Premium cards */
.module-selector label{
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    margin-bottom:12px;
    border-radius:18px;
    cursor:pointer;

    background:linear-gradient(180deg,#ffffff 0%,#f6f8ff 100%);
    border:1px solid rgba(15,23,42,0.12);

    font-weight:600;
    font-size:14.5px;
    color:#0b1220;

    transition:all .25s ease;
    box-shadow:0 12px 30px rgba(15,23,42,0.04);
}

/* Hover */
.module-selector label:hover{
    transform:translateY(-2px);
    border-color:rgba(37,99,235,0.35);
    box-shadow:0 20px 50px rgba(37,99,235,0.12);
}

/* Selected state */
.module-selector input[type="checkbox"]:checked + label,
.module-selector label:has(input[type="checkbox"]:checked){
    background:linear-gradient(180deg,#ffffff 0%,#eef4ff 100%);
    border-color:rgba(37,99,235,0.5);

    box-shadow:
        0 18px 50px rgba(37,99,235,0.20),
        0 0 0 2px rgba(37,99,235,0.25) inset;

    transform:translateY(-3px) scale(1.02);
}

.module-selector h4{
    margin:0 0 12px 0;
    font-size:15px;
    font-weight:900;
    letter-spacing:-0.01em;
    color:#0b1220;
}

/* grid */
.module-checkbox-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.flex-checkbox{
    display:flex;
    align-items:center;
    padding-top:28px;
}

.flex-checkbox label{
    font-weight:600;
    color:rgba(11,18,32,0.75);
}

/* Symfony label wrapper → transform into premium cards */
.module-checkbox-grid label{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 14px;
    border-radius:18px;
    cursor:pointer;
    background:linear-gradient(180deg,#ffffff 0%,#f6f8ff 100%);
    border:1px solid rgba(15,23,42,0.10);
    font-weight:600;
    font-size:14px;
    color:#0b1220;
    transition:all .22s ease;
    box-shadow:0 10px 26px rgba(15,23,42,0.04);
    margin-bottom: 8px;
}

.module-checkbox-grid label:hover{
    transform:translateY(-2px);
    border-color:rgba(37,99,235,0.28);
    box-shadow:0 16px 40px rgba(37,99,235,0.12);
}

/* custom checkbox */
.module-checkbox-grid input[type="checkbox"]{
    width:20px;
    height:20px;
    border-radius:6px;
    accent-color:#2563eb;
    cursor:pointer;
    display: none;
}

/* selected state glow */
.module-checkbox-grid input[type="checkbox"]:checked + span,
.module-checkbox-grid input[type="checkbox"]:checked{
    filter:drop-shadow(0 0 6px rgba(37,99,235,0.35));
}

.module-checkbox-grid input[type="checkbox"]:checked + label,
.module-checkbox-grid input[type="checkbox"]:checked{
    background:linear-gradient(180deg,#ffffff 0%,#eef4ff 100%);
    border-color:rgba(37,99,235,0.45);
    box-shadow:
        0 18px 40px rgba(37,99,235,0.18),
        0 0 0 1px rgba(37,99,235,0.35) inset;
    transform:translateY(-2px) scale(1.01);
}

/* ===== SUMMARY PANEL ===== */
.summary{
    position:sticky;
    top:120px;
    border-radius:32px;
    padding:26px 24px;
    background:
        linear-gradient(135deg,#0b3d91 0%,#2563eb 60%,#7c3aed 120%);
    color:#fff;
    border:1px solid rgba(255,255,255,0.15);
    box-shadow:
        0 50px 160px rgba(37,99,235,0.45),
        inset 0 1px 0 rgba(255,255,255,0.25);
}

.summary-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px;
}

.summary h4{
    margin:0;
    font-size:18px;
    font-weight:900;
    letter-spacing:-0.02em;
}

.summary-chip{
    font-size:12px;
    font-weight:900;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,0.18);
    border:1px solid rgba(255,255,255,0.25);
    backdrop-filter:blur(10px);
}

.summary-sub{
    margin:10px 0 18px;
    font-size:13.5px;
    line-height:1.7;
    color:rgba(255,255,255,0.88);
}

/* selected list */
.summary-list{
    border-radius:22px;
    padding:14px;
    background:rgba(255,255,255,0.10);
    border:1px solid rgba(255,255,255,0.16);
    min-height:180px;
    backdrop-filter:blur(14px);
}

.summary-empty{
    font-size:13px;
    line-height:1.7;
    color:rgba(255,255,255,0.85);
}

.summary-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 14px;
    border-radius:16px;
    background:rgba(255,255,255,0.16);
    border:1px solid rgba(255,255,255,0.22);
    margin-bottom:10px;
    backdrop-filter:blur(12px);
}

.summary-item strong{
    font-size:13.5px;
    font-weight:700;
}

.summary-pill{
    font-size:11px;
    font-weight:900;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,0.22);
    border:1px solid rgba(255,255,255,0.25);
}

/* CTA button inside card */
.config-card .btn-primary{
    margin-top:6px;
    padding:16px;
    border-radius:20px;
    font-size:15px;
}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
    .config-grid{
        grid-template-columns:1fr;
    }
    .summary{
        position:relative;
        top:auto;
    }
}

@media(max-width:640px){
    .form-row{
        grid-template-columns:1fr;
    }
    .module-checkbox-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================
   MODULE CARDS – PREMIUM 2026 (BIG VISUALS)
========================================= */

.modules-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}

/* Card */
.module-card{
    position:relative;
    border-radius:32px;
    overflow:hidden;
    padding:28px 26px 30px;
    background:
        linear-gradient(180deg,rgba(255,255,255,0.95) 0%,rgba(248,250,255,0.9) 100%);
    border:1px solid rgba(15,23,42,0.08);
    box-shadow:
        0 25px 80px rgba(15,23,42,0.08),
        inset 0 1px 0 rgba(255,255,255,0.7);
    transition:all .35s cubic-bezier(.4,.0,.2,1);
    text-align:left;
}

/* gradient glow background */
.module-card::before{
    content:"";
    position:absolute;
    inset:-60px -60px auto auto;
    width:200px;
    height:200px;
    background:radial-gradient(circle at center,
    rgba(37,99,235,0.20),
    transparent 70%);
    opacity:.6;
    transform:rotate(15deg);
    transition:.4s ease;
}

/* hover premium motion */
.module-card:hover{
    transform:translateY(-10px) scale(1.015);
    box-shadow:
        0 45px 140px rgba(37,99,235,0.18),
        0 12px 40px rgba(15,23,42,0.10);
    border-color:rgba(37,99,235,0.35);
}
.module-card:hover::before{
    transform:rotate(25deg) scale(1.2);
    opacity:.9;
}

/* BIG visual container */
.module-ico{
    position:relative;
    width:100%;
    height:160px; /* ← größer */
    border-radius:24px;
    margin-bottom:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        linear-gradient(180deg,#ffffff 0%,#eef3ff 100%);
    border:1px solid rgba(37,99,235,0.12);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.8),
        0 14px 36px rgba(15,23,42,0.08);
    overflow:hidden;
}

/* image much bigger */
.module-ico img{
    object-fit:contain;
    transition:transform .35s ease;
    filter:drop-shadow(0 18px 30px rgba(0,0,0,0.15));
}

/* subtle zoom on hover */
.module-card:hover .module-ico img{
    transform:scale(1.08);
}

/* Title */
.module-card h4{
    margin:0 0 8px 0;
    font-size:18px;
    font-weight:900;
    letter-spacing:-0.02em;
    color:#0b1220;
}

/* Text */
.module-card p{
    margin:0;
    font-size:14.5px;
    line-height:1.75;
    color:rgba(11,18,32,0.70);
}

/* subtle bottom highlight */
.module-card::after{
    content:"";
    position:absolute;
    left:24px;
    right:24px;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(37,99,235,0.35),transparent);
    opacity:.6;
}

/* RESPONSIVE */
@media(max-width:1024px){
    .modules-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:560px){
    .modules-grid{
        grid-template-columns:1fr;
    }
    .module-ico{
        height:140px;
    }
    .module-ico img{
        width:90px;
        height:90px;
    }
}

/* ===============================
   WHAT SECTION – PREMIUM EXPANDED
================================= */

.section-head{
    text-align:center;
    margin-bottom:38px;
}

.what-highlight{
    margin:0 auto 40px;
    max-width:900px;
}

.highlight-inner{
    display:flex;
    gap:18px;
    align-items:flex-start;
    padding:22px 24px;
    border-radius:24px;
    background:linear-gradient(135deg,#0b3d91,#2563eb);
    color:#fff;
    box-shadow:0 40px 120px rgba(37,99,235,0.35);
    border:1px solid rgba(255,255,255,0.12);
}

.highlight-icon{
    font-size:28px;
    line-height:1;
}

.card-top{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:8px;
}

.card-ico{
    width:40px;
    height:40px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    background:rgba(37,99,235,0.1);
    border:1px solid rgba(37,99,235,0.18);
}

.what-extra{
    max-width:820px;
    margin:36px auto 0;
    text-align:center;
    font-size:15.5px;
    line-height:1.8;
    color:rgba(11,18,32,0.72);
}
/* ===============================
   PROCESS FLOW – PREMIUM DESIGN
================================= */

.process-flow{
    display:flex;
    flex-direction:column;
    gap:26px;
    max-width:920px;
    margin:0 auto;
    position:relative;
}

/* vertical timeline line */
.process-flow::before{
    content:"";
    position:absolute;
    left:28px;
    top:0;
    bottom:0;
    width:2px;
    background:linear-gradient(
        180deg,
        rgba(37,99,235,0.0),
        rgba(37,99,235,0.4),
        rgba(124,58,237,0.4),
        rgba(37,99,235,0.0)
    );
}

/* Step Card */
.process-step{
    position:relative;
    display:flex;
    gap:22px;
    align-items:flex-start;
    padding:24px 26px 24px 80px;
    border-radius:28px;
    background:rgba(255,255,255,0.85);
    border:1px solid rgba(15,23,42,0.08);
    box-shadow:0 30px 90px rgba(15,23,42,0.08);
    transition:all .3s ease;
}

.process-step:hover{
    transform:translateY(-6px);
    box-shadow:0 45px 120px rgba(37,99,235,0.15);
    border-color:rgba(37,99,235,0.3);
}

/* Icon Bubble */
.process-icon{
    position:absolute;
    left:0;
    top:24px;
    width:56px;
    height:56px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    background:linear-gradient(135deg,#0b3d91,#2563eb);
    color:#fff;
    box-shadow:0 18px 40px rgba(37,99,235,0.35);
}

/* Step number badge */
.process-num{
    margin-left:auto;
    font-size:42px;
    font-weight:900;
    opacity:0.08;
    line-height:1;
}

/* Content */
.process-content h4{
    margin:0 0 8px 0;
    font-size:20px;
    font-weight:900;
    letter-spacing:-0.02em;
    color:#0b1220;
}

.process-content p{
    margin:0;
    font-size:15.5px;
    line-height:1.8;
    color:rgba(11,18,32,0.72);
    max-width:620px;
}

/* Extra paragraph */
.process-extra{
    max-width:760px;
    margin:40px auto 0;
    text-align:center;
    font-size:15.5px;
    line-height:1.8;
    color:rgba(11,18,32,0.70);
}

/* Responsive */
@media(max-width:768px){
    .process-flow::before{display:none;}
    .process-step{
        padding:24px;
    }
    .process-icon{
        position:relative;
        left:auto;
        top:auto;
        margin-bottom:12px;
    }
    .process-step{
        flex-direction:column;
    }
    .process-num{
        display:none;
    }
}

/* ===============================
   PACKAGES – COMING SOON
================================= */

.packages-coming{
    max-width:820px;
    margin:0 auto 50px;
}

.packages-coming-inner{
    text-align:center;
    padding:40px 36px;
    border-radius:32px;
    background:linear-gradient(135deg,#0b3d91,#2563eb,#7c3aed);
    color:#fff;
    box-shadow:0 50px 160px rgba(37,99,235,0.35);
    border:1px solid rgba(255,255,255,0.12);
}

.packages-badge{
    display:inline-block;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(255,255,255,0.18);
    border:1px solid rgba(255,255,255,0.25);
    margin-bottom:16px;
}

.packages-coming-inner h3{
    margin:0 0 10px 0;
    font-size:28px;
    font-weight:900;
    letter-spacing:-0.02em;
}

.packages-coming-inner p{
    margin:0 auto 24px;
    max-width:600px;
    line-height:1.8;
    color:rgba(255,255,255,0.9);
}

/* Preview Cards */
.packages-preview{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.package-card{
    position:relative;
    border-radius:28px;
    padding:26px 24px;
    background:rgba(255,255,255,0.8);
    border:1px solid rgba(15,23,42,0.08);
    box-shadow:0 25px 80px rgba(15,23,42,0.08);
    overflow:hidden;
    transition:.3s ease;
}

.package-card h4{
    margin:0 0 8px 0;
    font-size:18px;
    font-weight:900;
}

.package-card p{
    margin:0;
    font-size:14.5px;
    color:rgba(11,18,32,0.7);
}

/* disabled / coming soon state */
.package-card.is-disabled{
    opacity:0.6;
    filter:grayscale(0.2);
}

.package-overlay{
    position:absolute;
    top:14px;
    right:14px;
    font-size:11px;
    font-weight:900;
    padding:6px 10px;
    border-radius:999px;
    background:linear-gradient(135deg,#0b3d91,#2563eb);
    color:#fff;
    box-shadow:0 8px 24px rgba(37,99,235,0.35);
}

/* Responsive */
@media(max-width:1024px){
    .packages-preview{
        grid-template-columns:1fr;
    }
}

/* =========================================
   ALTERNATING SECTION BACKGROUNDS
========================================= */

/* Default Section */
.section{
    position:relative;
    padding:110px 0;
    background:#ffffff;
    overflow:hidden;
}

/* Jede zweite Section bekommt anderen Background */
main > section:nth-of-type(even){
    background:linear-gradient(
        180deg,
        #f7f9ff 0%,
        #eef3ff 50%,
        #ffffff 100%
    );
}

/* Ungerade Sections leicht „clean white“ */
main > section:nth-of-type(odd){
    background:#ffffff;
}
/* Soft gradient glow for even sections */
main > section:nth-of-type(even)::before{
    content:"";
    position:absolute;
    inset:-200px -200px auto auto;
    width:500px;
    height:500px;
    background:radial-gradient(circle at center,
    rgba(37,99,235,0.18),
    transparent 70%);
    opacity:.6;
    pointer-events:none;
}

/* Subtle top divider for structure */
.section::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(15,23,42,0.08),
        transparent
    );
}
/* Alternate subtle vertical rhythm */
main > section:nth-of-type(even) .container{
    transform:translateY(10px);
}

main > section:nth-of-type(odd) .container{
    transform:translateY(0);
}

/* =========================================
   MOBILE FIRST OPTIMIZATION – YPT360
========================================= */
@media (max-width: 768px){

    /* ===== GLOBAL ===== */
    .container{
        padding:0 18px;
    }

    .section{
        padding:70px 0;
    }

    .section-title{
        font-size:28px;
        line-height:1.2;
    }

    .section-sub{
        font-size:15px;
        margin:12px auto 30px;
        padding:0 4px;
    }

    /* ===== HEADER ===== */
    .nav{
        display:none;
    }

    .header-inner{
        height:72px;
    }

    .brand-logo{
        width:36px;
        height:36px;
    }

    /* ===== HERO ===== */
    .hero{
        padding:36px 0 24px;
    }

    .hero-grid{
        grid-template-columns:1fr;
        gap:30px;
        text-align:center;
    }

    .hero-title{
        font-size:34px;
        line-height:1.15;
        margin-bottom:14px;
    }

    .hero-sub{
        font-size:15.5px;
        max-width:100%;
        margin:0 auto;
    }

    .hero-actions{
        justify-content:center;
        flex-wrap:wrap;
        gap:10px;
    }

    .hero-actions .btn{
        padding:12px 16px;
        font-size:14px;
        border-radius:14px;
    }

    .hero-visual{
        border-radius:22px;
        max-width:320px;
        margin:0 auto;
    }

    /* ===== VALUE SECTION ===== */
    .highlight-inner{
        flex-direction:column;
        gap:12px;
        padding:18px 18px;
        font-size:14.5px;
    }

    .highlight-icon{
        font-size:24px;
    }

    .cards-3{
        grid-template-columns:1fr;
        gap:16px;
    }

    .card{
        padding:20px;
        border-radius:22px;
    }

    .card h3{
        font-size:17px;
    }

    .what-extra{
        font-size:15px;
        padding:0 6px;
    }

    /* ===== PROCESS FLOW ===== */
    .process-flow{
        gap:18px;
    }

    .process-step{
        padding:18px;
        border-radius:22px;
    }

    .process-icon{
        width:48px;
        height:48px;
        font-size:22px;
    }

    .process-content h4{
        font-size:18px;
    }

    .process-content p{
        font-size:14.5px;
    }

    /* ===== MODULES ===== */
    .modules-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .module-card{
        padding:22px 20px 24px;
        border-radius:24px;
    }

    .module-ico{
        height:130px;
        border-radius:20px;
    }

    .module-ico img{
        width:80px;
        height:80px;
    }

    .module-card h4{
        font-size:17px;
    }

    .module-card p{
        font-size:14px;
    }

    /* ===== PACKAGES ===== */
    .packages-coming-inner{
        padding:28px 22px;
        border-radius:24px;
    }

    .packages-coming-inner h3{
        font-size:22px;
    }

    .packages-preview{
        grid-template-columns:1fr;
        gap:16px;
    }

    /* ===== CONFIGURATOR ===== */
    .config-card{
        padding:24px 20px;
        border-radius:26px;
    }

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

    .config-form input,
    .config-form textarea,
    .config-form select{
        padding:14px 14px;
        font-size:15px;
        border-radius:14px;
    }

    .module-selector{
        padding:16px;
        border-radius:20px;
    }

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

    .module-checkbox-grid label{
        padding:14px;
        font-size:14.5px;
    }

    /* ===== SUMMARY PANEL ===== */
    .summary{
        position:relative;
        top:auto;
        margin-top:20px;
        border-radius:26px;
        padding:22px 20px;
    }

    .summary h4{
        font-size:16px;
    }

    .summary-list{
        min-height:140px;
        padding:12px;
    }

    /* ===== TYPOGRAPHY FIX ===== */
    p{
        word-break:break-word;
    }

}
.navbar-toggler{
    width:44px;
    height:44px;
    border-radius:12px;
    background:rgba(37,99,235,0.08);
}

.navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3Csvg viewBox=%270 0 30 30%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath stroke=%27rgba%2811,18,32,0.8%29%27 stroke-width=%272%27 stroke-linecap=%27round%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3E%3C/svg%3E");
}
@media(max-width:768px){
    .site-header{
        padding: 12px;
    }

    :root{
        --header-h:64px;
    }

    .brand-logo{
        width:36px;
        height:36px;
    }
}
/* Reveal base state */
.reveal{
    opacity:0;
    transform:translateY(24px) scale(.98);
    transition:
        opacity .7s cubic-bezier(.16,1,.3,1),
        transform .7s cubic-bezier(.16,1,.3,1);
    will-change: opacity, transform;
}

/* Visible state */
.reveal.show{
    opacity:1;
    transform:translateY(0) scale(1);
}


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