/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/pages/individuals.css ***!
  \****************************************************************************************************************************/
/* ──────────────────────────────────────────────────────────────
   Individuals page-specific overrides
   Loaded only on /<locale>/individuals, on top of app.css.
   ────────────────────────────────────────────────────────────── */

/* Banner — Get Started with a Tosa Certification Exam
   ------------------------------------------------------------ */
.he-banner {
    height: auto;
    min-height: 760px;
}
.he-banner__inner {
    padding-top: 80px;
    padding-bottom: 80px;
    align-items: center;
}
.he-banner__content {
    max-width: 620px;
}
.he-banner__title {
    color: #1a1a2e;
    font-size: clamp(2.25rem, 4.5vw, 3.5rem);
    max-width: none;
}
.he-banner__text {
    color: #333;
    line-height: 1.65;
    font-size: 1.0625rem;
}

@media (min-width: 1200px) {
    .he-banner {
        min-height: 820px;
    }
    .he-banner__content {
        max-width: 680px;
    }
}

/* Section 1 — Why Get Tosa Certified
   ------------------------------------------------------------
   Full-bleed layout: the container spans the full viewport width
   and the portrait fills the entire left half (edge-to-edge),
   while the text column keeps a comfortable inner padding. */
.he-s2 {
    background: url(/build/images/why-get-tosa-certified-bg.f6d7a7ba.jpg) no-repeat center center;
    background-size: cover;
    padding-bottom: 0;
}
.he-s2 > .container-xl.py-5 {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0 !important;
}
.he-s2 > .container-xl.py-5 > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin: 0;
}
.he-s2 > .container-xl.py-5 > .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

.he-s2__media {
    width: 100%;
    background: transparent;
    padding: 0;
    clip-path: none;
    overflow: visible;
}
.he-s2__media > .he-s2__portrait,
.he-s2__media > img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
}

/* Inner padding on the text column so it doesn't hug the screen edge.
   Selector matches the reset above so it wins by source order. */
@media (min-width: 992px) {
    .he-s2 > .container-xl.py-5 > .row > .col-lg-6:last-child {
        padding-left: 120px;
        padding-right: 240px;
    }
}

/* Scale up the features list (icons + text) to match Figma proportions. */
.he-s2 .he-features__item {
    gap: 28px;
    padding: 26px 0;
}
.he-s2 .he-features__icon {
    width: 80px;
    height: 80px;
    border-radius: 18px;
}
.he-s2 .he-features__bar {
    width: 52px;
    height: 3px;
}
.he-s2 .he-features__title {
    font-size: 1.5rem;
    margin-bottom: 10px;
}
.he-s2 .he-features__text {
    font-size: 1.0625rem;
    line-height: 1.6;
}

/* Section 3 — Explore Our Certifications
   ------------------------------------------------------------ */
.he-s3 {
    background: url(/build/images/preparing-for-certification-bg.3c1fd902.jpg) no-repeat center center;
    background-size: cover;
}
.he-s3::before,
.he-s3::after {
    content: none;
}
.he-s3__intro {
    color: #333;
    line-height: 1.65;
    font-size: 1.0625rem;
    max-width: 900px;
}
.he-s3__card {
    padding: 56px 32px;
    min-height: 460px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.he-s3__icon {
    width: 80px;
    height: 80px;
    margin-bottom: 18px;
    object-fit: contain;
}
.he-s3__bar {
    margin-bottom: 90px;
}
.he-s3__title {
    margin-bottom: 18px;
}

/* Section 4 — Flexible Testing Options
   ------------------------------------------------------------
   Image baked into the section background as cover; features
   list is pushed further right with extra left padding. */
.he-s4 {
    background-color: #fff;
    background-image: url(/build/images/flexible-testing-options-bg.ba898289.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #1a1a2e;
}
@media (min-width: 992px) {
    .he-s4 .row > .col-lg-6:last-child {
        padding-left: 120px;
    }
}
@media (min-width: 1400px) {
    .he-s4 .row > .col-lg-6:last-child {
        padding-left: 200px;
    }
}
.he-s4 .section-title {
    color: #1a1a2e;
}
.he-s4__intro {
    color: #333;
    line-height: 1.65;
    font-size: 1.0625rem;
    max-width: 900px;
}
.he-s4__media {
    min-height: 520px;
}
@media (min-width: 1200px) {
    .he-s4__media {
        min-height: 620px;
    }
}

/* Scale up the features list on this page to match Figma. */
.he-s4 .he-features__item {
    gap: 28px;
    padding: 26px 0;
}
.he-s4 .he-features__icon {
    width: 80px;
    height: 80px;
    border-radius: 18px;
}
.he-s4 .he-features__bar {
    width: 52px;
    height: 3px;
}
.he-s4 .he-features__title {
    font-size: 1.5rem;
    margin-bottom: 10px;
    color: var(--tosa-blue);
}
.he-s4 .he-features__text {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: #333;
}

/* Section 5 — How to Get Certified (full CTA on teal background)
   ------------------------------------------------------------ */
.he-s5 {
    position: relative;
    background: #005356 !important;
    padding: 120px 0 !important;
    overflow: hidden;
    color: #fff;
}
.he-s5__vector {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 100%;
    width: auto;
    max-width: 50%;
    pointer-events: none;
    z-index: 0;
}
.he-s5 > .container-xl.py-5 {
    z-index: 1;
}
.he-s5__heading {
    color: #fff;
    font-size: clamp(2rem, 3.5vw, 3rem);
}
.he-s5__intro {
    color: #fff;
    line-height: 1.65;
    font-size: 1.0625rem;
    max-width: 900px;
}

/* Section 5b — Tosa Certification Packs
   ------------------------------------------------------------ */
.ind-packs {
    background: linear-gradient(135deg, #fff 0%, #F2F8FB 100%);
    padding: 80px 0;
}
.ind-packs > .container-xl {
    max-width: 1600px;
}
.ind-packs__intro {
    color: #333;
    line-height: 1.65;
    font-size: 1.0625rem;
    max-width: 1000px;
}
.ind-packs__cards {
    align-items: stretch;
}
.ind-packs__card {
    background: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
}
.ind-packs__head {
    padding: 36px 28px 24px;
    background: #EEF1FB;
    display: flex;
    flex-direction: column;
    min-height: 220px;
}
.ind-packs__price {
    color: var(--tosa-blue);
    font-size: 2.25rem;
    line-height: 1;
    margin-bottom: 18px;
}
.ind-packs__title {
    color: #1a1a2e;
    font-size: 1.25rem;
    line-height: 1.3;
    margin: 0;
    margin-top: auto;
}
.ind-packs__body {
    padding: 28px 28px 36px;
    border-top: 1px solid rgba(69, 69, 219, 0.15);
    flex: 1;
}
.ind-packs__text {
    color: #333;
    line-height: 1.6;
    font-size: 0.9375rem;
}

/* Section 5c — Preparing for a Certification Exam
   ------------------------------------------------------------
   Light blue background with decorative geometric shapes,
   stacked white cards with circle-check icon on the left. */
.ind-prep {
    position: relative;
    background-color: #E6F4F8;
    background-image: url(/build/images/preparing-for-certification-bg.3c1fd902.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 80px 0;
}
.ind-prep > .container-xl {
    max-width: 1400px;
}
.ind-prep__intro,
.ind-prep__lead {
    color: #1a1a2e;
    line-height: 1.65;
    font-size: 1.0625rem;
    max-width: 900px;
}
.ind-prep__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.ind-prep__item {
    display: flex;
    align-items: flex-start;
    gap: 36px;
    background: #fff;
    padding: 40px 48px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
    border-radius: 2px;
}
.ind-prep__check {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    margin-top: -18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.ind-prep__check-video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.ind-prep__body {
    flex: 1;
    min-width: 0;
}
.ind-prep__text {
    color: #1a1a2e;
    line-height: 1.65;
    font-size: 1.0625rem;
    margin-bottom: 14px;
}
.ind-prep__text strong {
    color: #1a1a2e;
    font-weight: 700;
}
.ind-prep__link {
    color: var(--tosa-orange);
    text-decoration: underline;
    font-weight: 600;
}
.ind-prep__link:hover {
    color: #d63d09;
}
.ind-prep__diagram {
    margin-top: 28px;
    text-align: center;
}
.ind-prep__diagram img {
    display: inline-block;
    max-width: 100%;
    height: auto;
}

@media (max-width: 767.98px) {
    .ind-prep__item {
        padding: 28px 24px;
        gap: 20px;
    }
    .ind-prep__check {
        width: 48px;
        height: 48px;
        margin-top: -10px;
    }
}

/* Section 5d — Interpreting Your Score
   ------------------------------------------------------------
   Histogram-style growing bars; content anchored to bottom of
   each bar; lavender gradient fill becomes more saturated at top. */
.ind-score {
    background: #fff;
    padding: 80px 0;
}
.ind-score .section-title {
    color: #1a1a2e;
}
.ind-score__bars {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: start;
    gap: 0;
}
.ind-score__col {
    display: flex;
    flex-direction: column;
}
.ind-score__track {
    height: 500px;
    display: flex;
    align-items: flex-end;
}
.ind-score__fill {
    width: 100%;
    background: linear-gradient(180deg, rgba(56, 70, 216, 0.08) 0%, rgba(56, 70, 216, 0) 100%);
    border: 1px solid #D3D6F6;
}
.ind-score__col:not(:first-child) .ind-score__fill {
    margin-left: -1px;
}
.ind-score__fill--1 { height: 260px; }
.ind-score__fill--2 { height: 320px; }
.ind-score__fill--3 { height: 380px; }
.ind-score__fill--4 { height: 440px; }
.ind-score__fill--5 { height: 500px; }

.ind-score__body {
    margin-top: -234px;
    padding: 0 28px;
    display: flex;
    flex-direction: column;
}
.ind-score__range {
    color: var(--tosa-blue);
    font-size: 1.75rem;
    line-height: 1.1;
    margin-bottom: 18px;
}
.ind-score__level {
    color: #1a1a2e;
    font-size: 1.0625rem;
    line-height: 1.3;
    margin-bottom: 14px;
}
.ind-score__text {
    color: #1a1a2e;
    font-size: 0.9375rem;
    line-height: 1.55;
}

@media (max-width: 991.98px) {
    .ind-score__bars {
        grid-template-columns: repeat(5, 1fr);
        gap: 2px;
    }
    .ind-score__track { height: 420px; }
    .ind-score__fill--1 { height: 220px; }
    .ind-score__fill--2 { height: 270px; }
    .ind-score__fill--3 { height: 320px; }
    .ind-score__fill--4 { height: 370px; }
    .ind-score__fill--5 { height: 420px; }
    .ind-score__body { margin-top: -78px; padding: 0 16px; }
    .ind-score__range { font-size: 1.25rem; margin-bottom: 12px; }
    .ind-score__level { font-size: 0.95rem; margin-bottom: 10px; }
    .ind-score__text { font-size: 0.8125rem; }
}
@media (max-width: 575.98px) {
    .ind-score__bars {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .ind-score__track,
    .ind-score__fill,
    .ind-score__fill--1,
    .ind-score__fill--2,
    .ind-score__fill--3,
    .ind-score__fill--4,
    .ind-score__fill--5 { height: auto; }
    .ind-score__track { display: block; }
    .ind-score__fill { min-height: 12px; }
    .ind-score__body { margin-top: 16px; padding: 0 4px; }
}

/* Section 7 — Trusted by Learners Worldwide
   ------------------------------------------------------------
   Light blue background with the prep-bg geometric shapes,
   three white cards with centered analytics icon + stat text. */
.ind-trust {
    position: relative;
    background-color: #E6F4F8;
    background-image: url(/build/images/preparing-for-certification-bg.3c1fd902.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 80px 0;
}
.ind-trust__cards {
    align-items: stretch;
}
.ind-trust__card {
    background: #fff;
    height: 100%;
    padding: 48px 36px;
    text-align: center;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ind-trust__icon {
    width: 96px;
    height: 96px;
    object-fit: contain;
    margin-bottom: 28px;
}
.ind-trust__text {
    color: #1a1a2e;
    line-height: 1.6;
    font-size: 1.0625rem;
    max-width: 360px;
}
.ind-trust__accent {
    color: var(--tosa-blue);
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .ind-trust__card {
        padding: 36px 24px;
    }
    .ind-trust__icon {
        width: 80px;
        height: 80px;
    }
}

/* Section 8 — Institutions and Organizations
   ------------------------------------------------------------
   Light gradient background with Vector2 decorative shape;
   three centered white card-links each with an animated icon
   and a label at the bottom. */
.ind-orgs {
    position: relative;
    background: linear-gradient(135deg, #F4F2FB 0%, #FAF9FE 60%, #FFFFFF 100%);
    background-image:
        url(/build/images/Vector2.ada08856.png),
        linear-gradient(135deg, #F4F2FB 0%, #FAF9FE 60%, #FFFFFF 100%);
    background-repeat: no-repeat, no-repeat;
    background-position: left center, center center;
    background-size: 360px auto, cover;
    /* Bottom padding accommodates the next .he-cta which uses
       margin-top:-320px to overlap into the preceding section. */
    padding: 80px 0 400px;
    overflow: hidden;
}
.section-dots--blue span {
    background: var(--tosa-blue);
}
.ind-orgs__intro {
    color: #1a1a2e;
    line-height: 1.65;
    font-size: 1.0625rem;
    max-width: 880px;
}
.ind-orgs__cards {
    position: relative;
    z-index: 1;
}
.ind-orgs__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    padding: 48px 28px 36px;
    text-align: center;
    min-height: 260px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ind-orgs__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
    color: inherit;
    text-decoration: none;
}
.ind-orgs__icon {
    width: 96px;
    height: 96px;
    object-fit: contain;
    margin-bottom: 32px;
}
.ind-orgs__title {
    color: #1a1a2e;
    font-size: 1.0625rem;
    line-height: 1.35;
}

@media (max-width: 991.98px) {
    .ind-orgs {
        background-size: 240px auto, cover;
        background-position: left top, center center;
    }
}
@media (max-width: 767.98px) {
    .ind-orgs__card {
        padding: 36px 20px 28px;
        min-height: 220px;
    }
    .ind-orgs__icon {
        width: 80px;
        height: 80px;
        margin-bottom: 24px;
    }
}

/* CTA — Need Assistance?
   ------------------------------------------------------------
   Wide banner card using group-meeting.jpg as cover image,
   with a white inner card on the left holding the copy + CTA. */
.he-cta--assist .he-cta__card--assist {
    background:
        url(/build/images/group-meeting.7f44f17e.jpg)
        no-repeat center center;
    background-size: cover;
    min-height: 480px;
    padding: 56px;
    display: flex;
    align-items: center;
}
.he-cta__assist-inner {
    background: #fff;
    padding: 56px 64px;
    max-width: 560px;
    width: 100%;
}
.he-cta--assist .section-title {
    color: #1a1a2e;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
}
.he-cta--assist .he-cta__text {
    color: #1a1a2e;
    line-height: 1.65;
    font-size: 1.0625rem;
    max-width: 420px;
}

@media (max-width: 991.98px) {
    .he-cta--assist .he-cta__card--assist {
        min-height: 420px;
        padding: 40px;
    }
    .he-cta__assist-inner {
        padding: 40px 36px;
        max-width: 480px;
    }
}
@media (max-width: 575.98px) {
    .he-cta--assist .he-cta__card--assist {
        padding: 0;
        min-height: 0;
        background-position: center top;
        background-size: 100% auto;
        padding-top: 56vw; /* keep image visible above card */
        display: block;
    }
    .he-cta__assist-inner {
        padding: 32px 24px;
        max-width: none;
    }
}

.he-s4 .he-features__text a {
    color: var(--tosa-orange);
}
.he-s4 .he-features__text a:hover {
    color: #d63d09;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QTJCO0lBQzNCLDJDQUEyQztJQUMzQyxjQUFjO0lBQ2QscUJBQXFCO0FBQ3pCO0FBQ0E7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixtQkFBbUI7QUFDdkI7QUFDQTtJQUNJLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0k7UUFDSSxrQ0FBa0M7UUFDbEMsNENBQTRDO0lBQ2hEO0FBQ0o7QUFDQTtJQUNJO1FBQ0ksdUJBQXVCO1FBQ3ZCLGlCQUFpQjtJQUNyQjtJQUNBO1FBQ0ksV0FBVztRQUNYLFlBQVk7UUFDWixtQkFBbUI7SUFDdkI7QUFDSjs7QUFFQTs7O2dFQUdnRTtBQUNoRTtJQUNJOzsrQkFFMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsYUFBYTtJQUNiLG1CQUFtQjtBQUN2QjtBQUNBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsV0FBVztBQUNmO0FBQ0E7SUFDSSxjQUFjO0lBQ2Qsc0NBQXNDO0FBQzFDO0FBQ0E7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSTtRQUNJLGlCQUFpQjtRQUNqQixhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxrQkFBa0I7UUFDbEIsZ0JBQWdCO0lBQ3BCO0FBQ0o7QUFDQTtJQUNJO1FBQ0ksVUFBVTtRQUNWLGFBQWE7UUFDYiwrQkFBK0I7UUFDL0IsMEJBQTBCO1FBQzFCLGlCQUFpQixFQUFFLGtDQUFrQztRQUNyRCxjQUFjO0lBQ2xCO0lBQ0E7UUFDSSxrQkFBa0I7UUFDbEIsZUFBZTtJQUNuQjtBQUNKOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCO0FBQ0E7SUFDSSxjQUFjO0FBQ2xCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYWdlcy9pbmRpdmlkdWFscy5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyog4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICBJbmRpdmlkdWFscyBwYWdlLXNwZWNpZmljIG92ZXJyaWRlc1xuICAgTG9hZGVkIG9ubHkgb24gLzxsb2NhbGU+L2luZGl2aWR1YWxzLCBvbiB0b3Agb2YgYXBwLmNzcy5cbiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuXG4vKiBCYW5uZXIg4oCUIEdldCBTdGFydGVkIHdpdGggYSBUb3NhIENlcnRpZmljYXRpb24gRXhhbVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uaGUtYmFubmVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNzYwcHg7XG59XG4uaGUtYmFubmVyX19pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5oZS1iYW5uZXJfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjIwcHg7XG59XG4uaGUtYmFubmVyX190aXRsZSB7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjI1cmVtLCA0LjV2dywgMy41cmVtKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG4uaGUtYmFubmVyX190ZXh0IHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5oZS1iYW5uZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiA4MjBweDtcbiAgICB9XG4gICAgLmhlLWJhbm5lcl9fY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgfVxufVxuXG4vKiBTZWN0aW9uIDEg4oCUIFdoeSBHZXQgVG9zYSBDZXJ0aWZpZWRcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgRnVsbC1ibGVlZCBsYXlvdXQ6IHRoZSBjb250YWluZXIgc3BhbnMgdGhlIGZ1bGwgdmlld3BvcnQgd2lkdGhcbiAgIGFuZCB0aGUgcG9ydHJhaXQgZmlsbHMgdGhlIGVudGlyZSBsZWZ0IGhhbGYgKGVkZ2UtdG8tZWRnZSksXG4gICB3aGlsZSB0aGUgdGV4dCBjb2x1bW4ga2VlcHMgYSBjb21mb3J0YWJsZSBpbm5lciBwYWRkaW5nLiAqL1xuLmhlLXMyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy93aG93ZXNlcnZlL2luZGl2aWR1YWxzL3doeS1nZXQtdG9zYS1jZXJ0aWZpZWQtYmcuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5oZS1zMiA+IC5jb250YWluZXIteGwucHktNSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uaGUtczIgPiAuY29udGFpbmVyLXhsLnB5LTUgPiAucm93IHtcbiAgICAtLWJzLWd1dHRlci14OiAwO1xuICAgIC0tYnMtZ3V0dGVyLXk6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuLmhlLXMyID4gLmNvbnRhaW5lci14bC5weS01ID4gLnJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmhlLXMyX19tZWRpYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uaGUtczJfX21lZGlhID4gLmhlLXMyX19wb3J0cmFpdCxcbi5oZS1zMl9fbWVkaWEgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qIElubmVyIHBhZGRpbmcgb24gdGhlIHRleHQgY29sdW1uIHNvIGl0IGRvZXNuJ3QgaHVnIHRoZSBzY3JlZW4gZWRnZS5cbiAgIFNlbGVjdG9yIG1hdGNoZXMgdGhlIHJlc2V0IGFib3ZlIHNvIGl0IHdpbnMgYnkgc291cmNlIG9yZGVyLiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlLXMyID4gLmNvbnRhaW5lci14bC5weS01ID4gLnJvdyA+IC5jb2wtbGctNjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjQwcHg7XG4gICAgfVxufVxuXG4vKiBTY2FsZSB1cCB0aGUgZmVhdHVyZXMgbGlzdCAoaWNvbnMgKyB0ZXh0KSB0byBtYXRjaCBGaWdtYSBwcm9wb3J0aW9ucy4gKi9cbi5oZS1zMiAuaGUtZmVhdHVyZXNfX2l0ZW0ge1xuICAgIGdhcDogMjhweDtcbiAgICBwYWRkaW5nOiAyNnB4IDA7XG59XG4uaGUtczIgLmhlLWZlYXR1cmVzX19pY29uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbn1cbi5oZS1zMiAuaGUtZmVhdHVyZXNfX2JhciB7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiAzcHg7XG59XG4uaGUtczIgLmhlLWZlYXR1cmVzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5oZS1zMiAuaGUtZmVhdHVyZXNfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi8qIFNlY3Rpb24gMyDigJQgRXhwbG9yZSBPdXIgQ2VydGlmaWNhdGlvbnNcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhlLXMzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy93aG93ZXNlcnZlL2luZGl2aWR1YWxzL3ByZXBhcmluZy1mb3ItY2VydGlmaWNhdGlvbi1iZy5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLmhlLXMzOjpiZWZvcmUsXG4uaGUtczM6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xufVxuLmhlLXMzX19pbnRybyB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbn1cbi5oZS1zM19fY2FyZCB7XG4gICAgcGFkZGluZzogNTZweCAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ2MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5oZS1zM19faWNvbiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5oZS1zM19fYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xufVxuLmhlLXMzX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLyogU2VjdGlvbiA0IOKAlCBGbGV4aWJsZSBUZXN0aW5nIE9wdGlvbnNcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgSW1hZ2UgYmFrZWQgaW50byB0aGUgc2VjdGlvbiBiYWNrZ3JvdW5kIGFzIGNvdmVyOyBmZWF0dXJlc1xuICAgbGlzdCBpcyBwdXNoZWQgZnVydGhlciByaWdodCB3aXRoIGV4dHJhIGxlZnQgcGFkZGluZy4gKi9cbi5oZS1zNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy93aG93ZXNlcnZlL2luZGl2aWR1YWxzL2ZsZXhpYmxlLXRlc3Rpbmctb3B0aW9ucy1iZy5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5oZS1zNCAucm93ID4gLmNvbC1sZy02Omxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICAgIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAuaGUtczQgLnJvdyA+IC5jb2wtbGctNjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMDBweDtcbiAgICB9XG59XG4uaGUtczQgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAjMWExYTJlO1xufVxuLmhlLXM0X19pbnRybyB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbn1cbi5oZS1zNF9fbWVkaWEge1xuICAgIG1pbi1oZWlnaHQ6IDUyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5oZS1zNF9fbWVkaWEge1xuICAgICAgICBtaW4taGVpZ2h0OiA2MjBweDtcbiAgICB9XG59XG5cbi8qIFNjYWxlIHVwIHRoZSBmZWF0dXJlcyBsaXN0IG9uIHRoaXMgcGFnZSB0byBtYXRjaCBGaWdtYS4gKi9cbi5oZS1zNCAuaGUtZmVhdHVyZXNfX2l0ZW0ge1xuICAgIGdhcDogMjhweDtcbiAgICBwYWRkaW5nOiAyNnB4IDA7XG59XG4uaGUtczQgLmhlLWZlYXR1cmVzX19pY29uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbn1cbi5oZS1zNCAuaGUtZmVhdHVyZXNfX2JhciB7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiAzcHg7XG59XG4uaGUtczQgLmhlLWZlYXR1cmVzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1ibHVlKTtcbn1cbi5oZS1zNCAuaGUtZmVhdHVyZXNfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMzMzM7XG59XG5cbi8qIFNlY3Rpb24gNSDigJQgSG93IHRvIEdldCBDZXJ0aWZpZWQgKGZ1bGwgQ1RBIG9uIHRlYWwgYmFja2dyb3VuZClcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhlLXM1IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogIzAwNTM1NiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDEyMHB4IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLmhlLXM1X192ZWN0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMDtcbn1cbi5oZS1zNSA+IC5jb250YWluZXIteGwucHktNSB7XG4gICAgei1pbmRleDogMTtcbn1cbi5oZS1zNV9faGVhZGluZyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiBjbGFtcCgycmVtLCAzLjV2dywgM3JlbSk7XG59XG4uaGUtczVfX2ludHJvIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xufVxuXG4vKiBTZWN0aW9uIDViIOKAlCBUb3NhIENlcnRpZmljYXRpb24gUGFja3NcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmluZC1wYWNrcyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmZiAwJSwgI0YyRjhGQiAxMDAlKTtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG59XG4uaW5kLXBhY2tzID4gLmNvbnRhaW5lci14bCB7XG4gICAgbWF4LXdpZHRoOiAxNjAwcHg7XG59XG4uaW5kLXBhY2tzX19pbnRybyB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG59XG4uaW5kLXBhY2tzX19jYXJkcyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG4uaW5kLXBhY2tzX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi5pbmQtcGFja3NfX2hlYWQge1xuICAgIHBhZGRpbmc6IDM2cHggMjhweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6ICNFRUYxRkI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xufVxuLmluZC1wYWNrc19fcHJpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuLmluZC1wYWNrc19fdGl0bGUge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuLmluZC1wYWNrc19fYm9keSB7XG4gICAgcGFkZGluZzogMjhweCAyOHB4IDM2cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoNjksIDY5LCAyMTksIDAuMTUpO1xuICAgIGZsZXg6IDE7XG59XG4uaW5kLXBhY2tzX190ZXh0IHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xufVxuXG4vKiBTZWN0aW9uIDVjIOKAlCBQcmVwYXJpbmcgZm9yIGEgQ2VydGlmaWNhdGlvbiBFeGFtXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIExpZ2h0IGJsdWUgYmFja2dyb3VuZCB3aXRoIGRlY29yYXRpdmUgZ2VvbWV0cmljIHNoYXBlcyxcbiAgIHN0YWNrZWQgd2hpdGUgY2FyZHMgd2l0aCBjaXJjbGUtY2hlY2sgaWNvbiBvbiB0aGUgbGVmdC4gKi9cbi5pbmQtcHJlcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNkY0Rjg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvd2hvd2VzZXJ2ZS9pbmRpdmlkdWFscy9wcmVwYXJpbmctZm9yLWNlcnRpZmljYXRpb24tYmcuanBnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcGFkZGluZzogODBweCAwO1xufVxuLmluZC1wcmVwID4gLmNvbnRhaW5lci14bCB7XG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XG59XG4uaW5kLXByZXBfX2ludHJvLFxuLmluZC1wcmVwX19sZWFkIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xufVxuLmluZC1wcmVwX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDI4cHg7XG59XG4uaW5kLXByZXBfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAzNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogNDBweCA0OHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLmluZC1wcmVwX19jaGVjayB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIG1hcmdpbi10b3A6IC0xOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uaW5kLXByZXBfX2NoZWNrLXZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5pbmQtcHJlcF9fYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG4uaW5kLXByZXBfX3RleHQge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG59XG4uaW5kLXByZXBfX3RleHQgc3Ryb25nIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLmluZC1wcmVwX19saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uaW5kLXByZXBfX2xpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZDYzZDA5O1xufVxuLmluZC1wcmVwX19kaWFncmFtIHtcbiAgICBtYXJnaW4tdG9wOiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5pbmQtcHJlcF9fZGlhZ3JhbSBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuaW5kLXByZXBfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAyOHB4IDI0cHg7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICB9XG4gICAgLmluZC1wcmVwX19jaGVjayB7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIH1cbn1cblxuLyogU2VjdGlvbiA1ZCDigJQgSW50ZXJwcmV0aW5nIFlvdXIgU2NvcmVcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgSGlzdG9ncmFtLXN0eWxlIGdyb3dpbmcgYmFyczsgY29udGVudCBhbmNob3JlZCB0byBib3R0b20gb2ZcbiAgIGVhY2ggYmFyOyBsYXZlbmRlciBncmFkaWVudCBmaWxsIGJlY29tZXMgbW9yZSBzYXR1cmF0ZWQgYXQgdG9wLiAqL1xuLmluZC1zY29yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG59XG4uaW5kLXNjb3JlIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbn1cbi5pbmQtc2NvcmVfX2JhcnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgZ2FwOiAwO1xufVxuLmluZC1zY29yZV9fY29sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uaW5kLXNjb3JlX190cmFjayB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cbi5pbmQtc2NvcmVfX2ZpbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoNTYsIDcwLCAyMTYsIDAuMDgpIDAlLCByZ2JhKDU2LCA3MCwgMjE2LCAwKSAxMDAlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDNENkY2O1xufVxuLmluZC1zY29yZV9fY29sOm5vdCg6Zmlyc3QtY2hpbGQpIC5pbmQtc2NvcmVfX2ZpbGwge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLmluZC1zY29yZV9fZmlsbC0tMSB7IGhlaWdodDogMjYwcHg7IH1cbi5pbmQtc2NvcmVfX2ZpbGwtLTIgeyBoZWlnaHQ6IDMyMHB4OyB9XG4uaW5kLXNjb3JlX19maWxsLS0zIHsgaGVpZ2h0OiAzODBweDsgfVxuLmluZC1zY29yZV9fZmlsbC0tNCB7IGhlaWdodDogNDQwcHg7IH1cbi5pbmQtc2NvcmVfX2ZpbGwtLTUgeyBoZWlnaHQ6IDUwMHB4OyB9XG5cbi5pbmQtc2NvcmVfX2JvZHkge1xuICAgIG1hcmdpbi10b3A6IC0yMzRweDtcbiAgICBwYWRkaW5nOiAwIDI4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmluZC1zY29yZV9fcmFuZ2Uge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG59XG4uaW5kLXNjb3JlX19sZXZlbCB7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xufVxuLmluZC1zY29yZV9fdGV4dCB7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAgIC5pbmQtc2NvcmVfX2JhcnMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgICAgICBnYXA6IDJweDtcbiAgICB9XG4gICAgLmluZC1zY29yZV9fdHJhY2sgeyBoZWlnaHQ6IDQyMHB4OyB9XG4gICAgLmluZC1zY29yZV9fZmlsbC0tMSB7IGhlaWdodDogMjIwcHg7IH1cbiAgICAuaW5kLXNjb3JlX19maWxsLS0yIHsgaGVpZ2h0OiAyNzBweDsgfVxuICAgIC5pbmQtc2NvcmVfX2ZpbGwtLTMgeyBoZWlnaHQ6IDMyMHB4OyB9XG4gICAgLmluZC1zY29yZV9fZmlsbC0tNCB7IGhlaWdodDogMzcwcHg7IH1cbiAgICAuaW5kLXNjb3JlX19maWxsLS01IHsgaGVpZ2h0OiA0MjBweDsgfVxuICAgIC5pbmQtc2NvcmVfX2JvZHkgeyBtYXJnaW4tdG9wOiAtNzhweDsgcGFkZGluZzogMCAxNnB4OyB9XG4gICAgLmluZC1zY29yZV9fcmFuZ2UgeyBmb250LXNpemU6IDEuMjVyZW07IG1hcmdpbi1ib3R0b206IDEycHg7IH1cbiAgICAuaW5kLXNjb3JlX19sZXZlbCB7IGZvbnQtc2l6ZTogMC45NXJlbTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5pbmQtc2NvcmVfX3RleHQgeyBmb250LXNpemU6IDAuODEyNXJlbTsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmluZC1zY29yZV9fYmFycyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG4gICAgLmluZC1zY29yZV9fdHJhY2ssXG4gICAgLmluZC1zY29yZV9fZmlsbCxcbiAgICAuaW5kLXNjb3JlX19maWxsLS0xLFxuICAgIC5pbmQtc2NvcmVfX2ZpbGwtLTIsXG4gICAgLmluZC1zY29yZV9fZmlsbC0tMyxcbiAgICAuaW5kLXNjb3JlX19maWxsLS00LFxuICAgIC5pbmQtc2NvcmVfX2ZpbGwtLTUgeyBoZWlnaHQ6IGF1dG87IH1cbiAgICAuaW5kLXNjb3JlX190cmFjayB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmluZC1zY29yZV9fZmlsbCB7IG1pbi1oZWlnaHQ6IDEycHg7IH1cbiAgICAuaW5kLXNjb3JlX19ib2R5IHsgbWFyZ2luLXRvcDogMTZweDsgcGFkZGluZzogMCA0cHg7IH1cbn1cblxuLyogU2VjdGlvbiA3IOKAlCBUcnVzdGVkIGJ5IExlYXJuZXJzIFdvcmxkd2lkZVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBMaWdodCBibHVlIGJhY2tncm91bmQgd2l0aCB0aGUgcHJlcC1iZyBnZW9tZXRyaWMgc2hhcGVzLFxuICAgdGhyZWUgd2hpdGUgY2FyZHMgd2l0aCBjZW50ZXJlZCBhbmFseXRpY3MgaWNvbiArIHN0YXQgdGV4dC4gKi9cbi5pbmQtdHJ1c3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTZGNEY4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL3dob3dlc2VydmUvaW5kaXZpZHVhbHMvcHJlcGFyaW5nLWZvci1jZXJ0aWZpY2F0aW9uLWJnLmpwZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbn1cbi5pbmQtdHJ1c3RfX2NhcmRzIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cbi5pbmQtdHJ1c3RfX2NhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDQ4cHggMzZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5pbmQtdHJ1c3RfX2ljb24ge1xuICAgIHdpZHRoOiA5NnB4O1xuICAgIGhlaWdodDogOTZweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG59XG4uaW5kLXRydXN0X190ZXh0IHtcbiAgICBjb2xvcjogIzFhMWEyZTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIG1heC13aWR0aDogMzYwcHg7XG59XG4uaW5kLXRydXN0X19hY2NlbnQge1xuICAgIGNvbG9yOiB2YXIoLS10b3NhLWJsdWUpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC5pbmQtdHJ1c3RfX2NhcmQge1xuICAgICAgICBwYWRkaW5nOiAzNnB4IDI0cHg7XG4gICAgfVxuICAgIC5pbmQtdHJ1c3RfX2ljb24ge1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgIH1cbn1cblxuLyogU2VjdGlvbiA4IOKAlCBJbnN0aXR1dGlvbnMgYW5kIE9yZ2FuaXphdGlvbnNcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgTGlnaHQgZ3JhZGllbnQgYmFja2dyb3VuZCB3aXRoIFZlY3RvcjIgZGVjb3JhdGl2ZSBzaGFwZTtcbiAgIHRocmVlIGNlbnRlcmVkIHdoaXRlIGNhcmQtbGlua3MgZWFjaCB3aXRoIGFuIGFuaW1hdGVkIGljb25cbiAgIGFuZCBhIGxhYmVsIGF0IHRoZSBib3R0b20uICovXG4uaW5kLW9yZ3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRjRGMkZCIDAlLCAjRkFGOUZFIDYwJSwgI0ZGRkZGRiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOlxuICAgICAgICB1cmwoJy4uLy4uL2ltYWdlcy93aG93ZXNlcnZlL2luZGl2aWR1YWxzL1ZlY3RvcjIucG5nJyksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNGNEYyRkIgMCUsICNGQUY5RkUgNjAlLCAjRkZGRkZGIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlciwgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM2MHB4IGF1dG8sIGNvdmVyO1xuICAgIC8qIEJvdHRvbSBwYWRkaW5nIGFjY29tbW9kYXRlcyB0aGUgbmV4dCAuaGUtY3RhIHdoaWNoIHVzZXNcbiAgICAgICBtYXJnaW4tdG9wOi0zMjBweCB0byBvdmVybGFwIGludG8gdGhlIHByZWNlZGluZyBzZWN0aW9uLiAqL1xuICAgIHBhZGRpbmc6IDgwcHggMCA0MDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNlY3Rpb24tZG90cy0tYmx1ZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b3NhLWJsdWUpO1xufVxuLmluZC1vcmdzX19pbnRybyB7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbWF4LXdpZHRoOiA4ODBweDtcbn1cbi5pbmQtb3Jnc19fY2FyZHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuLmluZC1vcmdzX19jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiA0OHB4IDI4cHggMzZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMjYwcHg7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG4uaW5kLW9yZ3NfX2NhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5pbmQtb3Jnc19faWNvbiB7XG4gICAgd2lkdGg6IDk2cHg7XG4gICAgaGVpZ2h0OiA5NnB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cbi5pbmQtb3Jnc19fdGl0bGUge1xuICAgIGNvbG9yOiAjMWExYTJlO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAuaW5kLW9yZ3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0MHB4IGF1dG8sIGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcCwgY2VudGVyIGNlbnRlcjtcbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgICAuaW5kLW9yZ3NfX2NhcmQge1xuICAgICAgICBwYWRkaW5nOiAzNnB4IDIwcHggMjhweDtcbiAgICAgICAgbWluLWhlaWdodDogMjIwcHg7XG4gICAgfVxuICAgIC5pbmQtb3Jnc19faWNvbiB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxufVxuXG4vKiBDVEEg4oCUIE5lZWQgQXNzaXN0YW5jZT9cbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgV2lkZSBiYW5uZXIgY2FyZCB1c2luZyBncm91cC1tZWV0aW5nLmpwZyBhcyBjb3ZlciBpbWFnZSxcbiAgIHdpdGggYSB3aGl0ZSBpbm5lciBjYXJkIG9uIHRoZSBsZWZ0IGhvbGRpbmcgdGhlIGNvcHkgKyBDVEEuICovXG4uaGUtY3RhLS1hc3Npc3QgLmhlLWN0YV9fY2FyZC0tYXNzaXN0IHtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICB1cmwoJy4uLy4uL2ltYWdlcy93aG93ZXNlcnZlL2luZGl2aWR1YWxzL2dyb3VwLW1lZXRpbmcuanBnJylcbiAgICAgICAgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBtaW4taGVpZ2h0OiA0ODBweDtcbiAgICBwYWRkaW5nOiA1NnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5oZS1jdGFfX2Fzc2lzdC1pbm5lciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiA1NnB4IDY0cHg7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5oZS1jdGEtLWFzc2lzdCAuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjc1cmVtLCAzdncsIDIuNXJlbSk7XG59XG4uaGUtY3RhLS1hc3Npc3QgLmhlLWN0YV9fdGV4dCB7XG4gICAgY29sb3I6ICMxYTFhMmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbWF4LXdpZHRoOiA0MjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgLmhlLWN0YS0tYXNzaXN0IC5oZS1jdGFfX2NhcmQtLWFzc2lzdCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQyMHB4O1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgIH1cbiAgICAuaGUtY3RhX19hc3Npc3QtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDM2cHg7XG4gICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gICAgLmhlLWN0YS0tYXNzaXN0IC5oZS1jdGFfX2NhcmQtLWFzc2lzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTZ2dzsgLyoga2VlcCBpbWFnZSB2aXNpYmxlIGFib3ZlIGNhcmQgKi9cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5oZS1jdGFfX2Fzc2lzdC1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMjRweDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuLmhlLXM0IC5oZS1mZWF0dXJlc19fdGV4dCBhIHtcbiAgICBjb2xvcjogdmFyKC0tdG9zYS1vcmFuZ2UpO1xufVxuLmhlLXM0IC5oZS1mZWF0dXJlc19fdGV4dCBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2Q2M2QwOTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/