{"id":57166,"date":"2026-05-31T11:21:54","date_gmt":"2026-05-31T09:21:54","guid":{"rendered":"https:\/\/www.vaia.eu\/?post_type=product&#038;p=57166"},"modified":"2026-06-12T09:02:36","modified_gmt":"2026-06-12T07:02:36","slug":"vaia-cover","status":"publish","type":"product","link":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/","title":{"rendered":"VAIA Cover"},"content":{"rendered":"<div class=\"fascia-spedizione-shop\">\n    <div class=\"fascia-spedizione-shop__inner\">\n        <span class=\"title-spedizione\"><\/span>\n        <div class=\"testo\"><p>Kaufen Sie 2 Produkte und der Versand ist kostenlos!<\/p>\n<\/div>\n    <\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>VAIA Cover \u2013 Produktseite<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@300;400;500&amp;display=swap\" rel=\"stylesheet\">\n<link href=\"https:\/\/api.fontshare.com\/v2\/css?f[]=clash-display@400,500,600,700&amp;display=swap\" rel=\"stylesheet\">\n\n<style>\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n  :root {\n    --olive:    #6B6B3A;\n    --olive-lt: #A8A86A;\n    --olive-dk: #3C3C1E;\n    --mare:     #5B9DA4;\n    --mare-lt:  #9ECFD4;\n    --terra:    #7A5C3A;\n    --terra-lt: #C09870;\n    --sabbia:   #E8DFC0;\n    --sabbia-dk:#C4B88A;\n    --crema:    #F5F1E8;\n    --bianco:   #FAFAF7;\n    --testo:    #1A1A14;\n    --testo-m:  #4A4A38;\n    --testo-l:  #8A8A72;\n    --bordo:    rgba(107,107,58,0.18);\n    --bordo-m:  rgba(107,107,58,0.35);\n\n    --font-sans: var(--wp--preset--font-family--body, var(--wp-font-family, 'DM Sans', sans-serif));\n    --font-serif: 'ClashDisplay-Variable', 'Clash Display', var(--wp--preset--font-family--heading, sans-serif);\n  }\n\n  body {\n    font-family: var(--font-sans);\n    background: var(--bianco);\n    color: var(--testo);\n    line-height: 1.7;\n  }\n\n  h1, h2, h3, h4, h5, h6 {\n    font-family: var(--font-serif);\n    letter-spacing: -0.02em;\n  }\n\n  .serif { font-family: var(--font-serif); }\n  .label-small {\n    font-size: 11px;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--testo-l);\n    font-weight: 400;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 SEZIONE: DESCRIZIONE HERO \u2500\u2500 *\/\n  .section-hero {\n    background: var(--crema);\n    padding: 96px 5vw 80px;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 64px;\n    align-items: center;\n  }\n  .section-hero__text .eyebrow {\n    font-size: 11px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--olive);\n    margin-bottom: 20px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .section-hero__text h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(32px, 4vw, 52px);\n    font-weight: 700;\n    line-height: 1.15;\n    color: var(--olive-dk);\n    margin-bottom: 28px;\n  }\n  .section-hero__text p {\n    font-size: 17px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.75;\n    max-width: 48ch;\n    font-family: var(--font-sans);\n  }\n  .section-hero__image {\n    position: relative;\n    border-radius: 4px;\n    overflow: hidden;\n    aspect-ratio: 4\/5;\n    background: var(--sabbia);\n  }\n  .section-hero__image img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n  }\n\n  \/* \u2500\u2500 SEZIONE: OLIVE MATTER \u2500\u2500 *\/\n  .section-material {\n    background: var(--olive-dk);\n    color: var(--sabbia);\n    padding: 96px 5vw;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 80px;\n    align-items: center;\n  }\n  .section-material__image {\n    aspect-ratio: 1\/1;\n    border-radius: 4px;\n    overflow: hidden;\n    order: -1;\n  }\n  .section-material__image img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n  }\n  .section-material__text .eyebrow {\n    font-size: 11px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    margin-bottom: 20px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .section-material__text h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(28px, 3.5vw, 44px);\n    font-weight: 700;\n    line-height: 1.2;\n    color: var(--sabbia);\n    margin-bottom: 28px;\n  }\n  .section-material__text p {\n    font-size: 16px;\n    color: rgba(232,223,192,0.8);\n    font-weight: 300;\n    line-height: 1.8;\n    margin-bottom: 0;\n    font-family: var(--font-sans);\n  }\n\n  .material-highlight {\n    display: block;\n    margin: 24px 0;\n    padding: 20px 24px;\n    background: rgba(168,168,106,0.12);\n    border-left: 3px solid var(--olive-lt);\n    border-radius: 0 4px 4px 0;\n    font-family: var(--font-serif);\n    font-size: clamp(18px, 2vw, 24px);\n    font-weight: 700;\n    color: var(--sabbia);\n    line-height: 1.3;\n    font-style: normal;\n  }\n\n  .material-tagline {\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    margin: 28px 0 0;\n  }\n  .material-tagline span {\n    font-family: var(--font-serif);\n    font-size: clamp(18px, 2vw, 22px);\n    font-style: normal;\n    font-weight: 700;\n    color: var(--sabbia);\n    line-height: 1.5;\n    text-shadow: 0 2px 12px rgba(0,0,0,0.35);\n  }\n\n  .material-pills {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n    margin-top: 32px;\n  }\n  .pill {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 7px 16px;\n    border: 1px solid rgba(168,168,106,0.35);\n    border-radius: 100px;\n    font-size: 13px;\n    color: var(--olive-lt);\n    font-weight: 400;\n    font-family: var(--font-sans);\n  }\n  .pill::before {\n    content: '';\n    display: block;\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--olive-lt);\n    flex-shrink: 0;\n  }\n\n  .btn-olive-matter {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin-top: 28px;\n    padding: 13px 28px;\n    background: var(--olive-lt);\n    color: var(--olive-dk);\n    border-radius: 100px;\n    font-size: 13px;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    text-decoration: none;\n    font-weight: 500;\n    font-family: var(--font-sans);\n    transition: background 0.2s, color 0.2s;\n  }\n  .btn-olive-matter:hover {\n    background: var(--sabbia);\n    color: var(--olive-dk);\n  }\n\n  \/* \u2500\u2500 SEZIONE: SPECIFICHE TECNICHE \u2500\u2500 *\/\n  .section-specs {\n    background: var(--bianco);\n    padding: 96px 5vw;\n  }\n  .section-specs__header {\n    margin-bottom: 56px;\n  }\n  .section-specs__header h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(28px, 3.5vw, 40px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-top: 12px;\n  }\n  .specs-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 15px;\n    font-family: var(--font-sans);\n  }\n  .specs-table tr {\n    border-bottom: 1px solid var(--bordo);\n  }\n  .specs-table tr:first-child {\n    border-top: 1px solid var(--bordo);\n  }\n  .specs-table td {\n    padding: 18px 0;\n    vertical-align: top;\n    line-height: 1.5;\n  }\n  .specs-table td:first-child {\n    color: var(--testo-l);\n    width: 38%;\n    padding-right: 24px;\n  }\n  .specs-table td:last-child {\n    color: var(--testo);\n  }\n  .specs-table td strong {\n    color: var(--olive-dk);\n    font-weight: 500;\n  }\n\n  \/* \u2500\u2500 SEZIONE: WIRELESS \u2500\u2500 *\/\n  .section-wireless {\n    background: var(--sabbia);\n    padding: 72px 5vw;\n    display: grid;\n    grid-template-columns: 1fr 2fr;\n    gap: 64px;\n    align-items: start;\n  }\n  .wireless-icon-block {\n    display: flex;\n    flex-direction: column;\n    gap: 16px;\n  }\n  .wireless-icon {\n    width: 56px;\n    height: 56px;\n    border-radius: 50%;\n    background: var(--olive);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n  .wireless-icon svg { width: 24px; height: 24px; fill: none; stroke: var(--sabbia); stroke-width: 1.5; stroke-linecap: round; }\n  .wireless-icon-block h3 {\n    font-family: var(--font-serif);\n    font-size: 22px;\n    color: var(--olive-dk);\n    font-weight: 700;\n    line-height: 1.3;\n  }\n  .wireless-text p {\n    font-size: 16px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.8;\n    margin-bottom: 12px;\n    font-family: var(--font-sans);\n  }\n  .wireless-note {\n    display: flex;\n    gap: 12px;\n    align-items: flex-start;\n    padding: 16px 20px;\n    background: rgba(255,255,255,0.6);\n    border-left: 3px solid var(--olive);\n    border-radius: 0 4px 4px 0;\n    margin-top: 20px;\n    font-size: 14px;\n    color: var(--testo-m);\n    line-height: 1.6;\n    font-family: var(--font-sans);\n  }\n  .wireless-note strong { color: var(--olive-dk); }\n\n  \/* \u2500\u2500 SEZIONE: TEXTURE & COLORI \u2500\u2500 *\/\n  .section-design {\n    background: var(--crema);\n    padding: 96px 5vw;\n  }\n  .section-design__header {\n    margin-bottom: 56px;\n    max-width: 60ch;\n  }\n  .section-design__header h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(28px, 3.5vw, 40px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-top: 12px;\n    margin-bottom: 20px;\n  }\n  .section-design__header p {\n    font-size: 16px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.8;\n    font-family: var(--font-sans);\n    margin-bottom: 0;\n  }\n\n  .design-tagline {\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    margin-top: 20px;\n  }\n  .design-tagline span {\n    font-family: var(--font-serif);\n    font-size: clamp(18px, 2vw, 22px);\n    font-style: normal;\n    font-weight: 700;\n    color: var(--olive-dk);\n    line-height: 1.5;\n    text-shadow: 0 2px 8px rgba(107,107,58,0.18);\n  }\n\n  .design-details {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 48px;\n    margin-bottom: 64px;\n    padding: 48px;\n    background: var(--bianco);\n    border: 1px solid var(--bordo);\n    border-radius: 4px;\n  }\n  .design-detail-item {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n  }\n  .design-detail-item .detail-num {\n    font-family: var(--font-serif);\n    font-size: 16px;\n    color: var(--olive-lt);\n    font-style: normal;\n  }\n  .design-detail-item h4 {\n    font-family: var(--font-serif);\n    font-size: 15px;\n    font-weight: 700;\n    color: var(--olive-dk);\n    line-height: 1.3;\n  }\n  .design-detail-item p {\n    font-size: 14px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n  .design-sid-note {\n    margin-bottom: 48px;\n    padding: 20px 24px;\n    border-left: 3px solid var(--olive-lt);\n    background: rgba(107,107,58,0.05);\n    font-size: 13px;\n    color: var(--testo-m);\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n  .design-sid-note strong { color: var(--olive-dk); font-weight: 500; }\n\n  .texture-row {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n    gap: 12px;\n    margin-bottom: 64px;\n  }\n  .texture-card {\n    aspect-ratio: 3\/4;\n    border-radius: 4px;\n    background: var(--sabbia);\n    overflow: hidden;\n    position: relative;\n    display: flex;\n    align-items: flex-end;\n  }\n  .texture-card__label {\n    position: absolute;\n    bottom: 0; left: 0; right: 0;\n    background: rgba(26,26,20,0.55);\n    color: rgba(245,241,232,0.9);\n    font-size: 11px;\n    letter-spacing: 0.08em;\n    padding: 10px 12px;\n    text-align: center;\n    z-index: 2;\n    font-family: var(--font-sans);\n  }\n  .texture-card .img-placeholder {\n    position: absolute;\n    inset: 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    gap: 8px;\n    color: var(--testo-l);\n    font-size: 11px;\n    text-align: center;\n    padding: 16px;\n    line-height: 1.5;\n    font-family: var(--font-sans);\n  }\n\n  .palette-title {\n    font-family: var(--font-serif);\n    font-size: 20px;\n    color: var(--olive-dk);\n    margin-bottom: 28px;\n    font-style: normal;\n  }\n  .palette-row {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 16px;\n  }\n  .palette-swatch {\n    border-radius: 4px;\n    overflow: hidden;\n    border: 1px solid var(--bordo);\n  }\n  .swatch-color {\n    height: 72px;\n  }\n  .swatch-info {\n    padding: 12px 14px;\n    background: var(--bianco);\n  }\n  .swatch-name {\n    font-size: 13px;\n    font-weight: 500;\n    color: var(--testo);\n    margin-bottom: 4px;\n    font-family: var(--font-sans);\n  }\n  .swatch-desc {\n    font-size: 11px;\n    color: var(--testo-l);\n    font-style: normal;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 SEZIONE: GRIGLIA FOTO EDITORIALE \u2500\u2500 *\/\n  .section-editorial {\n    background: var(--testo);\n    padding: 0;\n  }\n  .editorial-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr 1fr;\n    grid-template-rows: 420px 420px 340px 420px;\n    gap: 0;\n    grid-template-areas:\n      \"c1 c2 c3\"\n      \"c1 c4 c5\"\n      \"c6 c6 c7\"\n      \"c8 c8 c9\";\n  }\n  .ec-1 { grid-area: c1; }\n  .ec-2 { grid-area: c2; }\n  .ec-3 { grid-area: c3; }\n  .ec-4 { grid-area: c4; }\n  .ec-5 { grid-area: c5; }\n  .ec-6 { grid-area: c6; }\n  .ec-7 { grid-area: c7; }\n  .ec-8 { grid-area: c8; }\n  .ec-9 { grid-area: c9; }\n  .editorial-cell {\n    position: relative;\n    overflow: hidden;\n  }\n  .editorial-cell img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform 0.6s ease;\n  }\n  .editorial-cell:hover img {\n    transform: scale(1.04);\n  }\n  .editorial-cell__caption {\n    position: absolute;\n    bottom: 0; left: 0; right: 0;\n    padding: 20px 24px 20px;\n    background: linear-gradient(to top, rgba(26,26,20,0.75) 0%, transparent 100%);\n    color: rgba(245,241,232,0.9);\n  }\n  .editorial-cell__caption .cap-label {\n    font-size: 10px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    margin-bottom: 6px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .editorial-cell__caption .cap-text {\n    font-family: var(--font-serif);\n    font-size: clamp(15px, 1.5vw, 20px);\n    font-weight: 700;\n    line-height: 1.25;\n  }\n  .editorial-cell--text {\n    background: var(--crema);\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    padding: 48px 40px;\n  }\n  .editorial-cell--text .eyebrow {\n    font-size: 10px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--olive);\n    margin-bottom: 16px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .editorial-cell--text h3 {\n    font-family: var(--font-serif);\n    font-size: clamp(22px, 2.5vw, 32px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    line-height: 1.25;\n    margin-bottom: 16px;\n  }\n  .editorial-cell--text p {\n    font-size: 14px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.75;\n    font-family: var(--font-sans);\n  }\n  .editorial-cell--dark {\n    background: var(--olive-dk);\n    display: flex;\n    flex-direction: column;\n    justify-content: flex-end;\n    padding: 40px;\n  }\n  .editorial-cell--dark .eyebrow {\n    font-size: 10px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    margin-bottom: 16px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .editorial-cell--dark .big-number {\n    font-family: var(--font-serif);\n    font-size: clamp(48px, 5vw, 72px);\n    font-weight: 700;\n    color: var(--olive-lt);\n    line-height: 1;\n    margin-bottom: 8px;\n  }\n  .editorial-cell--dark p {\n    font-size: 14px;\n    color: rgba(232,223,192,0.7);\n    font-weight: 300;\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 SEZIONE: IMPATTO AMBIENTALE \u2500\u2500 *\/\n  .section-impact {\n    background: var(--olive-dk);\n    padding: 96px 5vw;\n    color: var(--sabbia);\n  }\n  .impact-intro {\n    max-width: 64ch;\n    margin-bottom: 64px;\n  }\n  .impact-intro h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(30px, 4vw, 48px);\n    font-weight: 700;\n    line-height: 1.2;\n    color: var(--sabbia);\n    margin-top: 12px;\n    margin-bottom: 24px;\n  }\n  .impact-intro p {\n    font-size: 17px;\n    color: rgba(232,223,192,0.8);\n    font-weight: 300;\n    line-height: 1.8;\n    font-family: var(--font-sans);\n  }\n  .impact-cards {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 24px;\n    margin-bottom: 64px;\n  }\n  .impact-card {\n    border: 1px solid rgba(232,223,192,0.15);\n    border-radius: 4px;\n    padding: 36px 32px;\n    position: relative;\n  }\n  .impact-card__number {\n    font-family: var(--font-serif);\n    font-size: 56px;\n    font-weight: 700;\n    color: var(--olive-lt);\n    line-height: 1;\n    margin-bottom: 8px;\n  }\n  .impact-card__unit {\n    font-size: 14px;\n    letter-spacing: 0.12em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    margin-bottom: 16px;\n    font-family: var(--font-sans);\n  }\n  .impact-card__desc {\n    font-size: 15px;\n    color: rgba(232,223,192,0.75);\n    font-weight: 300;\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n  .impact-story {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 64px;\n    align-items: start;\n    padding-top: 56px;\n    border-top: 1px solid rgba(232,223,192,0.15);\n  }\n  .impact-story__text h3 {\n    font-family: var(--font-serif);\n    font-size: clamp(22px, 2.5vw, 32px);\n    font-weight: 700;\n    color: var(--sabbia);\n    margin-bottom: 20px;\n    line-height: 1.3;\n  }\n  .impact-story__text p {\n    font-size: 15px;\n    color: rgba(232,223,192,0.75);\n    font-weight: 300;\n    line-height: 1.8;\n    margin-bottom: 14px;\n    font-family: var(--font-sans);\n  }\n  .coords-block {\n    margin-top: 32px;\n    display: inline-flex;\n    flex-direction: column;\n    gap: 4px;\n  }\n  .coords-label {\n    font-size: 10px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    font-family: var(--font-sans);\n  }\n  .coords-value {\n    font-family: var(--font-sans);\n    font-size: 15px;\n    color: var(--sabbia);\n    letter-spacing: 0.08em;\n  }\n  .impact-story__image {\n    aspect-ratio: 4\/5;\n    border-radius: 4px;\n    overflow: hidden;\n  }\n  .impact-story__image img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n  }\n\n  .countup-number {\n    display: inline-block;\n  }\n\n  \/* \u2500\u2500 MAPPA GOOGLE MAPS \u2500\u2500 *\/\n  .section-map {\n    background: var(--bianco);\n    padding: 96px 5vw;\n  }\n  .section-map__header {\n    margin-bottom: 40px;\n    display: flex;\n    align-items: flex-end;\n    justify-content: space-between;\n    gap: 32px;\n  }\n  .section-map__header h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(26px, 3vw, 36px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-top: 8px;\n  }\n  .section-map__header p {\n    font-size: 14px;\n    color: var(--testo-l);\n    font-weight: 300;\n    max-width: 40ch;\n    text-align: right;\n    line-height: 1.6;\n    font-family: var(--font-sans);\n  }\n  .map-wrapper {\n    border-radius: 4px;\n    overflow: hidden;\n    border: 1px solid var(--bordo);\n    height: 480px;\n  }\n  .map-wrapper iframe {\n    width: 100%;\n    height: 100%;\n    border: 0;\n    display: block;\n  }\n  .map-coords-bar {\n    display: flex;\n    align-items: center;\n    gap: 32px;\n    margin-top: 20px;\n    padding: 16px 24px;\n    background: var(--crema);\n    border-radius: 4px;\n    border: 1px solid var(--bordo);\n  }\n  .map-coords-bar .coord-item {\n    display: flex;\n    flex-direction: column;\n    gap: 3px;\n  }\n  .map-coords-bar .coord-label {\n    font-size: 10px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--testo-l);\n    font-family: var(--font-sans);\n  }\n  .map-coords-bar .coord-val {\n    font-family: var(--font-sans);\n    font-size: 14px;\n    color: var(--olive-dk);\n    letter-spacing: 0.06em;\n    font-weight: 500;\n  }\n  .map-coords-bar .coord-separator {\n    width: 1px;\n    height: 32px;\n    background: var(--bordo-m);\n  }\n  .map-coords-bar .coord-place {\n    flex: 1;\n    font-size: 13px;\n    color: var(--testo-m);\n    font-weight: 300;\n    font-style: normal;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 SEZIONE: MADE IN ITALY \/ FILIERA \u2500\u2500 *\/\n  .section-supply {\n    background: var(--crema);\n    padding: 80px 5vw;\n  }\n  .supply-heading {\n    margin-bottom: 40px;\n  }\n  .supply-heading .label-small {\n    display: block;\n    margin-bottom: 10px;\n  }\n  .supply-heading h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(26px, 3vw, 36px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    line-height: 1.2;\n    margin: 0;\n  }\n  .supply-inner {\n    display: grid;\n    grid-template-columns: 1fr 1fr 1fr;\n    gap: 40px;\n  }\n  .supply-block {\n    border-top: 2px solid var(--olive-lt);\n    padding-top: 28px;\n  }\n  .supply-block__num {\n    font-family: var(--font-serif);\n    font-size: 40px;\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-bottom: 8px;\n    line-height: 1;\n  }\n  .supply-block__title {\n    font-size: 15px;\n    font-weight: 500;\n    color: var(--testo);\n    margin-bottom: 10px;\n    font-family: var(--font-sans);\n  }\n  .supply-block__desc {\n    font-size: 14px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 CAROSELLO PRODOTTI CORRELATI \u2500\u2500 *\/\n  .section-carousel {\n    background: transparent;\n    padding: 80px 5vw 96px;\n  }\n  .carousel-header {\n    margin-bottom: 48px;\n  }\n  .carousel-header h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(26px, 3vw, 38px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-top: 12px;\n  }\n  .carousel-wrapper {\n    display: flex;\n    align-items: center;\n    gap: 16px;\n  }\n  .carousel-track-outer {\n    flex: 1;\n    overflow: hidden;\n    user-select: none;\n    -webkit-user-select: none;\n  }\n  .carousel-track {\n    display: flex;\n    gap: 20px;\n    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n    will-change: transform;\n  }\n  .carousel-track.is-dragging {\n    transition: none;\n  }\n  .prod-card {\n    flex: 0 0 calc(25% - 15px);\n    min-width: 0;\n    border: 1px solid var(--bordo);\n    border-radius: 4px;\n    overflow: hidden;\n    background: var(--sabbia);\n    display: flex;\n    flex-direction: column;\n  }\n  .prod-card__img-wrap {\n    display: block;\n    aspect-ratio: 3\/4;\n    overflow: hidden;\n    background: var(--crema);\n  }\n  .prod-card__img-wrap img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    transition: transform 0.4s ease;\n    display: block;\n    pointer-events: none;\n    -webkit-user-drag: none;\n  }\n  .prod-card:hover .prod-card__img-wrap img {\n    transform: scale(1.04);\n  }\n  .prod-card__body {\n    padding: 20px 20px 20px;\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    background: var(--sabbia);\n  }\n  .prod-card__name {\n    font-size: 15px;\n    font-weight: 500;\n    color: var(--testo);\n    margin-bottom: 8px;\n    line-height: 1.3;\n    font-family: var(--font-sans);\n  }\n  .prod-card__desc {\n    font-size: 13px;\n    color: var(--testo-l);\n    font-weight: 300;\n    line-height: 1.6;\n    flex: 1;\n    margin-bottom: 16px;\n    font-family: var(--font-sans);\n  }\n  .prod-card__footer {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 8px;\n    margin-top: auto;\n  }\n  .prod-card__price {\n    font-size: 14px;\n    font-weight: 500;\n    color: var(--olive-dk);\n    font-family: var(--font-sans);\n  }\n  .prod-card__btn {\n    display: inline-block;\n    padding: 8px 18px;\n    border: 1px solid var(--olive);\n    border-radius: 100px;\n    font-size: 12px;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    color: var(--olive);\n    text-decoration: none;\n    transition: background 0.2s, color 0.2s;\n    white-space: nowrap;\n    font-family: var(--font-sans);\n  }\n  .prod-card__btn:hover {\n    background: var(--olive);\n    color: var(--bianco);\n  }\n  .carousel-btn {\n    flex-shrink: 0;\n    width: 40px;\n    height: 40px;\n    border-radius: 50%;\n    border: 1px solid var(--bordo-m);\n    background: var(--bianco);\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: border-color 0.2s, background 0.2s;\n    padding: 0;\n  }\n  .carousel-btn svg {\n    width: 18px;\n    height: 18px;\n    stroke: var(--olive-dk);\n  }\n  .carousel-btn:hover {\n    border-color: var(--olive);\n    background: var(--crema);\n  }\n  .carousel-btn:disabled {\n    opacity: 0.3;\n    cursor: default;\n  }\n  .carousel-dots {\n    display: flex;\n    justify-content: center;\n    gap: 8px;\n    margin-top: 32px;\n  }\n  .carousel-dot {\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--sabbia-dk);\n    border: none;\n    padding: 0;\n    cursor: pointer;\n    transition: background 0.2s, transform 0.2s;\n  }\n  .carousel-dot.active {\n    background: var(--olive);\n    transform: scale(1.4);\n  }\n\n  \/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n  @media (max-width: 900px) {\n    .section-hero,\n    .section-material,\n    .section-impact .impact-story,\n    .section-wireless {\n      grid-template-columns: 1fr;\n      gap: 40px;\n    }\n    .section-material__image { order: 0; }\n    .impact-cards { grid-template-columns: 1fr; }\n    .supply-inner { grid-template-columns: 1fr; gap: 32px; }\n    .palette-row { grid-template-columns: repeat(2, 1fr); }\n    .texture-row { grid-template-columns: repeat(3, 1fr); }\n    .section-wireless { grid-template-columns: 1fr; }\n    .editorial-grid {\n      grid-template-columns: 1fr 1fr;\n      grid-template-rows: auto;\n      grid-template-areas:\n        \"c1 c2\"\n        \"c3 c4\"\n        \"c5 c5\"\n        \"c6 c7\"\n        \"c8 c8\"\n        \"c9 c9\";\n    }\n    .design-details { grid-template-columns: 1fr; gap: 32px; padding: 32px 24px; }\n    .section-map__header { flex-direction: column; align-items: flex-start; }\n    .section-map__header p { text-align: left; }\n    .prod-card { flex: 0 0 calc(50% - 10px); }\n    .carousel-btn { display: none; }\n  }\n  @media (max-width: 560px) {\n    .editorial-grid {\n      grid-template-columns: 1fr;\n      grid-template-areas:\n        \"c1\" \"c2\" \"c3\" \"c4\" \"c5\" \"c6\" \"c7\" \"c8\" \"c9\";\n    }\n    .prod-card { flex: 0 0 80%; }\n    .palette-row { grid-template-columns: repeat(2, 1fr); }\n  }\n<\/style>\n\n\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     1. HERO BESCHREIBUNG\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-hero\">\n  <div class=\"section-hero__text\">\n    <span class=\"eyebrow\">VAIA Cover \u2014 Woher sie kommt<\/span>\n    <h2>Die Rinde eines Olivenbaums,<br>der nicht mehr existiert,<br>um dein Telefon.<\/h2>\n    <p>VAIA Cover wird aus dem spritzgegossenen Biokomposit Olive Matter hergestellt: biobasiertes TPU mit Holzfasern aus Olivenb\u00e4umen, die durch die Xylella-Krankheit gef\u00e4llt wurden.\n<br><br>\nJede H\u00fclle entsteht aus dem Scan einer echten apulischen Olivenbaumrinde.\n\nEs ist das reale Muster von B\u00e4umen, die eine der gr\u00f6\u00dften Umweltkatastrophen des Mittelmeerraums durchlebt haben.\n<br><br>\nDie Naturfasern treten aus dem Material hervor, die Maserung bleibt sichtbar, die Haptik bleibt warm und materiell.\n\nJedes Cover-Modell unterscheidet sich von den anderen, weil auch die Rinde, aus der es entsteht, einzigartig war.<\/p>\n  <\/div>\n  <div class=\"section-hero__image\" style=\"aspect-ratio: 16\/9; overflow: hidden; font-size: 0; line-height: 0;\">\n    <iframe src=\"https:\/\/www.youtube.com\/embed\/l_fF0G67Ekw\" title=\"VAIA Cover \u2013 woher sie kommt\" allowfullscreen allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" style=\"width:100%; height:100%; border:0; display:block; vertical-align:top;\"><\/iframe>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     2. OLIVE MATTER \u2014 DAS MATERIAL\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-material\">\n  <div class=\"section-material__image\">\n    <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/14570Q5A7528-scaled.jpg\" alt=\"Detailansicht Olive Matter Material \u2013 Textur und Maserung des Olivenholzes\">\n  <\/div>\n  <div class=\"section-material__text\">\n    <span class=\"eyebrow\">OLIVE MATTER\u2122<\/span>\n    <h2>Das Material, das es nicht gab.<\/h2>\n    <p>Jahrelang haben wir uns eine Frage gestellt: Was kann aus dem Holz der von Xylella befallenen Olivenb\u00e4ume werden?<\/p>\n\n    <span class=\"material-highlight\">Die Antwort ist Olive Matter\u2122.<\/span>\n\n    <p>Ein neues Biokomposit, entwickelt von VAIA, das Holzfasern aus Olivenb\u00e4umen mit biobasiertem TPU verbindet, um einen technischen, widerstandsf\u00e4higen und alltagstauglichen Werkstoff zu schaffen.<\/p>\n\n    <div class=\"material-tagline\">\n      <span>Es ist nicht nur Holz<\/span>\n      <span>Es ist nicht nur Polymer<\/span>\n      <span>Es ist etwas Neues<\/span>\n    <\/div>\n\n    <div class=\"material-pills\">\n      <span class=\"pill\">Biobasiertes TPU<\/span>\n      <span class=\"pill\">Olivenfasern (Xylella)<\/span>\n      <span class=\"pill\">Antibakterielle Eigenschaften<\/span>\n      <span class=\"pill\">Spritzguss<\/span>\n      <span class=\"pill\">Bis zu 54 % erneuerbar<\/span>\n      <span class=\"pill\">100 % italienische Lieferkette<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     3. TECHNISCHE DATEN\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-specs\">\n  <div class=\"section-specs__header\">\n    <span class=\"label-small\">Technisches Detail<\/span>\n    <h2>Spezifikationen<\/h2>\n  <\/div>\n  <table class=\"specs-table\">\n    <tbody>\n    <tr><td>Material<\/td><td><strong>&nbsp;Olive Matter<\/strong> \u2014 Biobasiertes TPU und Olivenfasern<\/td><\/tr>\n    <tr><td>St\u00e4rke<\/td><td><strong>&nbsp;1,8 mm<\/strong> R\u00fcckseite \u2014 <strong>2 mm<\/strong> Seiten<\/td><\/tr>\n    <tr><td>Displayschutz<\/td><td>&nbsp;Erh\u00f6hte R\u00e4nder an Display und Kamera<\/td><\/tr>\n    <tr><td>Eigenschaften<\/td><td><strong>&nbsp;Mit antibakteriellen Eigenschaften<\/strong><\/td><\/tr>\n    <tr><td>Magnetische Zubeh\u00f6rteile<\/td><td>&nbsp;Nicht kompatibel mit Magnetbefestigung \u2014 drahtloses Laden wird nicht beeintr\u00e4chtigt<\/td><\/tr>\n    <tr><td>Herstellung<\/td><td>&nbsp;Spritzguss \u2014 <strong>100 % italienische Lieferkette<\/strong><\/td><\/tr>\n    <tr><td>Recyclingf\u00e4higkeit<\/td><td>&nbsp;100 % recycelbar<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     4. DRAHTLOSES LADEN\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-wireless\">\n  <div class=\"wireless-icon-block\">\n    <div class=\"wireless-icon\">\n      <svg viewBox=\"0 0 24 24\"><path d=\"M12 20h.01M5.6 10.6A8 8 0 0 1 18.4 10.6\"><\/path><path d=\"M2 7a12 12 0 0 1 20 0\"><\/path><path d=\"M8.9 14.1A4 4 0 0 1 15 14.1\"><\/path><\/svg>\n    <\/div>\n    <h3>Drahtloses<br>Laden<\/h3>\n  <\/div>\n  <div class=\"wireless-text\">\n    <p>Das drahtlose Laden funktioniert problemlos mit allen Standards. Das H\u00fclle muss nicht entfernt werden.<\/p>\n    <p>Die Holzfasern aus Olivenholz im Olive Matter-Material reduzieren die magnetische Anziehungskraft leicht: Die Energie\u00fcbertragung wird nicht beeintr\u00e4chtigt, aber Zubeh\u00f6r, das durch Magnetkraft befestigt wird \u2013 wie Wallets und MagSafe-Halterungen \u2013 ist nicht kompatibel.<\/p>\n    <div class=\"wireless-note\">\n      <svg style=\"width:18px;height:18px;flex-shrink:0;margin-top:2px;stroke:var(--olive);fill:none;stroke-width:1.5;stroke-linecap:round\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"><\/line><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"><\/line><\/svg>\n      <span><strong>Hinweis:<\/strong> Die Natur des Materials aus echten Olivenholzfasern ist der Grund f\u00fcr diese Eigenschaft. Es ist keine Konstruktionsschw\u00e4che, sondern die Konsequenz der Entscheidung f\u00fcr ein authentisches Material.<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     5. DESIGN \u2014 TEXTUR & PALETTE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-design\">\n  <div class=\"section-design__header\">\n    <span class=\"label-small\">Design<\/span>\n    <h2>Sieben Olivenb\u00e4ume, sieben Texturen.<br>Vier Farben des Salento.<\/h2>\n    <p>Jedes Telefonmodell tr\u00e4gt eine andere Rinde. Sieben Modelle, sieben B\u00e4ume, sieben einzigartige Texturen.\nIn der Mitte jedes Covers sind die Koordinaten des ersten Wiedergeburtswalds in Apulien erhaben eingraviert.<\/p>\n\n    <div class=\"design-tagline\">\n      <span>Ein realer Ort<\/span>\n      <span>Eine reale Geschichte<\/span>\n      <span>Eine reale Wirkung<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Hinweis SID -->\n  <div class=\"design-sid-note\">\n    <strong>Design entwickelt mit SID \u2014 Scuola Italiana Design di Padova<\/strong>, einem vom Ministerium f\u00fcr Hochschulbildung und Forschung anerkannten akademischen Institut, Teil des Galileo Visionary District, eines 1991 gegr\u00fcndeten Forschungs- und Innovationspols, der erste auf Industriedesign spezialisierte Einrichtung Nordostitaliens.\n  <\/div>\n\n  <!-- Vier identit\u00e4tsstiftende Elemente -->\n  <div class=\"design-details\">\n    <div class=\"design-detail-item\">\n      <span class=\"detail-num\">01 \u2014 Textur<\/span>\n      <h4>Die Rinde als Oberfl\u00e4che<\/h4>\n      <p>Die Oberfl\u00e4che jedes Covers reproduziert den Scan einer echten apulischen Olivenbaumrinde. Jedes Modell tr\u00e4gt eine andere Textur: sieben Modelle, sieben Rinden, sieben einzigartige Oberfl\u00e4chen. Es ist keine allgemeine Holzinspiration: Es ist die echte Rinde dieser B\u00e4ume.<\/p>\n    <\/div>\n    <div class=\"design-detail-item\">\n      <span class=\"detail-num\">02 \u2014 Haptik<\/span>\n      <h4>Die Ber\u00fchrung des Materials<\/h4>\n      <p>Die Holzfasern aus Olivenholz sind sichtbar und sp\u00fcrbar. Das Auge sieht die nat\u00fcrliche Maserung des Holzes, die Hand f\u00fchlt eine warme, matte Konsistenz \u2013 weit entfernt von der K\u00e4lte herk\u00f6mmlicher Kunststoffe. Es ist die physische Pr\u00e4senz des Materials, die von seiner Herkunft erz\u00e4hlt.<\/p>\n    <\/div>\n    <div class=\"design-detail-item\">\n      <span class=\"detail-num\">03 \u2014 Koordinaten<\/span>\n      <h4>Ein pr\u00e4ziser Ort, erhaben eingraviert<\/h4>\n      <p>In der Mitte jedes Covers sind die geografischen Koordinaten des ersten Wiedergeburtswalds in Apulien, in Specchia (LE) \u2014 39.94700\u00b0 N \/ 18.27292\u00b0 E \u2014 eingraviert, begleitet vom erhabenen Profil des Gebiets aus der Vogelperspektive.<\/p>\n    <\/div>\n    <div class=\"design-detail-item\">\n      <span class=\"detail-num\">04 \u2014 Palette<\/span>\n      <h4>Vier Farben des Salento<\/h4>\n      <p>Olive Green, Pastel Turquoise, Terra Brown, Light Ivory: vier Farben, die aus der Beobachtung des apulischen Territoriums entstehen, von der roten Erde bis zum streifenden Licht auf dem Adriatischen Meer.<\/p>\n    <\/div>\n  <\/div>\n\n  <!-- Farbpalette -->\n  <p class=\"palette-title\">Die Palette<\/p>\n  <div class=\"palette-row\">\n    <div class=\"palette-swatch\">\n      <div class=\"swatch-color\" style=\"background: #6B6B3A;\"><\/div>\n      <div class=\"swatch-info\">\n        <div class=\"swatch-name\">Olive Green<\/div>\n        <div class=\"swatch-desc\">Die Farbe der Olivenbl\u00e4tter im Salento<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"palette-swatch\">\n      <div class=\"swatch-color\" style=\"background: #89C4C8;\"><\/div>\n      <div class=\"swatch-info\">\n        <div class=\"swatch-name\">Pastel Turquoise<\/div>\n        <div class=\"swatch-desc\">Die Farbe der Adria<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"palette-swatch\">\n      <div class=\"swatch-color\" style=\"background: #6F4E37;\"><\/div>\n      <div class=\"swatch-info\">\n        <div class=\"swatch-name\">Terra Brown<\/div>\n        <div class=\"swatch-desc\">Die Farbe der apulischen Erde<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"palette-swatch\">\n      <div class=\"swatch-color\" style=\"background: #E8D8B0;\"><\/div>\n      <div class=\"swatch-info\">\n        <div class=\"swatch-name\">Light Ivory<\/div>\n        <div class=\"swatch-desc\">Die Farbe der goldenen Weiten des Salento<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     6. EDITORIALES FOTORASTER\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-editorial\">\n  <div class=\"editorial-grid\">\n\n    <!-- c1: LIFESTYLE OLIVE MATTER -->\n    <div class=\"editorial-cell ec-1\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-LIFESTYLE-OLIVE-MATTER-scaled.jpg\" alt=\"VAIA Cover \u2013 Lifestyle Olive Matter\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">Lifestyle<\/span>\n        <div class=\"cap-text\">Olive Matter<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c2: Textzelle \u2014 VAIA-Philosophie -->\n    <div class=\"editorial-cell editorial-cell--text ec-2\">\n      <span class=\"eyebrow\">VAIA-Philosophie<\/span>\n      <h3>\u201eWir regenerieren<br>das mediterrane<br>Buschland.&#8220;<\/h3>\n      <p>VAIA Cover ist das erste Produkt des Projekts Puglia. Ein Projekt, das dazu entstanden ist, einen kollektiven Verlust in eine neue M\u00f6glichkeit zu verwandeln. Jedes Cover tr\u00e4gt direkt zur Regeneration des mediterranen Buschlands in Specchia (LE) bei. Einen Quadratmeter nach dem anderen.<\/p>\n    <\/div>\n\n    <!-- c3: OGNI GIORNO -->\n    <div class=\"editorial-cell ec-3\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-OGNI-GIORNO-scaled.jpg\" alt=\"VAIA Cover \u2013 jeden Tag\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">Detail<\/span>\n        <div class=\"cap-text\">Jeden Tag<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c4: SEMPRE CON TE -->\n    <div class=\"editorial-cell ec-4\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-SEMPRE-CON-TE-scaled.jpg\" alt=\"VAIA Cover \u2013 immer dabei\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">Unterwegs<\/span>\n        <div class=\"cap-text\">Immer dabei<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c5: dark stat cell \u2014 1 m\u00b2 -->\n    <div class=\"editorial-cell editorial-cell--dark ec-5\" style=\"background: var(--terra);\">\n      <span class=\"eyebrow\" style=\"color: var(--terra-lt);\">Wirkung<\/span>\n      <div class=\"big-number\" style=\"font-size: clamp(32px,3.5vw,52px); margin-bottom:12px; color: var(--sabbia);\">1 m\u00b2<br>regeneriertes<br>Buschland.<\/div>\n      <p style=\"color: rgba(232,223,192,0.8);\">Pro verkauftem Cover.<\/p>\n    <\/div>\n\n    <!-- c6: TRADIZIONE E INNOVAZIONE -->\n    <div class=\"editorial-cell ec-6\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-TRADIZIONE-E-INNOVAZIONE-scaled.jpg\" alt=\"VAIA Cover \u2013 Tradition und Innovation\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">Material<\/span>\n        <div class=\"cap-text\">Tradition und Innovation<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c7: Textzelle \u2014 Koordinaten -->\n    <div class=\"editorial-cell editorial-cell--text ec-7\">\n      <span class=\"eyebrow\">Eingravierte Koordinaten<\/span>\n      <h3>39.947\u00b0N<br>18.272\u00b0E<\/h3>\n      <p>Specchia (LE) \u2014 Erster Wiedergeburtswald in Apulien. Dieselben Koordinaten, die auf deinem Cover eingraviert sind.<\/p>\n    <\/div>\n\n    <!-- c8: LEGGERO AUTENTICO -->\n    <div class=\"editorial-cell ec-8\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-LEGGERO-AUTENTICO-scaled.jpg\" alt=\"VAIA Cover \u2013 leicht, authentisch\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">Jeden Tag<\/span>\n        <div class=\"cap-text\">Leicht, authentisch<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c9: dark stat cell \u2014 100% filiera italiana -->\n    <div class=\"editorial-cell editorial-cell--dark ec-9\" style=\"background: var(--mare);\">\n      <span class=\"eyebrow\" style=\"color: var(--crema);\">Made in Italy<\/span>\n      <div class=\"big-number\" style=\"font-size: clamp(28px,3vw,44px); margin-bottom:12px; color: var(--bianco);\">100 %<br>italienische<br>Lieferkette.<\/div>\n      <p style=\"color: rgba(250,250,247,0.85);\">Vom apulischen Olivenholz bis zum Spritzguss.<\/p>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     7. UMWELTAUSWIRKUNG + GESCHICHTE APULIEN\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-impact\">\n  <div class=\"impact-intro\">\n    <span class=\"label-small\" style=\"color:var(--olive-lt);\">Wirkung<\/span>\n    <h2>Jedes Cover<br>regeneriert 1 m\u00b2<br>mediteranes Buschland.<\/h2>\n    <p>Der Beitrag ist nicht symbolisch. Jeder Kauf unterst\u00fctzt direkt die Bepflanzung und Wiederherstellung des mediterranen Buschlands im ersten Wiedergeburtswald in Apulien.\nDieselben Koordinaten, die auf deinem Cover eingraviert sind.<\/p>\n  <\/div>\n\n  <div class=\"impact-cards\">\n    <div class=\"impact-card\">\n      <div class=\"impact-card__number\">\n        <span class=\"countup-number\" data-target=\"20\" data-suffix=\"M+\">0<\/span>\n      <\/div>\n      <div class=\"impact-card__unit\">betroffene Olivenb\u00e4ume<\/div>\n      <div class=\"impact-card__desc\">Seit der Ankunft der Xylella im Jahr 2013 wurden \u00fcber 20 Millionen apulische Olivenb\u00e4ume befallen. Eine der schwersten Umweltkatastrophen Europas.<\/div>\n    <\/div>\n    <div class=\"impact-card\">\n      <div class=\"impact-card__number\">\n        <span class=\"countup-number\" data-target=\"1\" data-suffix=\" m\u00b2\" data-prefix=\"\">0<\/span>\n      <\/div>\n      <div class=\"impact-card__unit\">pro Cover<\/div>\n      <div class=\"impact-card__desc\">Jedes verkaufte Cover tr\u00e4gt zur Aufforstung von 1 m\u00b2 mediterranem Buschland in Specchia (LE), im ersten Wiedergeburtswald in Apulien, bei.<\/div>\n    <\/div>\n    <div class=\"impact-card\">\n      <div class=\"impact-card__number\">\n        <span class=\"countup-number\" data-target=\"100\" data-suffix=\"%\">0<\/span>\n      <\/div>\n      <div class=\"impact-card__unit\">Made in Italy<\/div>\n      <div class=\"impact-card__desc\">Design entwickelt mit SID Scuola Italiana Design di Padova. Produktion vollst\u00e4ndig in Italien. Das Material ist landwirtschaftlicher Abfall: Fasern, die sonst entsorgt w\u00fcrden.<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"impact-story\">\n    <div class=\"impact-story__text\">\n      <h3>Warum Apulien,<br>warum jetzt.<\/h3>\n      <p>Jahrelang haben wir nach einem Weg gesucht, das regenerative Modell von VAIA nach Apulien zu bringen. Wir haben Landwirten, Wissenschaftlern, Institutionen und einfachen Menschen zugeh\u00f6rt, um gemeinsam zu verstehen, wie wir reagieren k\u00f6nnen. Nicht um zu ersetzen, was verloren gegangen ist, sondern um etwas Neues wachsen zu lassen.<\/p>\n      <p>Aus diesem Zuh\u00f6ren entstand Olive Matter: ein Material, das verbindet, was wie Abfall schien, mit modernster Forschung zu biobasierten Polymeren. Eine Verbindung zwischen territorialer Identit\u00e4t und technischer Innovation.<\/p>\n      <p>Das Olivenholz von B\u00e4umen, die von der Xylella befallen wurden, kann sicher transportiert werden, unter Einhaltung der EFSA-Vorschriften und der Region Apulien. Wir verwandeln es, anstatt es zu entsorgen.<\/p>\n      <div class=\"coords-block\">\n        <span class=\"coords-label\">Wiedergeburtswald \u2014 Specchia (LE)<\/span>\n        <span class=\"coords-value\">39\u00b057&#8217;N \u00b7 18\u00b010&#8217;E<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"impact-story__image\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/0440Q5A5062-1-1-scaled.jpg\" alt=\"Landschaft mit apulischen Olivenb\u00e4umen \u2013 Salento, Mischung aus abgestorbenen B\u00e4umen und lebender Vegetation\">\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     8. KARTE \u2014 WIEDERGEBURTSWALD\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-map\">\n  <div class=\"section-map__header\">\n    <div>\n      <span class=\"label-small\">WIEDERGEBURTSWALD<\/span>\n      <h2>Die Koordinaten, die du in der Tasche tr\u00e4gst.<\/h2>\n    <\/div>\n    <p>Dieselben Koordinaten, die auf jedem Cover eingraviert sind. Ein realer Ort, eine messbare Wirkung.<\/p>\n  <\/div>\n  <div class=\"map-wrapper\">\n    <iframe src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m18!1m12!1m3!1d12168.5!2d18.2845!3d39.9472!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x13453a7b8a6a23f1%3A0x3e3c3e3c3e3c3e3c!2sSpecchia%2C%20LE%2C%20Italia!5e0!3m2!1sit!2sit!4v1717156800000!5m2!1sit!2sit\" allowfullscreen loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\" title=\"Specchia (LE) \u2013 Wiedergeburtswald\"><\/iframe>\n  <\/div>\n  <div class=\"map-coords-bar\">\n    <span class=\"coord-place\">Erster Wiedergeburtswald in Apulien \u2014 Specchia (LE), Italien<\/span>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     9. LIEFERKETTE MADE IN ITALY\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-supply\">\n  <div class=\"supply-heading\">\n    <span class=\"label-small\">Lieferkette<\/span>\n    <h2>Vom landwirtschaftlichen Abfall<br>zu einem neuen Material.<\/h2>\n  <\/div>\n  <div class=\"supply-inner\">\n    <div class=\"supply-block\">\n      <div class=\"supply-block__num\">01<\/div>\n      <div class=\"supply-block__title\">Rohstoff aus landwirtschaftlichem Abfall<\/div>\n      <div class=\"supply-block__desc\">Die Holzfasern von durch Xylella gef\u00e4llten Olivenb\u00e4umen werden direkt von den betroffenen apulischen Landwirtschaftsbetrieben gesammelt. Material, das sonst entsorgt w\u00fcrde.<\/div>\n    <\/div>\n    <div class=\"supply-block\">\n      <div class=\"supply-block__num\">02<\/div>\n      <div class=\"supply-block__title\">Forschung und Design<\/div>\n      <div class=\"supply-block__desc\">Das Biokomposit Olive Matter wurde in Zusammenarbeit mit SID \u2014 Scuola Italiana Design di Padova \u2014 entwickelt. Von der Materialformulierung bis zum Scan der Rinden: Alles entsteht in Italien.<\/div>\n    <\/div>\n    <div class=\"supply-block\">\n      <div class=\"supply-block__num\">03<\/div>\n      <div class=\"supply-block__title\">Italienische Spritzgussproduktion<\/div>\n      <div class=\"supply-block__desc\">Die H\u00fcllen werden im Spritzgussverfahren in italienischen Werken hergestellt. Jede Textur wird millimetergenau vom originalen Rindenscan reproduziert.<\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     10. KARUSSELL VERWANDTE PRODUKTE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-carousel\">\n  <div class=\"carousel-header\">\n    <span class=\"label-small\">Die VAIA-Familie<\/span>\n    <h2>Zusammen kaufen<\/h2>\n  <\/div>\n  <div class=\"carousel-wrapper\">\n    <button class=\"carousel-btn carousel-btn--prev\" aria-label=\"Vorherige\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><polyline points=\"15 18 9 12 15 6\"><\/polyline><\/svg>\n    <\/button>\n    <div class=\"carousel-track-outer\" id=\"carouselOuter\">\n      <div class=\"carousel-track\" id=\"carouselTrack\">\n        <div class=\"prod-card\">\n          <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube\/\" class=\"prod-card__img-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_CUBE.jpg\" alt=\"VAIA Cube\" loading=\"lazy\">\n          <\/a>\n          <div class=\"prod-card__body\">\n            <p class=\"prod-card__name\">VAIA Cube<\/p>\n            <p class=\"prod-card__desc\">Nat\u00fcrlicher akustischer Verst\u00e4rker. 1 Cube = 1 Baum in den Dolomiten.<\/p>\n            <div class=\"prod-card__footer\">\n              <span class=\"prod-card__price\">62,00 \u20ac<\/span>\n              <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube\/\" class=\"prod-card__btn\">Entdecken<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"prod-card\">\n          <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube-essential-aria\/\" class=\"prod-card__img-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/09\/Untitled-design.jpg\" alt=\"VAIA Cube Essential Aria\" loading=\"lazy\">\n          <\/a>\n          <div class=\"prod-card__body\">\n            <p class=\"prod-card__name\">VAIA Cube Essential Aria<\/p>\n            <p class=\"prod-card__desc\">Nat\u00fcrlicher akustischer Verst\u00e4rker. 1 Cube = 1 Baum in den Dolomiten.<\/p>\n            <div class=\"prod-card__footer\">\n              <span class=\"prod-card__price\">89,00 \u20ac<\/span>\n              <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube-essential-aria\/\" class=\"prod-card__btn\">Entdecken<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"prod-card\">\n          <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube-imperfetto\/\" class=\"prod-card__img-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_IMPERFETTO.jpg\" alt=\"VAIA Cube Imperfetto\" loading=\"lazy\">\n          <\/a>\n          <div class=\"prod-card__body\">\n            <p class=\"prod-card__name\">VAIA Cube Imperfetto<\/p>\n            <p class=\"prod-card__desc\">Der ikonische Cube, einzigartig gemacht durch nat\u00fcrliche Flecken und Unvollkommenheiten des Holzes.<\/p>\n            <div class=\"prod-card__footer\">\n              <span class=\"prod-card__price\">74,00 \u20ac<\/span>\n              <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube-imperfetto\/\" class=\"prod-card__btn\">Entdecken<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"prod-card\">\n          <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube-joy\/\" class=\"prod-card__img-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_JOY-2-1.jpg\" alt=\"VAIA Cube JOY\" loading=\"lazy\">\n          <\/a>\n          <div class=\"prod-card__body\">\n            <p class=\"prod-card__name\">VAIA Cube JOY<\/p>\n            <p class=\"prod-card__desc\">VAIA-Holzverst\u00e4rker, in verschiedenen lebhaften Farben erh\u00e4ltlich.<\/p>\n            <div class=\"prod-card__footer\">\n              <span class=\"prod-card__price\">\u2014<\/span>\n              <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube-joy\/\" class=\"prod-card__btn\">Entdecken<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n    <button class=\"carousel-btn carousel-btn--next\" aria-label=\"N\u00e4chste\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg>\n    <\/button>\n  <\/div>\n  <div class=\"carousel-dots\" id=\"carouselDots\"><\/div>\n<\/section>\n\n<script>\n\/* \u2500\u2500 KARUSSELL mit Touch\/Drag-Unterst\u00fctzung \u2500\u2500 *\/\n(function() {\n  const track = document.getElementById('carouselTrack');\n  const outer = document.getElementById('carouselOuter');\n  const dotsContainer = document.getElementById('carouselDots');\n  const cards = track.querySelectorAll('.prod-card');\n  const prevBtn = document.querySelector('.carousel-btn--prev');\n  const nextBtn = document.querySelector('.carousel-btn--next');\n  let current = 0;\n\n  function visibleCount() {\n    return window.innerWidth <= 560 ? 1 : window.innerWidth <= 900 ? 2 : 4;\n  }\n\n  function maxIndex() {\n    return Math.max(0, cards.length - visibleCount());\n  }\n\n  function cardWidth() {\n    return cards[0].offsetWidth + 20;\n  }\n\n  const dots = [];\n  for (let i = 0; i <= maxIndex(); i++) {\n    const d = document.createElement('button');\n    d.className = 'carousel-dot' + (i === 0 ? ' active' : '');\n    d.addEventListener('click', () => goTo(i));\n    dotsContainer.appendChild(d);\n    dots.push(d);\n  }\n\n  function goTo(index) {\n    current = Math.max(0, Math.min(index, maxIndex()));\n    track.style.transform = 'translateX(-' + (current * cardWidth()) + 'px)';\n    dots.forEach((d, i) => d.classList.toggle('active', i === current));\n    if (prevBtn) prevBtn.disabled = current === 0;\n    if (nextBtn) nextBtn.disabled = current >= maxIndex();\n  }\n\n  if (prevBtn) prevBtn.addEventListener('click', () => goTo(current - 1));\n  if (nextBtn) nextBtn.addEventListener('click', () => goTo(current + 1));\n  if (prevBtn) prevBtn.disabled = true;\n\n  window.addEventListener('resize', () => goTo(Math.min(current, maxIndex())));\n\n  let dragStartX = 0;\n  let dragCurrentX = 0;\n  let isDragging = false;\n  let startOffset = 0;\n  const DRAG_THRESHOLD = 8;\n  const SWIPE_MIN = 40;\n\n  function getEventX(e) {\n    return e.touches ? e.touches[0].clientX : e.clientX;\n  }\n\n  function onDragStart(e) {\n    dragStartX = getEventX(e);\n    dragCurrentX = dragStartX;\n    isDragging = false;\n    startOffset = current * cardWidth();\n  }\n\n  function onDragMove(e) {\n    if (e.touches && Math.abs(getEventX(e) - dragStartX) < DRAG_THRESHOLD &#038;&#038; !isDragging) return;\n\n    const diff = getEventX(e) - dragStartX;\n\n    if (e.touches &#038;&#038; Math.abs(diff) < Math.abs(e.touches[0].clientY - (e.touches[0].clientY))) return;\n\n    if (!isDragging &#038;&#038; Math.abs(diff) > DRAG_THRESHOLD) {\n      isDragging = true;\n      track.classList.add('is-dragging');\n    }\n\n    if (!isDragging) return;\n\n    if (e.cancelable) e.preventDefault();\n\n    dragCurrentX = getEventX(e);\n    const liveOffset = startOffset - diff;\n\n    const minOffset = 0;\n    const maxOffset = maxIndex() * cardWidth();\n    let clampedOffset;\n    if (liveOffset < minOffset) {\n      clampedOffset = minOffset - Math.sqrt(Math.abs(liveOffset - minOffset)) * 3;\n    } else if (liveOffset > maxOffset) {\n      clampedOffset = maxOffset + Math.sqrt(Math.abs(liveOffset - maxOffset)) * 3;\n    } else {\n      clampedOffset = liveOffset;\n    }\n\n    track.style.transform = 'translateX(-' + clampedOffset + 'px)';\n  }\n\n  function onDragEnd(e) {\n    if (!isDragging) return;\n\n    track.classList.remove('is-dragging');\n    isDragging = false;\n\n    const diff = dragCurrentX - dragStartX;\n\n    if (Math.abs(diff) >= SWIPE_MIN) {\n      if (diff < 0) {\n        goTo(current + 1);\n      } else {\n        goTo(current - 1);\n      }\n    } else {\n      goTo(current);\n    }\n  }\n\n  outer.addEventListener('touchstart', onDragStart, { passive: true });\n  outer.addEventListener('touchmove', onDragMove, { passive: false });\n  outer.addEventListener('touchend', onDragEnd, { passive: true });\n  outer.addEventListener('touchcancel', onDragEnd, { passive: true });\n\n  outer.addEventListener('mousedown', onDragStart);\n  document.addEventListener('mousemove', (e) => { if (dragStartX) onDragMove(e); });\n  document.addEventListener('mouseup', (e) => { if (dragStartX) { onDragEnd(e); dragStartX = 0; } });\n\n  outer.addEventListener('click', (e) => {\n    if (Math.abs(dragCurrentX - dragStartX) > DRAG_THRESHOLD) {\n      e.preventDefault();\n    }\n  }, true);\n})();\n\n\/* \u2500\u2500 COUNT-UP ANIMATION \u2500\u2500 *\/\n(function() {\n  const counters = document.querySelectorAll('.countup-number');\n\n  function animateCounter(el) {\n    const target = parseFloat(el.dataset.target);\n    const suffix = el.dataset.suffix || '';\n    const duration = 2200;\n    const startTime = performance.now();\n    const isInteger = Number.isInteger(target);\n\n    function step(now) {\n      const elapsed = now - startTime;\n      const progress = Math.min(elapsed \/ duration, 1);\n      const eased = 1 - Math.pow(1 - progress, 3);\n      const current = target * eased;\n\n      if (isInteger) {\n        el.textContent = Math.floor(current) + suffix;\n      } else {\n        el.textContent = current.toFixed(0) + suffix;\n      }\n\n      if (progress < 1) {\n        requestAnimationFrame(step);\n      } else {\n        el.textContent = target + suffix;\n      }\n    }\n\n    requestAnimationFrame(step);\n  }\n\n  const observer = new IntersectionObserver((entries) => {\n    entries.forEach(entry => {\n      if (entry.isIntersecting) {\n        animateCounter(entry.target);\n        observer.unobserve(entry.target);\n      }\n    });\n  }, { threshold: 0.3 });\n\n  counters.forEach(el => observer.observe(el));\n})();\n<\/script>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Die Rinde eines Olivenbaums.<br \/>Um dein Telefon.<br \/><span style=\"font-size: 17px;\"><br \/>Die erste Handyh\u00fclle aus Oliven-Biokomposit, die die mediterrane Macchia regeneriert.<\/span><\/p>\n","protected":false},"featured_media":57968,"template":"","meta":{"_acf_changed":true,"_crdt_document":"{\"document\":\"AAChBq776NoW+8\/iqQkErvvo2ha7z+KpCa776NoWu8\/iqQmu++jaFrvP4qkJrvvo2ha7z+KpCa776NoWu8\/iqQmu++jaFrvP4qkJrvvo2ha7z+KpCa776NoW+8\/iqQkB9sGSlRUB7vvo2hYBtsGSlRX7z+KpCQm2wZKVFbvP4qkJtsGSlRX7z+KpCQC2wZKVFbvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQm2wZKVFbvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQm2wZKVFbvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQm2wZKVFbvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQm2wZKVFbvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQm2wZKVFbvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQm2wZKVFbvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQm2wZKVFbvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQm2wZKVFbvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQm2wZKVFfvP4qkJH7bBkpUV+8\/iqQkDtsGSlRX7z+KpCQG2wZKVFbvP4qkJtsGSlRX7z+KpCQO2wZKVFbvP4qkJtsGSlRX7z+KpCQO2wZKVFfvP4qkJAbbBkpUV+8\/iqQkBtsGSlRX7z+KpCQu2wZKVFfvP4qkJA\/bBkpUVWrvP4qkJtsGSlRW7z+KpCbbBkpUVu8\/iqQn2wZKVFQO7z+KpCbbBkpUVu8\/iqQm2wZKVFbvP4qkJ9sGSlRUNnv6img+2wZKVFbeYlp4B7vvo2hYAsp61sgq2wZKVFfvP4qkJgwG\/8P+bBO776NoWAL\/w\/5sErvvo2ha\/8P+bBK776NoWu8\/iqQmu++jaFt7+opoPAbbBkpUV+8\/iqQkA\/\/D\/mwQV9sGSlRUSv\/D\/mwT2wZKVFSO\/8P+bBPbBkpUVCb\/w\/5sE9sGSlRUH\/\/D\/mwQRtsGSlRX\/8P+bBAKAguHNA\/\/w\/5sEB+776NoWAv\/w\/5sEAO776NoWALbBkpUV\/\/D\/mwQGt5iWngG2wZKVFZoEvNEDAwDI0QMCBiYCBAIGgtQD7LkCAsicAY4CTALGAgMANqLmAq5uskIWspUDAvKuB66uB8TNBqK1AwTktQOCtwPYjgOmAgQaIAw8BKwBAgYKAwAKAwAFAAIIAwAEAwAEoL8CFAQCBAoEGBADAAQRAbYB3MMCnr8CCNy\/ArK\/AsC\/AgSUvwIM1r8CBK6\/AgTuvwK8vwL4vwKIwALGwAKswAIKDB4KEvjBAojCAgjQywKiAgSGATwErAGmBgIOBAgCCgMFDAQWAwDECJgIBgQDAAoDAwoCBAIEAsgIChAIGAIFAAMBBQECBNwxTgJk4mGUAgLSAgIKLJQLrC+0RJgvvDWaF75pvl+MCgYDAAYDBgUBAwEMAggDAAwDBAQDAAQCBgIFAAYCBQAcAggCCgIcAggCEAIGAgYCBgIGCgAMAhwWHBYcFhwXAZ4Omg+EEowNAQIKAQFKAMJBhEEMBEjSQa5C7owErC+0RJgvvDWaF75pvl\/+X66xAcQBAuywAfblAnoUtNQD8NUDAkS4lgGegAP+lQQBAQgASAIEAgYIAQJOGAQBApKLAQQaIIgBsAGmBgIOBP6TAYiUAQwFARA0Bg4GAgwHAMIJAwAM4IsBoosBBQACCNSKAZiKAQYCBMaQAYIEgI8LsgK6JagDpgKIA7YVugLk3gtEArSTC6wojga+GMjcCyx4gAG4iAHMiQESUBhCEEK8BoyTAc0BvtEDAwABBrYDktkDyq4HARiw0AMUBAIECgQYEAMABBEBtgHCBAQJAA4GBA4MEgQGBAYJAh4KDB4KEgkB7sgCBIYBPASsAQERAgEPpgIKjL4CAgTMvgICsL4CEALivgICCAsAqAHWigGsL7REmC+8NZoXvmm+X4jKApI8zswGAQAYrpUE8oADAs4JIIIJEgoCDgQACgwFARA0Bg4GAgwHAMIJAwAMAAIFAAIIAAQGAgTEjAEBBqaEAZSYDKwI5pYCrCiOBr4YyNwLLHiAAf0DKADEAcEAxADBAMQBwQDEAMEAxADBAKECqAChASEAqAChAYEAwQChAAAAoQEAAKEBhAChAAAAoQCoAaECQQDBBsQAwQDEAsEAxADBBcQAwQDEA8EqoQDBCcQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQBwQDEAcEAxAHBAMQAwQDEAMEAxADBAMQPoQIhAKgAoQIhAKgAIQMnAAQAgQAnAAEAgQcnAAQAgQCEAIEAhACBAIQCgQCEA4EAhACBAIQAgQCEAIEAhAGBAIQCgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAIQAoACcAIQAoASEAKAAnAAEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAhwAhACgBIQAnACEBKAAhACcAgQAAAKgAIQEAAKEBqAAhAAAAoQHBCKECwQAhAMQBwQDEAKEDxwAhACgAIQAnACEBJwChAKgAKAAHACEAKAEnASgABwAhACgBJwHBCcQSwQXEBCEAxADBAMQAwQDEAMEAxADBAMQAQQCoAkEAIQBEAMQHqAIoAKgAKACoACgAqAAhAKHKwAOPvwNzdGF0ZXZlcnNpb25SaW5kIGVpbmVzIE9saXZlbmJhdW1zLjxiIFVtIGRlaW4gVGVsZWZvbi48YnI+IERpZSBlcnN0YXRldmVyc2lvbkNvdmVyImFsaWduIjpvdyAvLS0+IGNsbiBhbGduOiJmbGRpYXNwby1vRGl0ZSBIYWR5aMO8bGxlIHVzIE92ZW4tQmlva29tcG8sZGlkaW1kdHJyTWFpYWd0LnN0YXRldmVyc2lvbnN0YXRldmVyc2lvbnN0YXRldmVyc2lvbmRvY3VtZW50ZGF0ZWRvY3VtZW50c2x1Z2RvY3VtZW50c3RhdHVzZG9jdW1lbnR0aXRsZVZBSUEgZG9jdW1lbnRjb250ZW50ZG9jdW1lbnRleGNlcnB0PHA+ZSBlcnNuYWxpc2l0IGUgZSBlaWVhbmUgY2NoIHJlZW5lcmllcjwvcD5kb2N1bWVudGZlYXR1cmVkX21lZGlhZG9jdW1lbnR0ZW1wbGF0ZWRvY3VtZW50bWV0YV9hY2ZfY2hhbmdlZGNvbnRlbnQtdHlwZWRvY3VtZW50cHJvZHVjdF9icmFuZGRvY3VtZW50cHJvZHVjdF9jYXRkb2N1bWVudHByb2R1Y3RfdGFnZG9jdW1lbnRibG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc25hbWVkYXRhYWxpZ25tb2RlaW5uZXJCbG9ja3NzdGF0ZXNhdmVkQXRzdGF0ZXNhdmVkQnlfYWNmX2NvbnRleHRzdGF0ZXZlcnNpb248c3BhbiBzdHlsZT0iZm9udC1zaXplOjE3cHg7Ij48YnI8L3NwYW4+Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzaXNTdGFja2VkT25Nb2JpbGVjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzYWxpZ25jbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzCjwhLS13cDpvdW1zeyJpdWwifSAtLT4KPHYgY2xzPSJ3LWJsY2tjbHVtbnMgZnVsbD48IS0tIHdwY2x1bW4gLS0+CjwhLS0gL3A6Y29sdW1uLS0+PGRpdj4KPCEgL3dwOmNvbHVtbnMgLS1jb250ZW50PGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj48IS0tIHdwOmh0bWwgLS0+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+VkFJQSBDb3ZlciDigJMgUHJvZHVrdHNlaXRlPC90aXRsZT4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj0iIj4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1ETStTYW5zOndnaHRAMzAwOzQwMDs1MDAmYW1wO2Rpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9hcGkuZm9udHNoYXJlLmNvbS92Mi9jc3M\/ZltdPWNsYXNoLWRpc3BsYXlANDAwLDUwMCw2MDAsNzAwJmFtcDtkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+Cgo8c3R5bGU+CiAgKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfQoKICA6cm9vdCB7CiAgICAtLW9saXZlOiAgICAjNkI2QjNBOwogICAgLS1vbGl2ZS1sdDogI0E4QTg2QTsKICAgIC0tb2xpdmUtZGs6ICMzQzNDMUU7CiAgICAtLW1hcmU6ICAgICAjNUI5REE0OwogICAgLS1tYXJlLWx0OiAgIzlFQ0ZENDsKICAgIC0tdGVycmE6ICAgICM3QTVDM0E7CiAgICAtLXRlcnJhLWx0OiAjQzA5ODcwOwogICAgLS1zYWJiaWE6ICAgI0U4REZDMDsKICAgIC0tc2FiYmlhLWRrOiNDNEI4OEE7CiAgICAtLWNyZW1hOiAgICAjRjVGMUU4OwogICAgLS1iaWFuY286ICAgI0ZBRkFGNzsKICAgIC0tdGVzdG86ICAgICMxQTFBMTQ7CiAgICAtLXRlc3RvLW06ICAjNEE0QTM4OwogICAgLS10ZXN0by1sOiAgIzhBOEE3MjsKICAgIC0tYm9yZG86ICAgIHJnYmEoMTA3LDEwNyw1OCwwLjE4KTsKICAgIC0tYm9yZG8tbTogIHJnYmEoMTA3LDEwNyw1OCwwLjM1KTsKCiAgICAtLWZvbnQtc2FuczogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWJvZHksIHZhcigtLXdwLWZvbnQtZmFtaWx5LCAnRE0gU2FucycsIHNhbnMtc2VyaWYpKTsKICAgIC0tZm9udC1zZXJpZjogJ0NsYXNoRGlzcGxheS1WYXJpYWJsZScsICdDbGFzaCBEaXNwbGF5JywgdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWhlYWRpbmcsIHNhbnMtc2VyaWYpOwogIH0KCiAgYm9keSB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICB9CgogIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07CiAgfQoKICAuc2VyaWYgeyBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7IH0KICAubGFiZWwtc21hbGwgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbCk7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAvKiDilIDilIAgU0VaSU9ORTogREVTQ1JJWklPTkUgSEVSTyDilIDilIAgKi8KICAuc2VjdGlvbi1oZXJvIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3IDgwcHg7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgZ2FwOiA2NHB4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICB9CiAgLnNlY3Rpb24taGVyb19fdGV4dCAuZXllYnJvdyB7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4xOGVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZSk7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnNlY3Rpb24taGVyb19fdGV4dCBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDMycHgsIDR2dywgNTJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMTU7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLWJvdHRvbTogMjhweDsKICB9CiAgLnNlY3Rpb24taGVyb19fdGV4dCBwIHsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS43NTsKICAgIG1heC13aWR0aDogNDhjaDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc2VjdGlvbi1oZXJvX19pbWFnZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYXNwZWN0LXJhdGlvOiA0LzU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogIH0KICAuc2VjdGlvbi1oZXJvX19pbWFnZSBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IE9MSVZFIE1BVFRFUiDilIDilIAgKi8KICAuc2VjdGlvbi1tYXRlcmlhbCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogODBweDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX19pbWFnZSB7CiAgICBhc3BlY3QtcmF0aW86IDEvMTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBvcmRlcjogLTE7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX19pbWFnZSBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9fdGV4dCAuZXllYnJvdyB7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4xOGVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnNlY3Rpb24tbWF0ZXJpYWxfX3RleHQgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAzLjV2dywgNDRweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbWFyZ2luLWJvdHRvbTogMjhweDsKICB9CiAgLnNlY3Rpb24tbWF0ZXJpYWxfX3RleHQgcCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjgpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAubWF0ZXJpYWwtaGlnaGxpZ2h0IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiAyNHB4IDA7CiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2OCwxNjgsMTA2LDAuMTIpOwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1vbGl2ZS1sdCk7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyNHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgfQoKICAubWF0ZXJpYWwtdGFnbGluZSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMnB4OwogICAgbWFyZ2luOiAyOHB4IDAgMDsKICB9CiAgLm1hdGVyaWFsLXRhZ2xpbmUgc3BhbiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDJ2dywgMjJweCk7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgdGV4dC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgwLDAsMCwwLjM1KTsKICB9CgogIC5tYXRlcmlhbC1waWxscyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiB3cmFwOwogICAgZ2FwOiAxMHB4OwogICAgbWFyZ2luLXRvcDogMzJweDsKICB9CiAgLnBpbGwgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICBwYWRkaW5nOiA3cHggMTZweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTY4LDE2OCwxMDYsMC4zNSk7CiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5waWxsOjpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiA2cHg7CiAgICBoZWlnaHQ6IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlLWx0KTsKICAgIGZsZXgtc2hyaW5rOiAwOwogIH0KCiAgLmJ0bi1vbGl2ZS1tYXR0ZXIgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA4cHg7CiAgICBtYXJnaW4tdG9wOiAyOHB4OwogICAgcGFkZGluZzogMTNweCAyOHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUtbHQpOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4OwogICAgZm9udC1zaXplOiAxM3B4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgY29sb3IgMC4yczsKICB9CiAgLmJ0bi1vbGl2ZS1tYXR0ZXI6aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgfQoKICAvKiDilIDilIAgU0VaSU9ORTogU1BFQ0lGSUNIRSBURUNOSUNIRSDilIDilIAgKi8KICAuc2VjdGlvbi1zcGVjcyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgcGFkZGluZzogOTZweCA1dnc7CiAgfQogIC5zZWN0aW9uLXNwZWNzX19oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogNTZweDsKICB9CiAgLnNlY3Rpb24tc3BlY3NfX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICB9CiAgLnNwZWNzLXRhYmxlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3BlY3MtdGFibGUgdHIgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICB9CiAgLnNwZWNzLXRhYmxlIHRyOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgfQogIC5zcGVjcy10YWJsZSB0ZCB7CiAgICBwYWRkaW5nOiAxOHB4IDA7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9CiAgLnNwZWNzLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIHdpZHRoOiAzOCU7CiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OwogIH0KICAuc3BlY3MtdGFibGUgdGQ6bGFzdC1jaGlsZCB7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogIH0KICAuc3BlY3MtdGFibGUgdGQgc3Ryb25nIHsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IFdJUkVMRVNTIOKUgOKUgCAqLwogIC5zZWN0aW9uLXdpcmVsZXNzIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBwYWRkaW5nOiA3MnB4IDV2dzsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7CiAgICBnYXA6IDY0cHg7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAxNnB4OwogIH0KICAud2lyZWxlc3MtaWNvbiB7CiAgICB3aWR0aDogNTZweDsKICAgIGhlaWdodDogNTZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgfQogIC53aXJlbGVzcy1pY29uIHN2ZyB7IHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7IGZpbGw6IG5vbmU7IHN0cm9rZTogdmFyKC0tc2FiYmlhKTsgc3Ryb2tlLXdpZHRoOiAxLjU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIGgzIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjJweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICB9CiAgLndpcmVsZXNzLXRleHQgcCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLndpcmVsZXNzLW5vdGUgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMTJweDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjYpOwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1vbGl2ZSk7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC53aXJlbGVzcy1ub3RlIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7IH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IFRFWFRVUkUgJiBDT0xPUkkg4pSA4pSAICovCiAgLnNlY3Rpb24tZGVzaWduIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA1NnB4OwogICAgbWF4LXdpZHRoOiA2MGNoOwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgfQogIC5zZWN0aW9uLWRlc2lnbl9faGVhZGVyIHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuZGVzaWduLXRhZ2xpbmUgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgfQogIC5kZXNpZ24tdGFnbGluZSBzcGFuIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyMnB4KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMDcsMTA3LDU4LDAuMTgpOwogIH0KCiAgLmRlc2lnbi1kZXRhaWxzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDQ4cHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogICAgcGFkZGluZzogNDhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDEwcHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gLmRldGFpbC1udW0gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICB9CiAgLmRlc2lnbi1kZXRhaWwtaXRlbSBoNCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gcCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZGVzaWduLXNpZC1ub3RlIHsKICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7CiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7CiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLW9saXZlLWx0KTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTA3LDEwNyw1OCwwLjA1KTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmRlc2lnbi1zaWQtbm90ZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tb2xpdmUtZGspOyBmb250LXdlaWdodDogNTAwOyB9CgogIC50ZXh0dXJlLXJvdyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7CiAgICBnYXA6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAudGV4dHVyZS1jYXJkIHsKICAgIGFzcGVjdC1yYXRpbzogMy80OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogIH0KICAudGV4dHVyZS1jYXJkX19sYWJlbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgyNiwyNiwyMCwwLjU1KTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOwogICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgei1pbmRleDogMjsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAudGV4dHVyZS1jYXJkIC5pbWctcGxhY2Vob2xkZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogOHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC5wYWxldHRlLXRpdGxlIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tYm90dG9tOiAyOHB4OwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogIH0KICAucGFsZXR0ZS1yb3cgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5wYWxldHRlLXN3YXRjaCB7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogIH0KICAuc3dhdGNoLWNvbG9yIHsKICAgIGhlaWdodDogNzJweDsKICB9CiAgLnN3YXRjaC1pbmZvIHsKICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgfQogIC5zd2F0Y2gtbmFtZSB7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3dhdGNoLWRlc2MgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAvKiDilIDilIAgU0VaSU9ORTogR1JJR0xJQSBGT1RPIEVESVRPUklBTEUg4pSA4pSAICovCiAgLnNlY3Rpb24tZWRpdG9yaWFsIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXRlc3RvKTsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5lZGl0b3JpYWwtZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgIGdyaWQtdGVtcGxhdGUtcm93czogNDIwcHggNDIwcHggMzQwcHggNDIwcHg7CiAgICBnYXA6IDA7CiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOgogICAgICAiYzEgYzIgYzMiCiAgICAgICJjMSBjNCBjNSIKICAgICAgImM2IGM2IGM3IgogICAgICAiYzggYzggYzkiOwogIH0KICAuZWMtMSB7IGdyaWQtYXJlYTogYzE7IH0KICAuZWMtMiB7IGdyaWQtYXJlYTogYzI7IH0KICAuZWMtMyB7IGdyaWQtYXJlYTogYzM7IH0KICAuZWMtNCB7IGdyaWQtYXJlYTogYzQ7IH0KICAuZWMtNSB7IGdyaWQtYXJlYTogYzU7IH0KICAuZWMtNiB7IGdyaWQtYXJlYTogYzY7IH0KICAuZWMtNyB7IGdyaWQtYXJlYTogYzc7IH0KICAuZWMtOCB7IGdyaWQtYXJlYTogYzg7IH0KICAuZWMtOSB7IGdyaWQtYXJlYTogYzk7IH0KICAuZWRpdG9yaWFsLWNlbGwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICB9CiAgLmVkaXRvcmlhbC1jZWxsIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlOwogIH0KICAuZWRpdG9yaWFsLWNlbGw6aG92ZXIgaW1nIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgcGFkZGluZzogMjBweCAyNHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDI2LDI2LDIwLDAuNzUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiAuY2FwLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIC5jYXAtdGV4dCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDEuNXZ3LCAyMHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiA0OHB4IDQwcHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tdGV4dCAuZXllYnJvdyB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlKTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLXRleHQgaDMgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAyLjV2dywgMzJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc1OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICBwYWRkaW5nOiA0MHB4OwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLWRhcmsgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS1kYXJrIC5iaWctbnVtYmVyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoNDhweCwgNXZ3LCA3MnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayBwIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNyk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IElNUEFUVE8gQU1CSUVOVEFMRSDilIDilIAgKi8KICAuc2VjdGlvbi1pbXBhY3QgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUtZGspOwogICAgcGFkZGluZzogOTZweCA1dnc7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICB9CiAgLmltcGFjdC1pbnRybyB7CiAgICBtYXgtd2lkdGg6IDY0Y2g7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAuaW1wYWN0LWludHJvIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMzBweCwgNHZ3LCA0OHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICB9CiAgLmltcGFjdC1pbnRybyBwIHsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuOCk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuaW1wYWN0LWNhcmRzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOwogICAgZ2FwOiAyNHB4OwogICAgbWFyZ2luLWJvdHRvbTogNjRweDsKICB9CiAgLmltcGFjdC1jYXJkIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjMyLDIyMywxOTIsMC4xNSk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBwYWRkaW5nOiAzNnB4IDMycHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgfQogIC5pbXBhY3QtY2FyZF9fbnVtYmVyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogNTZweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgfQogIC5pbXBhY3QtY2FyZF9fdW5pdCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4xMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5pbXBhY3QtY2FyZF9fZGVzYyB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjc1KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS43OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5pbXBhY3Qtc3RvcnkgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogNjRweDsKICAgIGFsaWduLWl0ZW1zOiBzdGFydDsKICAgIHBhZGRpbmctdG9wOiA1NnB4OwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjMyLDIyMywxOTIsMC4xNSk7CiAgfQogIC5pbXBhY3Qtc3RvcnlfX3RleHQgaDMgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAyLjV2dywgMzJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICB9CiAgLmltcGFjdC1zdG9yeV9fdGV4dCBwIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNzUpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5jb29yZHMtYmxvY2sgewogICAgbWFyZ2luLXRvcDogMzJweDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogNHB4OwogIH0KICAuY29vcmRzLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5jb29yZHMtdmFsdWUgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07CiAgfQogIC5pbXBhY3Qtc3RvcnlfX2ltYWdlIHsKICAgIGFzcGVjdC1yYXRpbzogNC81OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICB9CiAgLmltcGFjdC1zdG9yeV9faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CgogIC5jb3VudHVwLW51bWJlciB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgfQoKICAvKiDilIDilIAgTUFQUEEgR09PR0xFIE1BUFMg4pSA4pSAICovCiAgLnNlY3Rpb24tbWFwIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICB9CiAgLnNlY3Rpb24tbWFwX19oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBnYXA6IDMycHg7CiAgfQogIC5zZWN0aW9uLW1hcF9faGVhZGVyIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgM3Z3LCAzNnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogOHB4OwogIH0KICAuc2VjdGlvbi1tYXBfX2hlYWRlciBwIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBtYXgtd2lkdGg6IDQwY2g7CiAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLm1hcC13cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgICBoZWlnaHQ6IDQ4MHB4OwogIH0KICAubWFwLXdyYXBwZXIgaWZyYW1lIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm9yZGVyOiAwOwogICAgZGlzcGxheTogYmxvY2s7CiAgfQogIC5tYXAtY29vcmRzLWJhciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMzJweDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICBwYWRkaW5nOiAxNnB4IDI0cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtaXRlbSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogM3B4OwogIH0KICAubWFwLWNvb3Jkcy1iYXIgLmNvb3JkLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtdmFsIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KICAubWFwLWNvb3Jkcy1iYXIgLmNvb3JkLXNlcGFyYXRvciB7CiAgICB3aWR0aDogMXB4OwogICAgaGVpZ2h0OiAzMnB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYm9yZG8tbSk7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtcGxhY2UgewogICAgZmxleDogMTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC8qIOKUgOKUgCBTRVpJT05FOiBNQURFIElOIElUQUxZIC8gRklMSUVSQSDilIDilIAgKi8KICAuc2VjdGlvbi1zdXBwbHkgewogICAgYmFja2dyb3VuZDogdmFyKC0tY3JlbWEpOwogICAgcGFkZGluZzogODBweCA1dnc7CiAgfQogIC5zdXBwbHktaGVhZGluZyB7CiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogIH0KICAuc3VwcGx5LWhlYWRpbmcgLmxhYmVsLXNtYWxsIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICB9CiAgLnN1cHBseS1oZWFkaW5nIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgM3Z3LCAzNnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIG1hcmdpbjogMDsKICB9CiAgLnN1cHBseS1pbm5lciB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgIGdhcDogNDBweDsKICB9CiAgLnN1cHBseS1ibG9jayB7CiAgICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tb2xpdmUtbHQpOwogICAgcGFkZGluZy10b3A6IDI4cHg7CiAgfQogIC5zdXBwbHktYmxvY2tfX251bSB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDQwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogIH0KICAuc3VwcGx5LWJsb2NrX190aXRsZSB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnN1cHBseS1ibG9ja19fZGVzYyB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIENBUk9TRUxMTyBQUk9ET1RUSSBDT1JSRUxBVEkg4pSA4pSAICovCiAgLnNlY3Rpb24tY2Fyb3VzZWwgewogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBwYWRkaW5nOiA4MHB4IDV2dyA5NnB4OwogIH0KICAuY2Fyb3VzZWwtaGVhZGVyIHsKICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7CiAgfQogIC5jYXJvdXNlbC1oZWFkZXIgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAzdncsIDM4cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tdG9wOiAxMnB4OwogIH0KICAuY2Fyb3VzZWwtd3JhcHBlciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTZweDsKICB9CiAgLmNhcm91c2VsLXRyYWNrLW91dGVyIHsKICAgIGZsZXg6IDE7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogIH0KICAuY2Fyb3VzZWwtdHJhY2sgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMjBweDsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsKICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgfQogIC5jYXJvdXNlbC10cmFjay5pcy1kcmFnZ2luZyB7CiAgICB0cmFuc2l0aW9uOiBub25lOwogIH0KICAucHJvZC1jYXJkIHsKICAgIGZsZXg6IDAgMCBjYWxjKDI1JSAtIDE1cHgpOwogICAgbWluLXdpZHRoOiAwOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICB9CiAgLnByb2QtY2FyZF9faW1nLXdyYXAgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBhc3BlY3QtcmF0aW86IDMvNDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgfQogIC5wcm9kLWNhcmRfX2ltZy13cmFwIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTsKICB9CiAgLnByb2QtY2FyZDpob3ZlciAucHJvZC1jYXJkX19pbWctd3JhcCBpbWcgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTsKICB9CiAgLnByb2QtY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleDogMTsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgfQogIC5wcm9kLWNhcmRfX25hbWUgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0byk7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICBsaW5lLWhlaWdodDogMS4zOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5wcm9kLWNhcmRfX2Rlc2MgewogICAgZm9udC1zaXplOiAxM3B4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmbGV4OiAxOwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19mb290ZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBnYXA6IDhweDsKICAgIG1hcmdpbi10b3A6IGF1dG87CiAgfQogIC5wcm9kLWNhcmRfX3ByaWNlIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5wcm9kLWNhcmRfX2J0biB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5nOiA4cHggMThweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW9saXZlKTsKICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZSk7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIGNvbG9yIDAuMnM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5wcm9kLWNhcmRfX2J0bjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZSk7CiAgICBjb2xvcjogdmFyKC0tYmlhbmNvKTsKICB9CiAgLmNhcm91c2VsLWJ0biB7CiAgICBmbGV4LXNocmluazogMDsKICAgIHdpZHRoOiA0MHB4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8tbSk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzLCBiYWNrZ3JvdW5kIDAuMnM7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2Fyb3VzZWwtYnRuIHN2ZyB7CiAgICB3aWR0aDogMThweDsKICAgIGhlaWdodDogMThweDsKICAgIHN0cm9rZTogdmFyKC0tb2xpdmUtZGspOwogIH0KICAuY2Fyb3VzZWwtYnRuOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tb2xpdmUpOwogICAgYmFja2dyb3VuZDogdmFyKC0tY3JlbWEpOwogIH0KICAuY2Fyb3VzZWwtYnRuOmRpc2FibGVkIHsKICAgIG9wYWNpdHk6IDAuMzsKICAgIGN1cnNvcjogZGVmYXVsdDsKICB9CiAgLmNhcm91c2VsLWRvdHMgewogICAgZGlzcGxheTogZmxleDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiA4cHg7CiAgICBtYXJnaW4tdG9wOiAzMnB4OwogIH0KICAuY2Fyb3VzZWwtZG90IHsKICAgIHdpZHRoOiA2cHg7CiAgICBoZWlnaHQ6IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYS1kayk7CiAgICBib3JkZXI6IG5vbmU7CiAgICBwYWRkaW5nOiAwOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCB0cmFuc2Zvcm0gMC4yczsKICB9CiAgLmNhcm91c2VsLWRvdC5hY3RpdmUgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpOwogIH0KCiAgLyog4pSA4pSAIFJFU1BPTlNJVkUg4pSA4pSAICovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgICAuc2VjdGlvbi1oZXJvLAogICAgLnNlY3Rpb24tbWF0ZXJpYWwsCiAgICAuc2VjdGlvbi1pbXBhY3QgLmltcGFjdC1zdG9yeSwKICAgIC5zZWN0aW9uLXdpcmVsZXNzIHsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgIGdhcDogNDBweDsKICAgIH0KICAgIC5zZWN0aW9uLW1hdGVyaWFsX19pbWFnZSB7IG9yZGVyOiAwOyB9CiAgICAuaW1wYWN0LWNhcmRzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgIC5zdXBwbHktaW5uZXIgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiAzMnB4OyB9CiAgICAucGFsZXR0ZS1yb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9CiAgICAudGV4dHVyZS1yb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9CiAgICAuc2VjdGlvbi13aXJlbGVzcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgICAuZWRpdG9yaWFsLWdyaWQgewogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bzsKICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczoKICAgICAgICAiYzEgYzIiCiAgICAgICAgImMzIGM0IgogICAgICAgICJjNSBjNSIKICAgICAgICAiYzYgYzciCiAgICAgICAgImM4IGM4IgogICAgICAgICJjOSBjOSI7CiAgICB9CiAgICAuZGVzaWduLWRldGFpbHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiAzMnB4OyBwYWRkaW5nOiAzMnB4IDI0cHg7IH0KICAgIC5zZWN0aW9uLW1hcF9faGVhZGVyIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0KICAgIC5zZWN0aW9uLW1hcF9faGVhZGVyIHAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9CiAgICAucHJvZC1jYXJkIHsgZmxleDogMCAwIGNhbGMoNTAlIC0gMTBweCk7IH0KICAgIC5jYXJvdXNlbC1idG4geyBkaXNwbGF5OiBub25lOyB9CiAgfQogIEBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkgewogICAgLmVkaXRvcmlhbC1ncmlkIHsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6CiAgICAgICAgImMxIiAiYzIiICJjMyIgImM0IiAiYzUiICJjNiIgImM3IiAiYzgiICJjOSI7CiAgICB9CiAgICAucHJvZC1jYXJkIHsgZmxleDogMCAwIDgwJTsgfQogICAgLnBhbGV0dGUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogIH0KPC9zdHlsZT4KCgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAxLiBIRVJPIEJFU0NIUkVJQlVORwrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWhlcm8iPgogIDxkaXYgY2xhc3M9InNlY3Rpb24taGVyb19fdGV4dCI+CiAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyI+VkFJQSBDb3ZlciDigJQgV29oZXIgc2llIGtvbW10PC9zcGFuPgogICAgPGgyPkRpZSBSaW5kZSBlaW5lcyBPbGl2ZW5iYXVtcyw8YnI+ZGVyIG5pY2h0IG1laHIgZXhpc3RpZXJ0LDxicj51bSBkZWluIFRlbGVmb24uPC9oMj4KICAgIDxwPlZBSUEgQ292ZXIgd2lyZCBhdXMgZGVtIHNwcml0emdlZ29zc2VuZW4gQmlva29tcG9zaXQgT2xpdmUgTWF0dGVyIGhlcmdlc3RlbGx0OiBiaW9iYXNpZXJ0ZXMgVFBVIG1pdCBIb2x6ZmFzZXJuIGF1cyBPbGl2ZW5iw6R1bWVuLCBkaWUgZHVyY2ggZGllIFh5bGVsbGEtS3JhbmtoZWl0IGdlZsOkbGx0IHd1cmRlbi4KPGJyPjxicj4KSmVkZSBIw7xsbGUgZW50c3RlaHQgYXVzIGRlbSBTY2FuIGVpbmVyIGVjaHRlbiBhcHVsaXNjaGVuIE9saXZlbmJhdW1yaW5kZS4KCkVzIGlzdCBkYXMgcmVhbGUgTXVzdGVyIHZvbiBCw6R1bWVuLCBkaWUgZWluZSBkZXIgZ3LDtsOfdGVuIFVtd2VsdGthdGFzdHJvcGhlbiBkZXMgTWl0dGVsbWVlcnJhdW1zIGR1cmNobGVidCBoYWJlbi4KPGJyPjxicj4KRGllIE5hdHVyZmFzZXJuIHRyZXRlbiBhdXMgZGVtIE1hdGVyaWFsIGhlcnZvciwgZGllIE1hc2VydW5nIGJsZWlidCBzaWNodGJhciwgZGllIEhhcHRpayBibGVpYnQgd2FybSB1bmQgbWF0ZXJpZWxsLgoKSmVkZXMgQ292ZXItTW9kZWxsIHVudGVyc2NoZWlkZXQgc2ljaCB2b24gZGVuIGFuZGVyZW4sIHdlaWwgYXVjaCBkaWUgUmluZGUsIGF1cyBkZXIgZXMgZW50c3RlaHQsIGVpbnppZ2FydGlnIHdhci48L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZXJvX19pbWFnZSIgc3R5bGU9ImFzcGVjdC1yYXRpbzogMTYvOTsgb3ZlcmZsb3c6IGhpZGRlbjsgZm9udC1zaXplOiAwOyBsaW5lLWhlaWdodDogMDsiPgogICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2xfZkYwRzY3RWt3IiB0aXRsZT0iVkFJQSBDb3ZlciDigJMgd29oZXIgc2llIGtvbW10IiBhbGxvd2Z1bGxzY3JlZW4gYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIHN0eWxlPSJ3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgYm9yZGVyOjA7IGRpc3BsYXk6YmxvY2s7IHZlcnRpY2FsLWFsaWduOnRvcDsiPjwvaWZyYW1lPgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDIuIE9MSVZFIE1BVFRFUiDigJQgREFTIE1BVEVSSUFMCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tbWF0ZXJpYWwiPgogIDxkaXYgY2xhc3M9InNlY3Rpb24tbWF0ZXJpYWxfX2ltYWdlIj4KICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA1LzE0NTcwUTVBNzUyOC1zY2FsZWQuanBnIiBhbHQ9IkRldGFpbGFuc2ljaHQgT2xpdmUgTWF0dGVyIE1hdGVyaWFsIOKAkyBUZXh0dXIgdW5kIE1hc2VydW5nIGRlcyBPbGl2ZW5ob2x6ZXMiPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InNlY3Rpb24tbWF0ZXJpYWxfX3RleHQiPgogICAgPHNwYW4gY2xhc3M9ImV5ZWJyb3ciPk9MSVZFIE1BVFRFUuKEojwvc3Bhbj4KICAgIDxoMj5EYXMgTWF0ZXJpYWwsIGRhcyBlcyBuaWNodCBnYWIuPC9oMj4KICAgIDxwPkphaHJlbGFuZyBoYWJlbiB3aXIgdW5zIGVpbmUgRnJhZ2UgZ2VzdGVsbHQ6IFdhcyBrYW5uIGF1cyBkZW0gSG9seiBkZXIgdm9uIFh5bGVsbGEgYmVmYWxsZW5lbiBPbGl2ZW5iw6R1bWUgd2VyZGVuPzwvcD4KCiAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtaGlnaGxpZ2h0Ij5EaWUgQW50d29ydCBpc3QgT2xpdmUgTWF0dGVy4oSiLjwvc3Bhbj4KCiAgICA8cD5FaW4gbmV1ZXMgQmlva29tcG9zaXQsIGVudHdpY2tlbHQgdm9uIFZBSUEsIGRhcyBIb2x6ZmFzZXJuIGF1cyBPbGl2ZW5iw6R1bWVuIG1pdCBiaW9iYXNpZXJ0ZW0gVFBVIHZlcmJpbmRldCwgdW0gZWluZW4gdGVjaG5pc2NoZW4sIHdpZGVyc3RhbmRzZsOkaGlnZW4gdW5kIGFsbHRhZ3N0YXVnbGljaGVuIFdlcmtzdG9mZiB6dSBzY2hhZmZlbi48L3A+CgogICAgPGRpdiBjbGFzcz0ibWF0ZXJpYWwtdGFnbGluZSI+CiAgICAgIDxzcGFuPkVzIGlzdCBuaWNodCBudXIgSG9sejwvc3Bhbj4KICAgICAgPHNwYW4+RXMgaXN0IG5pY2h0IG51ciBQb2x5bWVyPC9zcGFuPgogICAgICA8c3Bhbj5FcyBpc3QgZXR3YXMgTmV1ZXM8L3NwYW4+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtYXRlcmlhbC1waWxscyI+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj5CaW9iYXNpZXJ0ZXMgVFBVPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+T2xpdmVuZmFzZXJuIChYeWxlbGxhKTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPkFudGliYWt0ZXJpZWxsZSBFaWdlbnNjaGFmdGVuPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+U3ByaXR6Z3Vzczwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPkJpcyB6dSA1NCAlIGVybmV1ZXJiYXI8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj4xMDAgJSBpdGFsaWVuaXNjaGUgTGllZmVya2V0dGU8L3NwYW4+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAzLiBURUNITklTQ0hFIERBVEVOCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tc3BlY3MiPgogIDxkaXYgY2xhc3M9InNlY3Rpb24tc3BlY3NfX2hlYWRlciI+CiAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPlRlY2huaXNjaGVzIERldGFpbDwvc3Bhbj4KICAgIDxoMj5TcGV6aWZpa2F0aW9uZW48L2gyPgogIDwvZGl2PgogIDx0YWJsZSBjbGFzcz0ic3BlY3MtdGFibGUiPgogICAgPHRib2R5PgogICAgPHRyPjx0ZD5NYXRlcmlhbDwvdGQ+PHRkPjxzdHJvbmc+Jm5ic3A7T2xpdmUgTWF0dGVyPC9zdHJvbmc+IOKAlCBCaW9iYXNpZXJ0ZXMgVFBVIHVuZCBPbGl2ZW5mYXNlcm48L3RkPjwvdHI+CiAgICA8dHI+PHRkPlN0w6Rya2U8L3RkPjx0ZD48c3Ryb25nPiZuYnNwOzEsOCBtbTwvc3Ryb25nPiBSw7xja3NlaXRlIOKAlCA8c3Ryb25nPjIgbW08L3N0cm9uZz4gU2VpdGVuPC90ZD48L3RyPgogICAgPHRyPjx0ZD5EaXNwbGF5c2NodXR6PC90ZD48dGQ+Jm5ic3A7RXJow7ZodGUgUsOkbmRlciBhbiBEaXNwbGF5IHVuZCBLYW1lcmE8L3RkPjwvdHI+CiAgICA8dHI+PHRkPkVpZ2Vuc2NoYWZ0ZW48L3RkPjx0ZD48c3Ryb25nPiZuYnNwO01pdCBhbnRpYmFrdGVyaWVsbGVuIEVpZ2Vuc2NoYWZ0ZW48L3N0cm9uZz48L3RkPjwvdHI+CiAgICA8dHI+PHRkPk1hZ25ldGlzY2hlIFp1YmVow7ZydGVpbGU8L3RkPjx0ZD4mbmJzcDtOaWNodCBrb21wYXRpYmVsIG1pdCBNYWduZXRiZWZlc3RpZ3VuZyDigJQgZHJhaHRsb3NlcyBMYWRlbiB3aXJkIG5pY2h0IGJlZWludHLDpGNodGlndDwvdGQ+PC90cj4KICAgIDx0cj48dGQ+SGVyc3RlbGx1bmc8L3RkPjx0ZD4mbmJzcDtTcHJpdHpndXNzIOKAlCA8c3Ryb25nPjEwMCAlIGl0YWxpZW5pc2NoZSBMaWVmZXJrZXR0ZTwvc3Ryb25nPjwvdGQ+PC90cj4KICAgIDx0cj48dGQ+UmVjeWNsaW5nZsOkaGlna2VpdDwvdGQ+PHRkPiZuYnNwOzEwMCAlIHJlY3ljZWxiYXI8L3RkPjwvdHI+CiAgICA8L3Rib2R5PgogIDwvdGFibGU+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNC4gRFJBSFRMT1NFUyBMQURFTgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXdpcmVsZXNzIj4KICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy1pY29uLWJsb2NrIj4KICAgIDxkaXYgY2xhc3M9IndpcmVsZXNzLWljb24iPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDIwaC4wMU01LjYgMTAuNkE4IDggMCAwIDEgMTguNCAxMC42Ij48L3BhdGg+PHBhdGggZD0iTTIgN2ExMiAxMiAwIDAgMSAyMCAwIj48L3BhdGg+PHBhdGggZD0iTTguOSAxNC4xQTQgNCAwIDAgMSAxNSAxNC4xIj48L3BhdGg+PC9zdmc+CiAgICA8L2Rpdj4KICAgIDxoMz5EcmFodGxvc2VzPGJyPkxhZGVuPC9oMz4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy10ZXh0Ij4KICAgIDxwPkRhcyBkcmFodGxvc2UgTGFkZW4gZnVua3Rpb25pZXJ0IHByb2JsZW1sb3MgbWl0IGFsbGVuIFN0YW5kYXJkcy4gRGFzIEjDvGxsZSBtdXNzIG5pY2h0IGVudGZlcm50IHdlcmRlbi48L3A+CiAgICA8cD5EaWUgSG9semZhc2VybiBhdXMgT2xpdmVuaG9seiBpbSBPbGl2ZSBNYXR0ZXItTWF0ZXJpYWwgcmVkdXppZXJlbiBkaWUgbWFnbmV0aXNjaGUgQW56aWVodW5nc2tyYWZ0IGxlaWNodDogRGllIEVuZXJnaWXDvGJlcnRyYWd1bmcgd2lyZCBuaWNodCBiZWVpbnRyw6RjaHRpZ3QsIGFiZXIgWnViZWjDtnIsIGRhcyBkdXJjaCBNYWduZXRrcmFmdCBiZWZlc3RpZ3Qgd2lyZCDigJMgd2llIFdhbGxldHMgdW5kIE1hZ1NhZmUtSGFsdGVydW5nZW4g4oCTIGlzdCBuaWNodCBrb21wYXRpYmVsLjwvcD4KICAgIDxkaXYgY2xhc3M9IndpcmVsZXNzLW5vdGUiPgogICAgICA8c3ZnIHN0eWxlPSJ3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXRvcDoycHg7c3Ryb2tlOnZhcigtLW9saXZlKTtmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjEuNTtzdHJva2UtbGluZWNhcDpyb3VuZCIgdmlld0JveD0iMCAwIDI0IDI0Ij48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PGxpbmUgeDE9IjEyIiB5MT0iOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT48bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyLjAxIiB5Mj0iMTYiPjwvbGluZT48L3N2Zz4KICAgICAgPHNwYW4+PHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiBEaWUgTmF0dXIgZGVzIE1hdGVyaWFscyBhdXMgZWNodGVuIE9saXZlbmhvbHpmYXNlcm4gaXN0IGRlciBHcnVuZCBmw7xyIGRpZXNlIEVpZ2Vuc2NoYWZ0LiBFcyBpc3Qga2VpbmUgS29uc3RydWt0aW9uc3NjaHfDpGNoZSwgc29uZGVybiBkaWUgS29uc2VxdWVueiBkZXIgRW50c2NoZWlkdW5nIGbDvHIgZWluIGF1dGhlbnRpc2NoZXMgTWF0ZXJpYWwuPC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNS4gREVTSUdOIOKAlCBURVhUVVIgJiBQQUxFVFRFCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tZGVzaWduIj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2lnbl9faGVhZGVyIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+RGVzaWduPC9zcGFuPgogICAgPGgyPlNpZWJlbiBPbGl2ZW5iw6R1bWUsIHNpZWJlbiBUZXh0dXJlbi48YnI+VmllciBGYXJiZW4gZGVzIFNhbGVudG8uPC9oMj4KICAgIDxwPkplZGVzIFRlbGVmb25tb2RlbGwgdHLDpGd0IGVpbmUgYW5kZXJlIFJpbmRlLiBTaWViZW4gTW9kZWxsZSwgc2llYmVuIELDpHVtZSwgc2llYmVuIGVpbnppZ2FydGlnZSBUZXh0dXJlbi4KSW4gZGVyIE1pdHRlIGplZGVzIENvdmVycyBzaW5kIGRpZSBLb29yZGluYXRlbiBkZXMgZXJzdGVuIFdpZWRlcmdlYnVydHN3YWxkcyBpbiBBcHVsaWVuIGVyaGFiZW4gZWluZ3JhdmllcnQuPC9wPgoKICAgIDxkaXYgY2xhc3M9ImRlc2lnbi10YWdsaW5lIj4KICAgICAgPHNwYW4+RWluIHJlYWxlciBPcnQ8L3NwYW4+CiAgICAgIDxzcGFuPkVpbmUgcmVhbGUgR2VzY2hpY2h0ZTwvc3Bhbj4KICAgICAgPHNwYW4+RWluZSByZWFsZSBXaXJrdW5nPC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDwhLS0gSGlud2VpcyBTSUQgLS0+CiAgPGRpdiBjbGFzcz0iZGVzaWduLXNpZC1ub3RlIj4KICAgIDxzdHJvbmc+RGVzaWduIGVudHdpY2tlbHQgbWl0IFNJRCDigJQgU2N1b2xhIEl0YWxpYW5hIERlc2lnbiBkaSBQYWRvdmE8L3N0cm9uZz4sIGVpbmVtIHZvbSBNaW5pc3Rlcml1bSBmw7xyIEhvY2hzY2h1bGJpbGR1bmcgdW5kIEZvcnNjaHVuZyBhbmVya2FubnRlbiBha2FkZW1pc2NoZW4gSW5zdGl0dXQsIFRlaWwgZGVzIEdhbGlsZW8gVmlzaW9uYXJ5IERpc3RyaWN0LCBlaW5lcyAxOTkxIGdlZ3LDvG5kZXRlbiBGb3JzY2h1bmdzLSB1bmQgSW5ub3ZhdGlvbnNwb2xzLCBkZXIgZXJzdGUgYXVmIEluZHVzdHJpZWRlc2lnbiBzcGV6aWFsaXNpZXJ0ZSBFaW5yaWNodHVuZyBOb3Jkb3N0aXRhbGllbnMuCiAgPC9kaXY+CgogIDwhLS0gVmllciBpZGVudGl0w6R0c3N0aWZ0ZW5kZSBFbGVtZW50ZSAtLT4KICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlscyI+CiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlsLWl0ZW0iPgogICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLW51bSI+MDEg4oCUIFRleHR1cjwvc3Bhbj4KICAgICAgPGg0PkRpZSBSaW5kZSBhbHMgT2JlcmZsw6RjaGU8L2g0PgogICAgICA8cD5EaWUgT2JlcmZsw6RjaGUgamVkZXMgQ292ZXJzIHJlcHJvZHV6aWVydCBkZW4gU2NhbiBlaW5lciBlY2h0ZW4gYXB1bGlzY2hlbiBPbGl2ZW5iYXVtcmluZGUuIEplZGVzIE1vZGVsbCB0csOkZ3QgZWluZSBhbmRlcmUgVGV4dHVyOiBzaWViZW4gTW9kZWxsZSwgc2llYmVuIFJpbmRlbiwgc2llYmVuIGVpbnppZ2FydGlnZSBPYmVyZmzDpGNoZW4uIEVzIGlzdCBrZWluZSBhbGxnZW1laW5lIEhvbHppbnNwaXJhdGlvbjogRXMgaXN0IGRpZSBlY2h0ZSBSaW5kZSBkaWVzZXIgQsOkdW1lLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjAyIOKAlCBIYXB0aWs8L3NwYW4+CiAgICAgIDxoND5EaWUgQmVyw7xocnVuZyBkZXMgTWF0ZXJpYWxzPC9oND4KICAgICAgPHA+RGllIEhvbHpmYXNlcm4gYXVzIE9saXZlbmhvbHogc2luZCBzaWNodGJhciB1bmQgc3DDvHJiYXIuIERhcyBBdWdlIHNpZWh0IGRpZSBuYXTDvHJsaWNoZSBNYXNlcnVuZyBkZXMgSG9semVzLCBkaWUgSGFuZCBmw7xobHQgZWluZSB3YXJtZSwgbWF0dGUgS29uc2lzdGVueiDigJMgd2VpdCBlbnRmZXJudCB2b24gZGVyIEvDpGx0ZSBoZXJrw7ZtbWxpY2hlciBLdW5zdHN0b2ZmZS4gRXMgaXN0IGRpZSBwaHlzaXNjaGUgUHLDpHNlbnogZGVzIE1hdGVyaWFscywgZGllIHZvbiBzZWluZXIgSGVya3VuZnQgZXJ6w6RobHQuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlsLWl0ZW0iPgogICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLW51bSI+MDMg4oCUIEtvb3JkaW5hdGVuPC9zcGFuPgogICAgICA8aDQ+RWluIHByw6R6aXNlciBPcnQsIGVyaGFiZW4gZWluZ3JhdmllcnQ8L2g0PgogICAgICA8cD5JbiBkZXIgTWl0dGUgamVkZXMgQ292ZXJzIHNpbmQgZGllIGdlb2dyYWZpc2NoZW4gS29vcmRpbmF0ZW4gZGVzIGVyc3RlbiBXaWVkZXJnZWJ1cnRzd2FsZHMgaW4gQXB1bGllbiwgaW4gU3BlY2NoaWEgKExFKSDigJQgMzkuOTQ3MDDCsCBOIC8gMTguMjcyOTLCsCBFIOKAlCBlaW5ncmF2aWVydCwgYmVnbGVpdGV0IHZvbSBlcmhhYmVuZW4gUHJvZmlsIGRlcyBHZWJpZXRzIGF1cyBkZXIgVm9nZWxwZXJzcGVrdGl2ZS48L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImRlc2lnbi1kZXRhaWwtaXRlbSI+CiAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbnVtIj4wNCDigJQgUGFsZXR0ZTwvc3Bhbj4KICAgICAgPGg0PlZpZXIgRmFyYmVuIGRlcyBTYWxlbnRvPC9oND4KICAgICAgPHA+T2xpdmUgR3JlZW4sIFBhc3RlbCBUdXJxdW9pc2UsIFRlcnJhIEJyb3duLCBMaWdodCBJdm9yeTogdmllciBGYXJiZW4sIGRpZSBhdXMgZGVyIEJlb2JhY2h0dW5nIGRlcyBhcHVsaXNjaGVuIFRlcnJpdG9yaXVtcyBlbnRzdGVoZW4sIHZvbiBkZXIgcm90ZW4gRXJkZSBiaXMgenVtIHN0cmVpZmVuZGVuIExpY2h0IGF1ZiBkZW0gQWRyaWF0aXNjaGVuIE1lZXIuPC9wPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDwhLS0gRmFyYnBhbGV0dGUgLS0+CiAgPHAgY2xhc3M9InBhbGV0dGUtdGl0bGUiPkRpZSBQYWxldHRlPC9wPgogIDxkaXYgY2xhc3M9InBhbGV0dGUtcm93Ij4KICAgIDxkaXYgY2xhc3M9InBhbGV0dGUtc3dhdGNoIj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWNvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDogIzZCNkIzQTsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtaW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLW5hbWUiPk9saXZlIEdyZWVuPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWRlc2MiPkRpZSBGYXJiZSBkZXIgT2xpdmVuYmzDpHR0ZXIgaW0gU2FsZW50bzwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFsZXR0ZS1zd2F0Y2giPgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtY29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjODlDNEM4OyI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtbmFtZSI+UGFzdGVsIFR1cnF1b2lzZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5EaWUgRmFyYmUgZGVyIEFkcmlhPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWxldHRlLXN3YXRjaCI+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1jb2xvciIgc3R5bGU9ImJhY2tncm91bmQ6ICM2RjRFMzc7Ij48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWluZm8iPgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1uYW1lIj5UZXJyYSBCcm93bjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5EaWUgRmFyYmUgZGVyIGFwdWxpc2NoZW4gRXJkZTwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFsZXR0ZS1zd2F0Y2giPgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtY29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjRThEOEIwOyI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtbmFtZSI+TGlnaHQgSXZvcnk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtZGVzYyI+RGllIEZhcmJlIGRlciBnb2xkZW5lbiBXZWl0ZW4gZGVzIFNhbGVudG88L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICA2LiBFRElUT1JJQUxFUyBGT1RPUkFTVEVSCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tZWRpdG9yaWFsIj4KICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtZ3JpZCI+CgogICAgPCEtLSBjMTogTElGRVNUWUxFIE9MSVZFIE1BVFRFUiAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTEiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLUxJRkVTVFlMRS1PTElWRS1NQVRURVItc2NhbGVkLmpwZyIgYWx0PSJWQUlBIENvdmVyIOKAkyBMaWZlc3R5bGUgT2xpdmUgTWF0dGVyIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPkxpZmVzdHlsZTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+T2xpdmUgTWF0dGVyPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjMjogVGV4dHplbGxlIOKAlCBWQUlBLVBoaWxvc29waGllIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLXRleHQgZWMtMiI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5WQUlBLVBoaWxvc29waGllPC9zcGFuPgogICAgICA8aDM+4oCeV2lyIHJlZ2VuZXJpZXJlbjxicj5kYXMgbWVkaXRlcnJhbmU8YnI+QnVzY2hsYW5kLiI8L2gzPgogICAgICA8cD5WQUlBIENvdmVyIGlzdCBkYXMgZXJzdGUgUHJvZHVrdCBkZXMgUHJvamVrdHMgUHVnbGlhLiBFaW4gUHJvamVrdCwgZGFzIGRhenUgZW50c3RhbmRlbiBpc3QsIGVpbmVuIGtvbGxla3RpdmVuIFZlcmx1c3QgaW4gZWluZSBuZXVlIE3DtmdsaWNoa2VpdCB6dSB2ZXJ3YW5kZWxuLiBKZWRlcyBDb3ZlciB0csOkZ3QgZGlyZWt0IHp1ciBSZWdlbmVyYXRpb24gZGVzIG1lZGl0ZXJyYW5lbiBCdXNjaGxhbmRzIGluIFNwZWNjaGlhIChMRSkgYmVpLiBFaW5lbiBRdWFkcmF0bWV0ZXIgbmFjaCBkZW0gYW5kZXJlbi48L3A+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGMzOiBPR05JIEdJT1JOTyAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTMiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLU9HTkktR0lPUk5PLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgamVkZW4gVGFnIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPkRldGFpbDwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+SmVkZW4gVGFnPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjNDogU0VNUFJFIENPTiBURSAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTQiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLVNFTVBSRS1DT04tVEUtc2NhbGVkLmpwZyIgYWx0PSJWQUlBIENvdmVyIOKAkyBpbW1lciBkYWJlaSI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5VbnRlcndlZ3M8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPkltbWVyIGRhYmVpPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjNTogZGFyayBzdGF0IGNlbGwg4oCUIDEgbcKyIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLWRhcmsgZWMtNSIgc3R5bGU9ImJhY2tncm91bmQ6IHZhcigtLXRlcnJhKTsiPgogICAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyIgc3R5bGU9ImNvbG9yOiB2YXIoLS10ZXJyYS1sdCk7Ij5XaXJrdW5nPC9zcGFuPgogICAgICA8ZGl2IGNsYXNzPSJiaWctbnVtYmVyIiBzdHlsZT0iZm9udC1zaXplOiBjbGFtcCgzMnB4LDMuNXZ3LDUycHgpOyBtYXJnaW4tYm90dG9tOjEycHg7IGNvbG9yOiB2YXIoLS1zYWJiaWEpOyI+MSBtwrI8YnI+cmVnZW5lcmllcnRlczxicj5CdXNjaGxhbmQuPC9kaXY+CiAgICAgIDxwIHN0eWxlPSJjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjgpOyI+UHJvIHZlcmthdWZ0ZW0gQ292ZXIuPC9wPgogICAgPC9kaXY+CgogICAgPCEtLSBjNjogVFJBRElaSU9ORSBFIElOTk9WQVpJT05FIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWMtNiI+CiAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1RJTEUtVFJBRElaSU9ORS1FLUlOTk9WQVpJT05FLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgVHJhZGl0aW9uIHVuZCBJbm5vdmF0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPk1hdGVyaWFsPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcC10ZXh0Ij5UcmFkaXRpb24gdW5kIElubm92YXRpb248L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM3OiBUZXh0emVsbGUg4oCUIEtvb3JkaW5hdGVuIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLXRleHQgZWMtNyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5FaW5ncmF2aWVydGUgS29vcmRpbmF0ZW48L3NwYW4+CiAgICAgIDxoMz4zOS45NDfCsE48YnI+MTguMjcywrBFPC9oMz4KICAgICAgPHA+U3BlY2NoaWEgKExFKSDigJQgRXJzdGVyIFdpZWRlcmdlYnVydHN3YWxkIGluIEFwdWxpZW4uIERpZXNlbGJlbiBLb29yZGluYXRlbiwgZGllIGF1ZiBkZWluZW0gQ292ZXIgZWluZ3JhdmllcnQgc2luZC48L3A+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM4OiBMRUdHRVJPIEFVVEVOVElDTyAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTgiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLUxFR0dFUk8tQVVURU5USUNPLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgbGVpY2h0LCBhdXRoZW50aXNjaCI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5KZWRlbiBUYWc8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPkxlaWNodCwgYXV0aGVudGlzY2g8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM5OiBkYXJrIHN0YXQgY2VsbCDigJQgMTAwJSBmaWxpZXJhIGl0YWxpYW5hIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLWRhcmsgZWMtOSIgc3R5bGU9ImJhY2tncm91bmQ6IHZhcigtLW1hcmUpOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93IiBzdHlsZT0iY29sb3I6IHZhcigtLWNyZW1hKTsiPk1hZGUgaW4gSXRhbHk8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImJpZy1udW1iZXIiIHN0eWxlPSJmb250LXNpemU6IGNsYW1wKDI4cHgsM3Z3LDQ0cHgpOyBtYXJnaW4tYm90dG9tOjEycHg7IGNvbG9yOiB2YXIoLS1iaWFuY28pOyI+MTAwICU8YnI+aXRhbGllbmlzY2hlPGJyPkxpZWZlcmtldHRlLjwvZGl2PgogICAgICA8cCBzdHlsZT0iY29sb3I6IHJnYmEoMjUwLDI1MCwyNDcsMC44NSk7Ij5Wb20gYXB1bGlzY2hlbiBPbGl2ZW5ob2x6IGJpcyB6dW0gU3ByaXR6Z3Vzcy48L3A+CiAgICA8L2Rpdj4KCiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNy4gVU1XRUxUQVVTV0lSS1VORyArIEdFU0NISUNIVEUgQVBVTElFTgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWltcGFjdCI+CiAgPGRpdiBjbGFzcz0iaW1wYWN0LWludHJvIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCIgc3R5bGU9ImNvbG9yOnZhcigtLW9saXZlLWx0KTsiPldpcmt1bmc8L3NwYW4+CiAgICA8aDI+SmVkZXMgQ292ZXI8YnI+cmVnZW5lcmllcnQgMSBtwrI8YnI+bWVkaXRlcmFuZXMgQnVzY2hsYW5kLjwvaDI+CiAgICA8cD5EZXIgQmVpdHJhZyBpc3QgbmljaHQgc3ltYm9saXNjaC4gSmVkZXIgS2F1ZiB1bnRlcnN0w7x0enQgZGlyZWt0IGRpZSBCZXBmbGFuenVuZyB1bmQgV2llZGVyaGVyc3RlbGx1bmcgZGVzIG1lZGl0ZXJyYW5lbiBCdXNjaGxhbmRzIGltIGVyc3RlbiBXaWVkZXJnZWJ1cnRzd2FsZCBpbiBBcHVsaWVuLgpEaWVzZWxiZW4gS29vcmRpbmF0ZW4sIGRpZSBhdWYgZGVpbmVtIENvdmVyIGVpbmdyYXZpZXJ0IHNpbmQuPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZHMiPgogICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmQiPgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fbnVtYmVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY291bnR1cC1udW1iZXIiIGRhdGEtdGFyZ2V0PSIyMCIgZGF0YS1zdWZmaXg9Ik0rIj4wPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX3VuaXQiPmJldHJvZmZlbmUgT2xpdmVuYsOkdW1lPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5TZWl0IGRlciBBbmt1bmZ0IGRlciBYeWxlbGxhIGltIEphaHIgMjAxMyB3dXJkZW4gw7xiZXIgMjAgTWlsbGlvbmVuIGFwdWxpc2NoZSBPbGl2ZW5iw6R1bWUgYmVmYWxsZW4uIEVpbmUgZGVyIHNjaHdlcnN0ZW4gVW13ZWx0a2F0YXN0cm9waGVuIEV1cm9wYXMuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkIj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX251bWJlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50dXAtbnVtYmVyIiBkYXRhLXRhcmdldD0iMSIgZGF0YS1zdWZmaXg9IiBtwrIiIGRhdGEtcHJlZml4PSIiPjA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fdW5pdCI+cHJvIENvdmVyPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5KZWRlcyB2ZXJrYXVmdGUgQ292ZXIgdHLDpGd0IHp1ciBBdWZmb3JzdHVuZyB2b24gMSBtwrIgbWVkaXRlcnJhbmVtIEJ1c2NobGFuZCBpbiBTcGVjY2hpYSAoTEUpLCBpbSBlcnN0ZW4gV2llZGVyZ2VidXJ0c3dhbGQgaW4gQXB1bGllbiwgYmVpLjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZCI+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19udW1iZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb3VudHVwLW51bWJlciIgZGF0YS10YXJnZXQ9IjEwMCIgZGF0YS1zdWZmaXg9IiUiPjA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fdW5pdCI+TWFkZSBpbiBJdGFseTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fZGVzYyI+RGVzaWduIGVudHdpY2tlbHQgbWl0IFNJRCBTY3VvbGEgSXRhbGlhbmEgRGVzaWduIGRpIFBhZG92YS4gUHJvZHVrdGlvbiB2b2xsc3TDpG5kaWcgaW4gSXRhbGllbi4gRGFzIE1hdGVyaWFsIGlzdCBsYW5kd2lydHNjaGFmdGxpY2hlciBBYmZhbGw6IEZhc2VybiwgZGllIHNvbnN0IGVudHNvcmd0IHfDvHJkZW4uPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iaW1wYWN0LXN0b3J5Ij4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeV9fdGV4dCI+CiAgICAgIDxoMz5XYXJ1bSBBcHVsaWVuLDxicj53YXJ1bSBqZXR6dC48L2gzPgogICAgICA8cD5KYWhyZWxhbmcgaGFiZW4gd2lyIG5hY2ggZWluZW0gV2VnIGdlc3VjaHQsIGRhcyByZWdlbmVyYXRpdmUgTW9kZWxsIHZvbiBWQUlBIG5hY2ggQXB1bGllbiB6dSBicmluZ2VuLiBXaXIgaGFiZW4gTGFuZHdpcnRlbiwgV2lzc2Vuc2NoYWZ0bGVybiwgSW5zdGl0dXRpb25lbiB1bmQgZWluZmFjaGVuIE1lbnNjaGVuIHp1Z2Vow7ZydCwgdW0gZ2VtZWluc2FtIHp1IHZlcnN0ZWhlbiwgd2llIHdpciByZWFnaWVyZW4ga8O2bm5lbi4gTmljaHQgdW0genUgZXJzZXR6ZW4sIHdhcyB2ZXJsb3JlbiBnZWdhbmdlbiBpc3QsIHNvbmRlcm4gdW0gZXR3YXMgTmV1ZXMgd2FjaHNlbiB6dSBsYXNzZW4uPC9wPgogICAgICA8cD5BdXMgZGllc2VtIFp1aMO2cmVuIGVudHN0YW5kIE9saXZlIE1hdHRlcjogZWluIE1hdGVyaWFsLCBkYXMgdmVyYmluZGV0LCB3YXMgd2llIEFiZmFsbCBzY2hpZW4sIG1pdCBtb2Rlcm5zdGVyIEZvcnNjaHVuZyB6dSBiaW9iYXNpZXJ0ZW4gUG9seW1lcmVuLiBFaW5lIFZlcmJpbmR1bmcgendpc2NoZW4gdGVycml0b3JpYWxlciBJZGVudGl0w6R0IHVuZCB0ZWNobmlzY2hlciBJbm5vdmF0aW9uLjwvcD4KICAgICAgPHA+RGFzIE9saXZlbmhvbHogdm9uIELDpHVtZW4sIGRpZSB2b24gZGVyIFh5bGVsbGEgYmVmYWxsZW4gd3VyZGVuLCBrYW5uIHNpY2hlciB0cmFuc3BvcnRpZXJ0IHdlcmRlbiwgdW50ZXIgRWluaGFsdHVuZyBkZXIgRUZTQS1Wb3JzY2hyaWZ0ZW4gdW5kIGRlciBSZWdpb24gQXB1bGllbi4gV2lyIHZlcndhbmRlbG4gZXMsIGFuc3RhdHQgZXMgenUgZW50c29yZ2VuLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iY29vcmRzLWJsb2NrIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLWxhYmVsIj5XaWVkZXJnZWJ1cnRzd2FsZCDigJQgU3BlY2NoaWEgKExFKTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLXZhbHVlIj4zOcKwNTcnTiDCtyAxOMKwMTAnRTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeV9faW1hZ2UiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS8wNDQwUTVBNTA2Mi0xLTEtc2NhbGVkLmpwZyIgYWx0PSJMYW5kc2NoYWZ0IG1pdCBhcHVsaXNjaGVuIE9saXZlbmLDpHVtZW4g4oCTIFNhbGVudG8sIE1pc2NodW5nIGF1cyBhYmdlc3RvcmJlbmVuIELDpHVtZW4gdW5kIGxlYmVuZGVyIFZlZ2V0YXRpb24iPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgOC4gS0FSVEUg4oCUIFdJRURFUkdFQlVSVFNXQUxECuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tbWFwIj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW1hcF9faGVhZGVyIj4KICAgIDxkaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+V0lFREVSR0VCVVJUU1dBTEQ8L3NwYW4+CiAgICAgIDxoMj5EaWUgS29vcmRpbmF0ZW4sIGRpZSBkdSBpbiBkZXIgVGFzY2hlIHRyw6Rnc3QuPC9oMj4KICAgIDwvZGl2PgogICAgPHA+RGllc2VsYmVuIEtvb3JkaW5hdGVuLCBkaWUgYXVmIGplZGVtIENvdmVyIGVpbmdyYXZpZXJ0IHNpbmQuIEVpbiByZWFsZXIgT3J0LCBlaW5lIG1lc3NiYXJlIFdpcmt1bmcuPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1hcC13cmFwcGVyIj4KICAgIDxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWQ\/cGI9ITFtMTghMW0xMiExbTMhMWQxMjE2OC41ITJkMTguMjg0NSEzZDM5Ljk0NzIhMm0zITFmMCEyZjAhM2YwITNtMiExaTEwMjQhMmk3NjghNGYxMy4xITNtMyExbTIhMXMweDEzNDUzYTdiOGE2YTIzZjElM0EweDNlM2MzZTNjM2UzYzNlM2MhMnNTcGVjY2hpYSUyQyUyMExFJTJDJTIwSXRhbGlhITVlMCEzbTIhMXNpdCEyc2l0ITR2MTcxNzE1NjgwMDAwMCE1bTIhMXNpdCEyc2l0IiBhbGxvd2Z1bGxzY3JlZW4gbG9hZGluZz0ibGF6eSIgcmVmZXJyZXJwb2xpY3k9Im5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIiB0aXRsZT0iU3BlY2NoaWEgKExFKSDigJMgV2llZGVyZ2VidXJ0c3dhbGQiPjwvaWZyYW1lPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1hcC1jb29yZHMtYmFyIj4KICAgIDxzcGFuIGNsYXNzPSJjb29yZC1wbGFjZSI+RXJzdGVyIFdpZWRlcmdlYnVydHN3YWxkIGluIEFwdWxpZW4g4oCUIFNwZWNjaGlhIChMRSksIEl0YWxpZW48L3NwYW4+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgOS4gTElFRkVSS0VUVEUgTUFERSBJTiBJVEFMWQrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXN1cHBseSI+CiAgPGRpdiBjbGFzcz0ic3VwcGx5LWhlYWRpbmciPgogICAgPHNwYW4gY2xhc3M9ImxhYmVsLXNtYWxsIj5MaWVmZXJrZXR0ZTwvc3Bhbj4KICAgIDxoMj5Wb20gbGFuZHdpcnRzY2hhZnRsaWNoZW4gQWJmYWxsPGJyPnp1IGVpbmVtIG5ldWVuIE1hdGVyaWFsLjwvaDI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ic3VwcGx5LWlubmVyIj4KICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9jayI+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fbnVtIj4wMTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX3RpdGxlIj5Sb2hzdG9mZiBhdXMgbGFuZHdpcnRzY2hhZnRsaWNoZW0gQWJmYWxsPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fZGVzYyI+RGllIEhvbHpmYXNlcm4gdm9uIGR1cmNoIFh5bGVsbGEgZ2Vmw6RsbHRlbiBPbGl2ZW5iw6R1bWVuIHdlcmRlbiBkaXJla3Qgdm9uIGRlbiBiZXRyb2ZmZW5lbiBhcHVsaXNjaGVuIExhbmR3aXJ0c2NoYWZ0c2JldHJpZWJlbiBnZXNhbW1lbHQuIE1hdGVyaWFsLCBkYXMgc29uc3QgZW50c29yZ3Qgd8O8cmRlLjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2siPgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX251bSI+MDI8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX190aXRsZSI+Rm9yc2NodW5nIHVuZCBEZXNpZ248L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX19kZXNjIj5EYXMgQmlva29tcG9zaXQgT2xpdmUgTWF0dGVyIHd1cmRlIGluIFp1c2FtbWVuYXJiZWl0IG1pdCBTSUQg4oCUIFNjdW9sYSBJdGFsaWFuYSBEZXNpZ24gZGkgUGFkb3ZhIOKAlCBlbnR3aWNrZWx0LiBWb24gZGVyIE1hdGVyaWFsZm9ybXVsaWVydW5nIGJpcyB6dW0gU2NhbiBkZXIgUmluZGVuOiBBbGxlcyBlbnRzdGVodCBpbiBJdGFsaWVuLjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2siPgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX251bSI+MDM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX190aXRsZSI+SXRhbGllbmlzY2hlIFNwcml0emd1c3Nwcm9kdWt0aW9uPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fZGVzYyI+RGllIEjDvGxsZW4gd2VyZGVuIGltIFNwcml0emd1c3N2ZXJmYWhyZW4gaW4gaXRhbGllbmlzY2hlbiBXZXJrZW4gaGVyZ2VzdGVsbHQuIEplZGUgVGV4dHVyIHdpcmQgbWlsbGltZXRlcmdlbmF1IHZvbSBvcmlnaW5hbGVuIFJpbmRlbnNjYW4gcmVwcm9kdXppZXJ0LjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgMTAuIEtBUlVTU0VMTCBWRVJXQU5EVEUgUFJPRFVLVEUK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1jYXJvdXNlbCI+CiAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtaGVhZGVyIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+RGllIFZBSUEtRmFtaWxpZTwvc3Bhbj4KICAgIDxoMj5adXNhbW1lbiBrYXVmZW48L2gyPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNhcm91c2VsLXdyYXBwZXIiPgogICAgPGJ1dHRvbiBjbGFzcz0iY2Fyb3VzZWwtYnRuIGNhcm91c2VsLWJ0bi0tcHJldiIgYXJpYS1sYWJlbD0iVm9yaGVyaWdlIj4KICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+PC9zdmc+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgY2xhc3M9ImNhcm91c2VsLXRyYWNrLW91dGVyIiBpZD0iY2Fyb3VzZWxPdXRlciI+CiAgICAgIDxkaXYgY2xhc3M9ImNhcm91c2VsLXRyYWNrIiBpZD0iY2Fyb3VzZWxUcmFjayI+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9DVUJFLmpwZyIgYWx0PSJWQUlBIEN1YmUiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19ib2R5Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fbmFtZSI+VkFJQSBDdWJlPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19kZXNjIj5OYXTDvHJsaWNoZXIgYWt1c3Rpc2NoZXIgVmVyc3TDpHJrZXIuIDEgQ3ViZSA9IDEgQmF1bSBpbiBkZW4gRG9sb21pdGVuLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19mb290ZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9kLWNhcmRfX3ByaWNlIj42MiwwMCDigqw8L3NwYW4+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS8iIGNsYXNzPSJwcm9kLWNhcmRfX2J0biI+RW50ZGVja2VuPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZCI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWVzc2VudGlhbC1hcmlhLyIgY2xhc3M9InByb2QtY2FyZF9faW1nLXdyYXAiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8wOS9VbnRpdGxlZC1kZXNpZ24uanBnIiBhbHQ9IlZBSUEgQ3ViZSBFc3NlbnRpYWwgQXJpYSIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2JvZHkiPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19uYW1lIj5WQUlBIEN1YmUgRXNzZW50aWFsIEFyaWE8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX2Rlc2MiPk5hdMO8cmxpY2hlciBha3VzdGlzY2hlciBWZXJzdMOkcmtlci4gMSBDdWJlID0gMSBCYXVtIGluIGRlbiBEb2xvbWl0ZW4uPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2QtY2FyZF9fcHJpY2UiPjg5LDAwIOKCrDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmQiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0lNUEVSRkVUVE8uanBnIiBhbHQ9IlZBSUEgQ3ViZSBJbXBlcmZldHRvIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZSBJbXBlcmZldHRvPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19kZXNjIj5EZXIgaWtvbmlzY2hlIEN1YmUsIGVpbnppZ2FydGlnIGdlbWFjaHQgZHVyY2ggbmF0w7xybGljaGUgRmxlY2tlbiB1bmQgVW52b2xsa29tbWVuaGVpdGVuIGRlcyBIb2x6ZXMuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2QtY2FyZF9fcHJpY2UiPjc0LDAwIOKCrDwvc3Bhbj4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWltcGVyZmV0dG8vIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkVudGRlY2tlbjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmQiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0pPWS0yLTEuanBnIiBhbHQ9IlZBSUEgQ3ViZSBKT1kiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19ib2R5Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fbmFtZSI+VkFJQSBDdWJlIEpPWTwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fZGVzYyI+VkFJQS1Ib2x6dmVyc3TDpHJrZXIsIGluIHZlcnNjaGllZGVuZW4gbGViaGFmdGVuIEZhcmJlbiBlcmjDpGx0bGljaC48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fZm9vdGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZC1jYXJkX19wcmljZSI+4oCUPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUtam95LyIgY2xhc3M9InByb2QtY2FyZF9fYnRuIj5FbnRkZWNrZW48L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8YnV0dG9uIGNsYXNzPSJjYXJvdXNlbC1idG4gY2Fyb3VzZWwtYnRuLS1uZXh0IiBhcmlhLWxhYmVsPSJOw6RjaHN0ZSI+CiAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBvbHlsaW5lIHBvaW50cz0iOSAxOCAxNSAxMiA5IDYiPjwvcG9seWxpbmU+PC9zdmc+CiAgICA8L2J1dHRvbj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC1kb3RzIiBpZD0iY2Fyb3VzZWxEb3RzIj48L2Rpdj4KPC9zZWN0aW9uPgoKPHNjcmlwdD4KLyog4pSA4pSAIEtBUlVTU0VMTCBtaXQgVG91Y2gvRHJhZy1VbnRlcnN0w7x0enVuZyDilIDilIAgKi8KKGZ1bmN0aW9uKCkgewogIGNvbnN0IHRyYWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nhcm91c2VsVHJhY2snKTsKICBjb25zdCBvdXRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbE91dGVyJyk7CiAgY29uc3QgZG90c0NvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbERvdHMnKTsKICBjb25zdCBjYXJkcyA9IHRyYWNrLnF1ZXJ5U2VsZWN0b3JBbGwoJy5wcm9kLWNhcmQnKTsKICBjb25zdCBwcmV2QnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNhcm91c2VsLWJ0bi0tcHJldicpOwogIGNvbnN0IG5leHRCdG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtYnRuLS1uZXh0Jyk7CiAgbGV0IGN1cnJlbnQgPSAwOwoKICBmdW5jdGlvbiB2aXNpYmxlQ291bnQoKSB7CiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gNTYwID8gMSA6IHdpbmRvdy5pbm5lcldpZHRoIDw9IDkwMCA\/IDIgOiA0OwogIH0KCiAgZnVuY3Rpb24gbWF4SW5kZXgoKSB7CiAgICByZXR1cm4gTWF0aC5tYXgoMCwgY2FyZHMubGVuZ3RoIC0gdmlzaWJsZUNvdW50KCkpOwogIH0KCiAgZnVuY3Rpb24gY2FyZFdpZHRoKCkgewogICAgcmV0dXJuIGNhcmRzWzBdLm9mZnNldFdpZHRoICsgMjA7CiAgfQoKICBjb25zdCBkb3RzID0gW107CiAgZm9yIChsZXQgaSA9IDA7IGkgPD0gbWF4SW5kZXgoKTsgaSsrKSB7CiAgICBjb25zdCBkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgICBkLmNsYXNzTmFtZSA9ICdjYXJvdXNlbC1kb3QnICsgKGkgPT09IDAgPyAnIGFjdGl2ZScgOiAnJyk7CiAgICBkLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gZ29UbyhpKSk7CiAgICBkb3RzQ29udGFpbmVyLmFwcGVuZENoaWxkKGQpOwogICAgZG90cy5wdXNoKGQpOwogIH0KCiAgZnVuY3Rpb24gZ29UbyhpbmRleCkgewogICAgY3VycmVudCA9IE1hdGgubWF4KDAsIE1hdGgubWluKGluZGV4LCBtYXhJbmRleCgpKSk7CiAgICB0cmFjay5zdHlsZS50cmFuc2Zvcm0gPSAndHJhbnNsYXRlWCgtJyArIChjdXJyZW50ICogY2FyZFdpZHRoKCkpICsgJ3B4KSc7CiAgICBkb3RzLmZvckVhY2goKGQsIGkpID0+IGQuY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aXZlJywgaSA9PT0gY3VycmVudCkpOwogICAgaWYgKHByZXZCdG4pIHByZXZCdG4uZGlzYWJsZWQgPSBjdXJyZW50ID09PSAwOwogICAgaWYgKG5leHRCdG4pIG5leHRCdG4uZGlzYWJsZWQgPSBjdXJyZW50ID49IG1heEluZGV4KCk7CiAgfQoKICBpZiAocHJldkJ0bikgcHJldkJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGdvVG8oY3VycmVudCAtIDEpKTsKICBpZiAobmV4dEJ0bikgbmV4dEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGdvVG8oY3VycmVudCArIDEpKTsKICBpZiAocHJldkJ0bikgcHJldkJ0bi5kaXNhYmxlZCA9IHRydWU7CgogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiBnb1RvKE1hdGgubWluKGN1cnJlbnQsIG1heEluZGV4KCkpKSk7CgogIGxldCBkcmFnU3RhcnRYID0gMDsKICBsZXQgZHJhZ0N1cnJlbnRYID0gMDsKICBsZXQgaXNEcmFnZ2luZyA9IGZhbHNlOwogIGxldCBzdGFydE9mZnNldCA9IDA7CiAgY29uc3QgRFJBR19USFJFU0hPTEQgPSA4OwogIGNvbnN0IFNXSVBFX01JTiA9IDQwOwoKICBmdW5jdGlvbiBnZXRFdmVudFgoZSkgewogICAgcmV0dXJuIGUudG91Y2hlcyA\/IGUudG91Y2hlc1swXS5jbGllbnRYIDogZS5jbGllbnRYOwogIH0KCiAgZnVuY3Rpb24gb25EcmFnU3RhcnQoZSkgewogICAgZHJhZ1N0YXJ0WCA9IGdldEV2ZW50WChlKTsKICAgIGRyYWdDdXJyZW50WCA9IGRyYWdTdGFydFg7CiAgICBpc0RyYWdnaW5nID0gZmFsc2U7CiAgICBzdGFydE9mZnNldCA9IGN1cnJlbnQgKiBjYXJkV2lkdGgoKTsKICB9CgogIGZ1bmN0aW9uIG9uRHJhZ01vdmUoZSkgewogICAgaWYgKGUudG91Y2hlcyAmJiBNYXRoLmFicyhnZXRFdmVudFgoZSkgLSBkcmFnU3RhcnRYKSA8IERSQUdfVEhSRVNIT0xEICYmICFpc0RyYWdnaW5nKSByZXR1cm47CgogICAgY29uc3QgZGlmZiA9IGdldEV2ZW50WChlKSAtIGRyYWdTdGFydFg7CgogICAgaWYgKGUudG91Y2hlcyAmJiBNYXRoLmFicyhkaWZmKSA8IE1hdGguYWJzKGUudG91Y2hlc1swXS5jbGllbnRZIC0gKGUudG91Y2hlc1swXS5jbGllbnRZKSkpIHJldHVybjsKCiAgICBpZiAoIWlzRHJhZ2dpbmcgJiYgTWF0aC5hYnMoZGlmZikgPiBEUkFHX1RIUkVTSE9MRCkgewogICAgICBpc0RyYWdnaW5nID0gdHJ1ZTsKICAgICAgdHJhY2suY2xhc3NMaXN0LmFkZCgnaXMtZHJhZ2dpbmcnKTsKICAgIH0KCiAgICBpZiAoIWlzRHJhZ2dpbmcpIHJldHVybjsKCiAgICBpZiAoZS5jYW5jZWxhYmxlKSBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgZHJhZ0N1cnJlbnRYID0gZ2V0RXZlbnRYKGUpOwogICAgY29uc3QgbGl2ZU9mZnNldCA9IHN0YXJ0T2Zmc2V0IC0gZGlmZjsKCiAgICBjb25zdCBtaW5PZmZzZXQgPSAwOwogICAgY29uc3QgbWF4T2Zmc2V0ID0gbWF4SW5kZXgoKSAqIGNhcmRXaWR0aCgpOwogICAgbGV0IGNsYW1wZWRPZmZzZXQ7CiAgICBpZiAobGl2ZU9mZnNldCA8IG1pbk9mZnNldCkgewogICAgICBjbGFtcGVkT2Zmc2V0ID0gbWluT2Zmc2V0IC0gTWF0aC5zcXJ0KE1hdGguYWJzKGxpdmVPZmZzZXQgLSBtaW5PZmZzZXQpKSAqIDM7CiAgICB9IGVsc2UgaWYgKGxpdmVPZmZzZXQgPiBtYXhPZmZzZXQpIHsKICAgICAgY2xhbXBlZE9mZnNldCA9IG1heE9mZnNldCArIE1hdGguc3FydChNYXRoLmFicyhsaXZlT2Zmc2V0IC0gbWF4T2Zmc2V0KSkgKiAzOwogICAgfSBlbHNlIHsKICAgICAgY2xhbXBlZE9mZnNldCA9IGxpdmVPZmZzZXQ7CiAgICB9CgogICAgdHJhY2suc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLScgKyBjbGFtcGVkT2Zmc2V0ICsgJ3B4KSc7CiAgfQoKICBmdW5jdGlvbiBvbkRyYWdFbmQoZSkgewogICAgaWYgKCFpc0RyYWdnaW5nKSByZXR1cm47CgogICAgdHJhY2suY2xhc3NMaXN0LnJlbW92ZSgnaXMtZHJhZ2dpbmcnKTsKICAgIGlzRHJhZ2dpbmcgPSBmYWxzZTsKCiAgICBjb25zdCBkaWZmID0gZHJhZ0N1cnJlbnRYIC0gZHJhZ1N0YXJ0WDsKCiAgICBpZiAoTWF0aC5hYnMoZGlmZikgPj0gU1dJUEVfTUlOKSB7CiAgICAgIGlmIChkaWZmIDwgMCkgewogICAgICAgIGdvVG8oY3VycmVudCArIDEpOwogICAgICB9IGVsc2UgewogICAgICAgIGdvVG8oY3VycmVudCAtIDEpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBnb1RvKGN1cnJlbnQpOwogICAgfQogIH0KCiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIG9uRHJhZ1N0YXJ0LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgb25EcmFnTW92ZSwgeyBwYXNzaXZlOiBmYWxzZSB9KTsKICBvdXRlci5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIG9uRHJhZ0VuZCwgeyBwYXNzaXZlOiB0cnVlIH0pOwogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoY2FuY2VsJywgb25EcmFnRW5kLCB7IHBhc3NpdmU6IHRydWUgfSk7CgogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIG9uRHJhZ1N0YXJ0KTsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAoZSkgPT4geyBpZiAoZHJhZ1N0YXJ0WCkgb25EcmFnTW92ZShlKTsgfSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIChlKSA9PiB7IGlmIChkcmFnU3RhcnRYKSB7IG9uRHJhZ0VuZChlKTsgZHJhZ1N0YXJ0WCA9IDA7IH0gfSk7CgogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgIGlmIChNYXRoLmFicyhkcmFnQ3VycmVudFggLSBkcmFnU3RhcnRYKSA+IERSQUdfVEhSRVNIT0xEKSB7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0KICB9LCB0cnVlKTsKfSkoKTsKCi8qIOKUgOKUgCBDT1VOVC1VUCBBTklNQVRJT04g4pSA4pSAICovCihmdW5jdGlvbigpIHsKICBjb25zdCBjb3VudGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jb3VudHVwLW51bWJlcicpOwoKICBmdW5jdGlvbiBhbmltYXRlQ291bnRlcihlbCkgewogICAgY29uc3QgdGFyZ2V0ID0gcGFyc2VGbG9hdChlbC5kYXRhc2V0LnRhcmdldCk7CiAgICBjb25zdCBzdWZmaXggPSBlbC5kYXRhc2V0LnN1ZmZpeCB8fCAnJzsKICAgIGNvbnN0IGR1cmF0aW9uID0gMjIwMDsKICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOwogICAgY29uc3QgaXNJbnRlZ2VyID0gTnVtYmVyLmlzSW50ZWdlcih0YXJnZXQpOwoKICAgIGZ1bmN0aW9uIHN0ZXAobm93KSB7CiAgICAgIGNvbnN0IGVsYXBzZWQgPSBub3cgLSBzdGFydFRpbWU7CiAgICAgIGNvbnN0IHByb2dyZXNzID0gTWF0aC5taW4oZWxhcHNlZCAvIGR1cmF0aW9uLCAxKTsKICAgICAgY29uc3QgZWFzZWQgPSAxIC0gTWF0aC5wb3coMSAtIHByb2dyZXNzLCAzKTsKICAgICAgY29uc3QgY3VycmVudCA9IHRhcmdldCAqIGVhc2VkOwoKICAgICAgaWYgKGlzSW50ZWdlcikgewogICAgICAgIGVsLnRleHRDb250ZW50ID0gTWF0aC5mbG9vcihjdXJyZW50KSArIHN1ZmZpeDsKICAgICAgfSBlbHNlIHsKICAgICAgICBlbC50ZXh0Q29udGVudCA9IGN1cnJlbnQudG9GaXhlZCgwKSArIHN1ZmZpeDsKICAgICAgfQoKICAgICAgaWYgKHByb2dyZXNzIDwgMSkgewogICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBlbC50ZXh0Q29udGVudCA9IHRhcmdldCArIHN1ZmZpeDsKICAgICAgfQogICAgfQoKICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTsKICB9CgogIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKSA9PiB7CiAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gewogICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICBhbmltYXRlQ291bnRlcihlbnRyeS50YXJnZXQpOwogICAgICAgIG9ic2VydmVyLnVub2JzZXJ2ZShlbnRyeS50YXJnZXQpOwogICAgICB9CiAgICB9KTsKICB9LCB7IHRocmVzaG9sZDogMC4zIH0pOwoKICBjb3VudGVycy5mb3JFYWNoKGVsID0+IG9ic2VydmVyLm9ic2VydmUoZWwpKTsKfSkoKTsKPC9zY3JpcHQ+CjwhLS0gL3dwOmh0bWwgLS0+PC9kaXY+CnN0YXRldmVyc2lvbjwhLS0gd3A6YWNmL2Zhc2NpYS1zcGVkaXppb25lLXNob3AgeyJuYW1lIjoiYWNmL2Zhc2NpYS1zcGVkaXppb25lLXNob3AiLCJkYXRhIjp7InRpdGxlIjoiIiwiX3RpdGxlIjoiZmllbGRfZmFzY2lhLXNwZWRpemlvbmUtc2hvcF8wMSIsInRlc3RvIjoiS2F1ZmVuIFNpZSAyIFByb2R1a3RlIHVuZCBkZXIgVmVyc2FuZCBpc3Qga29zdGVubG9zISIsIl90ZXN0byI6ImZpZWxkX2Zhc2NpYS1zcGVkaXppb25lLXNob3BfMDIifSwiYWxpZ24iOiIiLCJtb2RlIjoicHJldmlldyJ9IC8tLT4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUvIiBjbGFzcz0icHJvZC1jYXJkX19pbWctd3JhcCI+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1lc3NlbnRpYWwtYXJpYS8iIGNsYXNzPSJwcm9kLWNhcmRfX2J0biI+RW50ZGVja2VuPC9hPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1pbXBlcmZldHRvLyIgY2xhc3M9InByb2QtY2FyZF9faW1nLXdyYXAiPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1qb3kvIiBjbGFzcz0icHJvZC1jYXJkX19pbWctd3JhcCI+Ci8+IC8gLz5vcmlnaW5hbENvbnRlbnRvcmlnaW5hbENvbnRlbnRvcmlnaW5hbENvbnRlbnRzdGF0ZXZlcnNpb24FBwQVARNBAAYFBwUBBUEEAkEEAkEAA0EHAgUIBAwBQgBBAUIBAQIFBwUHBQcIBAgECAYIRQAIBwgHA0EFQgBBBwJBAQIBAkEHAggOSAEETAAIDQgLCAsIBggHDwQKRAAFBAsFBwUHDAUHFwoHCAcECkcACxEIBwQKCwUIBwQKCwUDAQIBAkEACUQAAwIBBgQIAQkGCAQHDweHxgW9EpMBuwqkYQUHkwSbAbYBpgGfAUIAAQJPAQUHIQEIAAABAAAAAQAAAAECAAEBAwAKAQEAAAEAABUBAAACARBCAQEAQQAAQQAAQQAAQQAA9gEBQwACAwJBAAVBBQimMAENQQSIFEEEkQECDRAGHgI2AwUBQgABBAFCAAUIBAwBQgBBAUIBAQIBA0EAAgEGBAZBAQIDAgMCDgQFDgQIQwJBAQkBCAUBBwIEBUEBBgsBCQIFAQVCAAVBDBWqBbYXmiKsF74arQu\/NL8vhQUBA0EAAgEGBAZBAQIDAgMCDgQFDgQIQwJBBg0BCgENAQoBDQEKAQ0BCgEKAQoBjgcBrAcBgQkBpQZBBwpBARlBAgMBBKYSgR2JEoAbrwupE4EZiAWmMEEBgRlBFQsPAQYLBAYFAQkPBw0DAZkBtAGkAZ0BkwRBAbEDQQoIEwB9AXcKdmFpYS1jb3ZlcpsBAHcTMjAyNi0wNS0zMVQxMToyMTo1NHcaYWNmL2Zhc2NpYS1zcGVkaXppb25lLXNob3B3GmFjZi9mYXNjaWEtc3BlZGl6aW9uZS1zaG9wBQB9sIkHAgB3B3B1Ymxpc2ibAQB3AHcAdQB1AHh3AHcAdQF9EXcHcHJldmlld1gAeHcMY29yZS9jb2x1bW5zeHh3C2NvcmUvY29sdW1udwRmdWxseHcJY29yZS9odG1seHtCeescVQmgAH2\/8P+bBBMAdyQ0MWJmOTdmOC00ZGI3LTQ5MTQtYjFiMi0zMDg2OGJiNjFmY2R2BAV0aXRsZXcABl90aXRsZXcfZmllbGRfZmFzY2lhLXNwZWRpemlvbmUtc2hvcF8wMQV0ZXN0b3c0S2F1ZmVuIFNpZSAyIFByb2R1a3RlIHVuZCBkZXIgVmVyc2FuZCBpc3Qga29zdGVubG9zIQZfdGVzdG93H2ZpZWxkX2Zhc2NpYS1zcGVkaXppb25lLXNob3BfMDJ3JDg2N2Q1OTgyLTA5OWQtNDdhMC1hYTk1LTdmMmY5ZDY1YTViOXcuPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbmZ1bGwiPjwvZGl2PnckMDM0Yjk2YTUtOWI5Ny00NjMyLTkzYjEtZjJiMjlmMzdjNWMydyM8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPjwvZGl2PnckZjgxYmQzZTYtYTk1Zi00NmIwLWE2NjktNjM5Mjk2ZTlkODYzd9u0AzxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+VkFJQSBDb3ZlciDigJMgUHJvZHVrdHNlaXRlPC90aXRsZT4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj0iIj4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1ETStTYW5zOndnaHRAMzAwOzQwMDs1MDAmYW1wO2Rpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9hcGkuZm9udHNoYXJlLmNvbS92Mi9jc3M\/ZltdPWNsYXNoLWRpc3BsYXlANDAwLDUwMCw2MDAsNzAwJmFtcDtkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+Cgo8c3R5bGU+CiAgKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfQoKICA6cm9vdCB7CiAgICAtLW9saXZlOiAgICAjNkI2QjNBOwogICAgLS1vbGl2ZS1sdDogI0E4QTg2QTsKICAgIC0tb2xpdmUtZGs6ICMzQzNDMUU7CiAgICAtLW1hcmU6ICAgICAjNUI5REE0OwogICAgLS1tYXJlLWx0OiAgIzlFQ0ZENDsKICAgIC0tdGVycmE6ICAgICM3QTVDM0E7CiAgICAtLXRlcnJhLWx0OiAjQzA5ODcwOwogICAgLS1zYWJiaWE6ICAgI0U4REZDMDsKICAgIC0tc2FiYmlhLWRrOiNDNEI4OEE7CiAgICAtLWNyZW1hOiAgICAjRjVGMUU4OwogICAgLS1iaWFuY286ICAgI0ZBRkFGNzsKICAgIC0tdGVzdG86ICAgICMxQTFBMTQ7CiAgICAtLXRlc3RvLW06ICAjNEE0QTM4OwogICAgLS10ZXN0by1sOiAgIzhBOEE3MjsKICAgIC0tYm9yZG86ICAgIHJnYmEoMTA3LDEwNyw1OCwwLjE4KTsKICAgIC0tYm9yZG8tbTogIHJnYmEoMTA3LDEwNyw1OCwwLjM1KTsKCiAgICAtLWZvbnQtc2FuczogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWJvZHksIHZhcigtLXdwLWZvbnQtZmFtaWx5LCAnRE0gU2FucycsIHNhbnMtc2VyaWYpKTsKICAgIC0tZm9udC1zZXJpZjogJ0NsYXNoRGlzcGxheS1WYXJpYWJsZScsICdDbGFzaCBEaXNwbGF5JywgdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWhlYWRpbmcsIHNhbnMtc2VyaWYpOwogIH0KCiAgYm9keSB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICB9CgogIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07CiAgfQoKICAuc2VyaWYgeyBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7IH0KICAubGFiZWwtc21hbGwgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbCk7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAvKiDilIDilIAgU0VaSU9ORTogREVTQ1JJWklPTkUgSEVSTyDilIDilIAgKi8KICAuc2VjdGlvbi1oZXJvIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3IDgwcHg7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgZ2FwOiA2NHB4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICB9CiAgLnNlY3Rpb24taGVyb19fdGV4dCAuZXllYnJvdyB7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4xOGVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZSk7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnNlY3Rpb24taGVyb19fdGV4dCBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDMycHgsIDR2dywgNTJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMTU7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLWJvdHRvbTogMjhweDsKICB9CiAgLnNlY3Rpb24taGVyb19fdGV4dCBwIHsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS43NTsKICAgIG1heC13aWR0aDogNDhjaDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc2VjdGlvbi1oZXJvX19pbWFnZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYXNwZWN0LXJhdGlvOiA0LzU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogIH0KICAuc2VjdGlvbi1oZXJvX19pbWFnZSBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IE9MSVZFIE1BVFRFUiDilIDilIAgKi8KICAuc2VjdGlvbi1tYXRlcmlhbCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogODBweDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX19pbWFnZSB7CiAgICBhc3BlY3QtcmF0aW86IDEvMTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBvcmRlcjogLTE7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX19pbWFnZSBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9fdGV4dCAuZXllYnJvdyB7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4xOGVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnNlY3Rpb24tbWF0ZXJpYWxfX3RleHQgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAzLjV2dywgNDRweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbWFyZ2luLWJvdHRvbTogMjhweDsKICB9CiAgLnNlY3Rpb24tbWF0ZXJpYWxfX3RleHQgcCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjgpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAubWF0ZXJpYWwtaGlnaGxpZ2h0IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiAyNHB4IDA7CiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2OCwxNjgsMTA2LDAuMTIpOwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1vbGl2ZS1sdCk7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyNHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgfQoKICAubWF0ZXJpYWwtdGFnbGluZSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMnB4OwogICAgbWFyZ2luOiAyOHB4IDAgMDsKICB9CiAgLm1hdGVyaWFsLXRhZ2xpbmUgc3BhbiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDJ2dywgMjJweCk7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgdGV4dC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgwLDAsMCwwLjM1KTsKICB9CgogIC5tYXRlcmlhbC1waWxscyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiB3cmFwOwogICAgZ2FwOiAxMHB4OwogICAgbWFyZ2luLXRvcDogMzJweDsKICB9CiAgLnBpbGwgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICBwYWRkaW5nOiA3cHggMTZweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTY4LDE2OCwxMDYsMC4zNSk7CiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5waWxsOjpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiA2cHg7CiAgICBoZWlnaHQ6IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlLWx0KTsKICAgIGZsZXgtc2hyaW5rOiAwOwogIH0KCiAgLmJ0bi1vbGl2ZS1tYXR0ZXIgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA4cHg7CiAgICBtYXJnaW4tdG9wOiAyOHB4OwogICAgcGFkZGluZzogMTNweCAyOHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUtbHQpOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4OwogICAgZm9udC1zaXplOiAxM3B4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgY29sb3IgMC4yczsKICB9CiAgLmJ0bi1vbGl2ZS1tYXR0ZXI6aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgfQoKICAvKiDilIDilIAgU0VaSU9ORTogU1BFQ0lGSUNIRSBURUNOSUNIRSDilIDilIAgKi8KICAuc2VjdGlvbi1zcGVjcyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgcGFkZGluZzogOTZweCA1dnc7CiAgfQogIC5zZWN0aW9uLXNwZWNzX19oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogNTZweDsKICB9CiAgLnNlY3Rpb24tc3BlY3NfX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICB9CiAgLnNwZWNzLXRhYmxlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3BlY3MtdGFibGUgdHIgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICB9CiAgLnNwZWNzLXRhYmxlIHRyOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgfQogIC5zcGVjcy10YWJsZSB0ZCB7CiAgICBwYWRkaW5nOiAxOHB4IDA7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9CiAgLnNwZWNzLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIHdpZHRoOiAzOCU7CiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OwogIH0KICAuc3BlY3MtdGFibGUgdGQ6bGFzdC1jaGlsZCB7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogIH0KICAuc3BlY3MtdGFibGUgdGQgc3Ryb25nIHsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IFdJUkVMRVNTIOKUgOKUgCAqLwogIC5zZWN0aW9uLXdpcmVsZXNzIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBwYWRkaW5nOiA3MnB4IDV2dzsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7CiAgICBnYXA6IDY0cHg7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAxNnB4OwogIH0KICAud2lyZWxlc3MtaWNvbiB7CiAgICB3aWR0aDogNTZweDsKICAgIGhlaWdodDogNTZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgfQogIC53aXJlbGVzcy1pY29uIHN2ZyB7IHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7IGZpbGw6IG5vbmU7IHN0cm9rZTogdmFyKC0tc2FiYmlhKTsgc3Ryb2tlLXdpZHRoOiAxLjU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIGgzIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjJweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICB9CiAgLndpcmVsZXNzLXRleHQgcCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLndpcmVsZXNzLW5vdGUgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMTJweDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjYpOwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1vbGl2ZSk7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC53aXJlbGVzcy1ub3RlIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7IH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IFRFWFRVUkUgJiBDT0xPUkkg4pSA4pSAICovCiAgLnNlY3Rpb24tZGVzaWduIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA1NnB4OwogICAgbWF4LXdpZHRoOiA2MGNoOwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgfQogIC5zZWN0aW9uLWRlc2lnbl9faGVhZGVyIHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuZGVzaWduLXRhZ2xpbmUgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgfQogIC5kZXNpZ24tdGFnbGluZSBzcGFuIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyMnB4KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMDcsMTA3LDU4LDAuMTgpOwogIH0KCiAgLmRlc2lnbi1kZXRhaWxzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDQ4cHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogICAgcGFkZGluZzogNDhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDEwcHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gLmRldGFpbC1udW0gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICB9CiAgLmRlc2lnbi1kZXRhaWwtaXRlbSBoNCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gcCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZGVzaWduLXNpZC1ub3RlIHsKICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7CiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7CiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLW9saXZlLWx0KTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTA3LDEwNyw1OCwwLjA1KTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmRlc2lnbi1zaWQtbm90ZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tb2xpdmUtZGspOyBmb250LXdlaWdodDogNTAwOyB9CgogIC50ZXh0dXJlLXJvdyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7CiAgICBnYXA6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAudGV4dHVyZS1jYXJkIHsKICAgIGFzcGVjdC1yYXRpbzogMy80OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogIH0KICAudGV4dHVyZS1jYXJkX19sYWJlbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgyNiwyNiwyMCwwLjU1KTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOwogICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgei1pbmRleDogMjsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAudGV4dHVyZS1jYXJkIC5pbWctcGxhY2Vob2xkZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogOHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC5wYWxldHRlLXRpdGxlIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tYm90dG9tOiAyOHB4OwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogIH0KICAucGFsZXR0ZS1yb3cgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5wYWxldHRlLXN3YXRjaCB7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogIH0KICAuc3dhdGNoLWNvbG9yIHsKICAgIGhlaWdodDogNzJweDsKICB9CiAgLnN3YXRjaC1pbmZvIHsKICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgfQogIC5zd2F0Y2gtbmFtZSB7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3dhdGNoLWRlc2MgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAvKiDilIDilIAgU0VaSU9ORTogR1JJR0xJQSBGT1RPIEVESVRPUklBTEUg4pSA4pSAICovCiAgLnNlY3Rpb24tZWRpdG9yaWFsIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXRlc3RvKTsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5lZGl0b3JpYWwtZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgIGdyaWQtdGVtcGxhdGUtcm93czogNDIwcHggNDIwcHggMzQwcHggNDIwcHg7CiAgICBnYXA6IDA7CiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOgogICAgICAiYzEgYzIgYzMiCiAgICAgICJjMSBjNCBjNSIKICAgICAgImM2IGM2IGM3IgogICAgICAiYzggYzggYzkiOwogIH0KICAuZWMtMSB7IGdyaWQtYXJlYTogYzE7IH0KICAuZWMtMiB7IGdyaWQtYXJlYTogYzI7IH0KICAuZWMtMyB7IGdyaWQtYXJlYTogYzM7IH0KICAuZWMtNCB7IGdyaWQtYXJlYTogYzQ7IH0KICAuZWMtNSB7IGdyaWQtYXJlYTogYzU7IH0KICAuZWMtNiB7IGdyaWQtYXJlYTogYzY7IH0KICAuZWMtNyB7IGdyaWQtYXJlYTogYzc7IH0KICAuZWMtOCB7IGdyaWQtYXJlYTogYzg7IH0KICAuZWMtOSB7IGdyaWQtYXJlYTogYzk7IH0KICAuZWRpdG9yaWFsLWNlbGwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICB9CiAgLmVkaXRvcmlhbC1jZWxsIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlOwogIH0KICAuZWRpdG9yaWFsLWNlbGw6aG92ZXIgaW1nIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgcGFkZGluZzogMjBweCAyNHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDI2LDI2LDIwLDAuNzUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiAuY2FwLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIC5jYXAtdGV4dCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDEuNXZ3LCAyMHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiA0OHB4IDQwcHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tdGV4dCAuZXllYnJvdyB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlKTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLXRleHQgaDMgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAyLjV2dywgMzJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc1OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICBwYWRkaW5nOiA0MHB4OwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLWRhcmsgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS1kYXJrIC5iaWctbnVtYmVyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoNDhweCwgNXZ3LCA3MnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayBwIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNyk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IElNUEFUVE8gQU1CSUVOVEFMRSDilIDilIAgKi8KICAuc2VjdGlvbi1pbXBhY3QgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUtZGspOwogICAgcGFkZGluZzogOTZweCA1dnc7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICB9CiAgLmltcGFjdC1pbnRybyB7CiAgICBtYXgtd2lkdGg6IDY0Y2g7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAuaW1wYWN0LWludHJvIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMzBweCwgNHZ3LCA0OHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICB9CiAgLmltcGFjdC1pbnRybyBwIHsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuOCk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuaW1wYWN0LWNhcmRzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOwogICAgZ2FwOiAyNHB4OwogICAgbWFyZ2luLWJvdHRvbTogNjRweDsKICB9CiAgLmltcGFjdC1jYXJkIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjMyLDIyMywxOTIsMC4xNSk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBwYWRkaW5nOiAzNnB4IDMycHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgfQogIC5pbXBhY3QtY2FyZF9fbnVtYmVyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogNTZweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgfQogIC5pbXBhY3QtY2FyZF9fdW5pdCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4xMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5pbXBhY3QtY2FyZF9fZGVzYyB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjc1KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS43OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5pbXBhY3Qtc3RvcnkgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogNjRweDsKICAgIGFsaWduLWl0ZW1zOiBzdGFydDsKICAgIHBhZGRpbmctdG9wOiA1NnB4OwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjMyLDIyMywxOTIsMC4xNSk7CiAgfQogIC5pbXBhY3Qtc3RvcnlfX3RleHQgaDMgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAyLjV2dywgMzJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICB9CiAgLmltcGFjdC1zdG9yeV9fdGV4dCBwIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNzUpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5jb29yZHMtYmxvY2sgewogICAgbWFyZ2luLXRvcDogMzJweDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogNHB4OwogIH0KICAuY29vcmRzLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5jb29yZHMtdmFsdWUgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07CiAgfQogIC5pbXBhY3Qtc3RvcnlfX2ltYWdlIHsKICAgIGFzcGVjdC1yYXRpbzogNC81OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICB9CiAgLmltcGFjdC1zdG9yeV9faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CgogIC5jb3VudHVwLW51bWJlciB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgfQoKICAvKiDilIDilIAgTUFQUEEgR09PR0xFIE1BUFMg4pSA4pSAICovCiAgLnNlY3Rpb24tbWFwIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICB9CiAgLnNlY3Rpb24tbWFwX19oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBnYXA6IDMycHg7CiAgfQogIC5zZWN0aW9uLW1hcF9faGVhZGVyIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgM3Z3LCAzNnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogOHB4OwogIH0KICAuc2VjdGlvbi1tYXBfX2hlYWRlciBwIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBtYXgtd2lkdGg6IDQwY2g7CiAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLm1hcC13cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgICBoZWlnaHQ6IDQ4MHB4OwogIH0KICAubWFwLXdyYXBwZXIgaWZyYW1lIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm9yZGVyOiAwOwogICAgZGlzcGxheTogYmxvY2s7CiAgfQogIC5tYXAtY29vcmRzLWJhciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMzJweDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICBwYWRkaW5nOiAxNnB4IDI0cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtaXRlbSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogM3B4OwogIH0KICAubWFwLWNvb3Jkcy1iYXIgLmNvb3JkLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtdmFsIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KICAubWFwLWNvb3Jkcy1iYXIgLmNvb3JkLXNlcGFyYXRvciB7CiAgICB3aWR0aDogMXB4OwogICAgaGVpZ2h0OiAzMnB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tYm9yZG8tbSk7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtcGxhY2UgewogICAgZmxleDogMTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC8qIOKUgOKUgCBTRVpJT05FOiBNQURFIElOIElUQUxZIC8gRklMSUVSQSDilIDilIAgKi8KICAuc2VjdGlvbi1zdXBwbHkgewogICAgYmFja2dyb3VuZDogdmFyKC0tY3JlbWEpOwogICAgcGFkZGluZzogODBweCA1dnc7CiAgfQogIC5zdXBwbHktaGVhZGluZyB7CiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogIH0KICAuc3VwcGx5LWhlYWRpbmcgLmxhYmVsLXNtYWxsIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICB9CiAgLnN1cHBseS1oZWFkaW5nIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgM3Z3LCAzNnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIG1hcmdpbjogMDsKICB9CiAgLnN1cHBseS1pbm5lciB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgIGdhcDogNDBweDsKICB9CiAgLnN1cHBseS1ibG9jayB7CiAgICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tb2xpdmUtbHQpOwogICAgcGFkZGluZy10b3A6IDI4cHg7CiAgfQogIC5zdXBwbHktYmxvY2tfX251bSB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDQwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogIH0KICAuc3VwcGx5LWJsb2NrX190aXRsZSB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnN1cHBseS1ibG9ja19fZGVzYyB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIENBUk9TRUxMTyBQUk9ET1RUSSBDT1JSRUxBVEkg4pSA4pSAICovCiAgLnNlY3Rpb24tY2Fyb3VzZWwgewogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBwYWRkaW5nOiA4MHB4IDV2dyA5NnB4OwogIH0KICAuY2Fyb3VzZWwtaGVhZGVyIHsKICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7CiAgfQogIC5jYXJvdXNlbC1oZWFkZXIgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAzdncsIDM4cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tdG9wOiAxMnB4OwogIH0KICAuY2Fyb3VzZWwtd3JhcHBlciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTZweDsKICB9CiAgLmNhcm91c2VsLXRyYWNrLW91dGVyIHsKICAgIGZsZXg6IDE7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogIH0KICAuY2Fyb3VzZWwtdHJhY2sgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMjBweDsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsKICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgfQogIC5jYXJvdXNlbC10cmFjay5pcy1kcmFnZ2luZyB7CiAgICB0cmFuc2l0aW9uOiBub25lOwogIH0KICAucHJvZC1jYXJkIHsKICAgIGZsZXg6IDAgMCBjYWxjKDI1JSAtIDE1cHgpOwogICAgbWluLXdpZHRoOiAwOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICB9CiAgLnByb2QtY2FyZF9faW1nLXdyYXAgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBhc3BlY3QtcmF0aW86IDMvNDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgfQogIC5wcm9kLWNhcmRfX2ltZy13cmFwIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTsKICB9CiAgLnByb2QtY2FyZDpob3ZlciAucHJvZC1jYXJkX19pbWctd3JhcCBpbWcgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTsKICB9CiAgLnByb2QtY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleDogMTsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgfQogIC5wcm9kLWNhcmRfX25hbWUgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0byk7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICBsaW5lLWhlaWdodDogMS4zOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5wcm9kLWNhcmRfX2Rlc2MgewogICAgZm9udC1zaXplOiAxM3B4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmbGV4OiAxOwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19mb290ZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBnYXA6IDhweDsKICAgIG1hcmdpbi10b3A6IGF1dG87CiAgfQogIC5wcm9kLWNhcmRfX3ByaWNlIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5wcm9kLWNhcmRfX2J0biB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5nOiA4cHggMThweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW9saXZlKTsKICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZSk7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIGNvbG9yIDAuMnM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5wcm9kLWNhcmRfX2J0bjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZSk7CiAgICBjb2xvcjogdmFyKC0tYmlhbmNvKTsKICB9CiAgLmNhcm91c2VsLWJ0biB7CiAgICBmbGV4LXNocmluazogMDsKICAgIHdpZHRoOiA0MHB4OwogICAgaGVpZ2h0OiA0MHB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8tbSk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzLCBiYWNrZ3JvdW5kIDAuMnM7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2Fyb3VzZWwtYnRuIHN2ZyB7CiAgICB3aWR0aDogMThweDsKICAgIGhlaWdodDogMThweDsKICAgIHN0cm9rZTogdmFyKC0tb2xpdmUtZGspOwogIH0KICAuY2Fyb3VzZWwtYnRuOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tb2xpdmUpOwogICAgYmFja2dyb3VuZDogdmFyKC0tY3JlbWEpOwogIH0KICAuY2Fyb3VzZWwtYnRuOmRpc2FibGVkIHsKICAgIG9wYWNpdHk6IDAuMzsKICAgIGN1cnNvcjogZGVmYXVsdDsKICB9CiAgLmNhcm91c2VsLWRvdHMgewogICAgZGlzcGxheTogZmxleDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiA4cHg7CiAgICBtYXJnaW4tdG9wOiAzMnB4OwogIH0KICAuY2Fyb3VzZWwtZG90IHsKICAgIHdpZHRoOiA2cHg7CiAgICBoZWlnaHQ6IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYS1kayk7CiAgICBib3JkZXI6IG5vbmU7CiAgICBwYWRkaW5nOiAwOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCB0cmFuc2Zvcm0gMC4yczsKICB9CiAgLmNhcm91c2VsLWRvdC5hY3RpdmUgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjQpOwogIH0KCiAgLyog4pSA4pSAIFJFU1BPTlNJVkUg4pSA4pSAICovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgICAuc2VjdGlvbi1oZXJvLAogICAgLnNlY3Rpb24tbWF0ZXJpYWwsCiAgICAuc2VjdGlvbi1pbXBhY3QgLmltcGFjdC1zdG9yeSwKICAgIC5zZWN0aW9uLXdpcmVsZXNzIHsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgIGdhcDogNDBweDsKICAgIH0KICAgIC5zZWN0aW9uLW1hdGVyaWFsX19pbWFnZSB7IG9yZGVyOiAwOyB9CiAgICAuaW1wYWN0LWNhcmRzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgIC5zdXBwbHktaW5uZXIgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiAzMnB4OyB9CiAgICAucGFsZXR0ZS1yb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9CiAgICAudGV4dHVyZS1yb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9CiAgICAuc2VjdGlvbi13aXJlbGVzcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgICAuZWRpdG9yaWFsLWdyaWQgewogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bzsKICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczoKICAgICAgICAiYzEgYzIiCiAgICAgICAgImMzIGM0IgogICAgICAgICJjNSBjNSIKICAgICAgICAiYzYgYzciCiAgICAgICAgImM4IGM4IgogICAgICAgICJjOSBjOSI7CiAgICB9CiAgICAuZGVzaWduLWRldGFpbHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiAzMnB4OyBwYWRkaW5nOiAzMnB4IDI0cHg7IH0KICAgIC5zZWN0aW9uLW1hcF9faGVhZGVyIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0KICAgIC5zZWN0aW9uLW1hcF9faGVhZGVyIHAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9CiAgICAucHJvZC1jYXJkIHsgZmxleDogMCAwIGNhbGMoNTAlIC0gMTBweCk7IH0KICAgIC5jYXJvdXNlbC1idG4geyBkaXNwbGF5OiBub25lOyB9CiAgfQogIEBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkgewogICAgLmVkaXRvcmlhbC1ncmlkIHsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6CiAgICAgICAgImMxIiAiYzIiICJjMyIgImM0IiAiYzUiICJjNiIgImM3IiAiYzgiICJjOSI7CiAgICB9CiAgICAucHJvZC1jYXJkIHsgZmxleDogMCAwIDgwJTsgfQogICAgLnBhbGV0dGUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogIH0KPC9zdHlsZT4KCgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAxLiBIRVJPIEJFU0NIUkVJQlVORwrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWhlcm8iPgogIDxkaXYgY2xhc3M9InNlY3Rpb24taGVyb19fdGV4dCI+CiAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyI+VkFJQSBDb3ZlciDigJQgV29oZXIgc2llIGtvbW10PC9zcGFuPgogICAgPGgyPkRpZSBSaW5kZSBlaW5lcyBPbGl2ZW5iYXVtcyw8YnI+ZGVyIG5pY2h0IG1laHIgZXhpc3RpZXJ0LDxicj51bSBkZWluIFRlbGVmb24uPC9oMj4KICAgIDxwPlZBSUEgQ292ZXIgd2lyZCBhdXMgZGVtIHNwcml0emdlZ29zc2VuZW4gQmlva29tcG9zaXQgT2xpdmUgTWF0dGVyIGhlcmdlc3RlbGx0OiBiaW9iYXNpZXJ0ZXMgVFBVIG1pdCBIb2x6ZmFzZXJuIGF1cyBPbGl2ZW5iw6R1bWVuLCBkaWUgZHVyY2ggZGllIFh5bGVsbGEtS3JhbmtoZWl0IGdlZsOkbGx0IHd1cmRlbi4KPGJyPjxicj4KSmVkZSBIw7xsbGUgZW50c3RlaHQgYXVzIGRlbSBTY2FuIGVpbmVyIGVjaHRlbiBhcHVsaXNjaGVuIE9saXZlbmJhdW1yaW5kZS4KCkVzIGlzdCBkYXMgcmVhbGUgTXVzdGVyIHZvbiBCw6R1bWVuLCBkaWUgZWluZSBkZXIgZ3LDtsOfdGVuIFVtd2VsdGthdGFzdHJvcGhlbiBkZXMgTWl0dGVsbWVlcnJhdW1zIGR1cmNobGVidCBoYWJlbi4KPGJyPjxicj4KRGllIE5hdHVyZmFzZXJuIHRyZXRlbiBhdXMgZGVtIE1hdGVyaWFsIGhlcnZvciwgZGllIE1hc2VydW5nIGJsZWlidCBzaWNodGJhciwgZGllIEhhcHRpayBibGVpYnQgd2FybSB1bmQgbWF0ZXJpZWxsLgoKSmVkZXMgQ292ZXItTW9kZWxsIHVudGVyc2NoZWlkZXQgc2ljaCB2b24gZGVuIGFuZGVyZW4sIHdlaWwgYXVjaCBkaWUgUmluZGUsIGF1cyBkZXIgZXMgZW50c3RlaHQsIGVpbnppZ2FydGlnIHdhci48L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZXJvX19pbWFnZSIgc3R5bGU9ImFzcGVjdC1yYXRpbzogMTYvOTsgb3ZlcmZsb3c6IGhpZGRlbjsgZm9udC1zaXplOiAwOyBsaW5lLWhlaWdodDogMDsiPgogICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2xfZkYwRzY3RWt3IiB0aXRsZT0iVkFJQSBDb3ZlciDigJMgd29oZXIgc2llIGtvbW10IiBhbGxvd2Z1bGxzY3JlZW4gYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIHN0eWxlPSJ3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgYm9yZGVyOjA7IGRpc3BsYXk6YmxvY2s7IHZlcnRpY2FsLWFsaWduOnRvcDsiPjwvaWZyYW1lPgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDIuIE9MSVZFIE1BVFRFUiDigJQgREFTIE1BVEVSSUFMCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tbWF0ZXJpYWwiPgogIDxkaXYgY2xhc3M9InNlY3Rpb24tbWF0ZXJpYWxfX2ltYWdlIj4KICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA1LzE0NTcwUTVBNzUyOC1zY2FsZWQuanBnIiBhbHQ9IkRldGFpbGFuc2ljaHQgT2xpdmUgTWF0dGVyIE1hdGVyaWFsIOKAkyBUZXh0dXIgdW5kIE1hc2VydW5nIGRlcyBPbGl2ZW5ob2x6ZXMiPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InNlY3Rpb24tbWF0ZXJpYWxfX3RleHQiPgogICAgPHNwYW4gY2xhc3M9ImV5ZWJyb3ciPk9MSVZFIE1BVFRFUuKEojwvc3Bhbj4KICAgIDxoMj5EYXMgTWF0ZXJpYWwsIGRhcyBlcyBuaWNodCBnYWIuPC9oMj4KICAgIDxwPkphaHJlbGFuZyBoYWJlbiB3aXIgdW5zIGVpbmUgRnJhZ2UgZ2VzdGVsbHQ6IFdhcyBrYW5uIGF1cyBkZW0gSG9seiBkZXIgdm9uIFh5bGVsbGEgYmVmYWxsZW5lbiBPbGl2ZW5iw6R1bWUgd2VyZGVuPzwvcD4KCiAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtaGlnaGxpZ2h0Ij5EaWUgQW50d29ydCBpc3QgT2xpdmUgTWF0dGVy4oSiLjwvc3Bhbj4KCiAgICA8cD5FaW4gbmV1ZXMgQmlva29tcG9zaXQsIGVudHdpY2tlbHQgdm9uIFZBSUEsIGRhcyBIb2x6ZmFzZXJuIGF1cyBPbGl2ZW5iw6R1bWVuIG1pdCBiaW9iYXNpZXJ0ZW0gVFBVIHZlcmJpbmRldCwgdW0gZWluZW4gdGVjaG5pc2NoZW4sIHdpZGVyc3RhbmRzZsOkaGlnZW4gdW5kIGFsbHRhZ3N0YXVnbGljaGVuIFdlcmtzdG9mZiB6dSBzY2hhZmZlbi48L3A+CgogICAgPGRpdiBjbGFzcz0ibWF0ZXJpYWwtdGFnbGluZSI+CiAgICAgIDxzcGFuPkVzIGlzdCBuaWNodCBudXIgSG9sejwvc3Bhbj4KICAgICAgPHNwYW4+RXMgaXN0IG5pY2h0IG51ciBQb2x5bWVyPC9zcGFuPgogICAgICA8c3Bhbj5FcyBpc3QgZXR3YXMgTmV1ZXM8L3NwYW4+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtYXRlcmlhbC1waWxscyI+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj5CaW9iYXNpZXJ0ZXMgVFBVPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+T2xpdmVuZmFzZXJuIChYeWxlbGxhKTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPkFudGliYWt0ZXJpZWxsZSBFaWdlbnNjaGFmdGVuPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+U3ByaXR6Z3Vzczwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPkJpcyB6dSA1NCAlIGVybmV1ZXJiYXI8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj4xMDAgJSBpdGFsaWVuaXNjaGUgTGllZmVya2V0dGU8L3NwYW4+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAzLiBURUNITklTQ0hFIERBVEVOCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tc3BlY3MiPgogIDxkaXYgY2xhc3M9InNlY3Rpb24tc3BlY3NfX2hlYWRlciI+CiAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPlRlY2huaXNjaGVzIERldGFpbDwvc3Bhbj4KICAgIDxoMj5TcGV6aWZpa2F0aW9uZW48L2gyPgogIDwvZGl2PgogIDx0YWJsZSBjbGFzcz0ic3BlY3MtdGFibGUiPgogICAgPHRib2R5PgogICAgPHRyPjx0ZD5NYXRlcmlhbDwvdGQ+PHRkPjxzdHJvbmc+Jm5ic3A7T2xpdmUgTWF0dGVyPC9zdHJvbmc+IOKAlCBCaW9iYXNpZXJ0ZXMgVFBVIHVuZCBPbGl2ZW5mYXNlcm48L3RkPjwvdHI+CiAgICA8dHI+PHRkPlN0w6Rya2U8L3RkPjx0ZD48c3Ryb25nPiZuYnNwOzEsOCBtbTwvc3Ryb25nPiBSw7xja3NlaXRlIOKAlCA8c3Ryb25nPjIgbW08L3N0cm9uZz4gU2VpdGVuPC90ZD48L3RyPgogICAgPHRyPjx0ZD5EaXNwbGF5c2NodXR6PC90ZD48dGQ+Jm5ic3A7RXJow7ZodGUgUsOkbmRlciBhbiBEaXNwbGF5IHVuZCBLYW1lcmE8L3RkPjwvdHI+CiAgICA8dHI+PHRkPkVpZ2Vuc2NoYWZ0ZW48L3RkPjx0ZD48c3Ryb25nPiZuYnNwO01pdCBhbnRpYmFrdGVyaWVsbGVuIEVpZ2Vuc2NoYWZ0ZW48L3N0cm9uZz48L3RkPjwvdHI+CiAgICA8dHI+PHRkPk1hZ25ldGlzY2hlIFp1YmVow7ZydGVpbGU8L3RkPjx0ZD4mbmJzcDtOaWNodCBrb21wYXRpYmVsIG1pdCBNYWduZXRiZWZlc3RpZ3VuZyDigJQgZHJhaHRsb3NlcyBMYWRlbiB3aXJkIG5pY2h0IGJlZWludHLDpGNodGlndDwvdGQ+PC90cj4KICAgIDx0cj48dGQ+SGVyc3RlbGx1bmc8L3RkPjx0ZD4mbmJzcDtTcHJpdHpndXNzIOKAlCA8c3Ryb25nPjEwMCAlIGl0YWxpZW5pc2NoZSBMaWVmZXJrZXR0ZTwvc3Ryb25nPjwvdGQ+PC90cj4KICAgIDx0cj48dGQ+UmVjeWNsaW5nZsOkaGlna2VpdDwvdGQ+PHRkPiZuYnNwOzEwMCAlIHJlY3ljZWxiYXI8L3RkPjwvdHI+CiAgICA8L3Rib2R5PgogIDwvdGFibGU+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNC4gRFJBSFRMT1NFUyBMQURFTgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXdpcmVsZXNzIj4KICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy1pY29uLWJsb2NrIj4KICAgIDxkaXYgY2xhc3M9IndpcmVsZXNzLWljb24iPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDIwaC4wMU01LjYgMTAuNkE4IDggMCAwIDEgMTguNCAxMC42Ij48L3BhdGg+PHBhdGggZD0iTTIgN2ExMiAxMiAwIDAgMSAyMCAwIj48L3BhdGg+PHBhdGggZD0iTTguOSAxNC4xQTQgNCAwIDAgMSAxNSAxNC4xIj48L3BhdGg+PC9zdmc+CiAgICA8L2Rpdj4KICAgIDxoMz5EcmFodGxvc2VzPGJyPkxhZGVuPC9oMz4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy10ZXh0Ij4KICAgIDxwPkRhcyBkcmFodGxvc2UgTGFkZW4gZnVua3Rpb25pZXJ0IHByb2JsZW1sb3MgbWl0IGFsbGVuIFN0YW5kYXJkcy4gRGFzIEjDvGxsZSBtdXNzIG5pY2h0IGVudGZlcm50IHdlcmRlbi48L3A+CiAgICA8cD5EaWUgSG9semZhc2VybiBhdXMgT2xpdmVuaG9seiBpbSBPbGl2ZSBNYXR0ZXItTWF0ZXJpYWwgcmVkdXppZXJlbiBkaWUgbWFnbmV0aXNjaGUgQW56aWVodW5nc2tyYWZ0IGxlaWNodDogRGllIEVuZXJnaWXDvGJlcnRyYWd1bmcgd2lyZCBuaWNodCBiZWVpbnRyw6RjaHRpZ3QsIGFiZXIgWnViZWjDtnIsIGRhcyBkdXJjaCBNYWduZXRrcmFmdCBiZWZlc3RpZ3Qgd2lyZCDigJMgd2llIFdhbGxldHMgdW5kIE1hZ1NhZmUtSGFsdGVydW5nZW4g4oCTIGlzdCBuaWNodCBrb21wYXRpYmVsLjwvcD4KICAgIDxkaXYgY2xhc3M9IndpcmVsZXNzLW5vdGUiPgogICAgICA8c3ZnIHN0eWxlPSJ3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXRvcDoycHg7c3Ryb2tlOnZhcigtLW9saXZlKTtmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjEuNTtzdHJva2UtbGluZWNhcDpyb3VuZCIgdmlld0JveD0iMCAwIDI0IDI0Ij48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PGxpbmUgeDE9IjEyIiB5MT0iOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT48bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyLjAxIiB5Mj0iMTYiPjwvbGluZT48L3N2Zz4KICAgICAgPHNwYW4+PHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiBEaWUgTmF0dXIgZGVzIE1hdGVyaWFscyBhdXMgZWNodGVuIE9saXZlbmhvbHpmYXNlcm4gaXN0IGRlciBHcnVuZCBmw7xyIGRpZXNlIEVpZ2Vuc2NoYWZ0LiBFcyBpc3Qga2VpbmUgS29uc3RydWt0aW9uc3NjaHfDpGNoZSwgc29uZGVybiBkaWUgS29uc2VxdWVueiBkZXIgRW50c2NoZWlkdW5nIGbDvHIgZWluIGF1dGhlbnRpc2NoZXMgTWF0ZXJpYWwuPC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNS4gREVTSUdOIOKAlCBURVhUVVIgJiBQQUxFVFRFCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tZGVzaWduIj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2lnbl9faGVhZGVyIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+RGVzaWduPC9zcGFuPgogICAgPGgyPlNpZWJlbiBPbGl2ZW5iw6R1bWUsIHNpZWJlbiBUZXh0dXJlbi48YnI+VmllciBGYXJiZW4gZGVzIFNhbGVudG8uPC9oMj4KICAgIDxwPkplZGVzIFRlbGVmb25tb2RlbGwgdHLDpGd0IGVpbmUgYW5kZXJlIFJpbmRlLiBTaWViZW4gTW9kZWxsZSwgc2llYmVuIELDpHVtZSwgc2llYmVuIGVpbnppZ2FydGlnZSBUZXh0dXJlbi4KSW4gZGVyIE1pdHRlIGplZGVzIENvdmVycyBzaW5kIGRpZSBLb29yZGluYXRlbiBkZXMgZXJzdGVuIFdpZWRlcmdlYnVydHN3YWxkcyBpbiBBcHVsaWVuIGVyaGFiZW4gZWluZ3JhdmllcnQuPC9wPgoKICAgIDxkaXYgY2xhc3M9ImRlc2lnbi10YWdsaW5lIj4KICAgICAgPHNwYW4+RWluIHJlYWxlciBPcnQ8L3NwYW4+CiAgICAgIDxzcGFuPkVpbmUgcmVhbGUgR2VzY2hpY2h0ZTwvc3Bhbj4KICAgICAgPHNwYW4+RWluZSByZWFsZSBXaXJrdW5nPC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDwhLS0gSGlud2VpcyBTSUQgLS0+CiAgPGRpdiBjbGFzcz0iZGVzaWduLXNpZC1ub3RlIj4KICAgIDxzdHJvbmc+RGVzaWduIGVudHdpY2tlbHQgbWl0IFNJRCDigJQgU2N1b2xhIEl0YWxpYW5hIERlc2lnbiBkaSBQYWRvdmE8L3N0cm9uZz4sIGVpbmVtIHZvbSBNaW5pc3Rlcml1bSBmw7xyIEhvY2hzY2h1bGJpbGR1bmcgdW5kIEZvcnNjaHVuZyBhbmVya2FubnRlbiBha2FkZW1pc2NoZW4gSW5zdGl0dXQsIFRlaWwgZGVzIEdhbGlsZW8gVmlzaW9uYXJ5IERpc3RyaWN0LCBlaW5lcyAxOTkxIGdlZ3LDvG5kZXRlbiBGb3JzY2h1bmdzLSB1bmQgSW5ub3ZhdGlvbnNwb2xzLCBkZXIgZXJzdGUgYXVmIEluZHVzdHJpZWRlc2lnbiBzcGV6aWFsaXNpZXJ0ZSBFaW5yaWNodHVuZyBOb3Jkb3N0aXRhbGllbnMuCiAgPC9kaXY+CgogIDwhLS0gVmllciBpZGVudGl0w6R0c3N0aWZ0ZW5kZSBFbGVtZW50ZSAtLT4KICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlscyI+CiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlsLWl0ZW0iPgogICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLW51bSI+MDEg4oCUIFRleHR1cjwvc3Bhbj4KICAgICAgPGg0PkRpZSBSaW5kZSBhbHMgT2JlcmZsw6RjaGU8L2g0PgogICAgICA8cD5EaWUgT2JlcmZsw6RjaGUgamVkZXMgQ292ZXJzIHJlcHJvZHV6aWVydCBkZW4gU2NhbiBlaW5lciBlY2h0ZW4gYXB1bGlzY2hlbiBPbGl2ZW5iYXVtcmluZGUuIEplZGVzIE1vZGVsbCB0csOkZ3QgZWluZSBhbmRlcmUgVGV4dHVyOiBzaWViZW4gTW9kZWxsZSwgc2llYmVuIFJpbmRlbiwgc2llYmVuIGVpbnppZ2FydGlnZSBPYmVyZmzDpGNoZW4uIEVzIGlzdCBrZWluZSBhbGxnZW1laW5lIEhvbHppbnNwaXJhdGlvbjogRXMgaXN0IGRpZSBlY2h0ZSBSaW5kZSBkaWVzZXIgQsOkdW1lLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjAyIOKAlCBIYXB0aWs8L3NwYW4+CiAgICAgIDxoND5EaWUgQmVyw7xocnVuZyBkZXMgTWF0ZXJpYWxzPC9oND4KICAgICAgPHA+RGllIEhvbHpmYXNlcm4gYXVzIE9saXZlbmhvbHogc2luZCBzaWNodGJhciB1bmQgc3DDvHJiYXIuIERhcyBBdWdlIHNpZWh0IGRpZSBuYXTDvHJsaWNoZSBNYXNlcnVuZyBkZXMgSG9semVzLCBkaWUgSGFuZCBmw7xobHQgZWluZSB3YXJtZSwgbWF0dGUgS29uc2lzdGVueiDigJMgd2VpdCBlbnRmZXJudCB2b24gZGVyIEvDpGx0ZSBoZXJrw7ZtbWxpY2hlciBLdW5zdHN0b2ZmZS4gRXMgaXN0IGRpZSBwaHlzaXNjaGUgUHLDpHNlbnogZGVzIE1hdGVyaWFscywgZGllIHZvbiBzZWluZXIgSGVya3VuZnQgZXJ6w6RobHQuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlsLWl0ZW0iPgogICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLW51bSI+MDMg4oCUIEtvb3JkaW5hdGVuPC9zcGFuPgogICAgICA8aDQ+RWluIHByw6R6aXNlciBPcnQsIGVyaGFiZW4gZWluZ3JhdmllcnQ8L2g0PgogICAgICA8cD5JbiBkZXIgTWl0dGUgamVkZXMgQ292ZXJzIHNpbmQgZGllIGdlb2dyYWZpc2NoZW4gS29vcmRpbmF0ZW4gZGVzIGVyc3RlbiBXaWVkZXJnZWJ1cnRzd2FsZHMgaW4gQXB1bGllbiwgaW4gU3BlY2NoaWEgKExFKSDigJQgMzkuOTQ3MDDCsCBOIC8gMTguMjcyOTLCsCBFIOKAlCBlaW5ncmF2aWVydCwgYmVnbGVpdGV0IHZvbSBlcmhhYmVuZW4gUHJvZmlsIGRlcyBHZWJpZXRzIGF1cyBkZXIgVm9nZWxwZXJzcGVrdGl2ZS48L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImRlc2lnbi1kZXRhaWwtaXRlbSI+CiAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbnVtIj4wNCDigJQgUGFsZXR0ZTwvc3Bhbj4KICAgICAgPGg0PlZpZXIgRmFyYmVuIGRlcyBTYWxlbnRvPC9oND4KICAgICAgPHA+T2xpdmUgR3JlZW4sIFBhc3RlbCBUdXJxdW9pc2UsIFRlcnJhIEJyb3duLCBMaWdodCBJdm9yeTogdmllciBGYXJiZW4sIGRpZSBhdXMgZGVyIEJlb2JhY2h0dW5nIGRlcyBhcHVsaXNjaGVuIFRlcnJpdG9yaXVtcyBlbnRzdGVoZW4sIHZvbiBkZXIgcm90ZW4gRXJkZSBiaXMgenVtIHN0cmVpZmVuZGVuIExpY2h0IGF1ZiBkZW0gQWRyaWF0aXNjaGVuIE1lZXIuPC9wPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDwhLS0gRmFyYnBhbGV0dGUgLS0+CiAgPHAgY2xhc3M9InBhbGV0dGUtdGl0bGUiPkRpZSBQYWxldHRlPC9wPgogIDxkaXYgY2xhc3M9InBhbGV0dGUtcm93Ij4KICAgIDxkaXYgY2xhc3M9InBhbGV0dGUtc3dhdGNoIj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWNvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDogIzZCNkIzQTsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtaW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLW5hbWUiPk9saXZlIEdyZWVuPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWRlc2MiPkRpZSBGYXJiZSBkZXIgT2xpdmVuYmzDpHR0ZXIgaW0gU2FsZW50bzwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFsZXR0ZS1zd2F0Y2giPgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtY29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjODlDNEM4OyI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtbmFtZSI+UGFzdGVsIFR1cnF1b2lzZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5EaWUgRmFyYmUgZGVyIEFkcmlhPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWxldHRlLXN3YXRjaCI+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1jb2xvciIgc3R5bGU9ImJhY2tncm91bmQ6ICM2RjRFMzc7Ij48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWluZm8iPgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1uYW1lIj5UZXJyYSBCcm93bjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5EaWUgRmFyYmUgZGVyIGFwdWxpc2NoZW4gRXJkZTwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFsZXR0ZS1zd2F0Y2giPgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtY29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjRThEOEIwOyI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtbmFtZSI+TGlnaHQgSXZvcnk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtZGVzYyI+RGllIEZhcmJlIGRlciBnb2xkZW5lbiBXZWl0ZW4gZGVzIFNhbGVudG88L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICA2LiBFRElUT1JJQUxFUyBGT1RPUkFTVEVSCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tZWRpdG9yaWFsIj4KICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtZ3JpZCI+CgogICAgPCEtLSBjMTogTElGRVNUWUxFIE9MSVZFIE1BVFRFUiAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTEiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLUxJRkVTVFlMRS1PTElWRS1NQVRURVItc2NhbGVkLmpwZyIgYWx0PSJWQUlBIENvdmVyIOKAkyBMaWZlc3R5bGUgT2xpdmUgTWF0dGVyIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPkxpZmVzdHlsZTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+T2xpdmUgTWF0dGVyPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjMjogVGV4dHplbGxlIOKAlCBWQUlBLVBoaWxvc29waGllIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLXRleHQgZWMtMiI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5WQUlBLVBoaWxvc29waGllPC9zcGFuPgogICAgICA8aDM+4oCeV2lyIHJlZ2VuZXJpZXJlbjxicj5kYXMgbWVkaXRlcnJhbmU8YnI+QnVzY2hsYW5kLiI8L2gzPgogICAgICA8cD5WQUlBIENvdmVyIGlzdCBkYXMgZXJzdGUgUHJvZHVrdCBkZXMgUHJvamVrdHMgUHVnbGlhLiBFaW4gUHJvamVrdCwgZGFzIGRhenUgZW50c3RhbmRlbiBpc3QsIGVpbmVuIGtvbGxla3RpdmVuIFZlcmx1c3QgaW4gZWluZSBuZXVlIE3DtmdsaWNoa2VpdCB6dSB2ZXJ3YW5kZWxuLiBKZWRlcyBDb3ZlciB0csOkZ3QgZGlyZWt0IHp1ciBSZWdlbmVyYXRpb24gZGVzIG1lZGl0ZXJyYW5lbiBCdXNjaGxhbmRzIGluIFNwZWNjaGlhIChMRSkgYmVpLiBFaW5lbiBRdWFkcmF0bWV0ZXIgbmFjaCBkZW0gYW5kZXJlbi48L3A+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGMzOiBPR05JIEdJT1JOTyAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTMiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLU9HTkktR0lPUk5PLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgamVkZW4gVGFnIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPkRldGFpbDwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+SmVkZW4gVGFnPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjNDogU0VNUFJFIENPTiBURSAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTQiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLVNFTVBSRS1DT04tVEUtc2NhbGVkLmpwZyIgYWx0PSJWQUlBIENvdmVyIOKAkyBpbW1lciBkYWJlaSI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5VbnRlcndlZ3M8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPkltbWVyIGRhYmVpPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjNTogZGFyayBzdGF0IGNlbGwg4oCUIDEgbcKyIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLWRhcmsgZWMtNSIgc3R5bGU9ImJhY2tncm91bmQ6IHZhcigtLXRlcnJhKTsiPgogICAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyIgc3R5bGU9ImNvbG9yOiB2YXIoLS10ZXJyYS1sdCk7Ij5XaXJrdW5nPC9zcGFuPgogICAgICA8ZGl2IGNsYXNzPSJiaWctbnVtYmVyIiBzdHlsZT0iZm9udC1zaXplOiBjbGFtcCgzMnB4LDMuNXZ3LDUycHgpOyBtYXJnaW4tYm90dG9tOjEycHg7IGNvbG9yOiB2YXIoLS1zYWJiaWEpOyI+MSBtwrI8YnI+cmVnZW5lcmllcnRlczxicj5CdXNjaGxhbmQuPC9kaXY+CiAgICAgIDxwIHN0eWxlPSJjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjgpOyI+UHJvIHZlcmthdWZ0ZW0gQ292ZXIuPC9wPgogICAgPC9kaXY+CgogICAgPCEtLSBjNjogVFJBRElaSU9ORSBFIElOTk9WQVpJT05FIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWMtNiI+CiAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1RJTEUtVFJBRElaSU9ORS1FLUlOTk9WQVpJT05FLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgVHJhZGl0aW9uIHVuZCBJbm5vdmF0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPk1hdGVyaWFsPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcC10ZXh0Ij5UcmFkaXRpb24gdW5kIElubm92YXRpb248L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM3OiBUZXh0emVsbGUg4oCUIEtvb3JkaW5hdGVuIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLXRleHQgZWMtNyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5FaW5ncmF2aWVydGUgS29vcmRpbmF0ZW48L3NwYW4+CiAgICAgIDxoMz4zOS45NDfCsE48YnI+MTguMjcywrBFPC9oMz4KICAgICAgPHA+U3BlY2NoaWEgKExFKSDigJQgRXJzdGVyIFdpZWRlcmdlYnVydHN3YWxkIGluIEFwdWxpZW4uIERpZXNlbGJlbiBLb29yZGluYXRlbiwgZGllIGF1ZiBkZWluZW0gQ292ZXIgZWluZ3JhdmllcnQgc2luZC48L3A+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM4OiBMRUdHRVJPIEFVVEVOVElDTyAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTgiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLUxFR0dFUk8tQVVURU5USUNPLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgbGVpY2h0LCBhdXRoZW50aXNjaCI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5KZWRlbiBUYWc8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPkxlaWNodCwgYXV0aGVudGlzY2g8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM5OiBkYXJrIHN0YXQgY2VsbCDigJQgMTAwJSBmaWxpZXJhIGl0YWxpYW5hIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLWRhcmsgZWMtOSIgc3R5bGU9ImJhY2tncm91bmQ6IHZhcigtLW1hcmUpOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93IiBzdHlsZT0iY29sb3I6IHZhcigtLWNyZW1hKTsiPk1hZGUgaW4gSXRhbHk8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImJpZy1udW1iZXIiIHN0eWxlPSJmb250LXNpemU6IGNsYW1wKDI4cHgsM3Z3LDQ0cHgpOyBtYXJnaW4tYm90dG9tOjEycHg7IGNvbG9yOiB2YXIoLS1iaWFuY28pOyI+MTAwICU8YnI+aXRhbGllbmlzY2hlPGJyPkxpZWZlcmtldHRlLjwvZGl2PgogICAgICA8cCBzdHlsZT0iY29sb3I6IHJnYmEoMjUwLDI1MCwyNDcsMC44NSk7Ij5Wb20gYXB1bGlzY2hlbiBPbGl2ZW5ob2x6IGJpcyB6dW0gU3ByaXR6Z3Vzcy48L3A+CiAgICA8L2Rpdj4KCiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNy4gVU1XRUxUQVVTV0lSS1VORyArIEdFU0NISUNIVEUgQVBVTElFTgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWltcGFjdCI+CiAgPGRpdiBjbGFzcz0iaW1wYWN0LWludHJvIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCIgc3R5bGU9ImNvbG9yOnZhcigtLW9saXZlLWx0KTsiPldpcmt1bmc8L3NwYW4+CiAgICA8aDI+SmVkZXMgQ292ZXI8YnI+cmVnZW5lcmllcnQgMSBtwrI8YnI+bWVkaXRlcmFuZXMgQnVzY2hsYW5kLjwvaDI+CiAgICA8cD5EZXIgQmVpdHJhZyBpc3QgbmljaHQgc3ltYm9saXNjaC4gSmVkZXIgS2F1ZiB1bnRlcnN0w7x0enQgZGlyZWt0IGRpZSBCZXBmbGFuenVuZyB1bmQgV2llZGVyaGVyc3RlbGx1bmcgZGVzIG1lZGl0ZXJyYW5lbiBCdXNjaGxhbmRzIGltIGVyc3RlbiBXaWVkZXJnZWJ1cnRzd2FsZCBpbiBBcHVsaWVuLgpEaWVzZWxiZW4gS29vcmRpbmF0ZW4sIGRpZSBhdWYgZGVpbmVtIENvdmVyIGVpbmdyYXZpZXJ0IHNpbmQuPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZHMiPgogICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmQiPgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fbnVtYmVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY291bnR1cC1udW1iZXIiIGRhdGEtdGFyZ2V0PSIyMCIgZGF0YS1zdWZmaXg9Ik0rIj4wPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX3VuaXQiPmJldHJvZmZlbmUgT2xpdmVuYsOkdW1lPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5TZWl0IGRlciBBbmt1bmZ0IGRlciBYeWxlbGxhIGltIEphaHIgMjAxMyB3dXJkZW4gw7xiZXIgMjAgTWlsbGlvbmVuIGFwdWxpc2NoZSBPbGl2ZW5iw6R1bWUgYmVmYWxsZW4uIEVpbmUgZGVyIHNjaHdlcnN0ZW4gVW13ZWx0a2F0YXN0cm9waGVuIEV1cm9wYXMuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkIj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX251bWJlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50dXAtbnVtYmVyIiBkYXRhLXRhcmdldD0iMSIgZGF0YS1zdWZmaXg9IiBtwrIiIGRhdGEtcHJlZml4PSIiPjA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fdW5pdCI+cHJvIENvdmVyPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5KZWRlcyB2ZXJrYXVmdGUgQ292ZXIgdHLDpGd0IHp1ciBBdWZmb3JzdHVuZyB2b24gMSBtwrIgbWVkaXRlcnJhbmVtIEJ1c2NobGFuZCBpbiBTcGVjY2hpYSAoTEUpLCBpbSBlcnN0ZW4gV2llZGVyZ2VidXJ0c3dhbGQgaW4gQXB1bGllbiwgYmVpLjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZCI+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19udW1iZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb3VudHVwLW51bWJlciIgZGF0YS10YXJnZXQ9IjEwMCIgZGF0YS1zdWZmaXg9IiUiPjA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fdW5pdCI+TWFkZSBpbiBJdGFseTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fZGVzYyI+RGVzaWduIGVudHdpY2tlbHQgbWl0IFNJRCBTY3VvbGEgSXRhbGlhbmEgRGVzaWduIGRpIFBhZG92YS4gUHJvZHVrdGlvbiB2b2xsc3TDpG5kaWcgaW4gSXRhbGllbi4gRGFzIE1hdGVyaWFsIGlzdCBsYW5kd2lydHNjaGFmdGxpY2hlciBBYmZhbGw6IEZhc2VybiwgZGllIHNvbnN0IGVudHNvcmd0IHfDvHJkZW4uPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iaW1wYWN0LXN0b3J5Ij4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeV9fdGV4dCI+CiAgICAgIDxoMz5XYXJ1bSBBcHVsaWVuLDxicj53YXJ1bSBqZXR6dC48L2gzPgogICAgICA8cD5KYWhyZWxhbmcgaGFiZW4gd2lyIG5hY2ggZWluZW0gV2VnIGdlc3VjaHQsIGRhcyByZWdlbmVyYXRpdmUgTW9kZWxsIHZvbiBWQUlBIG5hY2ggQXB1bGllbiB6dSBicmluZ2VuLiBXaXIgaGFiZW4gTGFuZHdpcnRlbiwgV2lzc2Vuc2NoYWZ0bGVybiwgSW5zdGl0dXRpb25lbiB1bmQgZWluZmFjaGVuIE1lbnNjaGVuIHp1Z2Vow7ZydCwgdW0gZ2VtZWluc2FtIHp1IHZlcnN0ZWhlbiwgd2llIHdpciByZWFnaWVyZW4ga8O2bm5lbi4gTmljaHQgdW0genUgZXJzZXR6ZW4sIHdhcyB2ZXJsb3JlbiBnZWdhbmdlbiBpc3QsIHNvbmRlcm4gdW0gZXR3YXMgTmV1ZXMgd2FjaHNlbiB6dSBsYXNzZW4uPC9wPgogICAgICA8cD5BdXMgZGllc2VtIFp1aMO2cmVuIGVudHN0YW5kIE9saXZlIE1hdHRlcjogZWluIE1hdGVyaWFsLCBkYXMgdmVyYmluZGV0LCB3YXMgd2llIEFiZmFsbCBzY2hpZW4sIG1pdCBtb2Rlcm5zdGVyIEZvcnNjaHVuZyB6dSBiaW9iYXNpZXJ0ZW4gUG9seW1lcmVuLiBFaW5lIFZlcmJpbmR1bmcgendpc2NoZW4gdGVycml0b3JpYWxlciBJZGVudGl0w6R0IHVuZCB0ZWNobmlzY2hlciBJbm5vdmF0aW9uLjwvcD4KICAgICAgPHA+RGFzIE9saXZlbmhvbHogdm9uIELDpHVtZW4sIGRpZSB2b24gZGVyIFh5bGVsbGEgYmVmYWxsZW4gd3VyZGVuLCBrYW5uIHNpY2hlciB0cmFuc3BvcnRpZXJ0IHdlcmRlbiwgdW50ZXIgRWluaGFsdHVuZyBkZXIgRUZTQS1Wb3JzY2hyaWZ0ZW4gdW5kIGRlciBSZWdpb24gQXB1bGllbi4gV2lyIHZlcndhbmRlbG4gZXMsIGFuc3RhdHQgZXMgenUgZW50c29yZ2VuLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iY29vcmRzLWJsb2NrIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLWxhYmVsIj5XaWVkZXJnZWJ1cnRzd2FsZCDigJQgU3BlY2NoaWEgKExFKTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLXZhbHVlIj4zOcKwNTcnTiDCtyAxOMKwMTAnRTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeV9faW1hZ2UiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS8wNDQwUTVBNTA2Mi0xLTEtc2NhbGVkLmpwZyIgYWx0PSJMYW5kc2NoYWZ0IG1pdCBhcHVsaXNjaGVuIE9saXZlbmLDpHVtZW4g4oCTIFNhbGVudG8sIE1pc2NodW5nIGF1cyBhYmdlc3RvcmJlbmVuIELDpHVtZW4gdW5kIGxlYmVuZGVyIFZlZ2V0YXRpb24iPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgOC4gS0FSVEUg4oCUIFdJRURFUkdFQlVSVFNXQUxECuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tbWFwIj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW1hcF9faGVhZGVyIj4KICAgIDxkaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+V0lFREVSR0VCVVJUU1dBTEQ8L3NwYW4+CiAgICAgIDxoMj5EaWUgS29vcmRpbmF0ZW4sIGRpZSBkdSBpbiBkZXIgVGFzY2hlIHRyw6Rnc3QuPC9oMj4KICAgIDwvZGl2PgogICAgPHA+RGllc2VsYmVuIEtvb3JkaW5hdGVuLCBkaWUgYXVmIGplZGVtIENvdmVyIGVpbmdyYXZpZXJ0IHNpbmQuIEVpbiByZWFsZXIgT3J0LCBlaW5lIG1lc3NiYXJlIFdpcmt1bmcuPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1hcC13cmFwcGVyIj4KICAgIDxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWQ\/cGI9ITFtMTghMW0xMiExbTMhMWQxMjE2OC41ITJkMTguMjg0NSEzZDM5Ljk0NzIhMm0zITFmMCEyZjAhM2YwITNtMiExaTEwMjQhMmk3NjghNGYxMy4xITNtMyExbTIhMXMweDEzNDUzYTdiOGE2YTIzZjElM0EweDNlM2MzZTNjM2UzYzNlM2MhMnNTcGVjY2hpYSUyQyUyMExFJTJDJTIwSXRhbGlhITVlMCEzbTIhMXNpdCEyc2l0ITR2MTcxNzE1NjgwMDAwMCE1bTIhMXNpdCEyc2l0IiBhbGxvd2Z1bGxzY3JlZW4gbG9hZGluZz0ibGF6eSIgcmVmZXJyZXJwb2xpY3k9Im5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIiB0aXRsZT0iU3BlY2NoaWEgKExFKSDigJMgV2llZGVyZ2VidXJ0c3dhbGQiPjwvaWZyYW1lPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1hcC1jb29yZHMtYmFyIj4KICAgIDxzcGFuIGNsYXNzPSJjb29yZC1wbGFjZSI+RXJzdGVyIFdpZWRlcmdlYnVydHN3YWxkIGluIEFwdWxpZW4g4oCUIFNwZWNjaGlhIChMRSksIEl0YWxpZW48L3NwYW4+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgOS4gTElFRkVSS0VUVEUgTUFERSBJTiBJVEFMWQrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXN1cHBseSI+CiAgPGRpdiBjbGFzcz0ic3VwcGx5LWhlYWRpbmciPgogICAgPHNwYW4gY2xhc3M9ImxhYmVsLXNtYWxsIj5MaWVmZXJrZXR0ZTwvc3Bhbj4KICAgIDxoMj5Wb20gbGFuZHdpcnRzY2hhZnRsaWNoZW4gQWJmYWxsPGJyPnp1IGVpbmVtIG5ldWVuIE1hdGVyaWFsLjwvaDI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ic3VwcGx5LWlubmVyIj4KICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9jayI+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fbnVtIj4wMTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX3RpdGxlIj5Sb2hzdG9mZiBhdXMgbGFuZHdpcnRzY2hhZnRsaWNoZW0gQWJmYWxsPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fZGVzYyI+RGllIEhvbHpmYXNlcm4gdm9uIGR1cmNoIFh5bGVsbGEgZ2Vmw6RsbHRlbiBPbGl2ZW5iw6R1bWVuIHdlcmRlbiBkaXJla3Qgdm9uIGRlbiBiZXRyb2ZmZW5lbiBhcHVsaXNjaGVuIExhbmR3aXJ0c2NoYWZ0c2JldHJpZWJlbiBnZXNhbW1lbHQuIE1hdGVyaWFsLCBkYXMgc29uc3QgZW50c29yZ3Qgd8O8cmRlLjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2siPgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX251bSI+MDI8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX190aXRsZSI+Rm9yc2NodW5nIHVuZCBEZXNpZ248L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX19kZXNjIj5EYXMgQmlva29tcG9zaXQgT2xpdmUgTWF0dGVyIHd1cmRlIGluIFp1c2FtbWVuYXJiZWl0IG1pdCBTSUQg4oCUIFNjdW9sYSBJdGFsaWFuYSBEZXNpZ24gZGkgUGFkb3ZhIOKAlCBlbnR3aWNrZWx0LiBWb24gZGVyIE1hdGVyaWFsZm9ybXVsaWVydW5nIGJpcyB6dW0gU2NhbiBkZXIgUmluZGVuOiBBbGxlcyBlbnRzdGVodCBpbiBJdGFsaWVuLjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2siPgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX251bSI+MDM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX190aXRsZSI+SXRhbGllbmlzY2hlIFNwcml0emd1c3Nwcm9kdWt0aW9uPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fZGVzYyI+RGllIEjDvGxsZW4gd2VyZGVuIGltIFNwcml0emd1c3N2ZXJmYWhyZW4gaW4gaXRhbGllbmlzY2hlbiBXZXJrZW4gaGVyZ2VzdGVsbHQuIEplZGUgVGV4dHVyIHdpcmQgbWlsbGltZXRlcmdlbmF1IHZvbSBvcmlnaW5hbGVuIFJpbmRlbnNjYW4gcmVwcm9kdXppZXJ0LjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgMTAuIEtBUlVTU0VMTCBWRVJXQU5EVEUgUFJPRFVLVEUK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1jYXJvdXNlbCI+CiAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtaGVhZGVyIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+RGllIFZBSUEtRmFtaWxpZTwvc3Bhbj4KICAgIDxoMj5adXNhbW1lbiBrYXVmZW48L2gyPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNhcm91c2VsLXdyYXBwZXIiPgogICAgPGJ1dHRvbiBjbGFzcz0iY2Fyb3VzZWwtYnRuIGNhcm91c2VsLWJ0bi0tcHJldiIgYXJpYS1sYWJlbD0iVm9yaGVyaWdlIj4KICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+PC9zdmc+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgY2xhc3M9ImNhcm91c2VsLXRyYWNrLW91dGVyIiBpZD0iY2Fyb3VzZWxPdXRlciI+CiAgICAgIDxkaXYgY2xhc3M9ImNhcm91c2VsLXRyYWNrIiBpZD0iY2Fyb3VzZWxUcmFjayI+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkIj4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUvIiBjbGFzcz0icHJvZC1jYXJkX19pbWctd3JhcCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExLzY2NXg3NTVfQ1VCRS5qcGciIGFsdD0iVkFJQSBDdWJlIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZTwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fZGVzYyI+TmF0w7xybGljaGVyIGFrdXN0aXNjaGVyIFZlcnN0w6Rya2VyLiAxIEN1YmUgPSAxIEJhdW0gaW4gZGVuIERvbG9taXRlbi48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fZm9vdGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZC1jYXJkX19wcmljZSI+NjIsMDAg4oKsPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUvIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkVudGRlY2tlbjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmQiPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1lc3NlbnRpYWwtYXJpYS8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDkvVW50aXRsZWQtZGVzaWduLmpwZyIgYWx0PSJWQUlBIEN1YmUgRXNzZW50aWFsIEFyaWEiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19ib2R5Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fbmFtZSI+VkFJQSBDdWJlIEVzc2VudGlhbCBBcmlhPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19kZXNjIj5OYXTDvHJsaWNoZXIgYWt1c3Rpc2NoZXIgVmVyc3TDpHJrZXIuIDEgQ3ViZSA9IDEgQmF1bSBpbiBkZW4gRG9sb21pdGVuLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19mb290ZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9kLWNhcmRfX3ByaWNlIj44OSwwMCDigqw8L3NwYW4+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1lc3NlbnRpYWwtYXJpYS8iIGNsYXNzPSJwcm9kLWNhcmRfX2J0biI+RW50ZGVja2VuPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZCI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWltcGVyZmV0dG8vIiBjbGFzcz0icHJvZC1jYXJkX19pbWctd3JhcCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExLzY2NXg3NTVfSU1QRVJGRVRUTy5qcGciIGFsdD0iVkFJQSBDdWJlIEltcGVyZmV0dG8iIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19ib2R5Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fbmFtZSI+VkFJQSBDdWJlIEltcGVyZmV0dG88L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX2Rlc2MiPkRlciBpa29uaXNjaGUgQ3ViZSwgZWluemlnYXJ0aWcgZ2VtYWNodCBkdXJjaCBuYXTDvHJsaWNoZSBGbGVja2VuIHVuZCBVbnZvbGxrb21tZW5oZWl0ZW4gZGVzIEhvbHplcy48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fZm9vdGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZC1jYXJkX19wcmljZSI+NzQsMDAg4oKsPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUtaW1wZXJmZXR0by8iIGNsYXNzPSJwcm9kLWNhcmRfX2J0biI+RW50ZGVja2VuPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZCI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWpveS8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9KT1ktMi0xLmpwZyIgYWx0PSJWQUlBIEN1YmUgSk9ZIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZSBKT1k8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX2Rlc2MiPlZBSUEtSG9senZlcnN0w6Rya2VyLCBpbiB2ZXJzY2hpZWRlbmVuIGxlYmhhZnRlbiBGYXJiZW4gZXJow6RsdGxpY2guPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2QtY2FyZF9fcHJpY2UiPuKAlDwvc3Bhbj4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWpveS8iIGNsYXNzPSJwcm9kLWNhcmRfX2J0biI+RW50ZGVja2VuPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0iY2Fyb3VzZWwtYnRuIGNhcm91c2VsLWJ0bi0tbmV4dCIgYXJpYS1sYWJlbD0iTsOkY2hzdGUiPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjkgMTggMTUgMTIgOSA2Ij48L3BvbHlsaW5lPjwvc3ZnPgogICAgPC9idXR0b24+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtZG90cyIgaWQ9ImNhcm91c2VsRG90cyI+PC9kaXY+Cjwvc2VjdGlvbj4KCjxzY3JpcHQ+Ci8qIOKUgOKUgCBLQVJVU1NFTEwgbWl0IFRvdWNoL0RyYWctVW50ZXJzdMO8dHp1bmcg4pSA4pSAICovCihmdW5jdGlvbigpIHsKICBjb25zdCB0cmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbFRyYWNrJyk7CiAgY29uc3Qgb3V0ZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2Fyb3VzZWxPdXRlcicpOwogIGNvbnN0IGRvdHNDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2Fyb3VzZWxEb3RzJyk7CiAgY29uc3QgY2FyZHMgPSB0cmFjay5xdWVyeVNlbGVjdG9yQWxsKCcucHJvZC1jYXJkJyk7CiAgY29uc3QgcHJldkJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jYXJvdXNlbC1idG4tLXByZXYnKTsKICBjb25zdCBuZXh0QnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNhcm91c2VsLWJ0bi0tbmV4dCcpOwogIGxldCBjdXJyZW50ID0gMDsKCiAgZnVuY3Rpb24gdmlzaWJsZUNvdW50KCkgewogICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDw9IDU2MCA\/IDEgOiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA5MDAgPyAyIDogNDsKICB9CgogIGZ1bmN0aW9uIG1heEluZGV4KCkgewogICAgcmV0dXJuIE1hdGgubWF4KDAsIGNhcmRzLmxlbmd0aCAtIHZpc2libGVDb3VudCgpKTsKICB9CgogIGZ1bmN0aW9uIGNhcmRXaWR0aCgpIHsKICAgIHJldHVybiBjYXJkc1swXS5vZmZzZXRXaWR0aCArIDIwOwogIH0KCiAgY29uc3QgZG90cyA9IFtdOwogIGZvciAobGV0IGkgPSAwOyBpIDw9IG1heEluZGV4KCk7IGkrKykgewogICAgY29uc3QgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgZC5jbGFzc05hbWUgPSAnY2Fyb3VzZWwtZG90JyArIChpID09PSAwID8gJyBhY3RpdmUnIDogJycpOwogICAgZC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGdvVG8oaSkpOwogICAgZG90c0NvbnRhaW5lci5hcHBlbmRDaGlsZChkKTsKICAgIGRvdHMucHVzaChkKTsKICB9CgogIGZ1bmN0aW9uIGdvVG8oaW5kZXgpIHsKICAgIGN1cnJlbnQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbihpbmRleCwgbWF4SW5kZXgoKSkpOwogICAgdHJhY2suc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLScgKyAoY3VycmVudCAqIGNhcmRXaWR0aCgpKSArICdweCknOwogICAgZG90cy5mb3JFYWNoKChkLCBpKSA9PiBkLmNsYXNzTGlzdC50b2dnbGUoJ2FjdGl2ZScsIGkgPT09IGN1cnJlbnQpKTsKICAgIGlmIChwcmV2QnRuKSBwcmV2QnRuLmRpc2FibGVkID0gY3VycmVudCA9PT0gMDsKICAgIGlmIChuZXh0QnRuKSBuZXh0QnRuLmRpc2FibGVkID0gY3VycmVudCA+PSBtYXhJbmRleCgpOwogIH0KCiAgaWYgKHByZXZCdG4pIHByZXZCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBnb1RvKGN1cnJlbnQgLSAxKSk7CiAgaWYgKG5leHRCdG4pIG5leHRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBnb1RvKGN1cnJlbnQgKyAxKSk7CiAgaWYgKHByZXZCdG4pIHByZXZCdG4uZGlzYWJsZWQgPSB0cnVlOwoKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gZ29UbyhNYXRoLm1pbihjdXJyZW50LCBtYXhJbmRleCgpKSkpOwoKICBsZXQgZHJhZ1N0YXJ0WCA9IDA7CiAgbGV0IGRyYWdDdXJyZW50WCA9IDA7CiAgbGV0IGlzRHJhZ2dpbmcgPSBmYWxzZTsKICBsZXQgc3RhcnRPZmZzZXQgPSAwOwogIGNvbnN0IERSQUdfVEhSRVNIT0xEID0gODsKICBjb25zdCBTV0lQRV9NSU4gPSA0MDsKCiAgZnVuY3Rpb24gZ2V0RXZlbnRYKGUpIHsKICAgIHJldHVybiBlLnRvdWNoZXMgPyBlLnRvdWNoZXNbMF0uY2xpZW50WCA6IGUuY2xpZW50WDsKICB9CgogIGZ1bmN0aW9uIG9uRHJhZ1N0YXJ0KGUpIHsKICAgIGRyYWdTdGFydFggPSBnZXRFdmVudFgoZSk7CiAgICBkcmFnQ3VycmVudFggPSBkcmFnU3RhcnRYOwogICAgaXNEcmFnZ2luZyA9IGZhbHNlOwogICAgc3RhcnRPZmZzZXQgPSBjdXJyZW50ICogY2FyZFdpZHRoKCk7CiAgfQoKICBmdW5jdGlvbiBvbkRyYWdNb3ZlKGUpIHsKICAgIGlmIChlLnRvdWNoZXMgJiYgTWF0aC5hYnMoZ2V0RXZlbnRYKGUpIC0gZHJhZ1N0YXJ0WCkgPCBEUkFHX1RIUkVTSE9MRCAmJiAhaXNEcmFnZ2luZykgcmV0dXJuOwoKICAgIGNvbnN0IGRpZmYgPSBnZXRFdmVudFgoZSkgLSBkcmFnU3RhcnRYOwoKICAgIGlmIChlLnRvdWNoZXMgJiYgTWF0aC5hYnMoZGlmZikgPCBNYXRoLmFicyhlLnRvdWNoZXNbMF0uY2xpZW50WSAtIChlLnRvdWNoZXNbMF0uY2xpZW50WSkpKSByZXR1cm47CgogICAgaWYgKCFpc0RyYWdnaW5nICYmIE1hdGguYWJzKGRpZmYpID4gRFJBR19USFJFU0hPTEQpIHsKICAgICAgaXNEcmFnZ2luZyA9IHRydWU7CiAgICAgIHRyYWNrLmNsYXNzTGlzdC5hZGQoJ2lzLWRyYWdnaW5nJyk7CiAgICB9CgogICAgaWYgKCFpc0RyYWdnaW5nKSByZXR1cm47CgogICAgaWYgKGUuY2FuY2VsYWJsZSkgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgIGRyYWdDdXJyZW50WCA9IGdldEV2ZW50WChlKTsKICAgIGNvbnN0IGxpdmVPZmZzZXQgPSBzdGFydE9mZnNldCAtIGRpZmY7CgogICAgY29uc3QgbWluT2Zmc2V0ID0gMDsKICAgIGNvbnN0IG1heE9mZnNldCA9IG1heEluZGV4KCkgKiBjYXJkV2lkdGgoKTsKICAgIGxldCBjbGFtcGVkT2Zmc2V0OwogICAgaWYgKGxpdmVPZmZzZXQgPCBtaW5PZmZzZXQpIHsKICAgICAgY2xhbXBlZE9mZnNldCA9IG1pbk9mZnNldCAtIE1hdGguc3FydChNYXRoLmFicyhsaXZlT2Zmc2V0IC0gbWluT2Zmc2V0KSkgKiAzOwogICAgfSBlbHNlIGlmIChsaXZlT2Zmc2V0ID4gbWF4T2Zmc2V0KSB7CiAgICAgIGNsYW1wZWRPZmZzZXQgPSBtYXhPZmZzZXQgKyBNYXRoLnNxcnQoTWF0aC5hYnMobGl2ZU9mZnNldCAtIG1heE9mZnNldCkpICogMzsKICAgIH0gZWxzZSB7CiAgICAgIGNsYW1wZWRPZmZzZXQgPSBsaXZlT2Zmc2V0OwogICAgfQoKICAgIHRyYWNrLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVYKC0nICsgY2xhbXBlZE9mZnNldCArICdweCknOwogIH0KCiAgZnVuY3Rpb24gb25EcmFnRW5kKGUpIHsKICAgIGlmICghaXNEcmFnZ2luZykgcmV0dXJuOwoKICAgIHRyYWNrLmNsYXNzTGlzdC5yZW1vdmUoJ2lzLWRyYWdnaW5nJyk7CiAgICBpc0RyYWdnaW5nID0gZmFsc2U7CgogICAgY29uc3QgZGlmZiA9IGRyYWdDdXJyZW50WCAtIGRyYWdTdGFydFg7CgogICAgaWYgKE1hdGguYWJzKGRpZmYpID49IFNXSVBFX01JTikgewogICAgICBpZiAoZGlmZiA8IDApIHsKICAgICAgICBnb1RvKGN1cnJlbnQgKyAxKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBnb1RvKGN1cnJlbnQgLSAxKTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgZ29UbyhjdXJyZW50KTsKICAgIH0KICB9CgogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBvbkRyYWdTdGFydCwgeyBwYXNzaXZlOiB0cnVlIH0pOwogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIG9uRHJhZ01vdmUsIHsgcGFzc2l2ZTogZmFsc2UgfSk7CiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBvbkRyYWdFbmQsIHsgcGFzc2l2ZTogdHJ1ZSB9KTsKICBvdXRlci5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGNhbmNlbCcsIG9uRHJhZ0VuZCwgeyBwYXNzaXZlOiB0cnVlIH0pOwoKICBvdXRlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBvbkRyYWdTdGFydCk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgKGUpID0+IHsgaWYgKGRyYWdTdGFydFgpIG9uRHJhZ01vdmUoZSk7IH0pOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCAoZSkgPT4geyBpZiAoZHJhZ1N0YXJ0WCkgeyBvbkRyYWdFbmQoZSk7IGRyYWdTdGFydFggPSAwOyB9IH0pOwoKICBvdXRlci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7CiAgICBpZiAoTWF0aC5hYnMoZHJhZ0N1cnJlbnRYIC0gZHJhZ1N0YXJ0WCkgPiBEUkFHX1RIUkVTSE9MRCkgewogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICB9CiAgfSwgdHJ1ZSk7Cn0pKCk7CgovKiDilIDilIAgQ09VTlQtVVAgQU5JTUFUSU9OIOKUgOKUgCAqLwooZnVuY3Rpb24oKSB7CiAgY29uc3QgY291bnRlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY291bnR1cC1udW1iZXInKTsKCiAgZnVuY3Rpb24gYW5pbWF0ZUNvdW50ZXIoZWwpIHsKICAgIGNvbnN0IHRhcmdldCA9IHBhcnNlRmxvYXQoZWwuZGF0YXNldC50YXJnZXQpOwogICAgY29uc3Qgc3VmZml4ID0gZWwuZGF0YXNldC5zdWZmaXggfHwgJyc7CiAgICBjb25zdCBkdXJhdGlvbiA9IDIyMDA7CiAgICBjb25zdCBzdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTsKICAgIGNvbnN0IGlzSW50ZWdlciA9IE51bWJlci5pc0ludGVnZXIodGFyZ2V0KTsKCiAgICBmdW5jdGlvbiBzdGVwKG5vdykgewogICAgICBjb25zdCBlbGFwc2VkID0gbm93IC0gc3RhcnRUaW1lOwogICAgICBjb25zdCBwcm9ncmVzcyA9IE1hdGgubWluKGVsYXBzZWQgLyBkdXJhdGlvbiwgMSk7CiAgICAgIGNvbnN0IGVhc2VkID0gMSAtIE1hdGgucG93KDEgLSBwcm9ncmVzcywgMyk7CiAgICAgIGNvbnN0IGN1cnJlbnQgPSB0YXJnZXQgKiBlYXNlZDsKCiAgICAgIGlmIChpc0ludGVnZXIpIHsKICAgICAgICBlbC50ZXh0Q29udGVudCA9IE1hdGguZmxvb3IoY3VycmVudCkgKyBzdWZmaXg7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZWwudGV4dENvbnRlbnQgPSBjdXJyZW50LnRvRml4ZWQoMCkgKyBzdWZmaXg7CiAgICAgIH0KCiAgICAgIGlmIChwcm9ncmVzcyA8IDEpIHsKICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3RlcCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZWwudGV4dENvbnRlbnQgPSB0YXJnZXQgKyBzdWZmaXg7CiAgICAgIH0KICAgIH0KCiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3RlcCk7CiAgfQoKICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcykgPT4gewogICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHsKICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7CiAgICAgICAgYW5pbWF0ZUNvdW50ZXIoZW50cnkudGFyZ2V0KTsKICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZW50cnkudGFyZ2V0KTsKICAgICAgfQogICAgfSk7CiAgfSwgeyB0aHJlc2hvbGQ6IDAuMyB9KTsKCiAgY291bnRlcnMuZm9yRWFjaChlbCA9PiBvYnNlcnZlci5vYnNlcnZlKGVsKSk7Cn0pKCk7Cjwvc2NyaXB0PnfbtAM8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KPHRpdGxlPlZBSUEgQ292ZXIg4oCTIFByb2R1a3RzZWl0ZTwvdGl0bGU+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW49IiI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RE0rU2Fuczp3Z2h0QDMwMDs0MDA7NTAwJmFtcDtkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vYXBpLmZvbnRzaGFyZS5jb20vdjIvY3NzP2ZbXT1jbGFzaC1kaXNwbGF5QDQwMCw1MDAsNjAwLDcwMCZhbXA7ZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgoKPHN0eWxlPgogICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0KCiAgOnJvb3QgewogICAgLS1vbGl2ZTogICAgIzZCNkIzQTsKICAgIC0tb2xpdmUtbHQ6ICNBOEE4NkE7CiAgICAtLW9saXZlLWRrOiAjM0MzQzFFOwogICAgLS1tYXJlOiAgICAgIzVCOURBNDsKICAgIC0tbWFyZS1sdDogICM5RUNGRDQ7CiAgICAtLXRlcnJhOiAgICAjN0E1QzNBOwogICAgLS10ZXJyYS1sdDogI0MwOTg3MDsKICAgIC0tc2FiYmlhOiAgICNFOERGQzA7CiAgICAtLXNhYmJpYS1kazojQzRCODhBOwogICAgLS1jcmVtYTogICAgI0Y1RjFFODsKICAgIC0tYmlhbmNvOiAgICNGQUZBRjc7CiAgICAtLXRlc3RvOiAgICAjMUExQTE0OwogICAgLS10ZXN0by1tOiAgIzRBNEEzODsKICAgIC0tdGVzdG8tbDogICM4QThBNzI7CiAgICAtLWJvcmRvOiAgICByZ2JhKDEwNywxMDcsNTgsMC4xOCk7CiAgICAtLWJvcmRvLW06ICByZ2JhKDEwNywxMDcsNTgsMC4zNSk7CgogICAgLS1mb250LXNhbnM6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1ib2R5LCB2YXIoLS13cC1mb250LWZhbWlseSwgJ0RNIFNhbnMnLCBzYW5zLXNlcmlmKSk7CiAgICAtLWZvbnQtc2VyaWY6ICdDbGFzaERpc3BsYXktVmFyaWFibGUnLCAnQ2xhc2ggRGlzcGxheScsIHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1oZWFkaW5nLCBzYW5zLXNlcmlmKTsKICB9CgogIGJvZHkgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgfQoKICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOwogIH0KCiAgLnNlcmlmIHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOyB9CiAgLmxhYmVsLXNtYWxsIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IERFU0NSSVpJT05FIEhFUk8g4pSA4pSAICovCiAgLnNlY3Rpb24taGVybyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dyA4MHB4OwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogNjRweDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUpOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA0dncsIDUycHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjE1OwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgcCB7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzU7CiAgICBtYXgtd2lkdGg6IDQ4Y2g7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnNlY3Rpb24taGVyb19faW1hZ2UgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGFzcGVjdC1yYXRpbzogNC81OwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICB9CiAgLnNlY3Rpb24taGVyb19faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CgogIC8qIOKUgOKUgCBTRVpJT05FOiBPTElWRSBNQVRURVIg4pSA4pSAICovCiAgLnNlY3Rpb24tbWF0ZXJpYWwgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUtZGspOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDgwcHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgewogICAgYXNwZWN0LXJhdGlvOiAxLzE7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgb3JkZXI6IC0xOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLnNlY3Rpb24tbWF0ZXJpYWxfX3RleHQgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX190ZXh0IGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgMy41dncsIDQ0cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX190ZXh0IHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC44KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS44OwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLm1hdGVyaWFsLWhpZ2hsaWdodCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogMjRweCAwOwogICAgcGFkZGluZzogMjBweCAyNHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgxNjgsMTY4LDEwNiwwLjEyKTsKICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tb2xpdmUtbHQpOwogICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDJ2dywgMjRweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBsaW5lLWhlaWdodDogMS4zOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogIH0KCiAgLm1hdGVyaWFsLXRhZ2xpbmUgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIG1hcmdpbjogMjhweCAwIDA7CiAgfQogIC5tYXRlcmlhbC10YWdsaW5lIHNwYW4gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAydncsIDIycHgpOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwwLDAsMC4zNSk7CiAgfQoKICAubWF0ZXJpYWwtcGlsbHMgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIGdhcDogMTBweDsKICAgIG1hcmdpbi10b3A6IDMycHg7CiAgfQogIC5waWxsIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4OwogICAgcGFkZGluZzogN3B4IDE2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2OCwxNjgsMTA2LDAuMzUpOwogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucGlsbDo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogNnB4OwogICAgaGVpZ2h0OiA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmbGV4LXNocmluazogMDsKICB9CgogIC5idG4tb2xpdmUtbWF0dGVyIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgbWFyZ2luLXRvcDogMjhweDsKICAgIHBhZGRpbmc6IDEzcHggMjhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlLWx0KTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIGNvbG9yIDAuMnM7CiAgfQogIC5idG4tb2xpdmUtbWF0dGVyOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogIH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IFNQRUNJRklDSEUgVEVDTklDSEUg4pSA4pSAICovCiAgLnNlY3Rpb24tc3BlY3MgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmlhbmNvKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogIH0KICAuc2VjdGlvbi1zcGVjc19faGVhZGVyIHsKICAgIG1hcmdpbi1ib3R0b206IDU2cHg7CiAgfQogIC5zZWN0aW9uLXNwZWNzX19oZWFkZXIgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAzLjV2dywgNDBweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIG1hcmdpbi10b3A6IDEycHg7CiAgfQogIC5zcGVjcy10YWJsZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnNwZWNzLXRhYmxlIHRyIHsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgfQogIC5zcGVjcy10YWJsZSB0cjpmaXJzdC1jaGlsZCB7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogIH0KICAuc3BlY3MtdGFibGUgdGQgewogICAgcGFkZGluZzogMThweCAwOwogICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgfQogIC5zcGVjcy10YWJsZSB0ZDpmaXJzdC1jaGlsZCB7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbCk7CiAgICB3aWR0aDogMzglOwogICAgcGFkZGluZy1yaWdodDogMjRweDsKICB9CiAgLnNwZWNzLXRhYmxlIHRkOmxhc3QtY2hpbGQgewogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICB9CiAgLnNwZWNzLXRhYmxlIHRkIHN0cm9uZyB7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICB9CgogIC8qIOKUgOKUgCBTRVpJT05FOiBXSVJFTEVTUyDilIDilIAgKi8KICAuc2VjdGlvbi13aXJlbGVzcyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogICAgcGFkZGluZzogNzJweCA1dnc7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyOwogICAgZ2FwOiA2NHB4OwogICAgYWxpZ24taXRlbXM6IHN0YXJ0OwogIH0KICAud2lyZWxlc3MtaWNvbi1ibG9jayB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMTZweDsKICB9CiAgLndpcmVsZXNzLWljb24gewogICAgd2lkdGg6IDU2cHg7CiAgICBoZWlnaHQ6IDU2cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZSk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIH0KICAud2lyZWxlc3MtaWNvbiBzdmcgeyB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4OyBmaWxsOiBub25lOyBzdHJva2U6IHZhcigtLXNhYmJpYSk7IHN0cm9rZS13aWR0aDogMS41OyBzdHJva2UtbGluZWNhcDogcm91bmQ7IH0KICAud2lyZWxlc3MtaWNvbi1ibG9jayBoMyB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDIycHg7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgfQogIC53aXJlbGVzcy10ZXh0IHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC53aXJlbGVzcy1ub3RlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDEycHg7CiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIHBhZGRpbmc6IDE2cHggMjBweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC42KTsKICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tb2xpdmUpOwogICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7CiAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAud2lyZWxlc3Mtbm90ZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tb2xpdmUtZGspOyB9CgogIC8qIOKUgOKUgCBTRVpJT05FOiBURVhUVVJFICYgQ09MT1JJIOKUgOKUgCAqLwogIC5zZWN0aW9uLWRlc2lnbiB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICB9CiAgLnNlY3Rpb24tZGVzaWduX19oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogNTZweDsKICAgIG1heC13aWR0aDogNjBjaDsKICB9CiAgLnNlY3Rpb24tZGVzaWduX19oZWFkZXIgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAzLjV2dywgNDBweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciBwIHsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS44OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KCiAgLmRlc2lnbi10YWdsaW5lIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAycHg7CiAgICBtYXJnaW4tdG9wOiAyMHB4OwogIH0KICAuZGVzaWduLXRhZ2xpbmUgc3BhbiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDJ2dywgMjJweCk7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICB0ZXh0LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTA3LDEwNyw1OCwwLjE4KTsKICB9CgogIC5kZXNpZ24tZGV0YWlscyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgZ2FwOiA0OHB4OwogICAgbWFyZ2luLWJvdHRvbTogNjRweDsKICAgIHBhZGRpbmc6IDQ4cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogIH0KICAuZGVzaWduLWRldGFpbC1pdGVtIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAxMHB4OwogIH0KICAuZGVzaWduLWRldGFpbC1pdGVtIC5kZXRhaWwtbnVtIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gaDQgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBsaW5lLWhlaWdodDogMS4zOwogIH0KICAuZGVzaWduLWRldGFpbC1pdGVtIHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmRlc2lnbi1zaWQtbm90ZSB7CiAgICBtYXJnaW4tYm90dG9tOiA0OHB4OwogICAgcGFkZGluZzogMjBweCAyNHB4OwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1vbGl2ZS1sdCk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwNywxMDcsNTgsMC4wNSk7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBsaW5lLWhlaWdodDogMS43OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5kZXNpZ24tc2lkLW5vdGUgc3Ryb25nIHsgY29sb3I6IHZhcigtLW9saXZlLWRrKTsgZm9udC13ZWlnaHQ6IDUwMDsgfQoKICAudGV4dHVyZS1yb3cgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTQwcHgsIDFmcikpOwogICAgZ2FwOiAxMnB4OwogICAgbWFyZ2luLWJvdHRvbTogNjRweDsKICB9CiAgLnRleHR1cmUtY2FyZCB7CiAgICBhc3BlY3QtcmF0aW86IDMvNDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICB9CiAgLnRleHR1cmUtY2FyZF9fbGFiZWwgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjYsMjYsMjAsMC41NSk7CiAgICBjb2xvcjogcmdiYSgyNDUsMjQxLDIzMiwwLjkpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICAgIHBhZGRpbmc6IDEwcHggMTJweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHotaW5kZXg6IDI7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnRleHR1cmUtY2FyZCAuaW1nLXBsYWNlaG9sZGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDhweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAucGFsZXR0ZS10aXRsZSB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLWJvdHRvbTogMjhweDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICB9CiAgLnBhbGV0dGUtcm93IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOwogICAgZ2FwOiAxNnB4OwogIH0KICAucGFsZXR0ZS1zd2F0Y2ggewogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICB9CiAgLnN3YXRjaC1jb2xvciB7CiAgICBoZWlnaHQ6IDcycHg7CiAgfQogIC5zd2F0Y2gtaW5mbyB7CiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogIH0KICAuc3dhdGNoLW5hbWUgewogICAgZm9udC1zaXplOiAxM3B4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0byk7CiAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnN3YXRjaC1kZXNjIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFWklPTkU6IEdSSUdMSUEgRk9UTyBFRElUT1JJQUxFIOKUgOKUgCAqLwogIC5zZWN0aW9uLWVkaXRvcmlhbCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXN0byk7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuZWRpdG9yaWFsLWdyaWQgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7CiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDQyMHB4IDQyMHB4IDM0MHB4IDQyMHB4OwogICAgZ2FwOiAwOwogICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczoKICAgICAgImMxIGMyIGMzIgogICAgICAiYzEgYzQgYzUiCiAgICAgICJjNiBjNiBjNyIKICAgICAgImM4IGM4IGM5IjsKICB9CiAgLmVjLTEgeyBncmlkLWFyZWE6IGMxOyB9CiAgLmVjLTIgeyBncmlkLWFyZWE6IGMyOyB9CiAgLmVjLTMgeyBncmlkLWFyZWE6IGMzOyB9CiAgLmVjLTQgeyBncmlkLWFyZWE6IGM0OyB9CiAgLmVjLTUgeyBncmlkLWFyZWE6IGM1OyB9CiAgLmVjLTYgeyBncmlkLWFyZWE6IGM2OyB9CiAgLmVjLTcgeyBncmlkLWFyZWE6IGM3OyB9CiAgLmVjLTggeyBncmlkLWFyZWE6IGM4OyB9CiAgLmVjLTkgeyBncmlkLWFyZWE6IGM5OyB9CiAgLmVkaXRvcmlhbC1jZWxsIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgfQogIC5lZGl0b3JpYWwtY2VsbCBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsOmhvdmVyIGltZyB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpOwogIH0KICAuZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDsKICAgIHBhZGRpbmc6IDIwcHggMjRweCAyMHB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgyNiwyNiwyMCwwLjc1KSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7CiAgICBjb2xvcjogcmdiYSgyNDUsMjQxLDIzMiwwLjkpOwogIH0KICAuZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24gLmNhcC1sYWJlbCB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiAuY2FwLXRleHQgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgxNXB4LCAxLjV2dywgMjBweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tdGV4dCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgcGFkZGluZzogNDhweCA0MHB4OwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLXRleHQgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZSk7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IGgzIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjJweCwgMi41dncsIDMycHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tdGV4dCBwIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS43NTsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLWRhcmsgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUtZGspOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgcGFkZGluZzogNDBweDsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS1kYXJrIC5leWVicm93IHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayAuYmlnLW51bWJlciB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDQ4cHgsIDV2dywgNzJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgbWFyZ2luLWJvdHRvbTogOHB4OwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLWRhcmsgcCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjcpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC8qIOKUgOKUgCBTRVpJT05FOiBJTVBBVFRPIEFNQklFTlRBTEUg4pSA4pSAICovCiAgLnNlY3Rpb24taW1wYWN0IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlLWRrKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgfQogIC5pbXBhY3QtaW50cm8gewogICAgbWF4LXdpZHRoOiA2NGNoOwogICAgbWFyZ2luLWJvdHRvbTogNjRweDsKICB9CiAgLmltcGFjdC1pbnRybyBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDMwcHgsIDR2dywgNDhweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbWFyZ2luLXRvcDogMTJweDsKICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgfQogIC5pbXBhY3QtaW50cm8gcCB7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjgpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmltcGFjdC1jYXJkcyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKICAgIGdhcDogMjRweDsKICAgIG1hcmdpbi1ib3R0b206IDY0cHg7CiAgfQogIC5pbXBhY3QtY2FyZCB7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzMiwyMjMsMTkyLDAuMTUpOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgcGFkZGluZzogMzZweCAzMnB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogIH0KICAuaW1wYWN0LWNhcmRfX251bWJlciB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDU2cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgbWFyZ2luLWJvdHRvbTogOHB4OwogIH0KICAuaW1wYWN0LWNhcmRfX3VuaXQgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuaW1wYWN0LWNhcmRfX2Rlc2MgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC43NSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuaW1wYWN0LXN0b3J5IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDY0cHg7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgICBwYWRkaW5nLXRvcDogNTZweDsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIzMiwyMjMsMTkyLDAuMTUpOwogIH0KICAuaW1wYWN0LXN0b3J5X190ZXh0IGgzIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjJweCwgMi41dncsIDMycHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgfQogIC5pbXBhY3Qtc3RvcnlfX3RleHQgcCB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjc1KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS44OwogICAgbWFyZ2luLWJvdHRvbTogMTRweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuY29vcmRzLWJsb2NrIHsKICAgIG1hcmdpbi10b3A6IDMycHg7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDRweDsKICB9CiAgLmNvb3Jkcy1sYWJlbCB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuY29vcmRzLXZhbHVlIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOwogIH0KICAuaW1wYWN0LXN0b3J5X19pbWFnZSB7CiAgICBhc3BlY3QtcmF0aW86IDQvNTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgfQogIC5pbXBhY3Qtc3RvcnlfX2ltYWdlIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgZGlzcGxheTogYmxvY2s7CiAgfQoKICAuY291bnR1cC1udW1iZXIgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIH0KCiAgLyog4pSA4pSAIE1BUFBBIEdPT0dMRSBNQVBTIOKUgOKUgCAqLwogIC5zZWN0aW9uLW1hcCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgcGFkZGluZzogOTZweCA1dnc7CiAgfQogIC5zZWN0aW9uLW1hcF9faGVhZGVyIHsKICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZ2FwOiAzMnB4OwogIH0KICAuc2VjdGlvbi1tYXBfX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI2cHgsIDN2dywgMzZweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIG1hcmdpbi10b3A6IDhweDsKICB9CiAgLnNlY3Rpb24tbWFwX19oZWFkZXIgcCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbCk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbWF4LXdpZHRoOiA0MGNoOwogICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5tYXAtd3JhcHBlciB7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogICAgaGVpZ2h0OiA0ODBweDsKICB9CiAgLm1hcC13cmFwcGVyIGlmcmFtZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJvcmRlcjogMDsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KICAubWFwLWNvb3Jkcy1iYXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDMycHg7CiAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgcGFkZGluZzogMTZweCAyNHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tY3JlbWEpOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogIH0KICAubWFwLWNvb3Jkcy1iYXIgLmNvb3JkLWl0ZW0gewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDNweDsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC1sYWJlbCB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4xOGVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAubWFwLWNvb3Jkcy1iYXIgLmNvb3JkLXZhbCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC1zZXBhcmF0b3IgewogICAgd2lkdGg6IDFweDsKICAgIGhlaWdodDogMzJweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJvcmRvLW0pOwogIH0KICAubWFwLWNvb3Jkcy1iYXIgLmNvb3JkLXBsYWNlIHsKICAgIGZsZXg6IDE7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAvKiDilIDilIAgU0VaSU9ORTogTUFERSBJTiBJVEFMWSAvIEZJTElFUkEg4pSA4pSAICovCiAgLnNlY3Rpb24tc3VwcGx5IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDgwcHggNXZ3OwogIH0KICAuc3VwcGx5LWhlYWRpbmcgewogICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICB9CiAgLnN1cHBseS1oZWFkaW5nIC5sYWJlbC1zbWFsbCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgfQogIC5zdXBwbHktaGVhZGluZyBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI2cHgsIDN2dywgMzZweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBtYXJnaW46IDA7CiAgfQogIC5zdXBwbHktaW5uZXIgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7CiAgICBnYXA6IDQwcHg7CiAgfQogIC5zdXBwbHktYmxvY2sgewogICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLW9saXZlLWx0KTsKICAgIHBhZGRpbmctdG9wOiAyOHB4OwogIH0KICAuc3VwcGx5LWJsb2NrX19udW0gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiA0MHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICBsaW5lLWhlaWdodDogMTsKICB9CiAgLnN1cHBseS1ibG9ja19fdGl0bGUgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0byk7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zdXBwbHktYmxvY2tfX2Rlc2MgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC8qIOKUgOKUgCBDQVJPU0VMTE8gUFJPRE9UVEkgQ09SUkVMQVRJIOKUgOKUgCAqLwogIC5zZWN0aW9uLWNhcm91c2VsIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgcGFkZGluZzogODBweCA1dncgOTZweDsKICB9CiAgLmNhcm91c2VsLWhlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA0OHB4OwogIH0KICAuY2Fyb3VzZWwtaGVhZGVyIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgM3Z3LCAzOHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICB9CiAgLmNhcm91c2VsLXdyYXBwZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5jYXJvdXNlbC10cmFjay1vdXRlciB7CiAgICBmbGV4OiAxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICB9CiAgLmNhcm91c2VsLXRyYWNrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDIwcHg7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7CiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogIH0KICAuY2Fyb3VzZWwtdHJhY2suaXMtZHJhZ2dpbmcgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9CiAgLnByb2QtY2FyZCB7CiAgICBmbGV4OiAwIDAgY2FsYygyNSUgLSAxNXB4KTsKICAgIG1pbi13aWR0aDogMDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgfQogIC5wcm9kLWNhcmRfX2ltZy13cmFwIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYXNwZWN0LXJhdGlvOiAzLzQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDogdmFyKC0tY3JlbWEpOwogIH0KICAucHJvZC1jYXJkX19pbWctd3JhcCBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7CiAgfQogIC5wcm9kLWNhcmQ6aG92ZXIgLnByb2QtY2FyZF9faW1nLXdyYXAgaW1nIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQogIC5wcm9kLWNhcmRfX2JvZHkgewogICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXg6IDE7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogIH0KICAucHJvZC1jYXJkX19uYW1lIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19kZXNjIHsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZmxleDogMTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnByb2QtY2FyZF9fZm9vdGVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZ2FwOiA4cHg7CiAgICBtYXJnaW4tdG9wOiBhdXRvOwogIH0KICAucHJvZC1jYXJkX19wcmljZSB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19idG4gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcGFkZGluZzogOHB4IDE4cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1vbGl2ZSk7CiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUpOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCBjb2xvciAwLjJzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19idG46aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUpOwogICAgY29sb3I6IHZhcigtLWJpYW5jbyk7CiAgfQogIC5jYXJvdXNlbC1idG4gewogICAgZmxleC1zaHJpbms6IDA7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvLW0pOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmlhbmNvKTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycywgYmFja2dyb3VuZCAwLjJzOwogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcm91c2VsLWJ0biBzdmcgewogICAgd2lkdGg6IDE4cHg7CiAgICBoZWlnaHQ6IDE4cHg7CiAgICBzdHJva2U6IHZhcigtLW9saXZlLWRrKTsKICB9CiAgLmNhcm91c2VsLWJ0bjpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLW9saXZlKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICB9CiAgLmNhcm91c2VsLWJ0bjpkaXNhYmxlZCB7CiAgICBvcGFjaXR5OiAwLjM7CiAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgfQogIC5jYXJvdXNlbC1kb3RzIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgbWFyZ2luLXRvcDogMzJweDsKICB9CiAgLmNhcm91c2VsLWRvdCB7CiAgICB3aWR0aDogNnB4OwogICAgaGVpZ2h0OiA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEtZGspOwogICAgYm9yZGVyOiBub25lOwogICAgcGFkZGluZzogMDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgdHJhbnNmb3JtIDAuMnM7CiAgfQogIC5jYXJvdXNlbC1kb3QuYWN0aXZlIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTsKICB9CgogIC8qIOKUgOKUgCBSRVNQT05TSVZFIOKUgOKUgCAqLwogIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogICAgLnNlY3Rpb24taGVybywKICAgIC5zZWN0aW9uLW1hdGVyaWFsLAogICAgLnNlY3Rpb24taW1wYWN0IC5pbXBhY3Qtc3RvcnksCiAgICAuc2VjdGlvbi13aXJlbGVzcyB7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICBnYXA6IDQwcHg7CiAgICB9CiAgICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgeyBvcmRlcjogMDsgfQogICAgLmltcGFjdC1jYXJkcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgICAuc3VwcGx5LWlubmVyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMzJweDsgfQogICAgLnBhbGV0dGUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogICAgLnRleHR1cmUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfQogICAgLnNlY3Rpb24td2lyZWxlc3MgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQogICAgLmVkaXRvcmlhbC1ncmlkIHsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87CiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6CiAgICAgICAgImMxIGMyIgogICAgICAgICJjMyBjNCIKICAgICAgICAiYzUgYzUiCiAgICAgICAgImM2IGM3IgogICAgICAgICJjOCBjOCIKICAgICAgICAiYzkgYzkiOwogICAgfQogICAgLmRlc2lnbi1kZXRhaWxzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMzJweDsgcGFkZGluZzogMzJweCAyNHB4OyB9CiAgICAuc2VjdGlvbi1tYXBfX2hlYWRlciB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9CiAgICAuc2VjdGlvbi1tYXBfX2hlYWRlciBwIHsgdGV4dC1hbGlnbjogbGVmdDsgfQogICAgLnByb2QtY2FyZCB7IGZsZXg6IDAgMCBjYWxjKDUwJSAtIDEwcHgpOyB9CiAgICAuY2Fyb3VzZWwtYnRuIHsgZGlzcGxheTogbm9uZTsgfQogIH0KICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHsKICAgIC5lZGl0b3JpYWwtZ3JpZCB7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOgogICAgICAgICJjMSIgImMyIiAiYzMiICJjNCIgImM1IiAiYzYiICJjNyIgImM4IiAiYzkiOwogICAgfQogICAgLnByb2QtY2FyZCB7IGZsZXg6IDAgMCA4MCU7IH0KICAgIC5wYWxldHRlLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0KICB9Cjwvc3R5bGU+CgoKCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgMS4gSEVSTyBCRVNDSFJFSUJVTkcK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1oZXJvIj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlcm9fX3RleHQiPgogICAgPHNwYW4gY2xhc3M9ImV5ZWJyb3ciPlZBSUEgQ292ZXIg4oCUIFdvaGVyIHNpZSBrb21tdDwvc3Bhbj4KICAgIDxoMj5EaWUgUmluZGUgZWluZXMgT2xpdmVuYmF1bXMsPGJyPmRlciBuaWNodCBtZWhyIGV4aXN0aWVydCw8YnI+dW0gZGVpbiBUZWxlZm9uLjwvaDI+CiAgICA8cD5WQUlBIENvdmVyIHdpcmQgYXVzIGRlbSBzcHJpdHpnZWdvc3NlbmVuIEJpb2tvbXBvc2l0IE9saXZlIE1hdHRlciBoZXJnZXN0ZWxsdDogYmlvYmFzaWVydGVzIFRQVSBtaXQgSG9semZhc2VybiBhdXMgT2xpdmVuYsOkdW1lbiwgZGllIGR1cmNoIGRpZSBYeWxlbGxhLUtyYW5raGVpdCBnZWbDpGxsdCB3dXJkZW4uCjxicj48YnI+CkplZGUgSMO8bGxlIGVudHN0ZWh0IGF1cyBkZW0gU2NhbiBlaW5lciBlY2h0ZW4gYXB1bGlzY2hlbiBPbGl2ZW5iYXVtcmluZGUuCgpFcyBpc3QgZGFzIHJlYWxlIE11c3RlciB2b24gQsOkdW1lbiwgZGllIGVpbmUgZGVyIGdyw7bDn3RlbiBVbXdlbHRrYXRhc3Ryb3BoZW4gZGVzIE1pdHRlbG1lZXJyYXVtcyBkdXJjaGxlYnQgaGFiZW4uCjxicj48YnI+CkRpZSBOYXR1cmZhc2VybiB0cmV0ZW4gYXVzIGRlbSBNYXRlcmlhbCBoZXJ2b3IsIGRpZSBNYXNlcnVuZyBibGVpYnQgc2ljaHRiYXIsIGRpZSBIYXB0aWsgYmxlaWJ0IHdhcm0gdW5kIG1hdGVyaWVsbC4KCkplZGVzIENvdmVyLU1vZGVsbCB1bnRlcnNjaGVpZGV0IHNpY2ggdm9uIGRlbiBhbmRlcmVuLCB3ZWlsIGF1Y2ggZGllIFJpbmRlLCBhdXMgZGVyIGVzIGVudHN0ZWh0LCBlaW56aWdhcnRpZyB3YXIuPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InNlY3Rpb24taGVyb19faW1hZ2UiIHN0eWxlPSJhc3BlY3QtcmF0aW86IDE2Lzk7IG92ZXJmbG93OiBoaWRkZW47IGZvbnQtc2l6ZTogMDsgbGluZS1oZWlnaHQ6IDA7Ij4KICAgIDxpZnJhbWUgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9sX2ZGMEc2N0VrdyIgdGl0bGU9IlZBSUEgQ292ZXIg4oCTIHdvaGVyIHNpZSBrb21tdCIgYWxsb3dmdWxsc2NyZWVuIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBzdHlsZT0id2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGJvcmRlcjowOyBkaXNwbGF5OmJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7Ij48L2lmcmFtZT4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAyLiBPTElWRSBNQVRURVIg4oCUIERBUyBNQVRFUklBTArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLW1hdGVyaWFsIj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW1hdGVyaWFsX19pbWFnZSI+CiAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS8xNDU3MFE1QTc1Mjgtc2NhbGVkLmpwZyIgYWx0PSJEZXRhaWxhbnNpY2h0IE9saXZlIE1hdHRlciBNYXRlcmlhbCDigJMgVGV4dHVyIHVuZCBNYXNlcnVuZyBkZXMgT2xpdmVuaG9semVzIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW1hdGVyaWFsX190ZXh0Ij4KICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5PTElWRSBNQVRURVLihKI8L3NwYW4+CiAgICA8aDI+RGFzIE1hdGVyaWFsLCBkYXMgZXMgbmljaHQgZ2FiLjwvaDI+CiAgICA8cD5KYWhyZWxhbmcgaGFiZW4gd2lyIHVucyBlaW5lIEZyYWdlIGdlc3RlbGx0OiBXYXMga2FubiBhdXMgZGVtIEhvbHogZGVyIHZvbiBYeWxlbGxhIGJlZmFsbGVuZW4gT2xpdmVuYsOkdW1lIHdlcmRlbj88L3A+CgogICAgPHNwYW4gY2xhc3M9Im1hdGVyaWFsLWhpZ2hsaWdodCI+RGllIEFudHdvcnQgaXN0IE9saXZlIE1hdHRlcuKEoi48L3NwYW4+CgogICAgPHA+RWluIG5ldWVzIEJpb2tvbXBvc2l0LCBlbnR3aWNrZWx0IHZvbiBWQUlBLCBkYXMgSG9semZhc2VybiBhdXMgT2xpdmVuYsOkdW1lbiBtaXQgYmlvYmFzaWVydGVtIFRQVSB2ZXJiaW5kZXQsIHVtIGVpbmVuIHRlY2huaXNjaGVuLCB3aWRlcnN0YW5kc2bDpGhpZ2VuIHVuZCBhbGx0YWdzdGF1Z2xpY2hlbiBXZXJrc3RvZmYgenUgc2NoYWZmZW4uPC9wPgoKICAgIDxkaXYgY2xhc3M9Im1hdGVyaWFsLXRhZ2xpbmUiPgogICAgICA8c3Bhbj5FcyBpc3QgbmljaHQgbnVyIEhvbHo8L3NwYW4+CiAgICAgIDxzcGFuPkVzIGlzdCBuaWNodCBudXIgUG9seW1lcjwvc3Bhbj4KICAgICAgPHNwYW4+RXMgaXN0IGV0d2FzIE5ldWVzPC9zcGFuPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWF0ZXJpYWwtcGlsbHMiPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+QmlvYmFzaWVydGVzIFRQVTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPk9saXZlbmZhc2VybiAoWHlsZWxsYSk8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj5BbnRpYmFrdGVyaWVsbGUgRWlnZW5zY2hhZnRlbjwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPlNwcml0emd1c3M8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj5CaXMgenUgNTQgJSBlcm5ldWVyYmFyPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+MTAwICUgaXRhbGllbmlzY2hlIExpZWZlcmtldHRlPC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgMy4gVEVDSE5JU0NIRSBEQVRFTgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXNwZWNzIj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXNwZWNzX19oZWFkZXIiPgogICAgPHNwYW4gY2xhc3M9ImxhYmVsLXNtYWxsIj5UZWNobmlzY2hlcyBEZXRhaWw8L3NwYW4+CiAgICA8aDI+U3BlemlmaWthdGlvbmVuPC9oMj4KICA8L2Rpdj4KICA8dGFibGUgY2xhc3M9InNwZWNzLXRhYmxlIj4KICAgIDx0Ym9keT4KICAgIDx0cj48dGQ+TWF0ZXJpYWw8L3RkPjx0ZD48c3Ryb25nPiZuYnNwO09saXZlIE1hdHRlcjwvc3Ryb25nPiDigJQgQmlvYmFzaWVydGVzIFRQVSB1bmQgT2xpdmVuZmFzZXJuPC90ZD48L3RyPgogICAgPHRyPjx0ZD5TdMOkcmtlPC90ZD48dGQ+PHN0cm9uZz4mbmJzcDsxLDggbW08L3N0cm9uZz4gUsO8Y2tzZWl0ZSDigJQgPHN0cm9uZz4yIG1tPC9zdHJvbmc+IFNlaXRlbjwvdGQ+PC90cj4KICAgIDx0cj48dGQ+RGlzcGxheXNjaHV0ejwvdGQ+PHRkPiZuYnNwO0VyaMO2aHRlIFLDpG5kZXIgYW4gRGlzcGxheSB1bmQgS2FtZXJhPC90ZD48L3RyPgogICAgPHRyPjx0ZD5FaWdlbnNjaGFmdGVuPC90ZD48dGQ+PHN0cm9uZz4mbmJzcDtNaXQgYW50aWJha3RlcmllbGxlbiBFaWdlbnNjaGFmdGVuPC9zdHJvbmc+PC90ZD48L3RyPgogICAgPHRyPjx0ZD5NYWduZXRpc2NoZSBadWJlaMO2cnRlaWxlPC90ZD48dGQ+Jm5ic3A7TmljaHQga29tcGF0aWJlbCBtaXQgTWFnbmV0YmVmZXN0aWd1bmcg4oCUIGRyYWh0bG9zZXMgTGFkZW4gd2lyZCBuaWNodCBiZWVpbnRyw6RjaHRpZ3Q8L3RkPjwvdHI+CiAgICA8dHI+PHRkPkhlcnN0ZWxsdW5nPC90ZD48dGQ+Jm5ic3A7U3ByaXR6Z3VzcyDigJQgPHN0cm9uZz4xMDAgJSBpdGFsaWVuaXNjaGUgTGllZmVya2V0dGU8L3N0cm9uZz48L3RkPjwvdHI+CiAgICA8dHI+PHRkPlJlY3ljbGluZ2bDpGhpZ2tlaXQ8L3RkPjx0ZD4mbmJzcDsxMDAgJSByZWN5Y2VsYmFyPC90ZD48L3RyPgogICAgPC90Ym9keT4KICA8L3RhYmxlPgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDQuIERSQUhUTE9TRVMgTEFERU4K4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi13aXJlbGVzcyI+CiAgPGRpdiBjbGFzcz0id2lyZWxlc3MtaWNvbi1ibG9jayI+CiAgICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy1pY29uIj4KICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMiAyMGguMDFNNS42IDEwLjZBOCA4IDAgMCAxIDE4LjQgMTAuNiI+PC9wYXRoPjxwYXRoIGQ9Ik0yIDdhMTIgMTIgMCAwIDEgMjAgMCI+PC9wYXRoPjxwYXRoIGQ9Ik04LjkgMTQuMUE0IDQgMCAwIDEgMTUgMTQuMSI+PC9wYXRoPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8aDM+RHJhaHRsb3Nlczxicj5MYWRlbjwvaDM+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0id2lyZWxlc3MtdGV4dCI+CiAgICA8cD5EYXMgZHJhaHRsb3NlIExhZGVuIGZ1bmt0aW9uaWVydCBwcm9ibGVtbG9zIG1pdCBhbGxlbiBTdGFuZGFyZHMuIERhcyBIw7xsbGUgbXVzcyBuaWNodCBlbnRmZXJudCB3ZXJkZW4uPC9wPgogICAgPHA+RGllIEhvbHpmYXNlcm4gYXVzIE9saXZlbmhvbHogaW0gT2xpdmUgTWF0dGVyLU1hdGVyaWFsIHJlZHV6aWVyZW4gZGllIG1hZ25ldGlzY2hlIEFuemllaHVuZ3NrcmFmdCBsZWljaHQ6IERpZSBFbmVyZ2llw7xiZXJ0cmFndW5nIHdpcmQgbmljaHQgYmVlaW50csOkY2h0aWd0LCBhYmVyIFp1YmVow7ZyLCBkYXMgZHVyY2ggTWFnbmV0a3JhZnQgYmVmZXN0aWd0IHdpcmQg4oCTIHdpZSBXYWxsZXRzIHVuZCBNYWdTYWZlLUhhbHRlcnVuZ2VuIOKAkyBpc3QgbmljaHQga29tcGF0aWJlbC48L3A+CiAgICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy1ub3RlIj4KICAgICAgPHN2ZyBzdHlsZT0id2lkdGg6MThweDtoZWlnaHQ6MThweDtmbGV4LXNocmluazowO21hcmdpbi10b3A6MnB4O3N0cm9rZTp2YXIoLS1vbGl2ZSk7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxLjU7c3Ryb2tlLWxpbmVjYXA6cm91bmQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+PGxpbmUgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMi4wMSIgeTI9IjE2Ij48L2xpbmU+PC9zdmc+CiAgICAgIDxzcGFuPjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz4gRGllIE5hdHVyIGRlcyBNYXRlcmlhbHMgYXVzIGVjaHRlbiBPbGl2ZW5ob2x6ZmFzZXJuIGlzdCBkZXIgR3J1bmQgZsO8ciBkaWVzZSBFaWdlbnNjaGFmdC4gRXMgaXN0IGtlaW5lIEtvbnN0cnVrdGlvbnNzY2h3w6RjaGUsIHNvbmRlcm4gZGllIEtvbnNlcXVlbnogZGVyIEVudHNjaGVpZHVuZyBmw7xyIGVpbiBhdXRoZW50aXNjaGVzIE1hdGVyaWFsLjwvc3Bhbj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDUuIERFU0lHTiDigJQgVEVYVFVSICYgUEFMRVRURQrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWRlc2lnbiI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNpZ25fX2hlYWRlciI+CiAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPkRlc2lnbjwvc3Bhbj4KICAgIDxoMj5TaWViZW4gT2xpdmVuYsOkdW1lLCBzaWViZW4gVGV4dHVyZW4uPGJyPlZpZXIgRmFyYmVuIGRlcyBTYWxlbnRvLjwvaDI+CiAgICA8cD5KZWRlcyBUZWxlZm9ubW9kZWxsIHRyw6RndCBlaW5lIGFuZGVyZSBSaW5kZS4gU2llYmVuIE1vZGVsbGUsIHNpZWJlbiBCw6R1bWUsIHNpZWJlbiBlaW56aWdhcnRpZ2UgVGV4dHVyZW4uCkluIGRlciBNaXR0ZSBqZWRlcyBDb3ZlcnMgc2luZCBkaWUgS29vcmRpbmF0ZW4gZGVzIGVyc3RlbiBXaWVkZXJnZWJ1cnRzd2FsZHMgaW4gQXB1bGllbiBlcmhhYmVuIGVpbmdyYXZpZXJ0LjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tdGFnbGluZSI+CiAgICAgIDxzcGFuPkVpbiByZWFsZXIgT3J0PC9zcGFuPgogICAgICA8c3Bhbj5FaW5lIHJlYWxlIEdlc2NoaWNodGU8L3NwYW4+CiAgICAgIDxzcGFuPkVpbmUgcmVhbGUgV2lya3VuZzwvc3Bhbj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8IS0tIEhpbndlaXMgU0lEIC0tPgogIDxkaXYgY2xhc3M9ImRlc2lnbi1zaWQtbm90ZSI+CiAgICA8c3Ryb25nPkRlc2lnbiBlbnR3aWNrZWx0IG1pdCBTSUQg4oCUIFNjdW9sYSBJdGFsaWFuYSBEZXNpZ24gZGkgUGFkb3ZhPC9zdHJvbmc+LCBlaW5lbSB2b20gTWluaXN0ZXJpdW0gZsO8ciBIb2Noc2NodWxiaWxkdW5nIHVuZCBGb3JzY2h1bmcgYW5lcmthbm50ZW4gYWthZGVtaXNjaGVuIEluc3RpdHV0LCBUZWlsIGRlcyBHYWxpbGVvIFZpc2lvbmFyeSBEaXN0cmljdCwgZWluZXMgMTk5MSBnZWdyw7xuZGV0ZW4gRm9yc2NodW5ncy0gdW5kIElubm92YXRpb25zcG9scywgZGVyIGVyc3RlIGF1ZiBJbmR1c3RyaWVkZXNpZ24gc3BlemlhbGlzaWVydGUgRWlucmljaHR1bmcgTm9yZG9zdGl0YWxpZW5zLgogIDwvZGl2PgoKICA8IS0tIFZpZXIgaWRlbnRpdMOkdHNzdGlmdGVuZGUgRWxlbWVudGUgLS0+CiAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbHMiPgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjAxIOKAlCBUZXh0dXI8L3NwYW4+CiAgICAgIDxoND5EaWUgUmluZGUgYWxzIE9iZXJmbMOkY2hlPC9oND4KICAgICAgPHA+RGllIE9iZXJmbMOkY2hlIGplZGVzIENvdmVycyByZXByb2R1emllcnQgZGVuIFNjYW4gZWluZXIgZWNodGVuIGFwdWxpc2NoZW4gT2xpdmVuYmF1bXJpbmRlLiBKZWRlcyBNb2RlbGwgdHLDpGd0IGVpbmUgYW5kZXJlIFRleHR1cjogc2llYmVuIE1vZGVsbGUsIHNpZWJlbiBSaW5kZW4sIHNpZWJlbiBlaW56aWdhcnRpZ2UgT2JlcmZsw6RjaGVuLiBFcyBpc3Qga2VpbmUgYWxsZ2VtZWluZSBIb2x6aW5zcGlyYXRpb246IEVzIGlzdCBkaWUgZWNodGUgUmluZGUgZGllc2VyIELDpHVtZS48L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImRlc2lnbi1kZXRhaWwtaXRlbSI+CiAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbnVtIj4wMiDigJQgSGFwdGlrPC9zcGFuPgogICAgICA8aDQ+RGllIEJlcsO8aHJ1bmcgZGVzIE1hdGVyaWFsczwvaDQ+CiAgICAgIDxwPkRpZSBIb2x6ZmFzZXJuIGF1cyBPbGl2ZW5ob2x6IHNpbmQgc2ljaHRiYXIgdW5kIHNww7xyYmFyLiBEYXMgQXVnZSBzaWVodCBkaWUgbmF0w7xybGljaGUgTWFzZXJ1bmcgZGVzIEhvbHplcywgZGllIEhhbmQgZsO8aGx0IGVpbmUgd2FybWUsIG1hdHRlIEtvbnNpc3Rlbnog4oCTIHdlaXQgZW50ZmVybnQgdm9uIGRlciBLw6RsdGUgaGVya8O2bW1saWNoZXIgS3Vuc3RzdG9mZmUuIEVzIGlzdCBkaWUgcGh5c2lzY2hlIFByw6RzZW56IGRlcyBNYXRlcmlhbHMsIGRpZSB2b24gc2VpbmVyIEhlcmt1bmZ0IGVyesOkaGx0LjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjAzIOKAlCBLb29yZGluYXRlbjwvc3Bhbj4KICAgICAgPGg0PkVpbiBwcsOkemlzZXIgT3J0LCBlcmhhYmVuIGVpbmdyYXZpZXJ0PC9oND4KICAgICAgPHA+SW4gZGVyIE1pdHRlIGplZGVzIENvdmVycyBzaW5kIGRpZSBnZW9ncmFmaXNjaGVuIEtvb3JkaW5hdGVuIGRlcyBlcnN0ZW4gV2llZGVyZ2VidXJ0c3dhbGRzIGluIEFwdWxpZW4sIGluIFNwZWNjaGlhIChMRSkg4oCUIDM5Ljk0NzAwwrAgTiAvIDE4LjI3MjkywrAgRSDigJQgZWluZ3JhdmllcnQsIGJlZ2xlaXRldCB2b20gZXJoYWJlbmVuIFByb2ZpbCBkZXMgR2ViaWV0cyBhdXMgZGVyIFZvZ2VscGVyc3Bla3RpdmUuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlsLWl0ZW0iPgogICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLW51bSI+MDQg4oCUIFBhbGV0dGU8L3NwYW4+CiAgICAgIDxoND5WaWVyIEZhcmJlbiBkZXMgU2FsZW50bzwvaDQ+CiAgICAgIDxwPk9saXZlIEdyZWVuLCBQYXN0ZWwgVHVycXVvaXNlLCBUZXJyYSBCcm93biwgTGlnaHQgSXZvcnk6IHZpZXIgRmFyYmVuLCBkaWUgYXVzIGRlciBCZW9iYWNodHVuZyBkZXMgYXB1bGlzY2hlbiBUZXJyaXRvcml1bXMgZW50c3RlaGVuLCB2b24gZGVyIHJvdGVuIEVyZGUgYmlzIHp1bSBzdHJlaWZlbmRlbiBMaWNodCBhdWYgZGVtIEFkcmlhdGlzY2hlbiBNZWVyLjwvcD4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8IS0tIEZhcmJwYWxldHRlIC0tPgogIDxwIGNsYXNzPSJwYWxldHRlLXRpdGxlIj5EaWUgUGFsZXR0ZTwvcD4KICA8ZGl2IGNsYXNzPSJwYWxldHRlLXJvdyI+CiAgICA8ZGl2IGNsYXNzPSJwYWxldHRlLXN3YXRjaCI+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1jb2xvciIgc3R5bGU9ImJhY2tncm91bmQ6ICM2QjZCM0E7Ij48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWluZm8iPgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1uYW1lIj5PbGl2ZSBHcmVlbjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5EaWUgRmFyYmUgZGVyIE9saXZlbmJsw6R0dGVyIGltIFNhbGVudG88L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhbGV0dGUtc3dhdGNoIj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWNvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDogIzg5QzRDODsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtaW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLW5hbWUiPlBhc3RlbCBUdXJxdW9pc2U8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtZGVzYyI+RGllIEZhcmJlIGRlciBBZHJpYTwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFsZXR0ZS1zd2F0Y2giPgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtY29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjNkY0RTM3OyI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtbmFtZSI+VGVycmEgQnJvd248L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtZGVzYyI+RGllIEZhcmJlIGRlciBhcHVsaXNjaGVuIEVyZGU8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhbGV0dGUtc3dhdGNoIj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWNvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDogI0U4RDhCMDsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtaW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLW5hbWUiPkxpZ2h0IEl2b3J5PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWRlc2MiPkRpZSBGYXJiZSBkZXIgZ29sZGVuZW4gV2VpdGVuIGRlcyBTYWxlbnRvPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNi4gRURJVE9SSUFMRVMgRk9UT1JBU1RFUgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWVkaXRvcmlhbCI+CiAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWdyaWQiPgoKICAgIDwhLS0gYzE6IExJRkVTVFlMRSBPTElWRSBNQVRURVIgLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlYy0xIj4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVElMRS1MSUZFU1RZTEUtT0xJVkUtTUFUVEVSLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgTGlmZXN0eWxlIE9saXZlIE1hdHRlciI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5MaWZlc3R5bGU8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPk9saXZlIE1hdHRlcjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzI6IFRleHR6ZWxsZSDigJQgVkFJQS1QaGlsb3NvcGhpZSAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVkaXRvcmlhbC1jZWxsLS10ZXh0IGVjLTIiPgogICAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyI+VkFJQS1QaGlsb3NvcGhpZTwvc3Bhbj4KICAgICAgPGgzPuKAnldpciByZWdlbmVyaWVyZW48YnI+ZGFzIG1lZGl0ZXJyYW5lPGJyPkJ1c2NobGFuZC4iPC9oMz4KICAgICAgPHA+VkFJQSBDb3ZlciBpc3QgZGFzIGVyc3RlIFByb2R1a3QgZGVzIFByb2pla3RzIFB1Z2xpYS4gRWluIFByb2pla3QsIGRhcyBkYXp1IGVudHN0YW5kZW4gaXN0LCBlaW5lbiBrb2xsZWt0aXZlbiBWZXJsdXN0IGluIGVpbmUgbmV1ZSBNw7ZnbGljaGtlaXQgenUgdmVyd2FuZGVsbi4gSmVkZXMgQ292ZXIgdHLDpGd0IGRpcmVrdCB6dXIgUmVnZW5lcmF0aW9uIGRlcyBtZWRpdGVycmFuZW4gQnVzY2hsYW5kcyBpbiBTcGVjY2hpYSAoTEUpIGJlaS4gRWluZW4gUXVhZHJhdG1ldGVyIG5hY2ggZGVtIGFuZGVyZW4uPC9wPgogICAgPC9kaXY+CgogICAgPCEtLSBjMzogT0dOSSBHSU9STk8gLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlYy0zIj4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVElMRS1PR05JLUdJT1JOTy1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIg4oCTIGplZGVuIFRhZyI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5EZXRhaWw8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPkplZGVuIFRhZzwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzQ6IFNFTVBSRSBDT04gVEUgLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlYy00Ij4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVElMRS1TRU1QUkUtQ09OLVRFLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgaW1tZXIgZGFiZWkiPgogICAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNhcC1sYWJlbCI+VW50ZXJ3ZWdzPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcC10ZXh0Ij5JbW1lciBkYWJlaTwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzU6IGRhcmsgc3RhdCBjZWxsIOKAlCAxIG3CsiAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVkaXRvcmlhbC1jZWxsLS1kYXJrIGVjLTUiIHN0eWxlPSJiYWNrZ3JvdW5kOiB2YXIoLS10ZXJyYSk7Ij4KICAgICAgPHNwYW4gY2xhc3M9ImV5ZWJyb3ciIHN0eWxlPSJjb2xvcjogdmFyKC0tdGVycmEtbHQpOyI+V2lya3VuZzwvc3Bhbj4KICAgICAgPGRpdiBjbGFzcz0iYmlnLW51bWJlciIgc3R5bGU9ImZvbnQtc2l6ZTogY2xhbXAoMzJweCwzLjV2dyw1MnB4KTsgbWFyZ2luLWJvdHRvbToxMnB4OyBjb2xvcjogdmFyKC0tc2FiYmlhKTsiPjEgbcKyPGJyPnJlZ2VuZXJpZXJ0ZXM8YnI+QnVzY2hsYW5kLjwvZGl2PgogICAgICA8cCBzdHlsZT0iY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC44KTsiPlBybyB2ZXJrYXVmdGVtIENvdmVyLjwvcD4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzY6IFRSQURJWklPTkUgRSBJTk5PVkFaSU9ORSAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTYiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLVRSQURJWklPTkUtRS1JTk5PVkFaSU9ORS1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIg4oCTIFRyYWRpdGlvbiB1bmQgSW5ub3ZhdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5NYXRlcmlhbDwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+VHJhZGl0aW9uIHVuZCBJbm5vdmF0aW9uPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjNzogVGV4dHplbGxlIOKAlCBLb29yZGluYXRlbiAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVkaXRvcmlhbC1jZWxsLS10ZXh0IGVjLTciPgogICAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyI+RWluZ3JhdmllcnRlIEtvb3JkaW5hdGVuPC9zcGFuPgogICAgICA8aDM+MzkuOTQ3wrBOPGJyPjE4LjI3MsKwRTwvaDM+CiAgICAgIDxwPlNwZWNjaGlhIChMRSkg4oCUIEVyc3RlciBXaWVkZXJnZWJ1cnRzd2FsZCBpbiBBcHVsaWVuLiBEaWVzZWxiZW4gS29vcmRpbmF0ZW4sIGRpZSBhdWYgZGVpbmVtIENvdmVyIGVpbmdyYXZpZXJ0IHNpbmQuPC9wPgogICAgPC9kaXY+CgogICAgPCEtLSBjODogTEVHR0VSTyBBVVRFTlRJQ08gLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlYy04Ij4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVElMRS1MRUdHRVJPLUFVVEVOVElDTy1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIg4oCTIGxlaWNodCwgYXV0aGVudGlzY2giPgogICAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNhcC1sYWJlbCI+SmVkZW4gVGFnPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcC10ZXh0Ij5MZWljaHQsIGF1dGhlbnRpc2NoPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjOTogZGFyayBzdGF0IGNlbGwg4oCUIDEwMCUgZmlsaWVyYSBpdGFsaWFuYSAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVkaXRvcmlhbC1jZWxsLS1kYXJrIGVjLTkiIHN0eWxlPSJiYWNrZ3JvdW5kOiB2YXIoLS1tYXJlKTsiPgogICAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyIgc3R5bGU9ImNvbG9yOiB2YXIoLS1jcmVtYSk7Ij5NYWRlIGluIEl0YWx5PC9zcGFuPgogICAgICA8ZGl2IGNsYXNzPSJiaWctbnVtYmVyIiBzdHlsZT0iZm9udC1zaXplOiBjbGFtcCgyOHB4LDN2dyw0NHB4KTsgbWFyZ2luLWJvdHRvbToxMnB4OyBjb2xvcjogdmFyKC0tYmlhbmNvKTsiPjEwMCAlPGJyPml0YWxpZW5pc2NoZTxicj5MaWVmZXJrZXR0ZS48L2Rpdj4KICAgICAgPHAgc3R5bGU9ImNvbG9yOiByZ2JhKDI1MCwyNTAsMjQ3LDAuODUpOyI+Vm9tIGFwdWxpc2NoZW4gT2xpdmVuaG9seiBiaXMgenVtIFNwcml0emd1c3MuPC9wPgogICAgPC9kaXY+CgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDcuIFVNV0VMVEFVU1dJUktVTkcgKyBHRVNDSElDSFRFIEFQVUxJRU4K4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1pbXBhY3QiPgogIDxkaXYgY2xhc3M9ImltcGFjdC1pbnRybyI+CiAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiIHN0eWxlPSJjb2xvcjp2YXIoLS1vbGl2ZS1sdCk7Ij5XaXJrdW5nPC9zcGFuPgogICAgPGgyPkplZGVzIENvdmVyPGJyPnJlZ2VuZXJpZXJ0IDEgbcKyPGJyPm1lZGl0ZXJhbmVzIEJ1c2NobGFuZC48L2gyPgogICAgPHA+RGVyIEJlaXRyYWcgaXN0IG5pY2h0IHN5bWJvbGlzY2guIEplZGVyIEthdWYgdW50ZXJzdMO8dHp0IGRpcmVrdCBkaWUgQmVwZmxhbnp1bmcgdW5kIFdpZWRlcmhlcnN0ZWxsdW5nIGRlcyBtZWRpdGVycmFuZW4gQnVzY2hsYW5kcyBpbSBlcnN0ZW4gV2llZGVyZ2VidXJ0c3dhbGQgaW4gQXB1bGllbi4KRGllc2VsYmVuIEtvb3JkaW5hdGVuLCBkaWUgYXVmIGRlaW5lbSBDb3ZlciBlaW5ncmF2aWVydCBzaW5kLjwvcD4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRzIj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkIj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX251bWJlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50dXAtbnVtYmVyIiBkYXRhLXRhcmdldD0iMjAiIGRhdGEtc3VmZml4PSJNKyI+MDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX191bml0Ij5iZXRyb2ZmZW5lIE9saXZlbmLDpHVtZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fZGVzYyI+U2VpdCBkZXIgQW5rdW5mdCBkZXIgWHlsZWxsYSBpbSBKYWhyIDIwMTMgd3VyZGVuIMO8YmVyIDIwIE1pbGxpb25lbiBhcHVsaXNjaGUgT2xpdmVuYsOkdW1lIGJlZmFsbGVuLiBFaW5lIGRlciBzY2h3ZXJzdGVuIFVtd2VsdGthdGFzdHJvcGhlbiBFdXJvcGFzLjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZCI+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19udW1iZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb3VudHVwLW51bWJlciIgZGF0YS10YXJnZXQ9IjEiIGRhdGEtc3VmZml4PSIgbcKyIiBkYXRhLXByZWZpeD0iIj4wPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX3VuaXQiPnBybyBDb3ZlcjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fZGVzYyI+SmVkZXMgdmVya2F1ZnRlIENvdmVyIHRyw6RndCB6dXIgQXVmZm9yc3R1bmcgdm9uIDEgbcKyIG1lZGl0ZXJyYW5lbSBCdXNjaGxhbmQgaW4gU3BlY2NoaWEgKExFKSwgaW0gZXJzdGVuIFdpZWRlcmdlYnVydHN3YWxkIGluIEFwdWxpZW4sIGJlaS48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmQiPgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fbnVtYmVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY291bnR1cC1udW1iZXIiIGRhdGEtdGFyZ2V0PSIxMDAiIGRhdGEtc3VmZml4PSIlIj4wPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX3VuaXQiPk1hZGUgaW4gSXRhbHk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX2Rlc2MiPkRlc2lnbiBlbnR3aWNrZWx0IG1pdCBTSUQgU2N1b2xhIEl0YWxpYW5hIERlc2lnbiBkaSBQYWRvdmEuIFByb2R1a3Rpb24gdm9sbHN0w6RuZGlnIGluIEl0YWxpZW4uIERhcyBNYXRlcmlhbCBpc3QgbGFuZHdpcnRzY2hhZnRsaWNoZXIgQWJmYWxsOiBGYXNlcm4sIGRpZSBzb25zdCBlbnRzb3JndCB3w7xyZGVuLjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeSI+CiAgICA8ZGl2IGNsYXNzPSJpbXBhY3Qtc3RvcnlfX3RleHQiPgogICAgICA8aDM+V2FydW0gQXB1bGllbiw8YnI+d2FydW0gamV0enQuPC9oMz4KICAgICAgPHA+SmFocmVsYW5nIGhhYmVuIHdpciBuYWNoIGVpbmVtIFdlZyBnZXN1Y2h0LCBkYXMgcmVnZW5lcmF0aXZlIE1vZGVsbCB2b24gVkFJQSBuYWNoIEFwdWxpZW4genUgYnJpbmdlbi4gV2lyIGhhYmVuIExhbmR3aXJ0ZW4sIFdpc3NlbnNjaGFmdGxlcm4sIEluc3RpdHV0aW9uZW4gdW5kIGVpbmZhY2hlbiBNZW5zY2hlbiB6dWdlaMO2cnQsIHVtIGdlbWVpbnNhbSB6dSB2ZXJzdGVoZW4sIHdpZSB3aXIgcmVhZ2llcmVuIGvDtm5uZW4uIE5pY2h0IHVtIHp1IGVyc2V0emVuLCB3YXMgdmVybG9yZW4gZ2VnYW5nZW4gaXN0LCBzb25kZXJuIHVtIGV0d2FzIE5ldWVzIHdhY2hzZW4genUgbGFzc2VuLjwvcD4KICAgICAgPHA+QXVzIGRpZXNlbSBadWjDtnJlbiBlbnRzdGFuZCBPbGl2ZSBNYXR0ZXI6IGVpbiBNYXRlcmlhbCwgZGFzIHZlcmJpbmRldCwgd2FzIHdpZSBBYmZhbGwgc2NoaWVuLCBtaXQgbW9kZXJuc3RlciBGb3JzY2h1bmcgenUgYmlvYmFzaWVydGVuIFBvbHltZXJlbi4gRWluZSBWZXJiaW5kdW5nIHp3aXNjaGVuIHRlcnJpdG9yaWFsZXIgSWRlbnRpdMOkdCB1bmQgdGVjaG5pc2NoZXIgSW5ub3ZhdGlvbi48L3A+CiAgICAgIDxwPkRhcyBPbGl2ZW5ob2x6IHZvbiBCw6R1bWVuLCBkaWUgdm9uIGRlciBYeWxlbGxhIGJlZmFsbGVuIHd1cmRlbiwga2FubiBzaWNoZXIgdHJhbnNwb3J0aWVydCB3ZXJkZW4sIHVudGVyIEVpbmhhbHR1bmcgZGVyIEVGU0EtVm9yc2NocmlmdGVuIHVuZCBkZXIgUmVnaW9uIEFwdWxpZW4uIFdpciB2ZXJ3YW5kZWxuIGVzLCBhbnN0YXR0IGVzIHp1IGVudHNvcmdlbi48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImNvb3Jkcy1ibG9jayI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvb3Jkcy1sYWJlbCI+V2llZGVyZ2VidXJ0c3dhbGQg4oCUIFNwZWNjaGlhIChMRSk8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvb3Jkcy12YWx1ZSI+MznCsDU3J04gwrcgMTjCsDEwJ0U8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJpbXBhY3Qtc3RvcnlfX2ltYWdlIj4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDUvMDQ0MFE1QTUwNjItMS0xLXNjYWxlZC5qcGciIGFsdD0iTGFuZHNjaGFmdCBtaXQgYXB1bGlzY2hlbiBPbGl2ZW5iw6R1bWVuIOKAkyBTYWxlbnRvLCBNaXNjaHVuZyBhdXMgYWJnZXN0b3JiZW5lbiBCw6R1bWVuIHVuZCBsZWJlbmRlciBWZWdldGF0aW9uIj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDguIEtBUlRFIOKAlCBXSUVERVJHRUJVUlRTV0FMRArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLW1hcCI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1tYXBfX2hlYWRlciI+CiAgICA8ZGl2PgogICAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPldJRURFUkdFQlVSVFNXQUxEPC9zcGFuPgogICAgICA8aDI+RGllIEtvb3JkaW5hdGVuLCBkaWUgZHUgaW4gZGVyIFRhc2NoZSB0csOkZ3N0LjwvaDI+CiAgICA8L2Rpdj4KICAgIDxwPkRpZXNlbGJlbiBLb29yZGluYXRlbiwgZGllIGF1ZiBqZWRlbSBDb3ZlciBlaW5ncmF2aWVydCBzaW5kLiBFaW4gcmVhbGVyIE9ydCwgZWluZSBtZXNzYmFyZSBXaXJrdW5nLjwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJtYXAtd3JhcHBlciI+CiAgICA8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2VtYmVkP3BiPSExbTE4ITFtMTIhMW0zITFkMTIxNjguNSEyZDE4LjI4NDUhM2QzOS45NDcyITJtMyExZjAhMmYwITNmMCEzbTIhMWkxMDI0ITJpNzY4ITRmMTMuMSEzbTMhMW0yITFzMHgxMzQ1M2E3YjhhNmEyM2YxJTNBMHgzZTNjM2UzYzNlM2MzZTNjITJzU3BlY2NoaWElMkMlMjBMRSUyQyUyMEl0YWxpYSE1ZTAhM20yITFzaXQhMnNpdCE0djE3MTcxNTY4MDAwMDAhNW0yITFzaXQhMnNpdCIgYWxsb3dmdWxsc2NyZWVuIGxvYWRpbmc9ImxhenkiIHJlZmVycmVycG9saWN5PSJuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZSIgdGl0bGU9IlNwZWNjaGlhIChMRSkg4oCTIFdpZWRlcmdlYnVydHN3YWxkIj48L2lmcmFtZT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJtYXAtY29vcmRzLWJhciI+CiAgICA8c3BhbiBjbGFzcz0iY29vcmQtcGxhY2UiPkVyc3RlciBXaWVkZXJnZWJ1cnRzd2FsZCBpbiBBcHVsaWVuIOKAlCBTcGVjY2hpYSAoTEUpLCBJdGFsaWVuPC9zcGFuPgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDkuIExJRUZFUktFVFRFIE1BREUgSU4gSVRBTFkK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1zdXBwbHkiPgogIDxkaXYgY2xhc3M9InN1cHBseS1oZWFkaW5nIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+TGllZmVya2V0dGU8L3NwYW4+CiAgICA8aDI+Vm9tIGxhbmR3aXJ0c2NoYWZ0bGljaGVuIEFiZmFsbDxicj56dSBlaW5lbSBuZXVlbiBNYXRlcmlhbC48L2gyPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InN1cHBseS1pbm5lciI+CiAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2siPgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX251bSI+MDE8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX190aXRsZSI+Um9oc3RvZmYgYXVzIGxhbmR3aXJ0c2NoYWZ0bGljaGVtIEFiZmFsbDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX2Rlc2MiPkRpZSBIb2x6ZmFzZXJuIHZvbiBkdXJjaCBYeWxlbGxhIGdlZsOkbGx0ZW4gT2xpdmVuYsOkdW1lbiB3ZXJkZW4gZGlyZWt0IHZvbiBkZW4gYmV0cm9mZmVuZW4gYXB1bGlzY2hlbiBMYW5kd2lydHNjaGFmdHNiZXRyaWViZW4gZ2VzYW1tZWx0LiBNYXRlcmlhbCwgZGFzIHNvbnN0IGVudHNvcmd0IHfDvHJkZS48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrIj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX19udW0iPjAyPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fdGl0bGUiPkZvcnNjaHVuZyB1bmQgRGVzaWduPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fZGVzYyI+RGFzIEJpb2tvbXBvc2l0IE9saXZlIE1hdHRlciB3dXJkZSBpbiBadXNhbW1lbmFyYmVpdCBtaXQgU0lEIOKAlCBTY3VvbGEgSXRhbGlhbmEgRGVzaWduIGRpIFBhZG92YSDigJQgZW50d2lja2VsdC4gVm9uIGRlciBNYXRlcmlhbGZvcm11bGllcnVuZyBiaXMgenVtIFNjYW4gZGVyIFJpbmRlbjogQWxsZXMgZW50c3RlaHQgaW4gSXRhbGllbi48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrIj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX19udW0iPjAzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fdGl0bGUiPkl0YWxpZW5pc2NoZSBTcHJpdHpndXNzcHJvZHVrdGlvbjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX2Rlc2MiPkRpZSBIw7xsbGVuIHdlcmRlbiBpbSBTcHJpdHpndXNzdmVyZmFocmVuIGluIGl0YWxpZW5pc2NoZW4gV2Vya2VuIGhlcmdlc3RlbGx0LiBKZWRlIFRleHR1ciB3aXJkIG1pbGxpbWV0ZXJnZW5hdSB2b20gb3JpZ2luYWxlbiBSaW5kZW5zY2FuIHJlcHJvZHV6aWVydC48L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDEwLiBLQVJVU1NFTEwgVkVSV0FORFRFIFBST0RVS1RFCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tY2Fyb3VzZWwiPgogIDxkaXYgY2xhc3M9ImNhcm91c2VsLWhlYWRlciI+CiAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPkRpZSBWQUlBLUZhbWlsaWU8L3NwYW4+CiAgICA8aDI+WnVzYW1tZW4ga2F1ZmVuPC9oMj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC13cmFwcGVyIj4KICAgIDxidXR0b24gY2xhc3M9ImNhcm91c2VsLWJ0biBjYXJvdXNlbC1idG4tLXByZXYiIGFyaWEtbGFiZWw9IlZvcmhlcmlnZSI+CiAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ij48L3BvbHlsaW5lPjwvc3ZnPgogICAgPC9idXR0b24+CiAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC10cmFjay1vdXRlciIgaWQ9ImNhcm91c2VsT3V0ZXIiPgogICAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC10cmFjayIgaWQ9ImNhcm91c2VsVHJhY2siPgogICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZCI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLyIgY2xhc3M9InByb2QtY2FyZF9faW1nLXdyYXAiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0NVQkUuanBnIiBhbHQ9IlZBSUEgQ3ViZSIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2JvZHkiPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19uYW1lIj5WQUlBIEN1YmU8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX2Rlc2MiPk5hdMO8cmxpY2hlciBha3VzdGlzY2hlciBWZXJzdMOkcmtlci4gMSBDdWJlID0gMSBCYXVtIGluIGRlbiBEb2xvbWl0ZW4uPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2QtY2FyZF9fcHJpY2UiPjYyLDAwIOKCrDwvc3Bhbj4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLyIgY2xhc3M9InByb2QtY2FyZF9fYnRuIj5FbnRkZWNrZW48L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkIj4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUtZXNzZW50aWFsLWFyaWEvIiBjbGFzcz0icHJvZC1jYXJkX19pbWctd3JhcCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzA5L1VudGl0bGVkLWRlc2lnbi5qcGciIGFsdD0iVkFJQSBDdWJlIEVzc2VudGlhbCBBcmlhIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZSBFc3NlbnRpYWwgQXJpYTwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fZGVzYyI+TmF0w7xybGljaGVyIGFrdXN0aXNjaGVyIFZlcnN0w6Rya2VyLiAxIEN1YmUgPSAxIEJhdW0gaW4gZGVuIERvbG9taXRlbi48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fZm9vdGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZC1jYXJkX19wcmljZSI+ODksMDAg4oKsPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUtZXNzZW50aWFsLWFyaWEvIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkVudGRlY2tlbjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmQiPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1pbXBlcmZldHRvLyIgY2xhc3M9InByb2QtY2FyZF9faW1nLXdyYXAiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0lNUEVSRkVUVE8uanBnIiBhbHQ9IlZBSUEgQ3ViZSBJbXBlcmZldHRvIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZSBJbXBlcmZldHRvPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19kZXNjIj5EZXIgaWtvbmlzY2hlIEN1YmUsIGVpbnppZ2FydGlnIGdlbWFjaHQgZHVyY2ggbmF0w7xybGljaGUgRmxlY2tlbiB1bmQgVW52b2xsa29tbWVuaGVpdGVuIGRlcyBIb2x6ZXMuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2QtY2FyZF9fcHJpY2UiPjc0LDAwIOKCrDwvc3Bhbj4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWltcGVyZmV0dG8vIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkVudGRlY2tlbjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmQiPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1qb3kvIiBjbGFzcz0icHJvZC1jYXJkX19pbWctd3JhcCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExLzY2NXg3NTVfSk9ZLTItMS5qcGciIGFsdD0iVkFJQSBDdWJlIEpPWSIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2JvZHkiPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19uYW1lIj5WQUlBIEN1YmUgSk9ZPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19kZXNjIj5WQUlBLUhvbHp2ZXJzdMOkcmtlciwgaW4gdmVyc2NoaWVkZW5lbiBsZWJoYWZ0ZW4gRmFyYmVuIGVyaMOkbHRsaWNoLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19mb290ZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9kLWNhcmRfX3ByaWNlIj7igJQ8L3NwYW4+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1qb3kvIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkVudGRlY2tlbjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxidXR0b24gY2xhc3M9ImNhcm91c2VsLWJ0biBjYXJvdXNlbC1idG4tLW5leHQiIGFyaWEtbGFiZWw9Ik7DpGNoc3RlIj4KICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI5IDE4IDE1IDEyIDkgNiI+PC9wb2x5bGluZT48L3N2Zz4KICAgIDwvYnV0dG9uPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNhcm91c2VsLWRvdHMiIGlkPSJjYXJvdXNlbERvdHMiPjwvZGl2Pgo8L3NlY3Rpb24+Cgo8c2NyaXB0PgovKiDilIDilIAgS0FSVVNTRUxMIG1pdCBUb3VjaC9EcmFnLVVudGVyc3TDvHR6dW5nIOKUgOKUgCAqLwooZnVuY3Rpb24oKSB7CiAgY29uc3QgdHJhY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2Fyb3VzZWxUcmFjaycpOwogIGNvbnN0IG91dGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nhcm91c2VsT3V0ZXInKTsKICBjb25zdCBkb3RzQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nhcm91c2VsRG90cycpOwogIGNvbnN0IGNhcmRzID0gdHJhY2sucXVlcnlTZWxlY3RvckFsbCgnLnByb2QtY2FyZCcpOwogIGNvbnN0IHByZXZCdG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtYnRuLS1wcmV2Jyk7CiAgY29uc3QgbmV4dEJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jYXJvdXNlbC1idG4tLW5leHQnKTsKICBsZXQgY3VycmVudCA9IDA7CgogIGZ1bmN0aW9uIHZpc2libGVDb3VudCgpIHsKICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA1NjAgPyAxIDogd2luZG93LmlubmVyV2lkdGggPD0gOTAwID8gMiA6IDQ7CiAgfQoKICBmdW5jdGlvbiBtYXhJbmRleCgpIHsKICAgIHJldHVybiBNYXRoLm1heCgwLCBjYXJkcy5sZW5ndGggLSB2aXNpYmxlQ291bnQoKSk7CiAgfQoKICBmdW5jdGlvbiBjYXJkV2lkdGgoKSB7CiAgICByZXR1cm4gY2FyZHNbMF0ub2Zmc2V0V2lkdGggKyAyMDsKICB9CgogIGNvbnN0IGRvdHMgPSBbXTsKICBmb3IgKGxldCBpID0gMDsgaSA8PSBtYXhJbmRleCgpOyBpKyspIHsKICAgIGNvbnN0IGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgIGQuY2xhc3NOYW1lID0gJ2Nhcm91c2VsLWRvdCcgKyAoaSA9PT0gMCA\/ICcgYWN0aXZlJyA6ICcnKTsKICAgIGQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBnb1RvKGkpKTsKICAgIGRvdHNDb250YWluZXIuYXBwZW5kQ2hpbGQoZCk7CiAgICBkb3RzLnB1c2goZCk7CiAgfQoKICBmdW5jdGlvbiBnb1RvKGluZGV4KSB7CiAgICBjdXJyZW50ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oaW5kZXgsIG1heEluZGV4KCkpKTsKICAgIHRyYWNrLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVYKC0nICsgKGN1cnJlbnQgKiBjYXJkV2lkdGgoKSkgKyAncHgpJzsKICAgIGRvdHMuZm9yRWFjaCgoZCwgaSkgPT4gZC5jbGFzc0xpc3QudG9nZ2xlKCdhY3RpdmUnLCBpID09PSBjdXJyZW50KSk7CiAgICBpZiAocHJldkJ0bikgcHJldkJ0bi5kaXNhYmxlZCA9IGN1cnJlbnQgPT09IDA7CiAgICBpZiAobmV4dEJ0bikgbmV4dEJ0bi5kaXNhYmxlZCA9IGN1cnJlbnQgPj0gbWF4SW5kZXgoKTsKICB9CgogIGlmIChwcmV2QnRuKSBwcmV2QnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gZ29UbyhjdXJyZW50IC0gMSkpOwogIGlmIChuZXh0QnRuKSBuZXh0QnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gZ29UbyhjdXJyZW50ICsgMSkpOwogIGlmIChwcmV2QnRuKSBwcmV2QnRuLmRpc2FibGVkID0gdHJ1ZTsKCiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IGdvVG8oTWF0aC5taW4oY3VycmVudCwgbWF4SW5kZXgoKSkpKTsKCiAgbGV0IGRyYWdTdGFydFggPSAwOwogIGxldCBkcmFnQ3VycmVudFggPSAwOwogIGxldCBpc0RyYWdnaW5nID0gZmFsc2U7CiAgbGV0IHN0YXJ0T2Zmc2V0ID0gMDsKICBjb25zdCBEUkFHX1RIUkVTSE9MRCA9IDg7CiAgY29uc3QgU1dJUEVfTUlOID0gNDA7CgogIGZ1bmN0aW9uIGdldEV2ZW50WChlKSB7CiAgICByZXR1cm4gZS50b3VjaGVzID8gZS50b3VjaGVzWzBdLmNsaWVudFggOiBlLmNsaWVudFg7CiAgfQoKICBmdW5jdGlvbiBvbkRyYWdTdGFydChlKSB7CiAgICBkcmFnU3RhcnRYID0gZ2V0RXZlbnRYKGUpOwogICAgZHJhZ0N1cnJlbnRYID0gZHJhZ1N0YXJ0WDsKICAgIGlzRHJhZ2dpbmcgPSBmYWxzZTsKICAgIHN0YXJ0T2Zmc2V0ID0gY3VycmVudCAqIGNhcmRXaWR0aCgpOwogIH0KCiAgZnVuY3Rpb24gb25EcmFnTW92ZShlKSB7CiAgICBpZiAoZS50b3VjaGVzICYmIE1hdGguYWJzKGdldEV2ZW50WChlKSAtIGRyYWdTdGFydFgpIDwgRFJBR19USFJFU0hPTEQgJiYgIWlzRHJhZ2dpbmcpIHJldHVybjsKCiAgICBjb25zdCBkaWZmID0gZ2V0RXZlbnRYKGUpIC0gZHJhZ1N0YXJ0WDsKCiAgICBpZiAoZS50b3VjaGVzICYmIE1hdGguYWJzKGRpZmYpIDwgTWF0aC5hYnMoZS50b3VjaGVzWzBdLmNsaWVudFkgLSAoZS50b3VjaGVzWzBdLmNsaWVudFkpKSkgcmV0dXJuOwoKICAgIGlmICghaXNEcmFnZ2luZyAmJiBNYXRoLmFicyhkaWZmKSA+IERSQUdfVEhSRVNIT0xEKSB7CiAgICAgIGlzRHJhZ2dpbmcgPSB0cnVlOwogICAgICB0cmFjay5jbGFzc0xpc3QuYWRkKCdpcy1kcmFnZ2luZycpOwogICAgfQoKICAgIGlmICghaXNEcmFnZ2luZykgcmV0dXJuOwoKICAgIGlmIChlLmNhbmNlbGFibGUpIGUucHJldmVudERlZmF1bHQoKTsKCiAgICBkcmFnQ3VycmVudFggPSBnZXRFdmVudFgoZSk7CiAgICBjb25zdCBsaXZlT2Zmc2V0ID0gc3RhcnRPZmZzZXQgLSBkaWZmOwoKICAgIGNvbnN0IG1pbk9mZnNldCA9IDA7CiAgICBjb25zdCBtYXhPZmZzZXQgPSBtYXhJbmRleCgpICogY2FyZFdpZHRoKCk7CiAgICBsZXQgY2xhbXBlZE9mZnNldDsKICAgIGlmIChsaXZlT2Zmc2V0IDwgbWluT2Zmc2V0KSB7CiAgICAgIGNsYW1wZWRPZmZzZXQgPSBtaW5PZmZzZXQgLSBNYXRoLnNxcnQoTWF0aC5hYnMobGl2ZU9mZnNldCAtIG1pbk9mZnNldCkpICogMzsKICAgIH0gZWxzZSBpZiAobGl2ZU9mZnNldCA+IG1heE9mZnNldCkgewogICAgICBjbGFtcGVkT2Zmc2V0ID0gbWF4T2Zmc2V0ICsgTWF0aC5zcXJ0KE1hdGguYWJzKGxpdmVPZmZzZXQgLSBtYXhPZmZzZXQpKSAqIDM7CiAgICB9IGVsc2UgewogICAgICBjbGFtcGVkT2Zmc2V0ID0gbGl2ZU9mZnNldDsKICAgIH0KCiAgICB0cmFjay5zdHlsZS50cmFuc2Zvcm0gPSAndHJhbnNsYXRlWCgtJyArIGNsYW1wZWRPZmZzZXQgKyAncHgpJzsKICB9CgogIGZ1bmN0aW9uIG9uRHJhZ0VuZChlKSB7CiAgICBpZiAoIWlzRHJhZ2dpbmcpIHJldHVybjsKCiAgICB0cmFjay5jbGFzc0xpc3QucmVtb3ZlKCdpcy1kcmFnZ2luZycpOwogICAgaXNEcmFnZ2luZyA9IGZhbHNlOwoKICAgIGNvbnN0IGRpZmYgPSBkcmFnQ3VycmVudFggLSBkcmFnU3RhcnRYOwoKICAgIGlmIChNYXRoLmFicyhkaWZmKSA+PSBTV0lQRV9NSU4pIHsKICAgICAgaWYgKGRpZmYgPCAwKSB7CiAgICAgICAgZ29UbyhjdXJyZW50ICsgMSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZ29UbyhjdXJyZW50IC0gMSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGdvVG8oY3VycmVudCk7CiAgICB9CiAgfQoKICBvdXRlci5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0Jywgb25EcmFnU3RhcnQsIHsgcGFzc2l2ZTogdHJ1ZSB9KTsKICBvdXRlci5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBvbkRyYWdNb3ZlLCB7IHBhc3NpdmU6IGZhbHNlIH0pOwogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgb25EcmFnRW5kLCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hjYW5jZWwnLCBvbkRyYWdFbmQsIHsgcGFzc2l2ZTogdHJ1ZSB9KTsKCiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgb25EcmFnU3RhcnQpOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIChlKSA9PiB7IGlmIChkcmFnU3RhcnRYKSBvbkRyYWdNb3ZlKGUpOyB9KTsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgKGUpID0+IHsgaWYgKGRyYWdTdGFydFgpIHsgb25EcmFnRW5kKGUpOyBkcmFnU3RhcnRYID0gMDsgfSB9KTsKCiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4gewogICAgaWYgKE1hdGguYWJzKGRyYWdDdXJyZW50WCAtIGRyYWdTdGFydFgpID4gRFJBR19USFJFU0hPTEQpIHsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfQogIH0sIHRydWUpOwp9KSgpOwoKLyog4pSA4pSAIENPVU5ULVVQIEFOSU1BVElPTiDilIDilIAgKi8KKGZ1bmN0aW9uKCkgewogIGNvbnN0IGNvdW50ZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNvdW50dXAtbnVtYmVyJyk7CgogIGZ1bmN0aW9uIGFuaW1hdGVDb3VudGVyKGVsKSB7CiAgICBjb25zdCB0YXJnZXQgPSBwYXJzZUZsb2F0KGVsLmRhdGFzZXQudGFyZ2V0KTsKICAgIGNvbnN0IHN1ZmZpeCA9IGVsLmRhdGFzZXQuc3VmZml4IHx8ICcnOwogICAgY29uc3QgZHVyYXRpb24gPSAyMjAwOwogICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CiAgICBjb25zdCBpc0ludGVnZXIgPSBOdW1iZXIuaXNJbnRlZ2VyKHRhcmdldCk7CgogICAgZnVuY3Rpb24gc3RlcChub3cpIHsKICAgICAgY29uc3QgZWxhcHNlZCA9IG5vdyAtIHN0YXJ0VGltZTsKICAgICAgY29uc3QgcHJvZ3Jlc3MgPSBNYXRoLm1pbihlbGFwc2VkIC8gZHVyYXRpb24sIDEpOwogICAgICBjb25zdCBlYXNlZCA9IDEgLSBNYXRoLnBvdygxIC0gcHJvZ3Jlc3MsIDMpOwogICAgICBjb25zdCBjdXJyZW50ID0gdGFyZ2V0ICogZWFzZWQ7CgogICAgICBpZiAoaXNJbnRlZ2VyKSB7CiAgICAgICAgZWwudGV4dENvbnRlbnQgPSBNYXRoLmZsb29yKGN1cnJlbnQpICsgc3VmZml4OwogICAgICB9IGVsc2UgewogICAgICAgIGVsLnRleHRDb250ZW50ID0gY3VycmVudC50b0ZpeGVkKDApICsgc3VmZml4OwogICAgICB9CgogICAgICBpZiAocHJvZ3Jlc3MgPCAxKSB7CiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHN0ZXApOwogICAgICB9IGVsc2UgewogICAgICAgIGVsLnRleHRDb250ZW50ID0gdGFyZ2V0ICsgc3VmZml4OwogICAgICB9CiAgICB9CgogICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHN0ZXApOwogIH0KCiAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHsKICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiB7CiAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykgewogICAgICAgIGFuaW1hdGVDb3VudGVyKGVudHJ5LnRhcmdldCk7CiAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCk7CiAgICAgIH0KICAgIH0pOwogIH0sIHsgdGhyZXNob2xkOiAwLjMgfSk7CgogIGNvdW50ZXJzLmZvckVhY2goZWwgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbCkpOwp9KSgpOwo8L3NjcmlwdD4CAAjuvbStCwYaAgECFAEBAgYIAQH2oMnKChkAAAHCGAWJCgLOAQECBwQBCgEBBbwBAQQBAAEAAQABBQIKAQABCAMBAgQCAAIEAQEBAQEEMAKev5HNBwIAAAECss+amQUBAAD7p\/HUBCkAAwYUAZN0BAABAgEAAwAGAQEAAQUBAwIFAwABAAIAAQEBAgEBAgIBAQINAQMBBAENAQMBBwECAQIBAgECAgACAAIAAp0QAQACAAEBAQABCgEcAYNyv\/j\/jQISAAAhAAcDAQABAAEBAQADAAYABDxDLygAh+MCWL0Jc1NjuwVc5DCSAgPwAYDB8OYBAQAAt4yLTwEAAQ==\",\"updateId\":518263130}","content-type":""},"product_brand":[],"product_cat":[17],"product_tag":[],"class_list":{"0":"post-57166","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-senza-categoria","8":"first","9":"instock","10":"shipping-taxable","11":"purchasable","12":"product-type-variable"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VAIA Cover | Nachhaltige Holz-Handyh\u00fclle f\u00fcr Smartphones<\/title>\n<meta name=\"description\" content=\"VAIA Cover \u2013 Nachhaltige Handyh\u00fclle aus Olive Matter\u2122 Biokomposit mit Fasern von apulischen Olivenb\u00e4umen. 100% Made in Italy.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VAIA Cover | Nachhaltige Holz-Handyh\u00fclle f\u00fcr Smartphones\" \/>\n<meta property=\"og:description\" content=\"VAIA Cover \u2013 Nachhaltige Handyh\u00fclle aus Olive Matter\u2122 Biokomposit mit Fasern von apulischen Olivenb\u00e4umen. 100% Made in Italy.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/\" \/>\n<meta property=\"og:site_name\" content=\"VAIA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/therealvaia\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-12T07:02:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verf\u00fcgbarkeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"Auf Lager\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/produkt\\\/vaia-cover\\\/\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/produkt\\\/vaia-cover\\\/\",\"name\":\"VAIA Cover | Nachhaltige Holz-Handyh\u00fclle f\u00fcr Smartphones\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/produkt\\\/vaia-cover\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/produkt\\\/vaia-cover\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/miniatura-vaia-cover-1-scaled.jpg\",\"datePublished\":\"2026-05-31T09:21:54+00:00\",\"dateModified\":\"2026-06-12T07:02:36+00:00\",\"description\":\"VAIA Cover \u2013 Nachhaltige Handyh\u00fclle aus Olive Matter\u2122 Biokomposit mit Fasern von apulischen Olivenb\u00e4umen. 100% Made in Italy.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/produkt\\\/vaia-cover\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vaia.eu\\\/de\\\/produkt\\\/vaia-cover\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/produkt\\\/vaia-cover\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/miniatura-vaia-cover-1-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/miniatura-vaia-cover-1-scaled.jpg\",\"width\":2560,\"height\":1707,\"caption\":\"miniatura vaia cover (1)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/produkt\\\/vaia-cover\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VAIA Cover\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#website\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/\",\"name\":\"VAIA - Face what matters\",\"description\":\"Face What Matters\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vaia.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#organization\",\"name\":\"VAIA\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-vaia.svg\",\"contentUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-vaia.svg\",\"width\":1000,\"height\":1000,\"caption\":\"VAIA\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/therealvaia\\\/\",\"https:\\\/\\\/www.instagram.com\\\/therealvaia\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/vaiasrl\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCPtTJEh97yiEMm-vE_Ux3Aw\"]}]}<\/script>\n<meta property=\"og:availability\" content=\"instock\" \/>\n<meta property=\"product:availability\" content=\"instock\" \/>\n<meta property=\"product:retailer_item_id\" content=\"COVER\" \/>\n<meta property=\"product:condition\" content=\"new\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VAIA Cover | Nachhaltige Holz-Handyh\u00fclle f\u00fcr Smartphones","description":"VAIA Cover \u2013 Nachhaltige Handyh\u00fclle aus Olive Matter\u2122 Biokomposit mit Fasern von apulischen Olivenb\u00e4umen. 100% Made in Italy.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/","og_locale":"de_DE","og_type":"article","og_title":"VAIA Cover | Nachhaltige Holz-Handyh\u00fclle f\u00fcr Smartphones","og_description":"VAIA Cover \u2013 Nachhaltige Handyh\u00fclle aus Olive Matter\u2122 Biokomposit mit Fasern von apulischen Olivenb\u00e4umen. 100% Made in Italy.","og_url":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/","og_site_name":"VAIA","article_publisher":"https:\/\/www.facebook.com\/therealvaia\/","article_modified_time":"2026-06-12T07:02:36+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Verf\u00fcgbarkeit":"Auf Lager"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/","url":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/","name":"VAIA Cover | Nachhaltige Holz-Handyh\u00fclle f\u00fcr Smartphones","isPartOf":{"@id":"https:\/\/www.vaia.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/#primaryimage"},"image":{"@id":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg","datePublished":"2026-05-31T09:21:54+00:00","dateModified":"2026-06-12T07:02:36+00:00","description":"VAIA Cover \u2013 Nachhaltige Handyh\u00fclle aus Olive Matter\u2122 Biokomposit mit Fasern von apulischen Olivenb\u00e4umen. 100% Made in Italy.","breadcrumb":{"@id":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/#primaryimage","url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg","contentUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg","width":2560,"height":1707,"caption":"miniatura vaia cover (1)"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cover\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vaia.eu\/de\/"},{"@type":"ListItem","position":2,"name":"VAIA Cover"}]},{"@type":"WebSite","@id":"https:\/\/www.vaia.eu\/#website","url":"https:\/\/www.vaia.eu\/","name":"VAIA - Face what matters","description":"Face What Matters","publisher":{"@id":"https:\/\/www.vaia.eu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vaia.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.vaia.eu\/#organization","name":"VAIA","url":"https:\/\/www.vaia.eu\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.vaia.eu\/#\/schema\/logo\/image\/","url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/12\/logo-vaia.svg","contentUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/12\/logo-vaia.svg","width":1000,"height":1000,"caption":"VAIA"},"image":{"@id":"https:\/\/www.vaia.eu\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/therealvaia\/","https:\/\/www.instagram.com\/therealvaia\/","https:\/\/www.linkedin.com\/company\/vaiasrl\/","https:\/\/www.youtube.com\/channel\/UCPtTJEh97yiEMm-vE_Ux3Aw"]}]},"og_availability":"instock","product_availability":"instock","product_retailer_item_id":"COVER","product_condition":"new"},"_links":{"self":[{"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/product\/57166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/media\/57968"}],"wp:attachment":[{"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/media?parent=57166"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/product_brand?post=57166"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/product_cat?post=57166"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/product_tag?post=57166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}