{"id":61,"date":"2026-08-12T12:20:20","date_gmt":"2026-08-12T16:20:20","guid":{"rendered":"https:\/\/realrockrevival.com\/?page_id=61"},"modified":"2026-09-22T14:53:51","modified_gmt":"2026-09-22T18:53:51","slug":"new-home","status":"publish","type":"page","link":"https:\/\/realrockrevival.com\/","title":{"rendered":"New Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"61\" class=\"elementor elementor-61\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-363a36f e-con-full e-flex e-con e-parent\" data-id=\"363a36f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4baf43d elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"4baf43d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* ==========================================================\n   REAL ROCK REVIVAL \u2014 HOME HERO\n   DIGITAL WAVE VERSION\n   ========================================================== *\/\n\n#rrr-home-hero {\n    --rrr-red: #cc1e20;\n    --rrr-red-bright: #ef2428;\n    --rrr-orange: #ff6a00;\n    --rrr-yellow: #ffc20e;\n    --rrr-white: #ffffff;\n    --rrr-muted: #b9b9b9;\n\n    position: relative;\n    isolation: isolate;\n    overflow: hidden;\n\n    width: 100%;\n    max-width: none;\n    margin: 0;\n    padding: 42px 0 36px;\n    box-sizing: border-box;\n\n    background:\n        linear-gradient(\n            145deg,\n            #151515 0%,\n            #090909 55%,\n            #111111 100%\n        );\n\n    border-top: 1px solid rgba(255,255,255,.04);\n    border-bottom: 1px solid rgba(255,255,255,.07);\n\n    color: var(--rrr-white);\n\n    font-family:\n        Arial,\n        Helvetica,\n        sans-serif;\n}\n\n\n\/* ==========================================================\n   MIRRORED DIGITAL BACKGROUND ANALYZER\n   ========================================================== *\/\n\n#rrr-bg-led-display {\n    position: absolute;\n\n    z-index: 0;\n\n    left: 0;\n    right: 0;\n\n    top: 54px;\n\n    height: 360px;\n\n    display: flex;\n    align-items: center;\n\n    gap: 4px;\n\n    padding: 0 1.2%;\n\n    box-sizing: border-box;\n\n    pointer-events: none;\n\n    \/* THIS IS THE .2 SETTING YOU LIKED *\/\n    opacity: .2;\n\n    -webkit-mask-image:\n        linear-gradient(\n            to bottom,\n            transparent 0%,\n            #000 18%,\n            #000 82%,\n            transparent 100%\n        );\n\n    mask-image:\n        linear-gradient(\n            to bottom,\n            transparent 0%,\n            #000 18%,\n            #000 82%,\n            transparent 100%\n        );\n}\n\n\n.rrr-bg-led-column {\n    flex: 1 1 0;\n\n    min-width: 0;\n\n    height: 100%;\n\n    display: flex;\n\n    flex-direction: column;\n\n    justify-content: center;\n\n    gap: 2px;\n}\n\n\n.rrr-bg-led {\n    width: 100%;\n\n    height: 4px;\n\n    border-radius: 1px;\n\n    background: #301012;\n\n    opacity: .12;\n}\n\n\n.rrr-bg-led.active.low {\n    background: #d91d24;\n\n    opacity: .85;\n\n    box-shadow:\n        0 0 3px\n        rgba(217,29,36,.25);\n}\n\n\n.rrr-bg-led.active.mid {\n    background: #ff7200;\n\n    opacity: .8;\n\n    box-shadow:\n        0 0 3px\n        rgba(255,114,0,.22);\n}\n\n\n.rrr-bg-led.active.high {\n    background: #ffc20e;\n\n    opacity: .75;\n\n    box-shadow:\n        0 0 4px\n        rgba(255,194,14,.18);\n}\n\n\n\/* ==========================================================\n   INNER WRAPPER\n   ========================================================== *\/\n\n.rrr-home-inner {\n    position: relative;\n\n    z-index: 2;\n\n    width: calc(100% - 56px);\n\n    max-width: 1400px;\n\n    margin: 0 auto;\n\n    box-sizing: border-box;\n}\n\n\n\/* ==========================================================\n   TOP ROW\n   ========================================================== *\/\n\n.rrr-home-top {\n    display: grid;\n\n    grid-template-columns:\n        1fr 1fr;\n\n    gap: 64px;\n\n    align-items: center;\n\n    padding-top: 10px;\n}\n\n\n\/* ==========================================================\n   LOGO\n   ========================================================== *\/\n\n.rrr-home-logo-wrap {\n    min-width: 0;\n\n    display: flex;\n\n    align-items: center;\n}\n\n\n.rrr-home-logo {\n    display: block;\n\n    width: 520px;\n\n    max-width: 100%;\n\n    height: auto;\n\n    filter:\n        drop-shadow(\n            0 14px 24px\n            rgba(0,0,0,.55)\n        )\n        drop-shadow(\n            0 0 10px\n            rgba(204,30,32,.08)\n        );\n}\n\n\n\/* ==========================================================\n   NOW PLAYING CARD\n   ========================================================== *\/\n\n.rrr-now-card {\n    width: 100%;\n\n    min-width: 0;\n\n    padding: 22px;\n\n    box-sizing: border-box;\n\n    background:\n        linear-gradient(\n            145deg,\n            rgba(255,255,255,.048),\n            rgba(255,255,255,.018)\n        );\n\n    border:\n        1px solid\n        rgba(255,255,255,.09);\n\n    border-radius: 18px;\n\n    box-shadow:\n        0 24px 55px\n        rgba(0,0,0,.45),\n\n        0 0 16px\n        rgba(204,30,32,.08),\n\n        inset 0 1px 0\n        rgba(255,255,255,.025);\n}\n\n\n.rrr-now-card-top {\n    display: flex;\n\n    align-items: center;\n\n    justify-content:\n        space-between;\n\n    gap: 12px;\n\n    margin-bottom: 18px;\n}\n\n\n.rrr-now-card-label {\n    display: flex;\n\n    align-items: center;\n\n    gap: 8px;\n\n    color:\n        var(--rrr-red-bright);\n\n    font-size: 13px;\n\n    font-weight: 900;\n\n    letter-spacing: 1.4px;\n\n    text-transform: uppercase;\n}\n\n\n.rrr-now-live-dot {\n    width: 9px;\n\n    height: 9px;\n\n    border-radius: 50%;\n\n    background:\n        var(--rrr-red-bright);\n\n    box-shadow:\n        0 0 5px\n        var(--rrr-red),\n\n        0 0 12px\n        rgba(239,36,40,.75);\n\n    animation:\n        rrrHomePulse\n        1.4s\n        ease-in-out\n        infinite;\n}\n\n\n#rrr-home-status {\n    color: #777777;\n\n    font-size: 11px;\n\n    font-weight: 700;\n\n    letter-spacing: .8px;\n\n    text-transform: uppercase;\n}\n\n\n.rrr-now-content {\n    display: grid;\n\n    grid-template-columns:\n        170px minmax(0,1fr);\n\n    gap: 22px;\n\n    align-items: center;\n}\n\n\n\/* ==========================================================\n   ALBUM ART\n   ========================================================== *\/\n\n.rrr-home-art-frame {\n    width: 170px;\n\n    height: 170px;\n\n    padding: 4px;\n\n    box-sizing: border-box;\n\n    border-radius: 16px;\n\n    background:\n        linear-gradient(\n            135deg,\n            var(--rrr-red),\n            var(--rrr-orange) 45%,\n            var(--rrr-yellow) 75%,\n            #ffffff\n        );\n\n    box-shadow:\n        0 0 16px\n        rgba(204,30,32,.32),\n\n        0 8px 20px\n        rgba(0,0,0,.28);\n}\n\n\n.rrr-home-art-frame img {\n    width: 100%;\n\n    height: 100%;\n\n    display: block;\n\n    object-fit: cover;\n\n    border-radius: 12px;\n\n    background: #090909;\n}\n\n\n\/* ==========================================================\n   SONG INFO\n   ========================================================== *\/\n\n.rrr-now-text {\n    min-width: 0;\n}\n\n\n.rrr-now-small {\n    margin-bottom: 7px;\n\n    color:\n        var(--rrr-yellow);\n\n    font-size: 12px;\n\n    font-weight: 900;\n\n    letter-spacing: 1.2px;\n\n    text-transform: uppercase;\n}\n\n\n#rrr-home-artist {\n    margin:\n        0 0 6px;\n\n    color: #ffffff;\n\n    font-size: 28px;\n\n    line-height: 1.05;\n\n    font-weight: 900;\n\n    text-transform: uppercase;\n}\n\n\n#rrr-home-song {\n    margin: 0;\n\n    color:\n        var(--rrr-muted);\n\n    font-size: 18px;\n\n    line-height: 1.35;\n\n    font-weight: 600;\n}\n\n\n\/* ==========================================================\n   FOREGROUND FIXED LED ANALYZER\n   ========================================================== *\/\n\n#rrr-home-led-display {\n    width: 100%;\n\n    max-width: 100%;\n\n    height: 68px;\n\n    margin-top: 17px;\n\n    padding:\n        8px 10px;\n\n    box-sizing: border-box;\n\n    display: flex;\n\n    align-items: stretch;\n\n    gap: 4px;\n\n    overflow: hidden;\n\n    border-radius: 7px;\n\n    background:\n        linear-gradient(\n            to bottom,\n            #060606,\n            #101010\n        );\n\n    border:\n        1px solid\n        rgba(255,255,255,.08);\n\n    box-shadow:\n        inset 0 0 18px\n        rgba(0,0,0,.95),\n\n        0 0 12px\n        rgba(204,30,32,.09);\n}\n\n\n.rrr-home-led-column {\n    flex: 1 1 0;\n\n    min-width: 0;\n\n    display: flex;\n\n    flex-direction:\n        column-reverse;\n\n    gap: 2px;\n}\n\n\n.rrr-home-led {\n    flex: 1 1 0;\n\n    min-width: 0;\n\n    min-height: 3px;\n\n    border-radius: 1px;\n\n    background:\n        #261012;\n\n    opacity: .22;\n\n    transition:\n        background .04s linear,\n        opacity .04s linear,\n        box-shadow .04s linear;\n}\n\n\n.rrr-home-led.low.active {\n    background:\n        #d91d24;\n\n    opacity: 1;\n\n    box-shadow:\n        0 0 3px\n        rgba(217,29,36,.75);\n}\n\n\n.rrr-home-led.mid.active {\n    background:\n        #ff7200;\n\n    opacity: 1;\n\n    box-shadow:\n        0 0 4px\n        rgba(255,114,0,.72);\n}\n\n\n.rrr-home-led.high.active {\n    background:\n        #ffc20e;\n\n    opacity: 1;\n\n    box-shadow:\n        0 0 5px\n        rgba(255,194,14,.78);\n}\n\n\n\/* ==========================================================\n   MESSAGE AREA\n   ========================================================== *\/\n\n.rrr-home-message {\n    position: relative;\n\n    margin-top: 24px;\n\n    padding-top: 26px;\n\n    text-align: center;\n}\n\n\n.rrr-home-message::before {\n    content: \"\";\n\n    position: absolute;\n\n    top: 0;\n\n    left: 4%;\n\n    right: 4%;\n\n    height: 1px;\n\n    background:\n        linear-gradient(\n            to right,\n            transparent 0%,\n            rgba(204,30,32,.16) 18%,\n            rgba(204,30,32,.45) 50%,\n            rgba(204,30,32,.16) 82%,\n            transparent 100%\n        );\n}\n\n\n.rrr-home-kicker {\n    margin-bottom: 10px;\n\n    color:\n        var(--rrr-red-bright);\n\n    font-size: 13px;\n\n    font-weight: 900;\n\n    letter-spacing: 2px;\n\n    text-transform: uppercase;\n}\n\n\n.rrr-home-heading {\n    max-width: 1200px;\n\n    margin:\n        0 auto 16px;\n\n    color: #ffffff;\n\n    font-size:\n        clamp(\n            38px,\n            4.4vw,\n            68px\n        );\n\n    line-height: .98;\n\n    font-weight: 900;\n\n    text-transform: uppercase;\n\n    letter-spacing: -1.5px;\n\n    text-shadow:\n        0 3px 10px\n        rgba(0,0,0,.42);\n}\n\n\n.rrr-home-heading span {\n    color:\n        var(--rrr-yellow);\n}\n\n\n.rrr-home-copy {\n    max-width: 820px;\n\n    margin:\n        0 auto 22px;\n\n    color: #c8c8c8;\n\n    font-size: 18px;\n\n    line-height: 1.55;\n}\n\n\n.rrr-home-actions {\n    display: flex;\n\n    justify-content: center;\n\n    align-items: center;\n}\n\n\n\/* ==========================================================\n   LISTEN LIVE\n   ========================================================== *\/\n\n.rrr-home-listen {\n    display: inline-flex;\n\n    align-items: center;\n\n    justify-content: center;\n\n    gap: 10px;\n\n    padding:\n        15px 22px;\n\n    background:\n        var(--rrr-red);\n\n    color:\n        #ffffff !important;\n\n    border-radius: 7px;\n\n    text-decoration: none;\n\n    text-transform: uppercase;\n\n    font-size: 16px;\n\n    font-weight: 900;\n\n    box-shadow:\n        0 0 16px\n        rgba(204,30,32,.30),\n\n        0 7px 16px\n        rgba(0,0,0,.22);\n\n    transition:\n        transform .18s ease,\n        background .18s ease,\n        box-shadow .18s ease;\n}\n\n\n.rrr-home-listen:hover {\n    background:\n        #e82a2e;\n\n    transform:\n        translateY(-1px);\n\n    box-shadow:\n        0 0 22px\n        rgba(204,30,32,.45),\n\n        0 9px 20px\n        rgba(0,0,0,.25);\n}\n\n\n.rrr-home-play-icon {\n    width: 30px;\n\n    height: 30px;\n\n    display: inline-flex;\n\n    align-items: center;\n\n    justify-content: center;\n\n    border-radius: 50%;\n\n    background: #111111;\n\n    color:\n        var(--rrr-yellow);\n\n    font-size: 14px;\n\n    padding-left: 2px;\n\n    box-sizing: border-box;\n}\n\n\n\/* ==========================================================\n   ANIMATION\n   ========================================================== *\/\n\n@keyframes rrrHomePulse {\n\n    0%,\n    100% {\n        opacity: 1;\n\n        transform:\n            scale(1);\n    }\n\n    50% {\n        opacity: .45;\n\n        transform:\n            scale(.75);\n    }\n}\n\n\n\/* ==========================================================\n   RESPONSIVE\n   ========================================================== *\/\n\n@media (max-width: 980px) {\n\n    .rrr-home-inner {\n        width:\n            calc(100% - 36px);\n    }\n\n    .rrr-home-top {\n        grid-template-columns:\n            1fr;\n\n        gap: 30px;\n\n        padding-top: 5px;\n    }\n\n    .rrr-home-logo-wrap {\n        justify-content:\n            center;\n    }\n\n    .rrr-home-logo {\n        width: 440px;\n    }\n\n    .rrr-now-card {\n        max-width: 680px;\n\n        margin:\n            0 auto;\n    }\n\n    .rrr-home-message {\n        margin-top: 26px;\n    }\n\n    #rrr-bg-led-display {\n        opacity: .12;\n    }\n}\n\n\n@media (max-width: 620px) {\n\n    #rrr-home-hero {\n        padding:\n            32px 0 30px;\n    }\n\n    .rrr-home-inner {\n        width:\n            calc(100% - 28px);\n    }\n\n    .rrr-home-logo {\n        width: 340px;\n    }\n\n    .rrr-now-content {\n        grid-template-columns:\n            1fr;\n\n        text-align: center;\n    }\n\n    .rrr-home-art-frame {\n        margin:\n            0 auto;\n\n        width: 160px;\n\n        height: 160px;\n    }\n\n    .rrr-now-card-top {\n        align-items:\n            flex-start;\n\n        flex-direction:\n            column;\n    }\n\n    #rrr-home-led-display {\n        height: 62px;\n    }\n\n    .rrr-home-heading {\n        font-size: 38px;\n    }\n\n    .rrr-home-copy {\n        font-size: 16px;\n    }\n\n    #rrr-bg-led-display {\n        display: none;\n    }\n}\n<\/style>\n\n\n<section id=\"rrr-home-hero\">\n\n\n    <!-- BACKGROUND DIGITAL WAVE -->\n\n    <div\n        id=\"rrr-bg-led-display\"\n        aria-hidden=\"true\"\n    ><\/div>\n\n\n    <div class=\"rrr-home-inner\">\n\n\n        <!-- TOP ROW -->\n\n        <div class=\"rrr-home-top\">\n\n\n            <!-- LOGO -->\n\n            <div class=\"rrr-home-logo-wrap\">\n\n                <img decoding=\"async\"\n                    class=\"rrr-home-logo\"\n                    src=\"http:\/\/realrockrevival.com\/wp-content\/uploads\/2026\/08\/82a86fcb-5682-47c5-9dce-4bbdacd0c8a3.png\"\n                    alt=\"Real Rock Revival\"\n                >\n\n            <\/div>\n\n\n            <!-- NOW PLAYING -->\n\n            <div class=\"rrr-now-card\">\n\n\n                <div class=\"rrr-now-card-top\">\n\n\n                    <div class=\"rrr-now-card-label\">\n\n                        <span\n                            class=\"rrr-now-live-dot\"\n                        ><\/span>\n\n                        <span>\n                            Live On Air\n                        <\/span>\n\n                    <\/div>\n\n\n                    <div id=\"rrr-home-status\">\n                        Connecting...\n                    <\/div>\n\n\n                <\/div>\n\n\n                <div class=\"rrr-now-content\">\n\n\n                    <div class=\"rrr-home-art-frame\">\n\n                        <img decoding=\"async\"\n                            id=\"rrr-home-art\"\n                            src=\"http:\/\/realrockrevival.com\/wp-content\/uploads\/2026\/08\/6b17152f-c6fd-4654-811c-87c133876acd.png\"\n                            alt=\"Now Playing\"\n                        >\n\n                    <\/div>\n\n\n                    <div class=\"rrr-now-text\">\n\n\n                        <div class=\"rrr-now-small\">\n                            Now Playing\n                        <\/div>\n\n\n                        <h2 id=\"rrr-home-artist\">\n                            Real Rock Revival\n                        <\/h2>\n\n\n                        <p id=\"rrr-home-song\">\n                            Loading live song information...\n                        <\/p>\n\n\n                        <div\n                            id=\"rrr-home-led-display\"\n                            aria-hidden=\"true\"\n                        ><\/div>\n\n\n                    <\/div>\n\n\n                <\/div>\n\n\n            <\/div>\n\n\n        <\/div>\n\n\n        <!-- MESSAGE AREA -->\n\n        <div class=\"rrr-home-message\">\n\n\n            <div class=\"rrr-home-kicker\">\n                REAL ROCK \u2022 REAL PEOPLE \u2022 REAL RADIO.\n            <\/div>\n\n\n            <h1 class=\"rrr-home-heading\">\n\n                Real Rock Radio.\n\n                <span>\n                    The Signal Lives On.\n                <\/span>\n\n            <\/h1>\n\n\n            <p class=\"rrr-home-copy\">\n\n                The music, the personalities,\n                and the attitude that made\n                real rock radio matter \u2014\n                streaming 24\/7.\n\n            <\/p>\n\n\n            <div class=\"rrr-home-actions\">\n\n\n                <a\n                    href=\"#\"\n                    id=\"rrr-home-open-player\"\n                    class=\"rrr-home-listen\"\n                >\n\n                    <span\n                        class=\"rrr-home-play-icon\"\n                    >\n                        \u25b6\n                    <\/span>\n\n                    <span>\n                        Listen Live\n                    <\/span>\n\n                <\/a>\n\n\n            <\/div>\n\n\n        <\/div>\n\n\n    <\/div>\n\n\n<\/section>\n\n\n<script>\n(function () {\n\n\n    \/* ======================================================\n       BASIC SETUP\n       ====================================================== *\/\n\n    const hero =\n        document.getElementById(\n            'rrr-home-hero'\n        );\n\n\n    if (!hero) {\n        return;\n    }\n\n\n    if (\n        hero.dataset\n            .rrrHomeInitialized ===\n        'yes'\n    ) {\n        return;\n    }\n\n\n    hero.dataset\n        .rrrHomeInitialized =\n        'yes';\n\n\n    const EVEREST_STATUS_URL =\n        'https:\/\/puma.streemlion.com:2085\/status-json.xsl';\n\n\n    const FALLBACK_ART =\n        'http:\/\/realrockrevival.com\/wp-content\/uploads\/2026\/08\/6b17152f-c6fd-4654-811c-87c133876acd.png';\n\n\n    const artistEl =\n        document.getElementById(\n            'rrr-home-artist'\n        );\n\n\n    const songEl =\n        document.getElementById(\n            'rrr-home-song'\n        );\n\n\n    const artEl =\n        document.getElementById(\n            'rrr-home-art'\n        );\n\n\n    const statusEl =\n        document.getElementById(\n            'rrr-home-status'\n        );\n\n\n    const openPlayerButton =\n        document.getElementById(\n            'rrr-home-open-player'\n        );\n\n\n    const ledDisplay =\n        document.getElementById(\n            'rrr-home-led-display'\n        );\n\n\n    const bgLedDisplay =\n        document.getElementById(\n            'rrr-bg-led-display'\n        );\n\n\n    \/* ==========================================================\n   OPEN STANDALONE RRR PLAYER\n   ========================================================== *\/\n\nif (openPlayerButton) {\n\n    openPlayerButton\n        .addEventListener(\n            'click',\n            function (event) {\n\n                event.preventDefault();\n\n                const playerWindow =\n                    window.open(\n                        '\/index.php\/rrr-player\/',\n                        'RRRPlayer',\n                        'width=700,height=650,resizable=yes,scrollbars=no'\n                    );\n\n                if (playerWindow) {\n                    playerWindow.focus();\n                }\n\n            }\n        );\n\n}\n\n\n    \/* ======================================================\n       FOREGROUND ANALYZER\n       ====================================================== *\/\n\n    const COLUMN_COUNT =\n        24;\n\n\n    const LED_COUNT =\n        10;\n\n\n    const columns =\n        [];\n\n\n    ledDisplay.innerHTML =\n        '';\n\n\n    for (\n        let columnIndex = 0;\n        columnIndex < COLUMN_COUNT;\n        columnIndex++\n    ) {\n\n\n        const column =\n            document.createElement(\n                'div'\n            );\n\n\n        column.className =\n            'rrr-home-led-column';\n\n\n        const leds =\n            [];\n\n\n        for (\n            let ledIndex = 0;\n            ledIndex < LED_COUNT;\n            ledIndex++\n        ) {\n\n\n            const led =\n                document.createElement(\n                    'span'\n                );\n\n\n            led.classList.add(\n                'rrr-home-led'\n            );\n\n\n            if (\n                ledIndex < 5\n            ) {\n\n                led.classList.add(\n                    'low'\n                );\n\n            }\n\n            else if (\n                ledIndex < 8\n            ) {\n\n                led.classList.add(\n                    'mid'\n                );\n\n            }\n\n            else {\n\n                led.classList.add(\n                    'high'\n                );\n\n            }\n\n\n            column.appendChild(\n                led\n            );\n\n\n            leds.push(\n                led\n            );\n\n        }\n\n\n        ledDisplay.appendChild(\n            column\n        );\n\n\n        columns.push(\n            leds\n        );\n\n    }\n\n\n    \/* ======================================================\n       BACKGROUND MIRRORED DIGITAL WAVE\n       ====================================================== *\/\n\n    const BG_COLUMN_COUNT =\n        72;\n\n\n    const BG_HALF_LED_COUNT =\n        18;\n\n\n    const bgColumns =\n        [];\n\n\n    bgLedDisplay.innerHTML =\n        '';\n\n\n    for (\n        let columnIndex = 0;\n        columnIndex < BG_COLUMN_COUNT;\n        columnIndex++\n    ) {\n\n\n        const column =\n            document.createElement(\n                'div'\n            );\n\n\n        column.className =\n            'rrr-bg-led-column';\n\n\n        const upper =\n            [];\n\n\n        const lower =\n            [];\n\n\n        for (\n            let ledIndex = BG_HALF_LED_COUNT - 1;\n            ledIndex >= 0;\n            ledIndex--\n        ) {\n\n\n            const led =\n                document.createElement(\n                    'span'\n                );\n\n\n            led.classList.add(\n                'rrr-bg-led'\n            );\n\n\n            if (\n                ledIndex < 9\n            ) {\n\n                led.classList.add(\n                    'low'\n                );\n\n            }\n\n            else if (\n                ledIndex < 14\n            ) {\n\n                led.classList.add(\n                    'mid'\n                );\n\n            }\n\n            else {\n\n                led.classList.add(\n                    'high'\n                );\n\n            }\n\n\n            column.appendChild(\n                led\n            );\n\n\n            upper.unshift(\n                led\n            );\n\n        }\n\n\n        for (\n            let ledIndex = 0;\n            ledIndex < BG_HALF_LED_COUNT;\n            ledIndex++\n        ) {\n\n\n            const led =\n                document.createElement(\n                    'span'\n                );\n\n\n            led.classList.add(\n                'rrr-bg-led'\n            );\n\n\n            if (\n                ledIndex < 9\n            ) {\n\n                led.classList.add(\n                    'low'\n                );\n\n            }\n\n            else if (\n                ledIndex < 14\n            ) {\n\n                led.classList.add(\n                    'mid'\n                );\n\n            }\n\n            else {\n\n                led.classList.add(\n                    'high'\n                );\n\n            }\n\n\n            column.appendChild(\n                led\n            );\n\n\n            lower.push(\n                led\n            );\n\n        }\n\n\n        bgLedDisplay.appendChild(\n            column\n        );\n\n\n        bgColumns.push({\n            upper:\n                upper,\n            lower:\n                lower\n        });\n\n    }\n\n\n    \/* ======================================================\n       FOREGROUND METER MOVEMENT\n       ====================================================== *\/\n\n    let meterTick =\n        0;\n\n\n    const levels =\n        Array.from(\n            {\n                length:\n                    COLUMN_COUNT\n            },\n            function (_, i) {\n\n                return (\n                    2 +\n                    ((i * 3) % 5)\n                );\n\n            }\n        );\n\n\n    const phases =\n        Array.from(\n            {\n                length:\n                    COLUMN_COUNT\n            },\n            function (_, i) {\n\n                return (\n                    i * .57 +\n                    Math.random() * 2\n                );\n\n            }\n        );\n\n\n    function illuminateColumn(\n        columnIndex,\n        level\n    ) {\n\n\n        const leds =\n            columns[\n                columnIndex\n            ];\n\n\n        leds.forEach(\n            function (\n                led,\n                ledIndex\n            ) {\n\n                led.classList.toggle(\n                    'active',\n                    ledIndex < level\n                );\n\n            }\n        );\n\n    }\n\n\n    function drawMeters() {\n\n\n        meterTick++;\n\n\n        for (\n            let i = 0;\n            i < COLUMN_COUNT;\n            i++\n        ) {\n\n\n            const waveA =\n                Math.sin(\n                    meterTick *\n                    .19 +\n                    phases[i]\n                );\n\n\n            const waveB =\n                Math.sin(\n                    meterTick *\n                    .11 +\n                    phases[i] *\n                    1.7\n                );\n\n\n            const waveC =\n                Math.cos(\n                    meterTick *\n                    .07 -\n                    phases[i] *\n                    1.1\n                );\n\n\n            let target =\n                5 +\n                waveA * 1.6 +\n                waveB * 1.1 +\n                waveC * .7 +\n                (\n                    Math.random() -\n                    .5\n                ) * 2.2;\n\n\n            if (\n                Math.random() <\n                .09\n            ) {\n\n                target +=\n                    1 +\n                    Math.random() *\n                    2;\n\n            }\n\n\n            target =\n                Math.max(\n                    2,\n                    Math.min(\n                        LED_COUNT,\n                        Math.round(\n                            target\n                        )\n                    )\n                );\n\n\n            if (\n                target >\n                levels[i]\n            ) {\n\n                levels[i] =\n                    Math.min(\n                        target,\n                        levels[i] + 2\n                    );\n\n            }\n\n            else if (\n                target <\n                levels[i]\n            ) {\n\n                levels[i] =\n                    Math.max(\n                        target,\n                        levels[i] - 1\n                    );\n\n            }\n\n\n            illuminateColumn(\n                i,\n                levels[i]\n            );\n\n        }\n\n    }\n\n\n    \/* ======================================================\n       BACKGROUND WAVE MOVEMENT\n       ====================================================== *\/\n\n    let bgTick =\n        0;\n\n\n    const bgPhases =\n        Array.from(\n            {\n                length:\n                    BG_COLUMN_COUNT\n            },\n            function (_, i) {\n\n                return (\n                    i * .28 +\n                    Math.random() *\n                    2\n                );\n\n            }\n        );\n\n\n    function illuminateBackground(\n        columnIndex,\n        level\n    ) {\n\n\n        const column =\n            bgColumns[\n                columnIndex\n            ];\n\n\n        column.upper.forEach(\n            function (\n                led,\n                ledIndex\n            ) {\n\n                led.classList.toggle(\n                    'active',\n                    ledIndex < level\n                );\n\n            }\n        );\n\n\n        column.lower.forEach(\n            function (\n                led,\n                ledIndex\n            ) {\n\n                led.classList.toggle(\n                    'active',\n                    ledIndex < level\n                );\n\n            }\n        );\n\n    }\n\n\n    function drawBackgroundWave() {\n\n\n        bgTick++;\n\n\n        for (\n            let i = 0;\n            i < BG_COLUMN_COUNT;\n            i++\n        ) {\n\n\n            const waveA =\n                Math.sin(\n                    bgTick *\n                    .075 +\n                    bgPhases[i]\n                );\n\n\n            const waveB =\n                Math.sin(\n                    bgTick *\n                    .041 +\n                    bgPhases[i] *\n                    1.6\n                );\n\n\n            const waveC =\n                Math.cos(\n                    bgTick *\n                    .028 -\n                    bgPhases[i] *\n                    .8\n                );\n\n\n            let level =\n                7 +\n                waveA * 4.5 +\n                waveB * 2.8 +\n                waveC * 1.6;\n\n\n            if (\n                Math.random() <\n                .025\n            ) {\n\n                level +=\n                    Math.random() *\n                    3;\n\n            }\n\n\n            level =\n                Math.max(\n                    1,\n                    Math.min(\n                        BG_HALF_LED_COUNT,\n                        Math.round(\n                            level\n                        )\n                    )\n                );\n\n\n            illuminateBackground(\n                i,\n                level\n            );\n\n        }\n\n    }\n\n\n    for (\n        let i = 0;\n        i < COLUMN_COUNT;\n        i++\n    ) {\n\n        illuminateColumn(\n            i,\n            levels[i]\n        );\n\n    }\n\n\n    drawBackgroundWave();\n\n\n    setInterval(\n        drawMeters,\n        105\n    );\n\n\n    setInterval(\n        drawBackgroundWave,\n        125\n    );\n\n\n    \/* ======================================================\n       ARTWORK\n       ====================================================== *\/\n\n    async function updateArtwork(\n        artist,\n        song\n    ) {\n\n\n        artEl.src =\n            FALLBACK_ART;\n\n\n        if (\n            !artist ||\n            !song ||\n            artist ===\n            'Real Rock Revival'\n        ) {\n\n            return;\n\n        }\n\n\n        try {\n\n\n            const term =\n                encodeURIComponent(\n                    artist +\n                    ' ' +\n                    song\n                );\n\n\n            const response =\n                await fetch(\n                    'https:\/\/itunes.apple.com\/search' +\n                    '?term=' +\n                    term +\n                    '&entity=song' +\n                    '&limit=1'\n                );\n\n\n            const data =\n                await response.json();\n\n\n            if (\n                data.results &&\n                data.results.length\n            ) {\n\n\n                let artwork =\n                    data.results[0]\n                        .artworkUrl100;\n\n\n                if (\n                    artwork\n                ) {\n\n\n                    artwork =\n                        artwork.replace(\n                            '100x100bb',\n                            '600x600bb'\n                        );\n\n\n                    artEl.src =\n                        artwork;\n\n                }\n\n            }\n\n        }\n\n        catch (error) {\n\n\n            artEl.src =\n                FALLBACK_ART;\n\n        }\n\n    }\n\n\n    \/* ======================================================\n       LIVE METADATA\n       ====================================================== *\/\n\n    let previousSong =\n        '';\n\n\n    function getEverestSource(data) {\n\n        if (\n            !data ||\n            !data.icestats ||\n            !data.icestats.source\n        ) {\n            return null;\n        }\n\n\n        const sources =\n            Array.isArray(\n                data.icestats.source\n            )\n                ? data.icestats.source\n                : [data.icestats.source];\n\n\n        return sources.find(\n            function (source) {\n\n                const listenUrl =\n                    String(\n                        source.listenurl ||\n                        source.listen_url ||\n                        source.mount ||\n                        ''\n                    );\n\n\n                return (\n                    listenUrl.includes(\n                        ':2085\/stream'\n                    ) ||\n                    listenUrl.endsWith(\n                        '\/stream'\n                    ) ||\n                    listenUrl ===\n                        'stream'\n                );\n\n            }\n        ) ||\n        sources[0] ||\n        null;\n\n    }\n\n\n    function splitStreamTitle(\n        rawTitle\n    ) {\n\n        const raw =\n            String(\n                rawTitle ||\n                ''\n            ).trim();\n\n\n        if (!raw) {\n\n            return {\n                artist:\n                    'Real Rock Revival',\n                song:\n                    'Live Radio'\n            };\n\n        }\n\n\n        const separators = [\n            ' - ',\n            ' \u2013 ',\n            ' \u2014 '\n        ];\n\n\n        for (\n            const separator\n            of separators\n        ) {\n\n            const position =\n                raw.indexOf(\n                    separator\n                );\n\n\n            if (position > 0) {\n\n                return {\n                    artist:\n                        raw\n                            .slice(\n                                0,\n                                position\n                            )\n                            .trim(),\n\n                    song:\n                        raw\n                            .slice(\n                                position +\n                                separator.length\n                            )\n                            .trim()\n                };\n\n            }\n\n        }\n\n\n        return {\n            artist:\n                raw,\n            song:\n                ''\n        };\n\n    }\n\n\n    async function updateMetadata() {\n\n\n        try {\n\n\n            const response =\n                await fetch(\n                    EVEREST_STATUS_URL +\n                    '?cache=' +\n                    Date.now(),\n                    {\n                        cache:\n                            'no-store'\n                    }\n                );\n\n\n            if (!response.ok) {\n\n                throw new Error(\n                    'Everest status HTTP ' +\n                    response.status\n                );\n\n            }\n\n\n            const data =\n                await response.json();\n\n\n            const source =\n                getEverestSource(\n                    data\n                );\n\n\n            if (!source) {\n\n                throw new Error(\n                    'Everest stream source not found'\n                );\n\n            }\n\n\n            const rawTitle =\n                source.title ||\n                source.server_name ||\n                '';\n\n\n            const track =\n                splitStreamTitle(\n                    rawTitle\n                );\n\n\n            const artist =\n                track.artist;\n\n\n            const song =\n                track.song;\n\n\n            artistEl.textContent =\n                artist;\n\n\n            songEl.textContent =\n                song;\n\n\n            statusEl.textContent =\n                'LIVE \u2022 ' +\n                (\n                    source.bitrate ||\n                    128\n                ) +\n                ' KBPS';\n\n\n            const currentSong =\n                artist +\n                ' - ' +\n                song;\n\n\n            if (\n                currentSong !==\n                previousSong\n            ) {\n\n\n                previousSong =\n                    currentSong;\n\n\n                updateArtwork(\n                    artist,\n                    song\n                );\n\n            }\n\n        }\n\n        catch (error) {\n\n\n            console.error(\n                'Everest metadata error:',\n                error\n            );\n\n\n            statusEl.textContent =\n                'REAL ROCK REVIVAL \u2022 LIVE RADIO';\n\n        }\n\n    }\n\n\n    updateMetadata();\n\n\n    setInterval(\n        updateMetadata,\n        12000\n    );\n\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-45c4d49 elementor-widget elementor-widget-html\" data-id=\"45c4d49\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* ==========================================================\n   REAL ROCK REVIVAL - HOME ON AIR \/ UP NEXT\n   ========================================================== *\/\n\n.rrr-home-status-section {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n}\n\n\/* ==========================================================\n   SECTION HEADER\n   ========================================================== *\/\n\n.rrr-air-header {\n    text-align: center;\n    margin: 0 0 32px 0;\n}\n\n.rrr-air-eyebrow {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 14px;\n    color: #ef1b24;\n    font-size: 14px;\n    font-weight: 900;\n    letter-spacing: 3.5px;\n    text-transform: uppercase;\n    margin-bottom: 9px;\n}\n\n.rrr-air-eyebrow::before,\n.rrr-air-eyebrow::after {\n    content: \"\";\n    display: block;\n    width: 46px;\n    height: 2px;\n    background: linear-gradient(90deg, #ffd000, #ef1b24);\n}\n\n.rrr-air-eyebrow::after {\n    background: linear-gradient(90deg, #ef1b24, #ffd000);\n}\n\n.rrr-air-title {\n    color: #ffffff;\n    font-size: 44px;\n    font-weight: 900;\n    line-height: 1;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    margin: 0;\n}\n\n.rrr-air-underline {\n    width: 105px;\n    height: 3px;\n    background: linear-gradient(\n        90deg,\n        #ef1b24 0%,\n        #ff6a00 50%,\n        #ffd000 100%\n    );\n    border-radius: 10px;\n    margin: 13px auto 0;\n}\n\n\/* ==========================================================\n   STATUS CARDS\n   ========================================================== *\/\n\n.rrr-home-status {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 22px;\n    width: 100%;\n}\n\n.rrr-status-card {\n    position: relative;\n    display: flex;\n    align-items: center;\n    gap: 22px;\n    min-height: 190px;\n    padding: 24px;\n    background: #151515;\n    border: 1px solid #2c2c2c;\n    border-radius: 14px;\n    overflow: hidden;\n    box-shadow: 0 10px 28px rgba(0,0,0,.28);\n}\n\n.rrr-status-card.on-air {\n    border-left: 5px solid #ef1b24;\n}\n\n.rrr-status-card.up-next {\n    border-left: 5px solid #ffd000;\n}\n\n.rrr-status-image {\n    width: 145px;\n    height: 145px;\n    flex: 0 0 145px;\n    border-radius: 12px;\n    overflow: hidden;\n    background: #0b0b0b;\n}\n\n.rrr-status-image img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n}\n\n.rrr-status-info {\n    min-width: 0;\n}\n\n.rrr-status-label {\n    display: inline-block;\n    margin-bottom: 10px;\n    font-size: 13px;\n    font-weight: 900;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n}\n\n.on-air .rrr-status-label {\n    color: #fff;\n    background: #ef1b24;\n    padding: 6px 11px;\n    border-radius: 999px;\n    box-shadow: 0 0 14px rgba(239,27,36,.45);\n}\n\n.up-next .rrr-status-label {\n    color: #ffd000;\n}\n\n.rrr-status-show {\n    color: #fff;\n    font-size: 28px;\n    font-weight: 900;\n    line-height: 1.1;\n    margin-bottom: 7px;\n}\n\n.rrr-status-dj {\n    color: #ddd;\n    font-size: 18px;\n    margin-bottom: 7px;\n}\n\n.rrr-status-time {\n    color: #ffd000;\n    font-size: 15px;\n    font-weight: 800;\n}\n\n.rrr-status-note {\n    color: #aaa;\n    font-size: 14px;\n    margin-top: 8px;\n}\n\n\/* ==========================================================\n   RESPONSIVE\n   ========================================================== *\/\n\n@media (max-width: 850px) {\n\n    .rrr-home-status {\n        grid-template-columns: 1fr;\n    }\n\n    .rrr-air-title {\n        font-size: 40px;\n    }\n}\n\n@media (max-width: 600px) {\n\n    .rrr-air-header {\n        margin-bottom: 24px;\n    }\n\n    .rrr-air-eyebrow {\n        font-size: 11px;\n        letter-spacing: 2px;\n        gap: 10px;\n    }\n\n    .rrr-air-eyebrow::before,\n    .rrr-air-eyebrow::after {\n        width: 35px;\n    }\n\n    .rrr-air-title {\n        font-size: 32px;\n    }\n\n    .rrr-air-underline {\n        width: 100px;\n        height: 3px;\n        margin-top: 13px;\n    }\n\n    .rrr-status-card {\n        align-items: flex-start;\n        gap: 16px;\n        padding: 18px;\n    }\n\n    .rrr-status-image {\n        width: 95px;\n        height: 95px;\n        flex-basis: 95px;\n    }\n\n    .rrr-status-show {\n        font-size: 21px;\n    }\n\n    .rrr-status-dj {\n        font-size: 16px;\n    }\n}\n<\/style>\n\n\n<div class=\"rrr-home-status-section\">\n\n    <!-- SECTION HEADER -->\n\n    <div class=\"rrr-air-header\">\n\n        <div class=\"rrr-air-eyebrow\">\n            LIVE ON TRIPLE R\n        <\/div>\n\n        <div class=\"rrr-air-title\">\n            ON AIR NOW\n        <\/div>\n\n        <div class=\"rrr-air-underline\"><\/div>\n\n    <\/div>\n\n\n    <!-- STATUS CARDS -->\n\n    <div class=\"rrr-home-status\">\n\n        <!-- CURRENTLY PLAYING -->\n\n        <div class=\"rrr-status-card on-air\">\n\n            <div class=\"rrr-status-image\">\n                <img decoding=\"async\" id=\"rrr-onair-image\" src=\"\" alt=\"\">\n            <\/div>\n\n            <div class=\"rrr-status-info\">\n\n                <div\n                    class=\"rrr-status-label\"\n                    id=\"rrr-onair-label\">\n                    \u25cf ON AIR NOW\n                <\/div>\n\n                <div\n                    class=\"rrr-status-show\"\n                    id=\"rrr-onair-show\">\n                    Loading...\n                <\/div>\n\n                <div\n                    class=\"rrr-status-dj\"\n                    id=\"rrr-onair-dj\">\n                <\/div>\n\n                <div\n                    class=\"rrr-status-time\"\n                    id=\"rrr-onair-time\">\n                <\/div>\n\n                <div\n                    class=\"rrr-status-note\"\n                    id=\"rrr-onair-note\">\n                <\/div>\n\n            <\/div>\n\n        <\/div>\n\n\n        <!-- UP NEXT -->\n\n        <div class=\"rrr-status-card up-next\">\n\n            <div class=\"rrr-status-image\">\n                <img decoding=\"async\" id=\"rrr-next-image\" src=\"\" alt=\"\">\n            <\/div>\n\n            <div class=\"rrr-status-info\">\n\n                <div class=\"rrr-status-label\">\n                    UP NEXT\n                <\/div>\n\n                <div\n                    class=\"rrr-status-show\"\n                    id=\"rrr-next-show\">\n                    Loading...\n                <\/div>\n\n                <div\n                    class=\"rrr-status-dj\"\n                    id=\"rrr-next-dj\">\n                <\/div>\n\n                <div\n                    class=\"rrr-status-time\"\n                    id=\"rrr-next-time\">\n                <\/div>\n\n                <div\n                    class=\"rrr-status-note\"\n                    id=\"rrr-next-note\">\n                <\/div>\n\n            <\/div>\n\n        <\/div>\n\n    <\/div>\n\n<\/div>\n\n\n<script>\n(function () {\n\n    const SHEET_URL =\n        'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vS41T_J8DZ368smfRp__6Qcn25x7AdwouY_YH8lnjJvShPdD3t9uSLL8SFaqcMNHgdYFiFpwzZGgTqo\/pub?output=csv';\n\n    const TRIPLE_R_LOGO =\n        'https:\/\/realrockrevival.com\/wp-content\/uploads\/2026\/08\/c8eb6030-cd3f-4b78-ac61-8a1c9b2f6da7.png';\n\n    const days = [\n        'Monday',\n        'Tuesday',\n        'Wednesday',\n        'Thursday',\n        'Friday',\n        'Saturday',\n        'Sunday'\n    ];\n\n\n    function parseCSV(text) {\n\n        const rows = [];\n\n        let row = [];\n        let field = '';\n        let quoted = false;\n\n        for (let i = 0; i < text.length; i++) {\n\n            const char = text[i];\n\n            if (char === '\"') {\n\n                if (quoted && text[i + 1] === '\"') {\n\n                    field += '\"';\n                    i++;\n\n                } else {\n\n                    quoted = !quoted;\n\n                }\n\n            } else if (char === ',' && !quoted) {\n\n                row.push(field);\n                field = '';\n\n            } else if (\n                (char === '\\n' || char === '\\r') &&\n                !quoted\n            ) {\n\n                if (\n                    char === '\\r' &&\n                    text[i + 1] === '\\n'\n                ) {\n                    i++;\n                }\n\n                row.push(field);\n                rows.push(row);\n\n                row = [];\n                field = '';\n\n            } else {\n\n                field += char;\n\n            }\n        }\n\n        if (field.length || row.length) {\n\n            row.push(field);\n            rows.push(row);\n\n        }\n\n        return rows;\n    }\n\n\n    function timeToMinutes(value) {\n\n        const match =\n            value\n                .trim()\n                .match(\n                    \/^(\\d{1,2}):(\\d{2})\\s*(AM|PM)$\/i\n                );\n\n        if (!match) {\n            return null;\n        }\n\n        let hour =\n            parseInt(match[1], 10);\n\n        const minute =\n            parseInt(match[2], 10);\n\n        const ap =\n            match[3].toUpperCase();\n\n        if (\n            ap === 'PM' &&\n            hour !== 12\n        ) {\n            hour += 12;\n        }\n\n        if (\n            ap === 'AM' &&\n            hour === 12\n        ) {\n            hour = 0;\n        }\n\n        return (\n            hour * 60 +\n            minute\n        );\n    }\n\n\n    function easternNow() {\n\n        const parts =\n            new Intl.DateTimeFormat(\n                'en-US',\n                {\n                    timeZone:\n                        'America\/New_York',\n\n                    weekday:\n                        'long',\n\n                    hour:\n                        'numeric',\n\n                    minute:\n                        '2-digit',\n\n                    hour12:\n                        false\n                }\n            ).formatToParts(\n                new Date()\n            );\n\n        const data = {};\n\n        parts.forEach(\n            p => data[p.type] = p.value\n        );\n\n        return {\n\n            day:\n                data.weekday,\n\n            dayIndex:\n                days.indexOf(\n                    data.weekday\n                ),\n\n            minute:\n                parseInt(\n                    data.hour,\n                    10\n                ) * 60 +\n\n                parseInt(\n                    data.minute,\n                    10\n                )\n        };\n    }\n\n\n    function setOnAir(show) {\n\n        const label =\n            document.getElementById(\n                'rrr-onair-label'\n            );\n\n        const image =\n            document.getElementById(\n                'rrr-onair-image'\n            );\n\n        const title =\n            document.getElementById(\n                'rrr-onair-show'\n            );\n\n        const dj =\n            document.getElementById(\n                'rrr-onair-dj'\n            );\n\n        const time =\n            document.getElementById(\n                'rrr-onair-time'\n            );\n\n        const note =\n            document.getElementById(\n                'rrr-onair-note'\n            );\n\n\n        if (show) {\n\n            label.textContent =\n                '\u25cf ON AIR NOW';\n\n            image.src =\n                show.image ||\n                TRIPLE_R_LOGO;\n\n            title.textContent =\n                show.show;\n\n            dj.textContent =\n                show.dj;\n\n            time.textContent =\n                show.start +\n                ' \u2013 ' +\n                show.end +\n                ' ET';\n\n            note.textContent =\n                '';\n\n        } else {\n\n            label.textContent =\n                '\u26a1 TRIPLE R ROCKS';\n\n            image.src =\n                TRIPLE_R_LOGO;\n\n            title.textContent =\n                'Triple R Rocks 24\/7';\n\n            dj.textContent =\n                'Real Rock Revival Music Mix';\n\n            time.textContent =\n                '';\n\n            note.textContent =\n                'Real Rock. All day. Every day.';\n        }\n    }\n\n\n    function setUpNext(show) {\n\n        const image =\n            document.getElementById(\n                'rrr-next-image'\n            );\n\n        const title =\n            document.getElementById(\n                'rrr-next-show'\n            );\n\n        const dj =\n            document.getElementById(\n                'rrr-next-dj'\n            );\n\n        const time =\n            document.getElementById(\n                'rrr-next-time'\n            );\n\n        const note =\n            document.getElementById(\n                'rrr-next-note'\n            );\n\n\n        if (!show) {\n\n            image.src =\n                TRIPLE_R_LOGO;\n\n            title.textContent =\n                'Triple R Rocks 24\/7';\n\n            dj.textContent =\n                '';\n\n            time.textContent =\n                '';\n\n            note.textContent =\n                'More live shows coming soon.';\n\n            return;\n        }\n\n\n        image.src =\n            show.image ||\n            TRIPLE_R_LOGO;\n\n        title.textContent =\n            show.show;\n\n        dj.textContent =\n            show.dj;\n\n        time.textContent =\n            show.day +\n            ' \u2022 ' +\n            show.start +\n            ' \u2013 ' +\n            show.end +\n            ' ET';\n\n        note.textContent =\n            '';\n    }\n\n\n    function processSchedule(rows) {\n\n        rows.shift();\n\n\n        const shows = rows\n\n            .filter(\n                row =>\n                    row.length >= 8\n            )\n\n            .map(\n                row => ({\n\n                    day:\n                        (row[0] || '')\n                            .trim(),\n\n                    start:\n                        (row[1] || '')\n                            .trim(),\n\n                    end:\n                        (row[2] || '')\n                            .trim(),\n\n                    show:\n                        (row[3] || '')\n                            .trim(),\n\n                    dj:\n                        (row[4] || '')\n                            .trim(),\n\n                    image:\n                        (row[5] || '')\n                            .trim(),\n\n                    description:\n                        (row[6] || '')\n                            .trim(),\n\n                    active:\n                        (row[7] || '')\n                            .trim()\n                            .toLowerCase()\n\n                })\n            )\n\n            .filter(\n                show =>\n                    show.active === 'yes' &&\n                    days.includes(\n                        show.day\n                    )\n            );\n\n\n        const now =\n            easternNow();\n\n\n        let currentShow =\n            null;\n\n\n        shows.forEach(\n            show => {\n\n                if (\n                    show.day !==\n                    now.day\n                ) {\n                    return;\n                }\n\n\n                const start =\n                    timeToMinutes(\n                        show.start\n                    );\n\n                const end =\n                    timeToMinutes(\n                        show.end\n                    );\n\n\n                if (\n                    start === null ||\n                    end === null\n                ) {\n                    return;\n                }\n\n\n                let live =\n                    false;\n\n\n                if (\n                    end > start\n                ) {\n\n                    live =\n                        now.minute >= start &&\n                        now.minute < end;\n\n                } else {\n\n                    live =\n                        now.minute >= start ||\n                        now.minute < end;\n\n                }\n\n\n                if (live) {\n\n                    currentShow =\n                        show;\n\n                }\n            }\n        );\n\n\n        setOnAir(\n            currentShow\n        );\n\n\n        let nextShow =\n            null;\n\n        let smallestDelta =\n            Infinity;\n\n\n        shows.forEach(\n            show => {\n\n                const start =\n                    timeToMinutes(\n                        show.start\n                    );\n\n\n                if (\n                    start === null\n                ) {\n                    return;\n                }\n\n\n                const showDay =\n                    days.indexOf(\n                        show.day\n                    );\n\n\n                let delta =\n\n                    (\n                        (\n                            showDay -\n                            now.dayIndex\n                        ) *\n                        1440\n                    ) +\n\n                    (\n                        start -\n                        now.minute\n                    );\n\n\n                if (\n                    delta <= 0\n                ) {\n\n                    delta +=\n                        7 * 1440;\n\n                }\n\n\n                if (\n                    delta <\n                    smallestDelta\n                ) {\n\n                    smallestDelta =\n                        delta;\n\n                    nextShow =\n                        show;\n\n                }\n            }\n        );\n\n\n        setUpNext(\n            nextShow\n        );\n    }\n\n\n    fetch(\n        SHEET_URL\n    )\n\n    .then(\n        response =>\n            response.text()\n    )\n\n    .then(\n        text =>\n            processSchedule(\n                parseCSV(text)\n            )\n    )\n\n    .catch(\n        function () {\n\n            setOnAir(null);\n            setUpNext(null);\n\n        }\n    );\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-29b6fe8 e-con-full e-flex e-con e-parent\" data-id=\"29b6fe8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e4ca81e elementor-widget elementor-widget-html\" data-id=\"e4ca81e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* ==========================================================\n   REAL ROCK REVIVAL \u2014 RECENTLY PLAYED\n   ========================================================== *\/\n\n#rrr-recently-played {\n    width: 100%;\n    box-sizing: border-box;\n\n    padding: 54px 0 60px;\n\n    background:\n        linear-gradient(\n            180deg,\n            #0b0b0b 0%,\n            #111111 100%\n        );\n\n    color: #ffffff;\n\n    font-family:\n        Arial,\n        Helvetica,\n        sans-serif;\n}\n\n.rrr-recent-inner {\n    width: calc(100% - 56px);\n    max-width: 1400px;\n    margin: 0 auto;\n}\n\n\n\/* ==========================================================\n   HEADING \u2014 FRESH OFF THE AIR\n   ========================================================== *\/\n\n.rrr-recent-heading {\n    position: relative;\n    margin-bottom: 34px;\n    text-align: center;\n}\n\n\n\/* RECENTLY PLAYED + SIDE LINES *\/\n\n.rrr-recent-kicker {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 14px;\n\n    margin-bottom: 9px;\n\n    color: #ef2428;\n\n    font-size: 13px;\n    font-weight: 900;\n\n    letter-spacing: 3px;\n    text-transform: uppercase;\n\n    text-shadow:\n        0 0 10px rgba(239,36,40,.30);\n}\n\n.rrr-recent-kicker::before,\n.rrr-recent-kicker::after {\n    content: \"\";\n\n    width: 55px;\n    height: 2px;\n\n    background:\n        linear-gradient(\n            90deg,\n            transparent,\n            #ef2428,\n            #ff8a00\n        );\n\n    box-shadow:\n        0 0 8px rgba(239,36,40,.35);\n}\n\n.rrr-recent-kicker::after {\n    background:\n        linear-gradient(\n            90deg,\n            #ff8a00,\n            #ef2428,\n            transparent\n        );\n}\n\n\n\/* MAIN TITLE *\/\n\n.rrr-recent-title {\n    position: relative;\n\n    display: inline-block;\n\n    margin: 0;\n\n    color: #ffffff;\n\n    font-size: 42px;\n    line-height: 1;\n\n    font-weight: 900;\n\n    letter-spacing: 1px;\n\n    text-transform: uppercase;\n\n    text-shadow:\n        0 3px 0 rgba(0,0,0,.8),\n        0 0 18px rgba(255,255,255,.08);\n}\n\n\n\/* SMALL RED\/YELLOW ACCENT UNDER TITLE *\/\n\n.rrr-recent-title::after {\n    content: \"\";\n\n    display: block;\n\n    width: 115px;\n    height: 3px;\n\n    margin: 14px auto 0;\n\n    border-radius: 10px;\n\n    background:\n        linear-gradient(\n            90deg,\n            #ef2428 0%,\n            #ff4a00 48%,\n            #ffc20e 100%\n        );\n\n    box-shadow:\n        0 0 12px rgba(239,36,40,.28);\n}\n\n\n\/* MOBILE *\/\n\n@media (max-width: 700px) {\n\n    .rrr-recent-title {\n        font-size: 34px;\n    }\n\n    .rrr-recent-kicker::before,\n    .rrr-recent-kicker::after {\n        width: 30px;\n    }\n}\n\n\n\/* ==========================================================\n   SONG GRID\n   ========================================================== *\/\n\n.rrr-recent-grid {\n    display: grid;\n\n    grid-template-columns:\n        repeat(5, minmax(0, 1fr));\n\n    gap: 18px;\n}\n\n\n\/* ==========================================================\n   SONG CARD\n   ========================================================== *\/\n\n.rrr-recent-card {\n    min-width: 0;\n\n    padding: 12px;\n\n    box-sizing: border-box;\n\n    border-radius: 14px;\n\n    background:\n        linear-gradient(\n            145deg,\n            rgba(255,255,255,.05),\n            rgba(255,255,255,.015)\n        );\n\n    border:\n        1px solid\n        rgba(255,255,255,.07);\n\n    box-shadow:\n        0 14px 32px\n        rgba(0,0,0,.28);\n\n    transition:\n        transform .18s ease,\n        border-color .18s ease,\n        box-shadow .18s ease;\n}\n\n.rrr-recent-card:hover {\n    transform:\n        translateY(-3px);\n\n    border-color:\n        rgba(204,30,32,.34);\n\n    box-shadow:\n        0 18px 38px\n        rgba(0,0,0,.38),\n\n        0 0 14px\n        rgba(204,30,32,.08);\n}\n\n\n\/* ==========================================================\n   ALBUM ART\n   ========================================================== *\/\n\n.rrr-recent-art-wrap {\n    width: 100%;\n\n    aspect-ratio: 1 \/ 1;\n\n    padding: 3px;\n\n    box-sizing: border-box;\n\n    border-radius: 11px;\n\n    background:\n        linear-gradient(\n            135deg,\n            #cc1e20,\n            #ff7200 55%,\n            #ffc20e\n        );\n}\n\n.rrr-recent-art {\n    display: block;\n\n    width: 100%;\n    height: 100%;\n\n    object-fit: cover;\n\n    border-radius: 8px;\n\n    background: #080808;\n}\n\n\n\/* ==========================================================\n   SONG DETAILS\n   ========================================================== *\/\n\n.rrr-recent-info {\n    padding:\n        13px 3px 4px;\n}\n\n.rrr-recent-artist {\n    margin-bottom: 5px;\n\n    overflow: hidden;\n\n    color: #ffffff;\n\n    font-size: 16px;\n    line-height: 1.15;\n\n    font-weight: 900;\n\n    text-overflow: ellipsis;\n    white-space: nowrap;\n\n    text-transform: uppercase;\n}\n\n.rrr-recent-song {\n    min-height: 38px;\n\n    color: #bdbdbd;\n\n    font-size: 14px;\n    line-height: 1.35;\n\n    font-weight: 600;\n}\n\n.rrr-recent-time {\n    margin-top: 10px;\n\n    color: #777777;\n\n    font-size: 11px;\n    font-weight: 800;\n\n    letter-spacing: .7px;\n\n    text-transform: uppercase;\n}\n\n\n\/* ==========================================================\n   LOADING \/ ERROR\n   ========================================================== *\/\n\n.rrr-recent-loading,\n.rrr-recent-error {\n    grid-column: 1 \/ -1;\n\n    padding: 36px;\n\n    text-align: center;\n\n    color: #777777;\n\n    font-size: 14px;\n    font-weight: 700;\n\n    letter-spacing: 1px;\n\n    text-transform: uppercase;\n}\n\n\n\/* ==========================================================\n   RESPONSIVE\n   ========================================================== *\/\n\n@media (max-width: 1050px) {\n\n    .rrr-recent-grid {\n        grid-template-columns:\n            repeat(3, minmax(0,1fr));\n    }\n}\n\n@media (max-width: 700px) {\n\n    .rrr-recent-inner {\n        width:\n            calc(100% - 30px);\n    }\n\n    .rrr-recent-grid {\n        grid-template-columns:\n            repeat(2, minmax(0,1fr));\n    }\n\n    .rrr-recent-title {\n        font-size: 34px;\n    }\n}\n\n@media (max-width: 430px) {\n\n    .rrr-recent-grid {\n        grid-template-columns: 1fr;\n    }\n}\n<\/style>\n\n\n<section id=\"rrr-recently-played\">\n\n    <div class=\"rrr-recent-inner\">\n\n        <div class=\"rrr-recent-heading\">\n\n            <div class=\"rrr-recent-kicker\">\n                Recently Played\n            <\/div>\n\n            <h2 class=\"rrr-recent-title\">\n                Fresh Off The Air\n            <\/h2>\n\n        <\/div>\n\n\n        <div\n            id=\"rrr-recent-grid\"\n            class=\"rrr-recent-grid\"\n        >\n\n            <div class=\"rrr-recent-loading\">\n                Loading recent tracks...\n            <\/div>\n\n        <\/div>\n\n    <\/div>\n\n<\/section>\n\n\n<script>\n(function () {\n\n    const API_URL =\n        '\/wp-json\/real-rock-revival\/v1\/recently-played';\n\n    const FALLBACK_ART =\n        'http:\/\/realrockrevival.com\/wp-content\/uploads\/2026\/08\/6b17152f-c6fd-4654-811c-87c133876acd.png';\n\n    const grid =\n        document.getElementById(\n            'rrr-recent-grid'\n        );\n\n\n    if (!grid) {\n        return;\n    }\n\n\n    \/* ==================================\/* ======================================================\n   FORMAT PLAYED TIME\n   Stream history time is UTC.\n   Convert it to America\/New_York automatically,\n   including EST \/ EDT daylight-saving changes.\n   ====================================================== *\/\n\nfunction formatTime(timeString) {\n\n    if (!timeString) {\n        return '';\n    }\n\n    const parts = timeString.split(':');\n\n    if (parts.length < 2) {\n        return timeString;\n    }\n\n    const hour =\n        parseInt(parts[0], 10);\n\n    const minute =\n        parseInt(parts[1], 10);\n\n    const second =\n        parts.length > 2\n            ? parseInt(parts[2], 10)\n            : 0;\n\n    \/*\n     * Build a UTC date using today's UTC date\n     * and the played_at clock time.\n     *\/\n    const now = new Date();\n\n    const playedUTC =\n        new Date(\n            Date.UTC(\n                now.getUTCFullYear(),\n                now.getUTCMonth(),\n                now.getUTCDate(),\n                hour,\n                minute,\n                second\n            )\n        );\n\n    \/*\n     * Format the result in Eastern Time.\n     * America\/New_York automatically handles\n     * EST and EDT.\n     *\/\n    return new Intl.DateTimeFormat(\n        'en-US',\n        {\n            timeZone: 'America\/New_York',\n            hour: 'numeric',\n            minute: '2-digit',\n            hour12: true\n        }\n    ).format(playedUTC);\n}\n\n\n    \/* ======================================================\n       LOOK UP ALBUM ART\n       ====================================================== *\/\n\n    async function getArtwork(\n        artist,\n        song\n    ) {\n\n        try {\n\n            const term =\n                encodeURIComponent(\n                    artist +\n                    ' ' +\n                    song\n                );\n\n            const response =\n                await fetch(\n                    'https:\/\/itunes.apple.com\/search' +\n                    '?term=' +\n                    term +\n                    '&entity=song' +\n                    '&limit=1'\n                );\n\n            const data =\n                await response.json();\n\n            if (\n                data.results &&\n                data.results.length\n            ) {\n\n                let artwork =\n                    data.results[0]\n                        .artworkUrl100;\n\n                if (artwork) {\n\n                    artwork =\n                        artwork.replace(\n                            '100x100bb',\n                            '600x600bb'\n                        );\n\n                    return artwork;\n\n                }\n\n            }\n\n        } catch (error) {\n        }\n\n        return FALLBACK_ART;\n\n    }\n\n\n    \/* ======================================================\n       BUILD SONG CARD\n       ====================================================== *\/\n\n    function createCard(\n        track\n    ) {\n\n        const card =\n            document.createElement(\n                'article'\n            );\n\n        card.className =\n            'rrr-recent-card';\n\n\n        const artWrap =\n            document.createElement(\n                'div'\n            );\n\n        artWrap.className =\n            'rrr-recent-art-wrap';\n\n\n        const art =\n            document.createElement(\n                'img'\n            );\n\n        art.className =\n            'rrr-recent-art';\n\n        art.src =\n            FALLBACK_ART;\n\n        art.alt =\n            track.artist +\n            ' - ' +\n            track.song;\n\n\n        artWrap.appendChild(\n            art\n        );\n\n\n        const info =\n            document.createElement(\n                'div'\n            );\n\n        info.className =\n            'rrr-recent-info';\n\n\n        const artist =\n            document.createElement(\n                'div'\n            );\n\n        artist.className =\n            'rrr-recent-artist';\n\n        artist.textContent =\n            track.artist;\n\n\n        const song =\n            document.createElement(\n                'div'\n            );\n\n        song.className =\n            'rrr-recent-song';\n\n        song.textContent =\n            track.song;\n\n\n        const time =\n            document.createElement(\n                'div'\n            );\n\n        time.className =\n            'rrr-recent-time';\n\n        time.textContent =\n            'Played ' +\n            formatTime(\n                track.played_at\n            );\n\n\n        info.appendChild(\n            artist\n        );\n\n        info.appendChild(\n            song\n        );\n\n        info.appendChild(\n            time\n        );\n\n\n        card.appendChild(\n            artWrap\n        );\n\n        card.appendChild(\n            info\n        );\n\n\n        getArtwork(\n            track.artist,\n            track.song\n        ).then(\n            function (\n                artwork\n            ) {\n\n                art.src =\n                    artwork;\n\n            }\n        );\n\n\n        return card;\n\n    }\n\n\n    \/* ======================================================\n       LOAD RECENT TRACKS\n       ====================================================== *\/\n\n    async function loadRecentTracks() {\n\n        try {\n\n            const response =\n                await fetch(\n                    API_URL +\n                    '?cache=' +\n                    Date.now(),\n                    {\n                        cache:\n                            'no-store'\n                    }\n                );\n\n            const data =\n                await response.json();\n\n\n            if (\n                !data.success ||\n                !data.tracks ||\n                !data.tracks.length\n            ) {\n\n                throw new Error(\n                    'No tracks returned'\n                );\n\n            }\n\n\n            grid.innerHTML =\n                '';\n\n\n            data.tracks\n                .slice(\n                    0,\n                    5\n                )\n                .forEach(\n                    function (\n                        track\n                    ) {\n\n                        grid.appendChild(\n                            createCard(\n                                track\n                            )\n                        );\n\n                    }\n                );\n\n        } catch (error) {\n\n            grid.innerHTML =\n                '<div class=\"rrr-recent-error\">' +\n                'Unable to load recent tracks.' +\n                '<\/div>';\n\n        }\n\n    }\n\n\n    loadRecentTracks();\n\n\n    \/*\n     Refresh every 30 seconds.\n    *\/\n\n    setInterval(\n        loadRecentTracks,\n        30000\n    );\n\n})();\n<\/script>\n\n<style>\n\/* Pull Fresh Off The Air section closer to hero *\/\n#rrr-recently-played {\n    padding-top: 15px !important;\n}\n<\/style>\n\n<script>\n\/* ==========================================================\n   RRR \u2014 SMARTER RECENTLY PLAYED ARTWORK MATCHING\n   Paste at the VERY BOTTOM of the Recently Played HTML widget\n   ========================================================== *\/\n\n(function () {\n\n    function normalizeText(text) {\n\n        return String(text || '')\n            .toLowerCase()\n\n            \/* remove common punctuation *\/\n            .replace(\/[\u2019'\".,!?()[\\]{}:;\/\\\\]\/g, ' ')\n\n            \/* turn & into and *\/\n            .replace(\/\\s*&\\s*\/g, ' and ')\n\n            \/* remove extra spaces *\/\n            .replace(\/\\s+\/g, ' ')\n            .trim();\n    }\n\n\n    function simplifySongTitle(text) {\n\n        return normalizeText(text)\n\n            \/* remove common radio metadata extras *\/\n            .replace(\/\\b(remaster(ed)?|remastered version)\\b\/g, '')\n            .replace(\/\\b(album version|single version|radio edit)\\b\/g, '')\n            .replace(\/\\b(explicit|clean)\\b\/g, '')\n            .replace(\/\\b\\d{4} remaster\\b\/g, '')\n\n            .replace(\/\\s+\/g, ' ')\n            .trim();\n    }\n\n\n    function scoreResult(\n        result,\n        wantedArtist,\n        wantedSong\n    ) {\n\n        const resultArtist =\n            normalizeText(\n                result.artistName\n            );\n\n        const resultSong =\n            simplifySongTitle(\n                result.trackName\n            );\n\n        const artist =\n            normalizeText(\n                wantedArtist\n            );\n\n        const song =\n            simplifySongTitle(\n                wantedSong\n            );\n\n\n        let score = 0;\n\n\n        \/* ----------------------------------------------\n           ARTIST MATCH\n           ---------------------------------------------- *\/\n\n        if (\n            resultArtist === artist\n        ) {\n\n            score += 100;\n\n        }\n\n        else if (\n            resultArtist.includes(artist) ||\n            artist.includes(resultArtist)\n        ) {\n\n            score += 65;\n\n        }\n\n        else {\n\n            \/*\n             If the artist doesn't resemble\n             what we asked for, penalize heavily.\n            *\/\n\n            score -= 100;\n\n        }\n\n\n        \/* ----------------------------------------------\n           SONG MATCH\n           ---------------------------------------------- *\/\n\n        if (\n            resultSong === song\n        ) {\n\n            score += 100;\n\n        }\n\n        else if (\n            resultSong.includes(song) ||\n            song.includes(resultSong)\n        ) {\n\n            score += 70;\n\n        }\n\n\n        \/*\n         Small preference for results that\n         are actually marked as songs.\n        *\/\n\n        if (\n            result.wrapperType === 'track'\n        ) {\n\n            score += 5;\n\n        }\n\n\n        return score;\n    }\n\n\n    async function findBestArtwork(\n        artist,\n        song\n    ) {\n\n        try {\n\n            const searchTerm =\n                encodeURIComponent(\n                    artist + ' ' + song\n                );\n\n\n            \/*\n             Pull several results instead of blindly\n             accepting Apple's first answer.\n            *\/\n\n            const response =\n                await fetch(\n                    'https:\/\/itunes.apple.com\/search' +\n                    '?term=' + searchTerm +\n                    '&entity=song' +\n                    '&limit=25'\n                );\n\n\n            const data =\n                await response.json();\n\n\n            if (\n                !data.results ||\n                !data.results.length\n            ) {\n\n                return null;\n\n            }\n\n\n            let bestResult = null;\n            let bestScore = -9999;\n\n\n            data.results.forEach(\n                function (result) {\n\n                    const score =\n                        scoreResult(\n                            result,\n                            artist,\n                            song\n                        );\n\n\n                    if (\n                        score > bestScore\n                    ) {\n\n                        bestScore =\n                            score;\n\n                        bestResult =\n                            result;\n\n                    }\n\n                }\n            );\n\n\n            \/*\n             Require a reasonably strong match.\n             This prevents random tribute albums\n             from winning just because Apple\n             returned them first.\n            *\/\n\n            if (\n                !bestResult ||\n                bestScore < 120\n            ) {\n\n                return null;\n\n            }\n\n\n            let artwork =\n                bestResult.artworkUrl100;\n\n\n            if (!artwork) {\n\n                return null;\n\n            }\n\n\n            artwork =\n                artwork.replace(\n                    '100x100bb',\n                    '600x600bb'\n                );\n\n\n            return artwork;\n\n        }\n\n        catch (error) {\n\n            return null;\n\n        }\n\n    }\n\n\n    async function fixCardArtwork(\n        card\n    ) {\n\n        const artistElement =\n            card.querySelector(\n                '.rrr-recent-artist'\n            );\n\n\n        const songElement =\n            card.querySelector(\n                '.rrr-recent-song'\n            );\n\n\n        const imageElement =\n            card.querySelector(\n                '.rrr-recent-art'\n            );\n\n\n        if (\n            !artistElement ||\n            !songElement ||\n            !imageElement\n        ) {\n\n            return;\n\n        }\n\n\n        const artist =\n            artistElement.textContent.trim();\n\n\n        const song =\n            songElement.textContent.trim();\n\n\n        const lookupKey =\n            artist +\n            ' | ' +\n            song;\n\n\n        \/*\n         Don't keep searching for the same\n         song repeatedly.\n        *\/\n\n        if (\n            imageElement.dataset\n                .rrrSmartArtwork ===\n            lookupKey\n        ) {\n\n            return;\n\n        }\n\n\n        imageElement.dataset\n            .rrrSmartArtwork =\n            lookupKey;\n\n\n        const artwork =\n            await findBestArtwork(\n                artist,\n                song\n            );\n\n\n        if (artwork) {\n\n            imageElement.src =\n                artwork;\n\n        }\n\n    }\n\n\n    function fixAllArtwork() {\n\n        const cards =\n            document.querySelectorAll(\n                '#rrr-recent-grid .rrr-recent-card'\n            );\n\n\n        cards.forEach(\n            function (card) {\n\n                fixCardArtwork(\n                    card\n                );\n\n            }\n        );\n\n    }\n\n\n    \/* ======================================================\n       RUN AFTER THE CARDS LOAD\n       ====================================================== *\/\n\n    const grid =\n        document.getElementById(\n            'rrr-recent-grid'\n        );\n\n\n    if (!grid) {\n\n        return;\n\n    }\n\n\n    \/*\n     Run immediately in case the cards\n     are already on screen.\n    *\/\n\n    fixAllArtwork();\n\n\n    \/*\n     The Recently Played code refreshes the\n     cards periodically. This watches for that\n     refresh and fixes the artwork automatically.\n    *\/\n\n    const observer =\n        new MutationObserver(\n            function () {\n\n                setTimeout(\n                    fixAllArtwork,\n                    250\n                );\n\n            }\n        );\n\n\n    observer.observe(\n        grid,\n        {\n            childList: true,\n            subtree: true\n        }\n    );\n\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85b6622 elementor-widget elementor-widget-html\" data-id=\"85b6622\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* =========================================\n   REAL ROCK REVIVAL - HOME ROCK NEWS\n   ========================================= *\/\n\n.rrr-home-news {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    padding: 1px 24px 60px;\n    font-family: Arial, sans-serif;\n    color: #ffffff;\n}\n\n.rrr-home-news-header {\n    position: relative;\n    text-align: center;\n    margin-bottom: 28px;\n}\n\n.rrr-home-news-title-wrap {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n}\n\n.rrr-home-news-kicker {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 14px;\n    color: #e11d2e;\n    font-size: 13px;\n    font-weight: 800;\n    letter-spacing: 3px;\n    text-transform: uppercase;\n    margin-bottom: 8px;\n}\n\n.rrr-home-news-kicker::before,\n.rrr-home-news-kicker::after {\n    content: \"\";\n    width: 42px;\n    height: 2px;\n    background: linear-gradient(90deg, #e11d2e, #f59e0b);\n}\n\n.rrr-home-news-kicker::before {\n    background: linear-gradient(90deg, #f59e0b, #e11d2e);\n}\n\n.rrr-home-news-title {\n    position: relative;\n    margin: 0;\n    padding-bottom: 17px;\n    font-size: clamp(32px, 4vw, 48px);\n    line-height: 1;\n    font-weight: 900;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n}\n\n.rrr-home-news-title::after {\n    content: \"\";\n    position: absolute;\n    width: 110px;\n    height: 4px;\n    border-radius: 10px;\n    left: 50%;\n    bottom: 0;\n    transform: translateX(-50%);\n    background: linear-gradient(90deg, #e11d2e, #f59e0b);\n}\n\n.rrr-home-news-link {\n    position: absolute;\n    right: 0;\n    bottom: 5px;\n    color: #ffffff;\n    text-decoration: none;\n    font-size: 13px;\n    font-weight: 800;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    white-space: nowrap;\n}\n\n.rrr-home-news-link:hover {\n    color: #e11d2e;\n}\n\n.rrr-home-news-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 24px;\n}\n\n.rrr-home-news-card {\n    background: #111111;\n    border: 1px solid #292929;\n    border-radius: 16px;\n    overflow: hidden;\n    transition: transform .2s ease, border-color .2s ease;\n}\n\n.rrr-home-news-card:hover {\n    transform: translateY(-5px);\n    border-color: #e11d2e;\n}\n\n.rrr-home-news-image {\n    width: 100%;\n    aspect-ratio: 16 \/ 9;\n    object-fit: cover;\n    display: block;\n}\n\n.rrr-home-news-content {\n    padding: 22px;\n}\n\n.rrr-home-news-source {\n    color: #e11d2e;\n    font-size: 11px;\n    font-weight: 800;\n    letter-spacing: 2px;\n    text-transform: uppercase;\n    margin-bottom: 10px;\n}\n\n.rrr-home-news-content h3 {\n    margin: 0 0 14px;\n    font-size: 22px;\n    line-height: 1.15;\n    font-weight: 800;\n}\n\n.rrr-home-news-read {\n    color: #ffffff;\n    text-decoration: none;\n    font-size: 12px;\n    font-weight: 800;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n}\n\n.rrr-home-news-read:hover {\n    color: #e11d2e;\n}\n\n.rrr-home-news-status {\n    grid-column: 1 \/ -1;\n    text-align: center;\n    padding: 35px 20px;\n    color: #aaa;\n}\n\n@media (max-width: 900px) {\n    .rrr-home-news-grid {\n        grid-template-columns: repeat(2, 1fr);\n    }\n}\n\n@media (max-width: 620px) {\n    .rrr-home-news {\n        padding: 32px 16px 45px;\n    }\n\n    .rrr-home-news-header {\n        align-items: flex-start;\n        flex-direction: column;\n    }\n\n    .rrr-home-news-grid {\n        grid-template-columns: 1fr;\n    }\n}\n<\/style>\n\n<section class=\"rrr-home-news\">\n\n    <div class=\"rrr-home-news-header\">\n\n        <div class=\"rrr-home-news-title-wrap\">\n            <div class=\"rrr-home-news-kicker\">Real Rock Revival<\/div>\n            <h2 class=\"rrr-home-news-title\">Rock News<\/h2>\n        <\/div>\n\n        <a class=\"rrr-home-news-link\"\n           href=\"\/index.php\/news\/\">\n            View All Rock News \u2192\n        <\/a>\n\n    <\/div>\n\n    <div id=\"rrr-home-news-grid\" class=\"rrr-home-news-grid\">\n        <div class=\"rrr-home-news-status\">Loading the latest rock news...<\/div>\n    <\/div>\n\n<\/section>\n\n<script>\n(function () {\n\n    const grid = document.getElementById('rrr-home-news-grid');\n\n    function getOriginalStoryURL(html) {\n        const div = document.createElement('div');\n        div.innerHTML = html || '';\n\n        const links = div.querySelectorAll('a[href]');\n\n        for (const link of links) {\n            try {\n                const url = new URL(link.href);\n\n                if (\n                    url.hostname.includes('loudwire.com') ||\n                    url.hostname.includes('ultimateclassicrock.com') ||\n                    url.hostname.includes('loudersound.com')\n                ) {\n                    return url.href;\n                }\n            } catch(e) {}\n        }\n\n        return '#';\n    }\n\n    function getSourceName(url) {\n        if (url.includes('loudwire.com')) {\n            return 'Loudwire';\n        }\n\n        if (url.includes('ultimateclassicrock.com')) {\n            return 'Ultimate Classic Rock';\n        }\n\n        if (url.includes('loudersound.com')) {\n            return 'Louder';\n        }\n\n        return 'Rock News';\n    }\n\n    function getImage(post) {\n        try {\n            return post._embedded['wp:featuredmedia'][0].source_url;\n        } catch(e) {\n            return '';\n        }\n    }\n\n    fetch('\/wp-json\/wp\/v2\/posts?per_page=6&_embed=wp:featuredmedia')\n        .then(response => {\n            if (!response.ok) {\n                throw new Error('Unable to load posts.');\n            }\n\n            return response.json();\n        })\n        .then(posts => {\n\n            posts = posts.filter(post => {\n                const content =\n                    post.content && post.content.rendered\n                        ? post.content.rendered\n                        : '';\n\n                return (\n                    content.includes('loudwire.com') ||\n                    content.includes('ultimateclassicrock.com') ||\n                    content.includes('loudersound.com')\n                );\n            });\n\n            posts = posts.filter(post => getImage(post));\n\n            posts = posts.slice(0, 3);\n\n            if (!posts.length) {\n                grid.innerHTML =\n                    '<div class=\"rrr-home-news-status\">Rock news is coming soon.<\/div>';\n                return;\n            }\n\n            grid.innerHTML = '';\n\n            posts.forEach(post => {\n\n                const storyURL =\n                    getOriginalStoryURL(post.content.rendered);\n\n                const source =\n                    getSourceName(storyURL);\n\n                const image =\n                    getImage(post);\n\n                const card =\n                    document.createElement('article');\n\n                card.className = 'rrr-home-news-card';\n\n                card.innerHTML = `\n                    <img decoding=\"async\" class=\"rrr-home-news-image\"\n                         src=\"${image}\"\n                         alt=\"\">\n\n                    <div class=\"rrr-home-news-content\">\n\n                        <div class=\"rrr-home-news-source\">\n                            ${source}\n                        <\/div>\n\n                        <h3>${post.title.rendered}<\/h3>\n\n                        <a class=\"rrr-home-news-read\"\n                           href=\"${storyURL}\"\n                           target=\"_blank\"\n                           rel=\"noopener noreferrer\">\n                            Read Full Story \u2192\n                        <\/a>\n\n                    <\/div>\n                `;\n\n                grid.appendChild(card);\n            });\n\n        })\n        .catch(error => {\n\n            console.error('RRR Home Rock News:', error);\n\n            grid.innerHTML =\n                '<div class=\"rrr-home-news-status\">Unable to load rock news right now.<\/div>';\n        });\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf6ef31 elementor-widget elementor-widget-html\" data-id=\"cf6ef31\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* ==========================================================\n   REAL ROCK REVIVAL \u2014 MEET THE VOICES\n   ========================================================== *\/\n\n#rrr-voices {\n    width: 100%;\n    box-sizing: border-box;\n    padding: 1px 0 62px;\n    background: #0b0b0b;\n    color: #ffffff;\n}\n\n.rrr-voices-inner {\n    width: calc(100% - 56px);\n    max-width: 1400px;\n    margin: 0 auto;\n}\n\n\/* ==========================================================\n   HEADING\n   ========================================================== *\/\n\n.rrr-voices-heading {\n    text-align: center;\n    margin-bottom: 36px;\n}\n\n.rrr-voices-kicker {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 14px;\n    margin-bottom: 9px;\n    color: #ef2428;\n    font-size: 13px;\n    font-weight: 900;\n    letter-spacing: 3px;\n    text-transform: uppercase;\n}\n\n.rrr-voices-kicker::before,\n.rrr-voices-kicker::after {\n    content: \"\";\n    width: 55px;\n    height: 2px;\n    background:\n        linear-gradient(\n            90deg,\n            transparent,\n            #ef2428,\n            #ff8a00\n        );\n}\n\n.rrr-voices-kicker::after {\n    background:\n        linear-gradient(\n            90deg,\n            #ff8a00,\n            #ef2428,\n            transparent\n        );\n}\n\n.rrr-voices-title {\n    display: inline-block;\n    margin: 0;\n    color: #ffffff;\n    font-size: 42px;\n    line-height: 1;\n    font-weight: 900;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n}\n\n.rrr-voices-title::after {\n    content: \"\";\n    display: block;\n    width: 115px;\n    height: 3px;\n    margin: 14px auto 0;\n    border-radius: 10px;\n    background:\n        linear-gradient(\n            90deg,\n            #ef2428 0%,\n            #ff4a00 48%,\n            #ffc20e 100%\n        );\n}\n\n\/* ==========================================================\n   DJ GRID\n   ========================================================== *\/\n\n.rrr-voices-grid {\n    display: grid;\n    grid-template-columns:\n        repeat(2, minmax(0, 1fr));\n    gap: 22px;\n}\n\n\/* ==========================================================\n   DJ CARD\n   ========================================================== *\/\n\n.rrr-voice-card {\n    display: flex;\n    align-items: center;\n    gap: 22px;\n\n    min-width: 0;\n    min-height: 190px;\n\n    padding: 22px;\n\n    border-radius: 15px;\n\n    background:\n        linear-gradient(\n            145deg,\n            rgba(255,255,255,.055),\n            rgba(255,255,255,.018)\n        );\n\n    border:\n        1px solid rgba(255,255,255,.08);\n\n    border-left:\n        5px solid #ef2428;\n\n    box-shadow:\n        0 14px 34px rgba(0,0,0,.32);\n\n    transition:\n        transform .18s ease,\n        border-color .18s ease,\n        box-shadow .18s ease;\n}\n\n.rrr-voice-card:hover {\n    transform: translateY(-4px);\n\n    border-color:\n        rgba(239,36,40,.40);\n\n    box-shadow:\n        0 20px 42px rgba(0,0,0,.40),\n        0 0 18px rgba(239,36,40,.08);\n}\n\n\/* DJ PHOTO *\/\n\n.rrr-voice-art-wrap {\n    width: 150px;\n    height: 150px;\n    flex: 0 0 150px;\n\n    padding: 3px;\n\n    box-sizing: border-box;\n\n    border-radius: 12px;\n\n    background:\n        linear-gradient(\n            135deg,\n            #ef2428,\n            #ff7200 55%,\n            #ffc20e\n        );\n}\n\n.rrr-voice-art {\n    display: block;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: 9px;\n    background: #080808;\n}\n\n\/* INFO *\/\n\n.rrr-voice-info {\n    min-width: 0;\n    flex: 1;\n}\n\n.rrr-voice-name {\n    color: #ffffff;\n    font-size: 24px;\n    line-height: 1.1;\n    font-weight: 900;\n    text-transform: uppercase;\n    margin-bottom: 8px;\n}\n\n.rrr-voice-show {\n    color: #ef2428;\n    font-size: 13px;\n    font-weight: 900;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    margin-bottom: 7px;\n}\n\n.rrr-voice-time {\n    color: #ffc20e;\n    font-size: 14px;\n    font-weight: 800;\n    margin-bottom: 7px;\n}\n\n.rrr-voice-extra {\n    color: #9d9d9d;\n    font-size: 13px;\n    line-height: 1.4;\n}\n\n\/* ==========================================================\n   BUTTON\n   ========================================================== *\/\n\n.rrr-voices-more {\n    text-align: center;\n    margin-top: 34px;\n}\n\n.rrr-voices-more a {\n    display: inline-block;\n    padding: 13px 22px;\n    color: #ffffff;\n    background: #ef2428;\n    border-radius: 7px;\n    font-size: 13px;\n    font-weight: 900;\n    letter-spacing: 1px;\n    text-decoration: none;\n    text-transform: uppercase;\n    transition:\n        background .18s ease,\n        transform .18s ease;\n}\n\n.rrr-voices-more a:hover {\n    background: #ff3138;\n    transform: translateY(-2px);\n}\n\n\/* LOADING *\/\n\n.rrr-voices-loading {\n    grid-column: 1 \/ -1;\n    padding: 30px;\n    text-align: center;\n    color: #777;\n    font-size: 13px;\n    font-weight: 800;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n}\n\n\/* ==========================================================\n   RESPONSIVE\n   ========================================================== *\/\n\n@media (max-width: 900px) {\n    .rrr-voices-grid {\n        grid-template-columns: 1fr;\n    }\n}\n\n@media (max-width: 600px) {\n\n    #rrr-voices {\n        padding: 44px 0 48px;\n    }\n\n    .rrr-voices-inner {\n        width: calc(100% - 30px);\n    }\n\n    .rrr-voices-title {\n        font-size: 34px;\n    }\n\n    .rrr-voices-kicker::before,\n    .rrr-voices-kicker::after {\n        width: 30px;\n    }\n\n    .rrr-voice-card {\n        align-items: flex-start;\n        gap: 16px;\n        padding: 18px;\n    }\n\n    .rrr-voice-art-wrap {\n        width: 100px;\n        height: 100px;\n        flex-basis: 100px;\n    }\n\n    .rrr-voice-name {\n        font-size: 20px;\n    }\n}\n<\/style>\n\n\n<section id=\"rrr-voices\">\n\n    <div class=\"rrr-voices-inner\">\n\n        <div class=\"rrr-voices-heading\">\n\n            <div class=\"rrr-voices-kicker\">\n                Real Rock Revival\n            <\/div>\n\n            <h2 class=\"rrr-voices-title\">\n                Meet The Voices\n            <\/h2>\n\n        <\/div>\n\n\n        <div\n            id=\"rrr-voices-grid\"\n            class=\"rrr-voices-grid\"\n        >\n\n            <div class=\"rrr-voices-loading\">\n                Loading the voices of Triple R...\n            <\/div>\n\n        <\/div>\n\n\n        <div class=\"rrr-voices-more\">\n\n            <a href=\"\/index.php\/our-djs\/\">\n                Meet All Our DJs \u2192\n            <\/a>\n\n        <\/div>\n\n    <\/div>\n\n<\/section>\n\n\n<script>\n(function () {\n\n    const DJS_URL =\n        'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vTvHBjY3UxaIACrY-U5KE4zjD8qAyeQ0v49tiRH4E2zIy2Ip4jswdb7kSARs86uZQzzmzDOsKT1zdn9\/pub?gid=909288497&single=true&output=csv';\n\n    const SHOWS_URL =\n        'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vTvHBjY3UxaIACrY-U5KE4zjD8qAyeQ0v49tiRH4E2zIy2Ip4jswdb7kSARs86uZQzzmzDOsKT1zdn9\/pub?gid=497415043&single=true&output=csv';\n\n    const TRIPLE_R_LOGO =\n        'https:\/\/realrockrevival.com\/wp-content\/uploads\/2026\/08\/c8eb6030-cd3f-4b78-ac61-8a1c9b2f6da7.png';\n\n    const SAMMY_FALLBACK_PHOTO =\n        'data:image\/jpeg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/2wBDAAQDAwMDAgQDAwMEBAQFBgoGBgUFBgwICQcKDgwPDg4MDQ0PERYTDxAVEQ0NExoTFRcYGRkZDxIbHRsYHRYYGRj\/2wBDAQQEBAYFBgsGBgsYEA0QGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBj\/wAARCAFeAX4DASIAAhEBAxEB\/8QAHQAAAAcBAQEAAAAAAAAAAAAAAgMEBQYHCAEACf\/EAFoQAAEDAwMCAwUDBwULBwkJAAECAwQABREGEiExQQcTURQiMmFxCIGRFSNCUqGx0RYkM8HCF0NTYnKCkpOV4fA2RFRWhIWyGEVlc3R1lKLxJyg0NUZVZIOz\/8QAHAEAAQUBAQEAAAAAAAAAAAAAAQACAwQFBgcI\/8QAQREAAQMCBAEHCAkDAwUAAAAAAQACAwQRBRIhMUEGEyJRkrHRBxQVUlNhcZEjJDJCcoGTocEzQ3NEVGJjsuHw8f\/aAAwDAQACEQMRAD8AxAAshRSCQkFRI7AdSaXW1\/SwSHLxOuTh\/wADEZAH3qJz+FTuFptmF4BXy+OpBlTGAUE9UtBYwB9epqplpAzxVNswnzNabWNl0VRhz8JEEszQ4yMD7OBsASbcRfQX101spu3O8Mc8xdQf6f8Avo4XDwwA4jah\/wBP\/fVe5IrwJPegab\/m75qUY+Rp5tD+mFYJuXhgf+Y6iV\/\/AGf76KXcfDQH3YGov9YKhDZOaP8AdIxgU3ze333fNEY2Xf6eH9Nql4ufhmPigai\/1orn5W8MQf8A8BqD\/XCoappKumKJVF54FHzceu75oHGnj\/Tw\/ptU5\/Kvhgf\/ADfqH7nhQDdPDXPFu1ER\/wCuFQj2VaT0rxQpPaj5uPXd8ygcafxp4v02qcpuvhoDzbNRf68UMXXwwPW26j+54VAcfKupVzg0DTD13fMoDHHf7eL9Nqnxunhf2tmpf9eKAbr4ZdrXqT\/4gVCRtI6V0o93pQ82Hru7RQOMu35iL9Nqmguvhjnm16i\/+IFDF18L8f8A5ZqL\/XioEtHyoKUEqo+aD13dopnp1\/8At4v02qfG6+F\/\/wC1ajP\/AGgV4XXwvPW06k+6SKg6WkmjPJG3pQ80Hru7RQ9Nv9hF+m3wU3TdfCrHvWjUx\/7SmuKu\/hSnpZ9Sn6ygKgxZwOKJeQAjpQ8yafvu7RTTjb\/YRfpt8FPDfPCscCxajP8A20fwoP5d8LO9h1If+3J\/hVdV6j6Pb67+0fFRnG5D\/Zj\/AE2+CscX\/wAKR109qU\/9vT\/Chi\/+EnfTmpv9oD+FVrjivUPRzfaP7bvFN9NSeyj\/AE2+Cs0X\/wAIcc6b1R91wH8K8b\/4QEf8n9U\/\/Hp\/hVZj4DXKHo1vtH9t3il6Zf7KPsN8FZZv\/hF209qn\/aCf4Vz8v+En\/V7VP+0E\/wAKrWvUvRrfaP7bvFD0w\/2UfYb4KzBqDwi76c1T\/tBP8K7\/ACh8IQf+TeqT\/wB4p\/hVZV6l6MZ7R\/bd4oemH+yj7DfBWeNReD\/fTGqf9oj+Fd\/lF4O\/9WdVf7RH8Kq+vU30Wz2j+27xS9Lv9lH2G+CtAai8He+m9WD6XFP8KF\/KHwZ76b1Yf+8U\/wAKq2vUvRbPaP7bvFD0s\/2bOw3wVpDUPgyP\/wBNas\/2in+FCTqPwYHXTGrf9pJ\/hVV16h6KZ7R\/bd4oeln+zZ2G+Ctgaj8Ej8WmtXj6XFP8K7\/KHwP\/AOrGsD\/3kn+FVNXqBwlntZO27xS9Kv8AZs7DfBWx\/KLwRz\/yW1f\/ALTT\/Cu\/yi8D\/wDqzrIfS5J\/hVT813FD0Sz2snbd4pelHn+2zsN8FbSdReBX6WmNa\/dc0fwo9u\/+AR+LS+uPuuSf4VUGD6UIZxTHYOw\/3pO27xThiDjvGzshXD+XPs\/\/APVrXI\/7xT\/Ci3L74B9E6b1z\/tFH8KqQYzyaEcCmeh2j+9J23eKk88JH9NnZCtVN98Bc+9pzXP8AtFH8KUN3r7Peff0\/roD\/ANvR\/CqeUsdAKKKjT\/QzT\/ek7blC7ELbRs7IV4JvP2cSnCrFrwfMTkmohqF7w73pd0tdL8EFXvMXKKglIx1C0Hn76r7J9TR7TTqh\/RrP3VJT4X5u7OJnn3F1x+4KjfVmYZeab+Qt3LRepi2z4Hy4zKAlsQGgEjt8Jqhtm5RzV+6oSn+4zMJ\/6C1+5NUaUoCSQarYS76N34j\/AAvQvKMwCspwNhE3vKTCIlQ6igGJjpSd2StLpANOUS1X+ZEEmLbnXWj0UO9arnZBdxsuAp6aSpcWQRlxHUCe5JPZljpXvIc9DSxce8xh+ftUpPz2ZoTcwJ4ebUj\/ACk4pvOE7aqR1E5htIC34gjvSMMKHUGuhtYV0zTkZkZSeAK82uMrsKBeeIQEGtgU3qyOopOtO49KfExo7xI3baGYTCDtDqTTBM3ZWXUE2XMRoo5srhSKfnICO22k67WtXKUHHyqQStKrOp3N4JqHBpW0ErTjGaPNuIHIIoSYq2xxTswOyhc0jcJMuMk9KK9n29BStW5PUUEEHtTgSoiAkZSUnkYroPFHLTlVDSyNmTzTrqPKbojHFEPctmlagkCkzgBSaIQKbT1r1CUk5JxxmvBClKCUpJJ4AqRRELyEqXnaCcc8VzaScAZPyp\/03pm\/3i7ITbbZJfCFBK1IRwnPYn76sm9eGrsm2R7zpxsuSFr9ilRG0DEdWEjP0GTk\/Oq8lSxjg0lWI6V8jcwCpxDKiw6ogjYAf24omtVxfBCJd\/DpiZLZS1NYSlgrRhIkoSoZPzJJIB+VMtu8CkQGJF4v9qfQmM4oxIZwDIzjYD6gEjPrVUYpDrdWnYXLpZZxcacaWUOoUhQxlKhg0CrL1F4c3o3ZYbgveblSnnFn4ldVH0CU9Kr12I8mUpltC3MHAwnk\/OrsUzZBcFUZYXxmxCTV6hLQttwocSUqScFJGCKDUqiXq9Xq9SSXq8a9XdqsdKSS91rldxjvXeKSS5gk0IJNc3Y6UYwxIlSEsR2lOOKOEpSMk0CbalPYwvIa0XJXNoHU17IFPx0XqFKUFcQJ3nA97p9aUHQ1zZnMNSCPLc6qb7VVNZAPvhdAzkziztqZw23BG+26jJWe1BJPzp1vdoNnmoZClKCxkZ61Y1l0lBf0clTraAtTeVHHJNRVFfHCxsm4Kv4NyPrsVq5qNpDXxi5v+wVWxYE+UN0aK64M4yBxTwNH38x\/MUw2jIztKuatPTlriRrcy0GwcZAzTouOtL6sxx5ITyT1B7VkTY47OWsbovSMM8k9OaZstVK4ucBoLWBP5FZ7kxn4klTEhsocT1BotKQe9SfXPlfygShvG5Kfex9eKi\/vJ5xXQwSGSNrzxXjOMULaCtlpWm4abXUq0dYG7nNW68AUo6A1Pk2WA0stBCCodQMZFRrw6cUEu+73qZNRVKmOurHCjwO9c3iE8nnDhfQL3PkThVJ6HhlbGC9xNyU\/apBPg7LGf+ZND9iaot0eWg85q8dUuEeD8rjj2No\/sTVEyVlQODxVvCfsO+PguO8pFvPIP8Y7ym5a07yTWrvChq3P6LYMiK0v80OVJHFZMUCVGtceEEQO+HySf8D\/AFUsd\/pNR8mLgJqm+2VvepWIWipMhTT4ZSocEdKBI8PNGXaOptgslSumQDWbPEG73S2+IEluHcH2kYHupVxSfTXiXqG23yOl6at9pawkpUeeaymYZOYxKx3C67Sq5WUEVa6hlLmkOy3IBb1fG35KVeIfhB+Qrm1Ig5THW4EupT0wT1HpUph+A9quOnWZDRCFKTnchZz99WFe1Kvvh6xLeGVkYJNch3R20+HKZaSctjHHNV3YhUFjWhx0Wszkzh7c8whZmeQCCARpfbqvvoqgn+A1wi5MGc+n6+9UG1D4d6rsLanyoyEJ5I2kKq1YvjxA9pUzKWQUkpJU386snTd+0\/r+0Ljt+S6og4UOoNW21tbTkGYXHvH8rEmwDAcRY5tOWgjjG86e\/KTbT4LIFmt98vTym4EVTqkfEDxinh2Df7YgplWmSnHcDIrQOk9KRLB4hy2DGQWnFleCOKmF3kaSVPVElR2UqHHSnzYx07BmipweT6CONscsrjJYkkWtvpoRfb3rHEi5vt8ux3UD1UgigC9tKRtKU1rd7Rmj75HUzHU0FKHAOCKzx4oeGytJ3FUqO2AwVYUE9B6EVdo8ShncGObYrmMf5E1NDA6pppc4bq4FuVwHXubjrURRJYf4wM1xTAByDTbERtkDBp4UlQI6VsHomwXnX2hcpGps+tB94UrWgEdOaTqG0gmiCmEJO4hZFEqQraeKWlYAyacrJp266gnobgoYZbHvKkSHEoQkZ6nPX6Ci54aLlJseY2CR6S0tc9U6gatdsiLlOPKCChv4uTjI+lXnpb7PNzscp6VraIym3t5USVgE4xgpP38irM8N7cx4f6ZaWktXG9vJ3qeLSW22QQAOcAgfXrTDrnWmonZO2ZKjqQrny1KykdMZA6fKueqMQmneWRaBb9Ph0MLQ+XUqbJmaaasceFaIkRhIQge5hG0DAGcdSDzk+tIdB2y3WZFzudzfShp58\/zZo7lPEHJz6ZrPsvVEtm6sLbK29qtqmgrI2n\/61JBqx4SvyXDcSjDOXTnk5xwn0IHeqhopGiwO6uCqiedtlfH8uIl+u7MS2WxpCIhG1ts7gnp17c\/vpvi6vZvOo5NmfeEp9P8AS7T7iAMcA\/4vc1BYmpWNP6bYs1litqnzRlbylDKieqj8uuPxqWaVtGnrfa1vyLs0i4yUe85GAKs8cJH9f31EYwzU\/kpgS7QJde7rpYQnLExbYsyUoBtSnc7UHI90Y+IjOcVSuoLBcbq+uJbojSG23PzKYMYIKhwkFR6kkdB68mrztzXh\/p21hT0d9VxcBB8weY84okfD+r9aFBksO+3XBpvYtYQGYm0BTKsYAAHPQ5z9KliqDFqwfNRSUol0eVk25+HTkS4XGZOJK21HY0MuAuHGNyh25P1xVa+yPrlmO0ytbnOEhJycDJ4+nNbwNqg+Sp9tCUt8hWClG8qxuz33dcHHFVLrbw7lSXpSrE0yhTrZbSmOouOJTgHYVKA69zWtS4pc2esmswoAXjWY9pPauhI9afLtpq62iL58+P7ONxQEuHapRGM7QeuM9aZUoUe1bbXBwuFgOYWmxCElKdw4o5SEhHAoDbfvjtSl1ADVOQTcv4qDihL+M1wUkF3FTfQUUAvTygFQOxJ9PWoSBmrG8OVMuxXoqlgLC9xBPY96zsTcRTusu25AQMlxqEP99vjbRTOy3du5vvMBjHkOBBUehp\/mtx5G07AlaR1HamWDFtun1vqMkKDiy4pavU9qa5GroUW9qacdSEuJBGTxmuSMJkeeZBsvpSHE46ClYMUkbnJsdRpqbfwovqmL+UfECHCCeABux2GcmrRtdviIs+wyEhRHwHtVU3LU0NGsfa21JICNilpGcUnXraem7h2MvMdPG08bq1JaKedjGAWAH7rznD+VWE4RW1dTI7M6SS2nBo2\/Le6tlMVMQowQAMkc02rvzK578Fxwb0jP3VW0\/XtzkHDKUtgdNxyajj92nvT1TPaFJeUMEp4oQYLKbmQ2UmLeVWhhLWUDC4A68ARbglurG22NUvlpwrS4Avk5IPpTLkGuOLcedLjq1LUepJyTXAD2FdLEwsYGk3svBsRqm1VVJUMblDiTbqupNpjUCLPvSvgH5Utla3lGUpUcq2elQ8bvQ0alGR0qB1FE55e4albMHKvEKelbSQyZWt2tutEarSP7i8v\/ANia\/s1RLiAEKq9tXNrHgtMOf+Zs\/wBmqLUAWlE81lYS76N34j\/C7DyiMzVsH+Id7k0lvKiRWu\/BZtx3QbLaT8TIFZHKgFKrWXgtJWjQbZSMENcUcdJ5pvxTfJsBz1SBvlH\/AHJJqPwQj36\/Oz5Di\/MX3S5ime2\/Z+ZhX5qW84pbbatwSpWRSDU\/jHdNPa4ct7jbim8glaVcAE+lWzZ9Qvag0n7VEXl0o3DB68Vivkq4Y23JDSNF6K2mwusq5C1kbpY3dI5TcO6z16pDre7QdN6KTCadSC2AMZ70Q2zJn+EpDKSpS0bgBWdfEHUWoJWsPyddFlDLboKUj9Lnqa1RoC4R43h007LQC2hoE5Ge1NqaV0ETJDu7VOosebVTz00LT9C5oN9CXEm\/5dSyJP0Rqhi4SHDa3SkrUQR3Gat\/wBsN+t1zelzWFMMFQISrrxVsx9Q6VvU4xWWGSs9MpAzSm+Xm0aOsDkktIZykkHFTVGKSTx8y5vUs2g5KUmG1XnUJfms7QkW13JsBsE1P3Rn+6CWUY8zJP3VRXjTPnw9cIciTHWd2fgVjNTrw1vSNY+Iku6b8tBWxH0qxtTeGmm73M8+chhbnYr5IqGBwpKgGUXtwWti\/N4pQczSSZS4Cztfuu3011ssz6D1tfo2rorD05x9tw7dqvWrp8YGUTPDpEx5I8xTBzn6U5WXwT09ar4m5tttpCTkKySBUV8d9R25rT5tMN0KOPKSAfxqy+SOoqmuhbbZZtJFPh+GSsrpucyh5vcmzS2wbc66ngs1QnlGSnNPbiiUjFNsCOj2sDFPy46MDArq3uF14AyNwbqm0uKHFdGFjBob7QQeK5Eh3CfObiW+I9KkOHCGmU7lK+6kCLXTLG9lxuI7KkIYbTlSjgCtR+D\/gNbo0drUN7Zf9ozuaakBJUnGOcdE89z2qOeEfgrqh27N3fUbTUGInAEdzaS6Mg856Y4+dXV4gaztenbKbIXXW2g375awFuHj3SOx6msDEq10juYhPxst\/DqJsY56YfC6YtaXjTFnhyIkXbMkdVLKisBXHPXkj07VQd9vkaXOS8mVIbXjalKUhfHHH\/wBaNW9ddb3H2azWx10JdCm0pJCEdBuUf1qnth8GZrxai3Ihxwjcpw8Y5HBP171HE2OmHTOqsvElUbMGipZUZ+dLJbQW\/e3EkYGOOaVxGZrc5Uttnzc9dw+L1rQyvDKHHnttoSlTTY2nI6nvmuMaFjx5nlJZQWj2x0HpUpr2KWPCJFSVqjSZkp6ZKKlleE7T1wOTj04HWna2X6dbGnjFjZmq\/Nt5HCAf0vwwKto6MjRLiZCGUhBGOnANBj6QZjTnJDcdCt\/T9ZPyqF1Yw7hWm4TKDoVX1ifujdxzc4ch9bvxLJwex5PYfSpO7rSLbW3FrabLuACSgjjg4BHOPrUtZtzTTe5bQSE8EY6V1ywWmWCZMRtRX3KetVnVDHG5CtjDHsb0SoC5ru2XQx2mC03uV+e2hXmHpwCenrRDqrku5OJtmonW8JG2NLWHEjpwCfSpPefDi2yrU6zbHPybJWPzchtIJSfp6VQGpU6x0HejbrslGVkFmaUbw4kd0K\/eKv0zGTaRmx6isKubJT6yC46wjPEK1X2dd0P3WLh3ytqXVubgAkZ6noD6D1qsQdvBTj61oix3qNqO1tW6Y01PaZ2uBuRgKR05Tzzjkn5EVXGsNP6e\/Kzz1rvgeQjOyMlkgp5yU7vlk81rUsxH0bhssKrp7\/SMO6r9JysUY+SG8V0oQH9qc4+dekp\/NitALMIsm1XU14UaEBRoXlikSk1pKJ70phTZUCUH4jymnBxkUFMfeoCl7duwATUTy0ixV2nZK1wkYbEcQuXC83O5oSmXLWtKeiRwKblFROSoqPqTmnX2RAHNc9nbB7UGBrRZoT6ueSd5fK8uJ4kkpqCVq6JNHJZc9KckstjtRm1A6Cn5lVATX7Os9aGmJk8ilylJHFcDopXSIHFEJhj0o9ENJ6prodoxLtLVDohA9kQO1d8hscYozfmupbUuhdK4V+apZDngrLT6w2v3JqgJLfkkjPFaB1QCnwZkqH\/Q2f3JqgriQptRyM1z2Dasd+I\/wvTfKHJlrIbezHeUyOLSFGtPeD8zytFobKgPzJPP0rLSuCc1Yunb9rK06VEiNYpb8FKcB9CTjBOAT8vnV7FaYzRNDTxWbyDxumw2qldVXyubbQE8b62Td4oK36\/dcJzlA\/fVgeCOtlMuiySXfhOE5PVNVPqRF+k3cTLzbZMVTo\/Nh1spyPlnrRdjnvWS\/wAe4thWWlZI6ZFGSkEtIIuIGnxRpeUjaflDLXsFopHEOB9U8be7cK+PG\/w\/ccZa1HDa5SsKWEjqDVkacZz4Llef7yM\/hUNm+NGmrvoAQZC2VueXtKFZChQ7N4oWEeHTlsTKjj3SMFWCPurnJBMYxG9ps33L1yjbQmd1THKzPJkJs4ahpPS36jr8FSFt1E\/p\/wATVzPOcLSZBSpJUcAZrUF9jQtdeGSXGsLUGs8c5GOax5dnm5d7lyGiChbhUk\/KtB+AWt4ptblnuj6AloFJ3Ht2rTxKlORkzdxYFcZyRxoSVlRQOOYZnPZ79ek38xqkHgXbXrbrOTa18FDqhz6dqU+MGrLxpfWDAjSCWlOELSo9B8qkttetNr8V350RaUtuHOc1Vfj3PRO1Gy6h0KTuPIPWqVO1tVVgyDfwXU4zFNgODvdSutkaMp46vuB8jYq\/bHqJWpPDBTkV7+cJbzkdSMVkvW7l1OspDdzfU4oHLZPTb8qn3ghrFUOaqzSnTs6DJ\/RNHeN2mfJkN3aO38J3Ej9U1ZpGCkqzG7joP4WNjZ9N8nvPKYkffIB6tHg9dtwqmt6T7QDmniQtYAAz0potvMoZ6VInWkbB9K3XGxXj0ha5oyprSkuK5pfAdkw7i2YTrzT6zsSWVFKznjAI55oGG2+cirB8H7S5ePEWMtlDAREBkvOqTvcSlPZIPAJPc9KZPJkjLio6eLPIGjdXZpyFL8PvCROoNTPvytVXBIEWPJeK\/Y2scAjPBPUn0xVaMMan8RNSqtxllxlRxIklP9Ek490Hual3ixeJ11uUHT1rZZVPmEBPlEqW2j5nsO\/0qdaF09D0jZY0IlJWMKec7qV3Nc46Qxt50\/ad+y6eCDn38391u\/vKmfh34c2TTliSzEZbabbHvuufEo9z8zS26XGBAlOrjoCj8Kf99IbtqsPR0MREJbaRw2B1z6nmow7LXIWVEcnqd3Ws9wc43vdb1LTDciw6k6qnNuBS9o3EdO1Dj+W6EkABXzpoYLnlDfj\/AHU7W6KgthZ6+tP5srSAY1GmPucKNoI9DSKRFQ0okjaPTNSNpmP5e9QKyeBzj8aRzIrL607gpI6ZJoFhQztuo641lScAc9c9645GJZAUMYNPXsW1H5vArzcZSsYxt9O1MspA5pTQIu5AVkqxwKatSaVteprGu13eGh9lfIJHLavVJ7GpcqNsICW0k98nFddQg7fzYST3JqVji03Cz6iFrrg6grIWoNGXPQWpmm3HFvQFK\/m8nkZGfhV6GkmpLW1dWjdYriWZKG8SNo4cAAyoAdCB1rUOptOxrrbXrfPjpcZeHBPUHsQfUVQ0rTd109qByNIjhbSQffKvdcR0z+B6d63qSsMn2vtD91x+IYeIdWfZP7KjpEcNSRhaVA8giipKR5YqQawtCLXqhQixHm4rgC2nXDwsH0+lMclJ8oZrfjdmaCuUnblcQm1AyTXV5ChQ2x7xrzg96k5KMI+Inc8MmnpSMNjHpTLF4fFPxBLacelV3brVjH0NkgUFbjRZSrNLQySeak1n0a7coin8nAGeKLpWt3VAwuKhexQ6ZoJSsGnG8sC1TSwo59M01KmJ7VIDcXCjLQELy1qoSYrijQES055FK25yE8kUiSm2BXEQFqIzk0uZtJNFJuiUgbUiuqv6m+wFRkvOyeGsG5TkzZQTyDTk1ZWtvw1GhqhSf0qOa1StxRGScCoXtlU8Ijc7Krt1cop8FJnPSGz\/AGaz5KdOVAVf+s1f\/YhPx\/0Jn+zWfFKyTmszA9Ynn\/kf4Xf+UXSug\/xjvcmtXVWa2\/4aW+zv6At7DzUcOBlorcONyyRnZ16fKsTL2bzUzs3iXfrIYwjL3IZUCUFR98AY+41NjeHy1sTWRGxC4\/BK+Kikc6XitQytCW\/UXjE2gQnEMxGy86l9B8oem3PBqsPGvQMbTVunPRo6SlbqXW1oQOB3HFR+T9ou\/JQVQWZAdKdoEh\/clI+7k12d4+OXjSardcYbheLZScoC0qUe\/PQVhUeG4lTzMkIu0WFrrcq8Sw+pjczNYnjZWb4a+E1jvnhAJioUZxbkYectQBXuPpTU94P6KuaXdNW6OW5kdsPrfSv86Bnoe3NQbRnji9py2woamnEtIO15KOfd7Y5qfp8edFxSu9NlozZO1lzYwUuhI5BV8hUc1PicUz3NzEE3Fv5T4arD5YmhxboLG\/Uo274I6evUx+BYnFokQzseSHMkH\/G9DUX0f4WS5euLjBiS5KVwiWlIZXhYc7c9xVqQPFXQenZUy4212GiZdFhx11tRUXldirn3aZNEa+sGmfEa53RK0pckykyHSVgp564+VSsqq8RSCzjoLX6+KbzNEJo3tIBB1sbfBNMzwk1tbQ5dvy1PWEjKXPLCkJPoeahcvw811qV+Q\/OWhRjJ3fCRuHrWm9R6rtF5slvukWe+lgveasMOANHKuiqVHXOlBNisMuRxvdVHkKyMYKMjvVKDGatgzFgLvhtZalTAJ4zC+Z2Q62zEg+\/UrJNn0bq+13JufDhHzW+cfrD0pXrHV1+mQUwbpGUypSdvvKzwPStb2+96HYCUpdZWtbw2pyM7dvB\/Gs3eOdkKZaJkFbBbQ6tRSDheDjtWph+J+e1QbOyx4FUppqnCqCSCjmOR24047\/DTqVUW1xPtYBNSCQ5lCcHtUVtaVrnjgmpU40QlORXUyDpBcVE4liQulRTWjfBe1i2eFypjcd1mVc3cvPLPLiEn3Uo9E9SfWqGtUBu43+Fb3FhtMh9DRWRnaCcVs3MewQ40OM21taaSzH3dWUJAGQj1PqaycTl6Ij69fktbCoukZPyTJYdKoi3WdqycS7JUnCFL42J9B6UfNuT8mG24240AklRIPKjXrrfsWlcdtZLauueCfrUUj3APoWjjyycEDpWIGuec7l18QbEMjU7tXNb72FOla+hJPWn63FLvvKAJ7k1F40cIkADvg5FSC0oeDq1o4BPf99POXgrUb3XspM2yz5ickEep9fnTi0lKFAFQSg9jzTW1lCApYJA67u\/1p0YcBUhW0HcQP+DTVK6904ttoUj4kHHOTkUU95eQVKJSP8U4pS3uwUgAn19aJfCVrCTjPUjdmmWQD9UUtyGlpAy8oqOPh6UbmM2MIK8dyUGkThzJSnzE4HbrRicr7OYHr3phUoC75IJy0tCs9icUUuK4lAKmylJPXPWnBDDaikgFf14NGoib3Qokkdh2FNAKifImp6KmREIWkgJ7mozqfTjE+2B8tBTjXvDcO1WWIJVE3FscHBFNl0irTb1qaRvOPdHr8qsRgtIcs+bLI0tWTPFPSTn8mhMzsEP88kEjBQr5dzVFTlDy+K2XqS3JmWl11ptstuJWhaXACUqx8ChnoT0rG1zSUynm1p2KStSSn0OeldXQPLmWK4LE4w19wmtondQlnKxQUgJNe6uCrblRjNkthNgugmnR6ShoAZHSmyMopXRUt0l8j5VAWm61WvHMaJWu6bTweKs\/SOpvLsrjZA5RVN43KqcafHl29Rz+jVeqaMqiY43TNq59U2+eZ0HoKYQ0c073hYM8035zU8biGhVXNFyiQnHNDBoe2g7OeKfdR5UqZbC080hmhKFYBp2iNHy+R2pquSdr1OZuonJEeTSqEgqcV16UkBpdbz+cV9KfJspaUXlF1pzVUZLvglOChx7E1\/ZrP8i2IKT5daH1SgjwAuLg6iC0f\/DWc0yHfOwSTXOYCbxPt6x7gvRfKK5prYR\/0x3lIl2l3ceD+NcFpf8AmKkTSFuJGE80YIcpXIRW3z1t15\/zIOyjBsz\/AG5oldqlJPCKmzMKQOVt07wre0vAdazTHVWVObSZlV3sMsdWjXRCknq0qrnFigqb3eUM\/Sk7tliI6Mj8KjGItPBSHDnDiqh9mdb6tEfdXNziB8B\/CrJl2yKM4SPwprXaGFHlIqdtS1ygdTObsoYLlOaZLLch9LZ\/QCyE\/hRRnzAdyZDyTndws9fWpkqyxSeQKKcscYJ4SKeHs6kwxydaixvd2L4dNxkhYG0KCyCBTnO1febpbkxJ8oPJACStQ99Q+Z70t\/k+yvPAFFnTaSfdIpEREgkDRIGYAgE6pvszrYmdqlEh1CkDntTTDsIYkZJp2MEZGFU2QguunxBwbZP\/AIYx0S\/Fu1F9SEtRyqSfMGQdgyB+NX7aJUm43CfdprpJzyVHoM+6kc1Rvh+fydqx6Wl4tlEN3JGMkEcjmrMtV+bFrQkJASvkJzwD6\/hgVk1rS55I6gt7DXBrRfrP8J5uCvaAUo6E+8rp9wpBCSlpxTSUE85+leampWk7nPcHRJo2OoOOFxtez+us7Kdl0QkboU+293LiUrPTgAipTALCVAKyfTj99R2ywVysLRzz8WalIgFkoKXfMJPvfKmFoCuRuvulSE+0OJSBkA85p6jxQnABwe2aRx45QAE5AI6\/8d6cYDiUFfnchAzu\/rqItJKtGQBuiEUL8zaCSccikB3iatoJTnAPSnK3vMzUhbJ6nr6\/Kk9wdah6sYbWB5TzY57Z6fwoCMkXTRKAbFcYYU64n3ACPlinCM4kkh5Jynj6\/Wi5F0hQFqUpSUoT8Syc+naoRf8AxRZtDZbt9tVLdc+HJxn61K2E3UMtU0NurIShk4c2jb6E8UWt9lLuxp5Kc84J61niZ4oannyzHfKmCTw3HVkJ6daklhvTsxHtUqS4t1A5cbBBB44OaL4SAqbKhrzor0fmk2xlpoZIGFn1pVAhCRDUt4Dbt7\/dUS0vdnZpaiS2CjJGHFH6dfQ1YrDTLjZaaztHB5+LpViBmY3KqVMgaMrVUF9szb1mlyYzYKtxz2BGevXtx91YO8QrX+RvEq929oEIbkkgEYxnnA+XNfR69Qn7faLxEVsU20grZ9Tnnn8MVhHxzjIR4mGYlwLTLiNO\/McY5+fFblHYWAXJ4kcxJPWqkGRQ2RufAoxQGDQYxHtOKv21WUDYJe23g0ilYEg04HjHNN0kZkKOajeLOV5jvoEQFYUM1L7Q+Rb1AelQ0A7vvqWWtQTb1AntVeobcBNjeU03BRXMJJpMB60ZNXmYQKL5xT2iwUbivV1CsKwaCTiuAgrGKdZMBT9FwWenamS7Iw5Uhgsj2XJpkvadrtFm6Y\/UpmApbAT+cV9KSY70sgK\/Pq\/yakfqE6A5XArVmok7vAC4JIzmC0P2JrPKYOXwQK0nfmUn7O1xc7iE1+5NZ1Q6pL6cg9a5Xk+48zJ+I9wXovL0h1bF+Ad5TtEibEpO2pNbIXmoG5r9lNtvfbKElaQalNvuTLZSNqasVUjraLm6aNt9Sht2lrA3MfsoD1tSFfm2sY+VPrN0ZXj82ml0d6O+ohLWSfSsh1RI3UhazaeN2gKiyAUEILf7KMdZSoctcfSpE5EaS8FKZUPupSG4BRhacGm+dcQE8UvAlQd63x1pOWx+FM8q3NAkIRVlrtsN9B8o0jc081nKlpqeOutuoZKG+yrBNnLrnTA+ddes+wdasGTZ2WQSFJzUdnMlBVhQxWhFWF50VCWjDBqoquGG09eaIS0cnmlctLgWeeKToCh1NaTXGyzXM1SN5Cgvikylup6GlsgKUeKIDKlDOKmDlCW6p60fIxPnturUPMhrRwnOfl8qfo9xUwyhgKGVgfh3qMWNLzMqY4lSk7Yq8BPf5U5RVqXdGdoK07OuOKrzC5JVyncRYKXRbmrhP76l1ldYdhqkSVhKEnGM8qPpVfKCm0b+Se1LGrkttDcZOfdGTz1JqiWA7LZjmLTqrEc1NHhFLEJwoz8SE84ppuXiRfbe3\/NChSegWlO\/FNOn7bJuVy3TD5bKuA2nkkfP61adv0tp2NbgJqI7aMceYofu71A4sYddVZaZZBobKubV4sX3z2zIlOvEnkOAJAHFTi1eJJfS4zMQkbkn3gfl3qOapY0FGUGEPFp1Xwr8tSUn7yMVUep5cuzTm\/Y5vmxl\/CAelPEQl2Fk0zyQDpG4WrNHXVD9sCkr4JOBntmnrUdtnTo8WZFRu8nIIzgkH0qqPBy6e3WptUhZ465PWtAR5sUWvYG+CMZUc\/jVF3RcWrY5zNG2QBVVdkSXENSHVrZcbPKs\/EMdCDUWdNtZlha0F1a+\/epXrZx9FwSylCgwRvKh6VVlwuUyRP2QA8gDO1tlvcsgDkn5AVJG0ndQyPaBeynFttMOUvbGt20k\/q7fxpzVZLnbXw+Iagx+kEjr+2qh014mMC+JtqbTqO4vrSpSURUhSilIypQSOcAAn7qubRmvrRe47DFpvCm3XvggXdBb83kDCFnjP3098EjNXA2UUdXBJ0Y3AlSOwTYb4Q2pxWwEZTnBHSrLjzW2Vx32DllYCTk9OnNVXMiRzenpENpcZ5lYamRVf3tZAI+oPr3qe25txqys+edqVYKdx5J44p0TyLhRTMa4gpv15c\/ZJzSHidr7ZSEjnKh0yPT+qsb\/AGjbSppFjusdslvC2FuDkAE70AnPUjP4VsjW1lduEi0vtr2LTIAK1HgAjnP\/AB3qgdUaGuHiSlnRqiuEzGnKeVIa9\/zEgEAAE4GN3Ga0aecRnM7ZYNZSGY5IxclY5JUE0ZAaKpWam\/i94Z3Pwn10iwT5SJseQwJUSW2nb5rZJGCOygQQR\/GobbVfzjpW3G9rwHN2K5qSN0Tix4sQlUn82oU1uufnFGnSfytOKaloBUSaLwCU1riBYIjzDuqSQHD7AfpUdCBuGKkUJvFvP0qKQAhOa4hM8hf88NDCxgUS8j+emlaUo8mjl0QzlEFaAaGyEKfSAec0jeOHcCjYisykD50sqOdTaI2EwRUb1CcP1JWuLenBqK6gJ9q++msGqaSmncKUwVZfV\/k0jFOVpa3vr4\/R\/rqayAJWvL2hSvs53EJ7xGh+xNZ5dYLa05HetFXhez7NFyX39jaP7E1nJb7i3k5GRnrXHYBfm5PxHuC9J5bm9Yz8I7ypLb44Wwn3admWAg5KTTZbJiURxkU7NzELTgdaszl11gQhtgny2tx1ABQqRWxMVmYlQP41EIjq\/MATTit2Q0Q4nPFZE0ZcbXWvC8NF7KyVRoUiLlJBNMUm2MlStq6a4moHUQT7pJxSaPfn5L6k7FD6iqDIJWkq+6eNwCWIeTCKkhYpHNu6j0IpHcHXi7u2E5pplPLRypCqvwxA2JVGWa2gSuTPcc680kMf2gFSsffTW\/cwgfCaTqvhDRSkHNaccDraLNknbfpFHy7a2ScbfxppkwPKQVA0W9c3iSdxpK5cHVJwc1fjY8cVQkew8E3yXFNr+VFpnADrijX8OcnrSWJbXbje4tvbXs9odDZX+qD1P4VdaRa5VLK5zw1u5TzY5hcu\/kIGVPtLaA+op3iPBh9htONqx09DUztdy8Iwti0p0GI70QlKLkZLgfecAxuWrOOTzjGKh8hhUadFQpIwlwgqznPPTrVNs4mJsCPitaahloy3OQb9SenGFrZARlWfSmV1p9N1Q0G1bir8amUdEAy2kOuPFxR4DXOPuo+728yJCBBSPNI8vzFp2gDuo1V53KbK4YC4XCjp12LXhmLuBB2J2DLjyvRI7D\/GP3VG73r7Wj9xdjokfkwNlP5tAKnHBkZ9898fSp3E0Cm3S0TfZ3JSzje98RH0FSqDZIBeQ6qK+6sd\/JCf2npT45oWG+W6T6aolFs+X4JjtthTL0vdrq7eL8G1yN9tbnnzFONbRwps9Oc8+lQK7wV\/k1bk+AYz4UA1tVw56+7+jVz3Rx4tCOyEsjGCEncrt1NV7fWmnbklpRCtvqadz2c5rJ4peaZlLr\/FTDwiWzHhKbWoI2p3EHv0q9rY6JkFaEL5Azg1QGgk4u3lpIAx37n0q87CkR5ALijtx\/wKy5W\/SEroaZoNN7wkdwaS5NfW8wpwvNhKXCNwbI6+7+2qunW1y1Xd6VGlvS1KG1fmN7QAeoAB+v3VebzaXSooRgHlOaap1khzo\/mKbCV+uOQfSlC8g6qJ0QOwWbY\/hq3L1Amfb7rLZB3DZGd8tYSr4k5znaQSMVcDek27xoq3aXuUcpg28ARvIb2vJPHVfbvTirTsGOd0mO24c8LQMH9lK2HYTDXlN+2ntjzDgVafWyEZSdFWZhcDX841mqIgRJtgluRl3OVP\/NoSpx8b3AE8BJV0UR6mp\/Y3FL8uR7OhZ\/wjru8np09KjsKc8hptqOjagfGFjJXUgtTZW5ubR5Suqmv0VfdVVjiX3UkkJa3VSTUSfO0z53GW1oXwfnz++o4LQEWOa3bHfZpL6VNok45bT2I+ZycGpHN2ybIuMcgOI24z9Ka4aVSlvuJmKU5tShTBPupCeOAO\/WrstnABZ9MwtkMnV4rGn2kbEpjQWlJ63nHXIEqRblqdVuUoKw4kkn57\/wAaz3AVtl4xWr\/tFMNTPBCVKSSos6hZ2H\/Kacz\/AFVlOEgplZPpW1hbrwN\/Nc9ynjEeIP8AfY\/slkoblJJpucAycU4y1cpptJ941efusALqG8kcVII7ZEA49KZGz7w5qRMYFvJ+VV3lPAUcdbzJVkVxxJS3nnFHOqHtRyOK7Lfb8jA9KlbqmFNKslZ5o2KD7ajHrRAPPNLbc2VT0Y5p52QU5isKVAbzUc1GwEyhkVMIwKYLfFN83TztxnCRNeEWEjlS1HlXyFVw4NNynsYXmwUKjW2XOeDUNhTij6DgfWpLDsca0I3XSYEOrGNiO1HzdUQrZHMDT8dCEgYLxHJ+dRv2yRNfUshTi+pUo04Z36nQKQ5GaDU\/stVatlKh\/ZxuBz7nsTGR\/o1mw6lY3EFAxmtA6+WpX2c56R3hRz\/4ayyiKtx3YK5vk3G18EhPrHuC7\/ygSOjrYg3iwd5UwjatjoAGBTi3rVhvsmoGq2OJOCTmvItrqjjJxW86mhO64uOaoP2QrJZ8RmGlD3U8U5o8UYy0gOJTUEtOiJFyhKkiW20M4AUkkmm5yxutSFtKWNyDtOKomlo5HFoOoW3NS4vSQMqJo7MfsdNVdVq8QrM40fMS2PkTS5Wv9PsK3oQ3k\/MVRqLWlpO9xSsChuux3Y\/kMoKlfIc1GMGhe7QlVTjE0YsQFc7viFZJC+dn40llausrycBSefnVESI78ZfIWkHpmill5LYUHFfjUzcEjadCVXOOSuGrQrrediymC4zgpPpTS6jrhJpNoV9p+0kSFknHc1KjHglOQRVZ30LyxXWDn2B\/WosGVKXzRimEpR1FO0luMnIQRmmx\/ZtP5zNTtfmUDmZEiWADS7TpQ3rK2qI6u4\/EUzyHti8BVEsz3Itxjy0K5acSsfcanLC5pChimEcrX9RB\/dWLFiRFOzg+j3gokEdQaabqw95UWQ2Fl1XBT8geDTsypSbxKUDlLqQ6n5g803PyXXLi4hBPutkn6DmqEHRsurxdolLipPZXNtzQ2cJJAK3T2HyqfptLNxhN71lKTylOeg+fzqtbDL81wuLwMY+lWNZluvupIcwjHrVWdhzXCVBlc2zk\/Q7QhMMITlJT0KTg\/vrkhiQ2k5cOOmR3pfCWWB76woH50od2OKCs7iR9MVU1ut8UzC3QKDzW31MlLaCk+vc1Arg2GrgS6eSe9WrfpLEOGpZACsckd6rBb8WWp2dI99ROGk\/L1q5ASsutjaNBurC8O4UBloT3lbnlKCUJ9KtyOW0r6DOex4rOejNVRmr43HKwUBePizz860BZLzEccW2mOHVON4RuPwnjmo5GkP1Vmme0w6KWrmW6HY0uSI3mFZxuJximWQWHYZkw5HHTYs4Kai+oPHDQNhuSNMX+6W9D6cbmUNrWUHj41DgGn96Tp+7aXjXWwyQpLiti0pXkEEAg9aEjDYGyZAW5rX1vrrf59SZZBkOSPLUnJP7qFFZJdIXknoB60m9vEaX5D6SlXYq6GpDbfZnil1bgzwM1EG3Ws5zWtR8BhKQARz8\/66lduZ3KbUBtOf20ibhpZHLiAkipDZDH9nCSASOlWoYulZYtbMMhcEKa2hLu9CdqEYJGfpzVT2+5zNLazehzHi4A+pQJPxIUcjv6GrVclhRktrIOElIPoDjiqV1BEul\/8ZpzUaO43GbdS35y+EBCUpyQaM9rAje6iwsXkcx+xGqrH7Uclu3eGDNtbOBN1Et8JHdKGMj\/AP0rKMVweaTWj\/tbymX3tJxI7u5J9rkY9RlttJ+\/yzWaWgUk1vYe3LCFxvKGUvrn34WH7BLH17yPlSIpJVR27jmi0lSlHCSR8hVsnVYgRrYO5NPzattvOfSmhlnOFGnfc17DszyarvKlAumJ1aTIPNBeYC2\/nS6JbW3pxKjxR8m2OMufmgVJ+VO5xoNkRC4jMoyttaFbSKc7JCuUmSp6HCkvttcuKaaUoIHqSBx99CkMe8ApOD860f4S+L2ltDfZ6vumE2Tz7vNQoFYRnfnuT1OKmac2gURbl3VXmdFtNsbemkF3GUtdz9aht4vk68SSp5wpaHwoBwAKSXiVNkXJcqay82XFEpSpJSMegzT7pfQ9x1GFSpDoiQ0jJWrjP0pjWAG53Ti+4yjZR1lhLpKU8+ppxgxElaktgnA7U7O6cjxpSo8aUXkg4ynvXHHIdpX5SB5rh+M56fKnkpoCv7WzST9m6co8kQI5\/wDDWXVSA0+lScDBrUmrsK+ztMQ4cIVb2Mn7k1le5MoQ4PKVkVzPJXWnk\/Ge4LvfKET57D\/jHeU5IltuYUtQz86McltJT7ihmiLOxGXFJfI3fOlnl29Dg3KSRmuk82vrdcU2tc3QJOxqu6WtKmobxCVdQUg02OXeW64pxbiipRySe5pbeRCGPIx91NKgPLymgKeNhuBqpJcUqpo2xPkJa3YX0HwTob0tcQNlXOK7aLgzHlKW+AQr1plwfSu5qVvRNwqJJO6kd5uUOW0lDSRx99MqiPKxScHijTgt4zTy7MblACylekHvza20rwalgccCSC5VfaaUpqYQknmpo35qzwTWTUss+62KV\/0YCLlOOgnC6Ql15RxuNLXmHCDk0jJDKuSKTLIvvfVI32nCrJOaLCexpW5ISs4FFrbwnOetTA9agIHBT7S0tubY2fOV+ejkx1En9E\/CaCwhtu\/yGXeFlpxOD392ovpmStFxkQwo\/n2Tt\/yk8ipbES1ObamSkKEhAKUuJOCT6H1rOljLZCuppakTUozb2t8kCzPlpklXTIqZ2q+ONpCErG0+tV8hxxmGvzEFA8zaATyakFncSdo3ftpkrRumUU1rBWva57rzqNylKGKljLaX4ZwoBSRnHrUJ0\/sylbZ4A5NPS7yhhzyCEBR9DWW466Lr2TDINU3ahgOTIy0KUNhGKp+5gWrzYr5V5IBSlY9D2Pzq1Lpd0lZQV+6fX+uoXdYa5kxtLbSiHFYUVDOBx27mrdNcbrIrnNdqDqqmt0FuBdEybZIdDgXlJCvn3rS\/hpe5L0llU9lxo7cK3jHUDpUFtel4yrqUsx07UfGvHHGOfl8qsj2RyJovKJO3ywCFEYJPBAz16VancJLdazqIczfqKK1T4ZaFvNxXMetAkLzkPlWznjqep++pHoXTTFgiOMonF8KI2M591oAdAKb7Ld2b9BbZdaQ44nq2rkZ4569P66drcSlxWEhKUnCChW5SDxgEjqTULm5hYlaEdSGONm2vuetO10gs3FlbLiNqh8Ku4PrUWbuM+xS0sy8lrPDg6GpM+uahhooZU88rG4E4CRxTJMhz5jrrTmFFTmCysgZRx0+dVXsIVk1zLWCl1u1EmcwhDZSrgdTxUptkpSUgFR+RqhW1zdHa4iwfzi7TcM+zKdVlTTgGS2fqORVvtyPLtkWYd53q28UGuLXaqJz2yx3apJtIS8sHeojOQf2mo7NjvOW+4RYshKX5yVLaz1b4Ge\/en+LLcUggJACxxuHbjnNMV2uundP2ybq+93AxYUNKnXis8JA4CU+pPQDuSKsEZrAcVUgk5uUudsBdYs+03Ox4yQ7GDn8k2liMr\/LVlw\/+MVTSFjOakmvdUu678S73q+U35S7jJU6hrOfLR0Qn7kgCoqrheAa6WJmRgb1LgayoNRO+U8SSleUkDJFTjSenWLnb3HMY2jNV8sKCQc1P9J38W+2qa3YGOcd6KrJqvNu9hmONI\/R9Kjrrzzf6XFSG+3BcuW5JIxu7VF3XComgBcogo1ia+h3KV81K7NIMpO0p3LPGOuaiUVoLWAepq34uhrxpPTke\/QmWrtIfb3qaZBUGEkdSRUE2S4adyrVOX6luwUKl21KrkmOQVyHFYS0mpohELSNhCEIaeurwySRkNCo7EnRrXIeuUnDlyeztR\/g81H7pd5kl9QSpTj7h95XpRbHe3UEXyBt+so+4XZuZe2XrqDIQ2eUpFTZvUVmu9oTDC1Qm0DhCOM1BrbbSU+Y\/gnqontSC4PF2aW4AISngqT3qcOCqlqerpfoUJSoduPvdC4etMSHUvLJ3FxXUmm1+G43lagc+ppZZkrU64cEgCjoUNQtMa9UofZumJH\/QI\/8AZrKrvmj4s4+daz140B9nOaf\/AOBH\/s1mGUzvZJ2gYrkuSL\/q8t\/XPcF6D5Qhesht7Md5Tcw4rbgGlHs63U53V2yQJFwu7cGOkKdcOEg1ILvpe92K4+xymEbyncFJPBFdfcXsuB5l+TnbdG9r+9ReTHLaOTn60W2gqa4pwksPqhrW5gFJwRUv014WXy96GXqFmQ02kpUphkjJcA659KrVVZDStD5nZQTb81EXAbqABpw8bTXfJWOqacfKfQypam8FJwR6EUkclkHhNWAb7IlEllYGSK6ll13+jSTihmXvRtIo2NNTHB4604IJTYXzHuwQ6nvyDViNS2E4ISmqyaloNwDmMZNSZM8bE4NUamLM660KSbK2ykr8tog4SM0zyCla87aIbmAkUsC2lJ7VC1uRWHOMiRNpR5uSKOfcb2gAc15wNgkppC86d3FS7qG+XRKIUow7ozLT\/e1hR+nerXSmCq2IcjqT5ax5gI+dUwXVHtTtadTyLaj2Z4F2Pngfq\/KoZ4S\/ULQw+tbDdj9ipTcGW\/LeUwSrKgrdngUO2vOpZDgVygjj5Vxc6Ld3G58ZhMdl1GwNp4GB\/WadrPA3RnWlIO9YwnJx6cmq7+iNVYhGZ3RVqafhuuWFctOdrbZd+uBmoUq+qQ57S\/u8x73shWMemflVk+Gr0aXYX7W8oeYpssqGeeRioFf9GutWeTHWvyZrC\/KQlR\/pBnjv0xWZFlzkOW7VOeI2liisvWMXeG8vPK3cqUrAIHYgdeaUQby2\/GDbJWhwrCwtSsbOnHWoDdLDqa2PkMMtO7f0FdfuNDs06Y4hYnByG+hQT5ZQeR65rVETct2lY4keZMsgKum2TlKmokLdRg4LoJwFYx1FT72kXSIyIM5laB1bcwAen7ar7TuhYdxvMm3jViFFuM3JBwBkK7de1WnY\/CC3DRyLudWqQVAkjKQng49aqv0dYbrWgqaYDpE\/JMdrsjFtu7j7s1hhtwe822r6ZHyFPInaaZkIUJLoUlSVAtAqJI4\/rqdDQ\/hdpm3x5d1u4lvpKVK858K39MjaKBdvEjRkBN4gaJ08y7Id8v2ST5IS0DgBROecCnc3xcU8VDZTlp4nO9+wVa6s17pTTnl3i5z7jCYe9xCFMKw6RjhIPWq8f8RtQXWW9LtNhmN2p5QLEyYdij05I9KsS76RuviZqRvUGrG2HWoqdrEZpGGWumcDuSe9KbzpxItCobDAwE7UpA4z2FQyysbZtrp3mUli55AtwGp\/MqPNrkXzTtmYmZXOTMbeBz8OOp6+nWr2gsR39NNMuBW7zPdx1HHWqb0fapMdZcfUo7E7UpI5bOefvq3oRS1CbCUhCzjc4D9KrM+2UiLRgJ2tsVoPNoXtU6ONw9DgV8+fHHxA1TqXxGven59yULRbrk81HhNe62NiykKVj4jx1NfQGRe4lms0y7z32WWYTC5Dil5wAhO4nj6dK+Xd7uK7vfZ11dGHJchyQr6rUVf11uYfE09IjZcvjFQ8HIDvum1Tikp60SlwlYobvSikfGK1VzyVrWSkVIrKwlxk5Pao6tJDYNLoE9TR2imEaIqRTYrZj1FpaEtqOKeX5a1xx7x6VHppcLhz0oNGqS9Hd3PJQk4JOBVow\/Fa9aR0g5pm1qbU1IQUuOKGVgHrg1D\/AA60NqDxB1sxYNNx23piwVAOL2pAHqaX6k0PftL6vnWrUsT2eRCXteTnI+4+lPLOJTmvI0Cap0hl9KX21q9qcHc0G3tllouOnGeSo0miSYr153vAeWOEjNKZTzc24pYZO1lPBx3prtUhpqjJEmZObMeEkpZHxL9aNtjiIKvLcQlRJ706efFh2vy0JA4qKOywu5I2n9MfvqMdPTgiTl1V0Wfwmn6l08bq1HJaKc8Cq\/l29vTt3kQXsJUg4Oa2b4WOojeCgWtOMM5zj5VjDxJmGV4j3BxHCd\/QVqVFOyKMFu6y6WpfLK4O2V+a+ex9nWe2OT+T2P7NZbXIluDallZB4+E1qrWTrcXwPkSnEBxCYTGU+uQms7vajjIILUYrIVuxgAcGuA5J382lIF+me4L1jl6GGvpw51gWC\/zKR2iyaqgXCNcolomBRVlpRbOFVJdTTtXjy5t+tb7Hu7EqWnAxT9\/dkZZs8duPBfXKRgKCwAkD5GmHUXiFI1JHQwIa205ytTi92fkBW5DPWOkGaMAKHEMN5OU9E8Q1rnvtcNtpf36fzoo9YdMan1hOdhWG2vzXEjzFpbHwj1JNWTZrL416c0dIskPS8tURQIS4pAKmgeu3miPCjxIlaDv8yS1bW5MWU2EOM79hyDkEGrNe+0XM9lcaZsLW5W7aVv8ACc9OO+KxcZ9MSzmKGlZJELEEnj8xsvNJHvva2ioC\/wCktXaasqZl9scqLHePDzmCMn1x0qIqMdSc96vXXHiXM1zpgWiTbY0QFQU6424Vb8dAAelUjPtjbU5aUOAIrfwvzx0GatYGvvsDfT91Mx5d9pJ\/LYKcpxmi2vJ9oAdwU\/OlLMBGMhzj610wG93xA1oi6ddI5Ja9rT5PTPapBHSkxkqJ5xTM\/CQ1hQNO0ZtxUMbRUUysU\/FL2CjpnmlYWkJppSHGzkihCSrPNVst1bzWS12QBxRJUCnJFEB4KVg11xe0YHNOsmX4rjjoHQUnU7k9KMA3ckUfHYbcdyr4EDcr6Ub2QsSpBpqW4LU6weAhW9KiMnB64qZWaelEhlBJ4PPfiqniXZz+VbS1EBhR8ktjgBJ4qYxVGHOS4HiGuec9fkfnVWeK+60KSfKNOCtGy3lWndatS0EiO8RvA6CrP1PEi32VAuEb+mU2ffB6j51StpcRcIqW1OYKeildRU40hfHkvLs7jpeU2oFKj8KBx\/xisqWPW43C6KGouzKdkg1DBbWnzEBJKPdP8Kh7IYXN8tSQlQPG6rIvr7UqS9vShLiPdISPjHHP1NQibZ1OP7knarPChRhfYWKfLcEOYn+0x0hSWlMhSu2OKnDFrYkwEYKhgfDk4+8VALFCuDExppTinAT17ipd5twhQg0nzJJUvCfLVgnp1+VPLrlacOIEM6TU\/W7TMaVLT5qwhA6rdzipXG01bEy20Q1koHxuLGPwFRGyRrq9cElx5aD5YIQTkK6d\/WrCtMJYYQpxJKhyQe9AuAUvnz3jo6J+LDEW0JjR07WwMA+v++mGbESUHadihxu9DTzJkltjkZSOtNDw9qfaeWFLj527EnBz2++qzzncqb+g0kqOQrZcIEt3c02GFq3lSld+On1qTxJJUkoUQUI\/eMZzTHc2yu5MQkFaW0fnCkqyrcBnkfKnrTMJyZ5aXMq3nJP6wH8SacxhLsoVIzBozOVafaQ1kdJ+As2IxJDc2+KFvZb6lTZGXVfckAZ9VCsHqdyAM1c\/2kNYK1l45z4jB226xk22MkK3BRSfzjn1UrP3AVTyowW8lCASonAHrXS0sPNR2XF4hU+cTFw22QNpcRkDigtt++D2qfwI9otVpS3KZS\/JUPhPRP1oxq7QGTtbt8YJ9NgqUv6hdV2xesbKCyMBkYNJGVqDowanM+1Wa8ArZ\/mTx7o+En6VGpGnp9vfCnmwtnPDrfKT\/CiHCya6MhGoUVISDQ5EILZKh1o4MBDSTQviG3NJpA3TMpdsnzQF7maIvbF+gTFRpm7CFJPIqxPGWbaZXh5Cv7k1cm\/XI5kKKskj1NUxGhruWoGIpfCEBQ5J4FWDqiFDkLjWhpXnKQ3kqJzjijGWi5dqnPDjYN0VO\/CsbacILu13rR0yI2FKDYxg4pPEYJkAfOgXAhAixsnqQvfE5PamKM0pV3ZSnnLo\/fUifgqMPjOcU2WW3yF6shNbT7z6R+2hDYuATZLhpK+iGgbKpn7PgUpHVjOfurBevWQjX1xGOjpHFfS6xW5UXwBQjbtxF\/qr5ra7ydf3MjJ\/PHmt\/EMvND4\/wudwkuMxPu\/lXz4iJUj7OUxR\/wCgxv3JrLC5GMgCtV+Iyg79nOYlPeFG\/s1lf8nr3nd0zXmnI931aU\/8z3Bex+UAXrIf8Y7ykxkL5PFeTNdSeKViElXugc11y3NtpyoiuvBXAFpCTC5yk\/C4R9DXFXKas+9IX+NeLbAPUGugMgdKdcptkAXCWP7+v8aLXIdcOVKJPrmlO2OewFEOobHwULpItLrg4Ssj76GlxzOdx\/GiwhXYU52+0SJywlpOTTXODdSnNYSbAJOypTjyQokipWwPKiDCc5FNytKXRlYUEJ9etCekSYSA0+nkelV5HCT7JVqJpjvmFkdJcJTwKRhavQ0Wq5BQwRXW5qO6aAaQE4uDjuhIKvMztNKFElPSikS2lK5FH+e3jjBpG6Qt1oA3kcJpU425GsqlrHvOnP3UFh9BcCcDk0RdJwfcKR8CRtA+VFoLik4houm6yWq5ah1dCstpb8yZKeS20CcDPqT2A6mplI81mS4gKCxuIUR0JBxkUi8JLo1aPHKwTHseWZHlqJ9FAp\/rqWavsrunPEK6WN5GA06XGCei2V+8hQ+44+6oqlxDx1WViia0sJvrdLtPNIkNIcZddLoHvo6AfKnRu7SrPePNGUqVgblD947mofbp8u3zEvxsFHRaT0Ip6nuiZBJUClsjKCDk\/QVTcy5utFkhaMqnqJZnBtzzG3CBucW3yrIH6R9Kc2GY0iAiS4vGR1Hb6VT1juj9tlezSkKW0s4QN23B7fd61ZdqecchojuSAtBSSGycEDuR+2q89PYXCuUdXd1nKTRZcWAfM2lxXonvT1Amic+28uOhCkjCSnsP41EISHBE\/nfuK37A4ocKTxgn5iplZpEZlIPlIITwnYM5PHKarZLBbsDmuOqlEJ\/YraGwp3jaBxjp19BUhReZLERIWlDgPTaPeqN2h5pc7f5LgJHvhwg7unYVIw20pxpxTS0pcUENlJGM8YFNyE8VM98Y0snKHtuaUoWlace8Bnr3otKWENPrKt6RtA25Bz+t8qklrihEpsICAUcFOOox\/wDWm6\/O2+ztSXVlJYUMJxznOO3cdc\/OrEMOmZY9XUi+UcVCZ8iRKvzYASpIby4QnCjnvn06U8TLgNF6BulzUtQMGE7MeWvgghJKU\/I9KS2uI01CMuYtLzritrW1XChx7p+n76rv7R14lWX7OVyaQ6oKuchmCkk8qTner9icVJGzpho3KpSSfRuedmhYnmuvSH3bn5qnhIcU44pXxJWo5O78etDtx8srmrGSgYQD60jjPPMObhggjCkqGQoehpctvzLcVQUqISdzjOfeT8x6it8jSy5MEXzL3tTrjhUtZJPXmjUuFR4NNjb6SaVIcGRRDUM1904suKCgcniniJPdQnYSFIV1SrkGmBte3kK4pS2+E496gQiHWS64xfMZU9CGCBktfwqMIlSVyAy20tTqjtCEpJUT6Yp9cuiY4AScrNP+gNQW2y6z\/L0uGzIfabPkpWOAs96jkJa0kC6kjDXuAvZRK1wpZvKmpqHYik43BxJSofcamN7s1xtt7juQJPtSnI4X8xxzSXXs+7StSJv90SgCZ7yNnYehpDftTSot3t8lkkoDABB7ipWZizpCxUT8gk0Nwo2uQPOcQ5woKIIPY16O+2h4KyKU3mEmaFXi3++25y4gdUn1phCldiaGVNvqpWby3sCaMtN1ajX+LMCQfKcC8fSoiFq9aURFqL4GaDWZTcIudmBBW3532nbYjweTZ2FJTILPl7fTisc3m7KuV6kTCclxZVmiZhKGQSe1NoWCetW56p0oDSLKlTUbICXNO61d4gJ2fZxmK7iBH\/s1l1cxRBAVWrNZRBL8CH2HV7W1wGATnGOE1RVv01YEXBszdvkhXvc1wPJWZrKaXN657gvVeXcDpKyEg\/cHeVBW1rHvBRopx8rXhea0C7avDcWEpb9l3+pIzVWavslkgtpftriTk9lZBFdDBiLJXWykfFczHgcr4Hzse0hup11\/JRNtlC+mDQ1NpCtmzFE+0+Vw2KNROTs95PNaFysRzGXsChvwmURtwVlVNvlupV7yVAfMU5MPlb6VKQSkdsUruc2IuKENN8\/SpAbhQOGU6JujslQzjNOkS5P2w7mmxn50zsyHAolCFEfIV1clxxeCk\/hSLARYoiRwNwpkb\/PdtxkFKD\/i4qJy7jImvFa28U4xbmG4XkuJJH0pHIkNLB2I6+gprYmN1ARdO9+hKSxh5jp3DgUYuQyhwpIpM26tpZOOtGxoXtm5wrxzRdZupSZmd0Ruuh1sucUdvCSDu4pVbbVHXLCJDvu5p\/vGnrOhhr2eQEuYyrac0zO12ifzb26pjYwI7kgnoMJ+tNZUVKzk05OraDS2GQfKbwAT3NNx25p0Y0TZDqjYDyol4izUHC2XUuAj5GtYar0834meEMPV1ma8y\/2Rr860j4pMU8qT81J+IffWSwjitGeCWsZVkYhyA6VN\/A4kng9qk5kSAgp0E\/NlQCK2hbYKTlC6VMyVwSlpxO9nPHyq1vFjw6Ztu7xB0mxusMtW+fFaGfYnD1WAP72T19DVdtRYr7I3oCgoZSpJ6\/OsiVjoXWct+PLM3M1N86O3NZ3BGxY6Adqc7LdJzchsvutpfbAQlThwlY44NeRCdQ2EhPmIX0HQgUMW9t9AS40tO3uf30GyAixQdA4G4Uxt913MtNyw6H1KwkqxtxxnPy7fSpbabm23CyhYcbacG5wfo4xwPxqp2Y8mK6oNqc5ACU5zkcY+6n61y7pEhFDKkocOPf67QO5Hr86jfE12xVqGplZoRdWizeHEXTyw4yULwSgHaU9P2VKLfLUqfEbYW8tY\/OK3AkJ6cAdM1SllVdXLj7cFoStOdysZSQMdR2A7VLrLMuQWmQq4SRGWrKikck8UwQsAuSpnVcr9AFdDeo3bapTbKUuy3cpSgnIQCBuWfT5U1THHpjfmP7ghvATn9AcEf5x9KZ7PIUiMt50FWVDarGTjjA+fr91OEZ5+SpPmoKcnlBPAHGDn19T9aiMmnuTeZJfrqUXb0LfeR+a2BrIIB+H6VQn2ubzJWjSlmTHkJhjzpCnyPzTjnupCUn1SP\/EK0uWY0eCfZ93mY95XcfdUZ1j4eRvGDwrv+jGQgXeG4ZtocJ6SW08t59FjKfqQe1S0P9YEpuJs+quDV89uM9KPYWWnkuNqKVA8KBol1tceQ5HfbU280otuNrGFIUDggj1BoKV457V0AC5C6WSoCJyS\/DCUyhytpPAc+afn8qbGnQlWDkGlyHNqwpBIIOQRRj0RF0UXGilqYex4S7\/BX76Vk0pOh7kc9aMW6UNlVNoLrLym3UlK0nBSoYINdefJwO1BBKEIU8fMUeKcoFvkqfadXHdSyVDCscH76a0SkoQlNW5oPWUePaJlmucSO61MbSlKnEAlvHTae1AjRPbumvVfsrmkYsNlHmvFQWpR\/RA7VCrwTcPJS2jhlG351db+m4E+J5kRSVcdKg9y00YU4qLZAPUU0OIFlI+ME3Cry33By3SfdPudFINLZ1uYmtGdbQB3W0P6qUXvTympPnxveQrnA7GmuLIkW+UOCB3SaeNVDsm0ggkKBFHwjiUKe5sBm5RTPggbwMrbFMsYFMjHpSQTncOY4PWmlvIzTo\/77IGaQFBSoig7ZILWviA9t+zfOA4V+T2MEf5tZcV7Y6n+nXz860\/ryOtz7Pss9jBj\/uTWfW4SEupTuTycZrkORzc1NLf1z3Beh+UB2Wsh\/wAY7yo05CmH+\/KP3mkh83zQ284ogHoTU7u9uah25LyHQpRHIqESVBUjd0FdcW2XAh\/UlyzCEdKU4z61xLDCk5BTTY8jCQpJ4ott1wEJCuDTQy6c59jYqa2Rq0GOpMlYSodzR78SzKcwlaSKhBW4hXCzXUyXUjO+n7KLdWxYbZpz2B0vOICiOCRTO5YLaqY4tLyUozxmoQ1e5bLRQgj60Wq7THT77qufQ0iTwRGXin27JgRVltp1K\/upn9pjg9qTpbelubG0qcWeyRk05NaacQjzJz6WR18tPvK\/3U024pzb\/dCbXXEOLwjv0p2gWiapjzFkR2j+k5xn7qE1Kg21WIkZJc\/wi\/eV\/urrt1kPK3bQtR7qOaY4EiwCka4NNydUYGY8XlpSnnP118AfQUmdkrVGKt\/JpNKkyFtFa1A9sJGBSRlxSm1IOevFFrU10iUJymICTys5okjJySf40+GyTShCXIpZQEZ3qUP3U2Pxls8KBBqVpFlE4G6LbAxVjeGt1Qy87b3FDOd6M\/tqtgohOMUfDnyLfcGpsdRC2zkgdx3FSMdlN0whbo8PdUJin8mTUofiSE7FNuDclSTwQQeoNRPxO8GpWj23NWaOjuS9LunzJERGVLtpJ6juWs\/6P0qM6DvSLhbGJCV54CgfStYeHOpmJFrTEkFKwU7SlYyFDHIIp9RC2ZuUq1S1LoXZm\/JZDtkRp9tDq0pcChkKHcU8qtgLZUlHGPxq3vFDwTNrkPas0FHUYBJdl2loZLB6lxkd0+qe3aq9grSpCC+g8j3VgcGuWqYXwPyuXa0j46qPPH\/8Uc\/JYSoKbTjjGD6Ue1ZUvzWl5KioYweAoU\/KQ2Ene2FpKv0eMUZFaaS+hROUg8Z4\/wCDUQkICLqax1S606dZyC6NqQNpByCvpwasOzWK1txWo6WdpxjkYz060zWd9hTYbRw4cZJ54\/jUpgy2G4xDpBIOMjv9TUReToVI2FoFwuGypjhQSrjPuADBHp94\/ZSctiOnY24n8OB68dqOlXUIPI69jx+ym3zVynuDuyefnUT3WCngiLiSV2demLfb3J0o7GIyFPOEn9UZPP3VGfAXWj91jNX5a8LlSXX+vTcsnH4YqC+PV5es3h5cIjTpQqUjysA9QaRfZ\/kPRfDq3LSk5UpSED1O6tChYcnOHrVKteDNzA2y3UR+2F4esaS8fBqW2s+VadVM\/lJsJGEpkA7X0j\/Owv8Az6z+M9s4r6Afau0wNSfZAh38NlcvTlzbdKwMkNOjy1j6Z2H7qwQGwBxiuktfVcLI3K8t6kSCoHjj5UoaJI\/dQNuFEHrXApR91AyaGyZdOi47d3gr3kC4ND3FHjzk\/qn5\/OmB9hbatrrakKHZQwadGQ22Q44StzsM45qRzo6brZnmmFGSUsIMdTqQh0OgArHzTyQCeuKaSnAKBJbWte1IyaXRpy25CcLPu9KSyIkyIvEhhxon9YYzRKUqUcJGTQQ2Vj2DWcqC6keaSkdiasONeLdqOKEPBCXfWs8JedaVjJBp3td9lRHklLihj50U4OsrPv8ApyUyypbA3J6giq\/kNMSStmU2WnkeoxU8054iRG5LTN1b85ruKjerbxaLtqtRjttttY2+6MVGCc9raKV7Glme+vUocxNets8+WvcAcEdjSucy2+2LnCT7p\/pED9E+tILjEbjzClhZcQefUijrRP8AYpG10bmV8KSakVdB84+X60nLhUo07XW3tsJEqKd8ZzkY\/RPpTMEneTTSiAtf69WB9mqfjr+T2AP\/AJazJ7HMLPmpd+eM1o7xFWU\/ZtmAHB9hjf2ayoq5Sw2UJcIHSuR5Gu+rS29c9wXfeUAfXIf8Y7ynND0q4S0w1yCATjJNH\/yaaVcksvTMJPU1HUOPBwLSohXqKOU9KWsKLqyr1JrsLjiuBAPAJ6uFkhxHi03IK047mmN9hDS\/dVXlKkLOSsk+pNF+WtShvVx603S97p+pFiEBw5IxQck05t2hchA9my4r5U4R9PMMgLnvhSv8E0c\/iaGcJc25R9ph19wNstqcUeyRTqxZQj35rmMf3tvk\/jTmp5thBaiNpaR+qgcn6mkbjpI3ZPoaGYlODWt3StmaxCa8qM0llJ64+I\/U0ByZ5ySpt0g9waaXF7jyM\/OikKUlW4GkGJGQ7JU9yMEAGk28oFKUuIcAChg+tFvMgAlJyKd8Uw66hADmUFKhkHvRLboaeChjg5rhJyciiXAd27HWjZDMpYzGvL+nk3thPtjLjqm1pYc3utFOOVoHIBzwe+DTYq4Ldc8t0gkfouDBFNDEmRGc8yM840v9ZtRSfxFPLOqLgtIbuDUW4NjjbLZCj\/pDB\/bS2RuCi1NoWemw9gaB5IQeQaXCbp6QMGPKtjh7tL85r\/RPI+6vKiOFouRnWprI5Ko5yR9UHkU4FNIUy8M9Rm33FdrW5hKvfbB\/aK0borVimLk0A4cZ9ax3EUWZbUyK5tdaUFD5f7qujS2o0ymGZbCtpHC05+FXcVZidcWKaDY3W\/dJ3tqdHbK3MnHFMOufCONOL1+0lHbRJVlci3pwEPHupv8AVV8uhqo\/D7XK0uJZccO3jvWh9P6hU8yg7yQR3qKopmTtyvV6nqpaV4liP\/n4rMM62FKlhLCm3EnatBTggjqCOxFNiYxwpK0LO3neK0\/r3R9n1Ewm5x5cK23tfDfnuBtM3\/FIP6Xor8aoybbH4lzchTYzkWW2drjLgwT\/ABHzrk6umkpXWdtwK7mgrYq+O7dHDcf+8FEGbtIiT0BAK0ZwFZwQal8a8THIoby2kHoQKRr0xEk5KUusqPTAzS6LZkx9iXfOeIHVfupqu5wI0VkMynVCWVvspSys8\/E4vkmljMtMaMXiAE9PrTdNeUw0W21oBPGEjH3VF79fvYoC0lRAQnAH\/Heo7XKsNs1uqqDx6vf5VmIiIWVJB9aunwu06LPoqwNSEbVNRULKR+srn+us5yI69VeIsCGpe4SJSUn\/ACc8\/sra+jLGi6XSNESdre4J+iEitumYcrYwubqZQJJJvyUo1faE6g+ynrmwpBUp6zvuIBH6bafMT+1FfLJqQPLHHJHNfSbw58TLvqTVtz0\/ejETZ5ftNvbiMtABpO1SEnd1JIHNfNR9oMzHmUHIQ4pAPyBIreLSxoC46U5pC7rRpWFrARgk0eltW4NMp3OKophogAJTudV0FdkyfIzCiqBWr+mdHU\/IfKo903ZDmrNuZQGCFOuDJe64+Sf40RaZrjNzQ444pQJwrJ60puzOLdEPok00NHasUjugCpfIubrMlUN5CJEdXIQ4Nwx8q8xZ7ZISXoyVNH9JAOcfdSKQQ5bosxI5T+bUfp0opi4LjSA42e+TTHNUodfdOr2nG32dzQS8P8Xg0wS7O5HUQ3nI\/RVwakKLn+dS80cJV8QHajHZrTzvkzmw60roscKT9DTA22yeS08FDWo8vzuELHzpUqG4Vbi0on1qdw7VD9l3su+cPVXxCuPMNt9G8010tjayAiJFyoa0gjhbJ\/CgS2AWyUsqB+lS5KWyf6GuPttlsnyj+FN509SdzQ61D7dc\/ICoctO5hfBB7V6TFDD52Dc2rlKqVzLUmStS2htNFRZKoaTHloKwnpUoIco7W3WoPEhnP2bZp9IMb+zWTzG2mtY+I6yn7NUwjvAjf2ayaqWSrOK4zkbfzaW3rnuC77l4W+dw39Qd5XcEdBXCSDzQfPKunFHR4MmcvDYwO6lHAH312FutcNfqQUqClBIBUo9ABnNPEWzspAcuC9vfyUn3vvPavGGi1JSljat5QyXEkKVj5DtSJTyjlSVKUD3\/AI0g2+yRfl0KeXpPlMeVGQllodEoHX76aXHV84dUc9s0WicpKglRyKMVtcG5oYPUg04CyjLrokSXB1JND3IdHu+6fSiVjv1NFbilWRT7JlyjVjHJ7USTzQyrPWgKAzxzRQK5nIyM0JLq\/hJrgGOCDXDwc0bILqhuOTQHEZbIxQkknrRgTxihZJIQMGu4PUUYpG1eK5tI5NKySKOe9CbddZdDjS1IWOiknBFGFIV0orbSsknFNxTKUPbPce7SGxg\/5w71ILDeXrDc0LdGWXMb9hylxP6yfmKhvSlsOb5afIeT5jCjyg9vmPQ0QbbJLRumNVNInR5Ed8KZVghQP\/HNap0DqhEiyPTm0h1LDY2oPRbh4Sk\/LufkDXzxtcmRZnEy4rxdiKPPp9FD9FXz6GtlfZ8vUa\/eEt6fjMuyUxZjRfLXK2klBAJHXg5qyxwdunA6EKU3i1O3a8qulymLly1Kz5zh+H5JHRIHYCpxAhpvOmmHdS2Zu6xmRtRJCyh1CRj9Icj7\/So1MhOJDMuO+FMuYU3ITyM9uPX5U6WyXd4TCkNTGX96VJUo8EhRyePqTinTxufZtgW8boxyGM5mkg+5KLxoqL\/J5286Mlynwwne\/bZRCnUJHVSFD4gPSquk3wJbKnDk9ck1allkXi2XNp5pxCtqs8LHI7g1Wuv40ODrO5xoqEtILvmtt+iVjcMfIZI+6ucxWgbBaSPQFdZgeJPqM0UxuRqCok\/fPaZO\/ACegVjHPrVda1uQkhUdl3KB1OetL9SXZLCVMtYJ\/S28Z+VRzSmmbpr7XEewwlrSlYLr7yU7i20MZIHcnIAHqRWdBAXOFlr1VWGtIKcfBfRk+969XeW4zjrcX8yxtTnzHlen+SP31oDWWtR4dtRtLWBCJWoZ4MaRMSctW9BHvBJ\/SdI+4VZGlfD+z6C0o1HaZ8pTTJSlpKvgB5OT1Kj1JqjdYssS9Z2xxtIAVOwMDpwa6qkozGM791xdXXiX6OP7PFBsKmNHWC66nfX5bFsgvyipR6r8shI+pUpP41iFlCjha+VKJVz+JNaI+0VrRDTDPhtZXsgKRIuy2z+l1bZ+74j88elURBij3pL2PIb656KPZIqaY3Ngs4m5uiX1eyQdwyHnBxnqlP8AE02xE\/ngTyc9aMnyVPvqcV1Jr0JOVAkZqLjZMunG6HMRhJ7A8UxfCvFP1zADTKe+2mNQwvPzpO3San22n2izSYxzkYWKblAhWKV2Z4Ny9pIwsbTSaUkokrT6GgdkRujmHiMIzSp94eWCmmtBPWlO4qaxTbJ105Wm7rafDSlnB4606LmuyHVRNwRIT8JPRX1qIISUyAQcEU8zSS3GnJG0\/Co\/OllDhqjnI2XReX2X1NPpKFoOFJPaj16ibLW0ik96jom21FzawXWgEvD1T2V\/VUbJyeDUboQE4SFP35bSlR2im2TLMmSV4x9KRcjrXW\/iPNHKBsgXk6Fa\/wDEhoD7Mc0nqIEY\/wDhrJK43JrXPiSrP2Y5x\/8AR8b+zWSFO8kfOuL5Fk+bS29c9wXe8urGrhv6g7yi0MDeATx3NGuTFBAbQkBsdBXWh5iVE9O9AU2knArtG67rhXdQQWpK0ubkKKFfLvSnel4bgAlzHvJ7KpEpsg4I5oTZIO3PI6Gn2UVyhLSANyc\/wrrTpQoEE5oROQVf6Q\/rpOvKF\/KjZBLjtdTuHCu4FEKQc8ivNOdD+2jVDPPJzQsidUWOmK8R91eCcHn7q6E88mnIIPSgnkc0NQwcUHB70EkBJOelKU8pzmkpICqUNHNJJAfR7wVjrQNpKaVODc1jjIpP2ooFACcV0oSodOaFg44xXASDikgiigg4VRakYPFKlAEYxRRQRzQsihRp8qISGnDtPBSehqW6J8RdT6D1CL1oy8P2iarCXWwcsyEgg7VpPBHyNQ\/ytwoGwoV71LZG63J4TfaP0hqq+JsesW2dOyZqQl1Cz\/NVv8e+2r+9k\/qnj51eN20zKtqkyYRU9GOFJWjng9+OtfLlh9tSEtvjckcJUOo\/j9K1V9nT7TbuipMXRPiJLVM0s8Q3FuDmVrt+eOe6mvUdU9RxViOcjRyBF1oxRU4R5qClfqOKinidbHbjoJN4ht7p9qyXNvxOxj1Hz2H3voTV9XjTVoutkTItzjRZeSHW345CgUkAhSSPiBHNQK+aefsmJbEtMyP0WlScEgjBBHcHoaVSGTtMLuKmpZ3U8glZwWIrnMDsgrWvJPOa0d9jyzRH16p1G80FLbcYiNrI4AAUtQ\/Ep\/AVnLxKs6NMeIdxtbWRE3efF\/8AVL5SPu5T91bh8FtGDw4+zva4U5sN3Sek3GYk9Q44AUpP+SnaPrWTR05bNY8Ft4lVh0On3ks8RtQNw7S8lC8LX7oH\/HesteImtGNKwYd68tMh9l4qaaJ4UvaQkn5AnJ+lWxru4Kul4MdClFCCc\/M1kDxjuqr9rsWG3uJLFvBDzmfcC\/0iT6DpW09+ULBDQGqEebJvl2kTpkhbjz7in5UhXJJUcn7yaJusxGBFYAShIwEp6D\/fQZMhMKImNGBCOxPVR\/WP17DsKbEblZUrmqw6yoz1Ih0EqGaVwwW3Aojik7hy6BS2KApxP1oDdJH3HKnUnqNvFNLo5zTxN2hQx0preTk+lJyQRkFwoeSr99Lp7YLgdT0UM01s5SoU7K\/OwUqA5BpBFIABu4FDzhHzoCwpKsEV3qmgkUWtRDgIpzbWXrI+2edmFimtfSnS0FKg60eimyP2UW7pFdgyAFtNOf0To8tY9Qaa5UFyFcXYqudiuD6jsaGp3y3mscFJp\/vaEyLemchGXGkp3Ed0n+FB1yNEWb6qMONEjpQEIwqlIeSe1AKkk8VBmKlc3itceI4\/+7DN\/wDd8b+zWQlE7jWwPEfn7L00\/wDo6N\/ZrIqWt72McZ5rjORJ+rTfjPcF3PLrWrh\/AO8o1PuREp7q5NEbsGjXlDdxRFduNlwjjqjQrf1xQFjHNcSTQ+2MU4Ji4FA4P4j1oK0ZBT+FdxtV9aN25R8xyKKF0mbUQrFLEHgika8JdB9aVNnIzjNBJCIGelBPejFdvSiTwrpRQQj+yg7ea6DmhYGKNkbolSfxrzZ2kc80YoEDpRfQ5oJJUkbgQe9EqTg4ryFEHrijHACApPpzSSROa53yBXcYPOa7jjikkgnGM55oQGRzQCCDQkn5UUF3y8nKRigKSOQRRwPTgVxwFeO5HQ0rJJOUKQfc79jQ231JTsVlTZPI7pPrXj1wfwrobyOBTUVrP7J\/2hZGmbxD8MdZTiuxS3A3a5rys+xOKPDZJ\/vSjx\/ik+lbC11aAbU88297M6Ek4\/RVjsRXySik8N7sEHhXpX0C8FfGP+6Z4Cu2i9vKc1HYm0x5Li+shrGG3f8AK42n5jPepo3XIBSsmCH4ap8R\/tDaTclNpXbrcHJVwBGQttohaEH6rIH0JrQ2trk6xGddWvkg7Ejuf91QnwNybnqi6KVhLSWoiR81KKz+xIpx8TL0zBR5jrZcCB7qB+mrsPxqVrQHF3WnyOLi1p4Kg\/ErVC9I6QuF6dP88Uny4yD1U4rgfh\/VWTXX1tNONvK8x1SvNlOHqtw87c+g\/fVneNt\/mT9ZswpKtybeyJTjY+Evuf0aP80c\/jVQzVqaiJbyStRyo+pNQPOZyDzwSNbq5D5Wc80eW9jOcc0COjCd3ejJCwUYoJiRAZdzS+ICHUkAE5pC38Wacoo98egoBJBmf0xzSFzmlktQLhxSVYGcA5HrSKQRCfjp3inewpGe2RTWEgKxThCOF4x1pDdEoC0gq5zmgbcDrijnk4cOTRak5SD6UUEmcBxSy1q2S0H1OKSOjFDhrKHkn0NNG6STyhsuDiP1VkftqVwcPQ2EO\/0bzZaVUZuqAi+Peilbh9\/NP8Qn8itEZ910Yot4hIqOyozkOa7Gc+JtWPr86LTnNSS\/tsyAJaU++2Q26cfgajoSN5wahdobKx926174j8fZem\/+7o39msloV5bC\/d5UcbvlWtvEoD\/yYZ3P\/m6N\/ZrIz6gDtHAFcZyJH1aX8Z7gu35dm1VD+Ad5RKlEk817g8Vwc8UJIwR3rtguCuubMHg8UYMUFSwOgryVjocU5BCKeua6hXGO9eyOorhyFA9qSCIeHvEY47UbHVlIHpQZCec0GMrGR3ocUU4ABSeRz2olaPf5FGtqG7B6V10fdTkERyFc9K6SPSvKHeudRgnIpJLnGeaLV0\/ro3GR0oJTxmkkgJ60oQQU96TkEHpRrZATzQRXiK8RhPpQ1jIz3+VB64ooIsjIoI4NG4AP8K8pPSgkgpUSMcUPng0X0PXihJwT0o3RXSkHnHNCTwea8OD\/AAoRGcHr8zSskgkhLoWnp3qZeHOuJWhvECJeWXCIzoMWajstpfBJ+nB+oqFK5T86L3ZISenwn6UNtUQbL6c+Av8AOdC6hmNncly7IIUO6Q0MH9tM\/jU8piC07jgKGfmPSkf2IL1GvP2fL1a3ZBdukC4\/n0K6+WUANkfLgj7qb\/tH3IRdE3N0HaWmlEH04qxnu0lL791i\/VNxN31RMuDhUVS5bkg7+uwe6gdOwFRaedzwB5pbKfzc1I5y22hHJzzgE\/tNIHTvlkqFQD7KB1dddb+DP7KTvKzSkjaj60ic+KkUAhtJB6Yp0jow2VU3sJ5FOY92JznOaIQKQO\/0h+tE9T0ox0kq4orpTU4BcxzmlcZW1aSKSc5pU0QUjGOKQSR8hOHSegPNFK+HoRStxKlNBShkAUmUnaec464pyaElcGQTjmgNHCwOlGLotPC6anI28J\/ncd0fptJ\/ZxTtEXssiuP0k01XEhcCKvrtUUH99KVvFmwZ7qWMU4aFCyXwHUTZ06EsZS8nH0PY\/jUcU2tp9baxhSSUkfOnfTbajdA4pRyo4+tG3+MyLkZLQwh3r\/lDrTHi7bpzTrZaZ8Q3\/P8Aswy3Eg7VW6KR\/wDLWTFhRWSrjmtHC9OXr7G93S+FedAbEJS1fphKxtP4HFZxcWfMI+dcjySgMEdRC7dsju4LtOWdQ2okppm7Ojaf3KDjBoQVjtQeorieRzXXBcWhkBVEraWk5GTRyUnPWjU8g5FJJJG3Ck80sBC2\/nRTrCVAkcEUUytSV4PakEka4nLZSeopOycO0uUnc3n0pCQUyCPnSKCXoOMZAzRpBLYPf0ohs4I4pU0OtOugkxT9a4kY4o5acKJolZwvPekUl0j04rhrvavBPWkkiyCetdQOeKNCRt57UAnCuKCKNQPlXi3tOaAlZAo\/G5AB60kERg5BAArisk80NY5Ka8B7vNFJEKTk11Io7ACenNBUOMigivDjt+NCB93B\/ZRZBCgn50IZ3UrpL20\/fXA0kpPrRvTINeV0+lJBXd9lrxP\/ALm\/ja17Q4r8nXpg2+UgnAKyQWlH\/OwM\/Opx4v68ieIPhpqSQ46xaJjFzbtyLU6ve9IO4lZT6BO0knp0rKiFOIdWG1bVABaVDqCO9TlGslQrFCYk2yNLektKcdlOpCnE717VFJx1IT1PrUbi7gVKwjioehJdmyHj0Kyf28UnKfzxpWpv2WfJjdfLWUg\/Q8UnT7yiRwalUS84rCe\/30jIy7St1G1IzSbHv0HFEJSwnOMjGO1LnCUxTgdR0NImDzilisqjEnqKcE0puVya8E8HPNDKOT6mgimJy9soxoYUM0AHkD1oxHx0QilqfebwST6UmWfkSaUN9MUB9G1ZNPTLJEvlXTrRe00etHOTzQVJwaYU6yE82V2ZXqhwK\/GkrzqnQ23+igYA\/rpalebdJQf1M\/tprbcwSsjOO1IpBSK0LREC3CAVJbKv2cUoZjpnwyl1YAC8hR+nNM7C1exqJOVOEDPoKklsij8mpGeVe9mnAX0Q2X\/\/2Q==';\n\n    const grid =\n        document.getElementById(\n            'rrr-voices-grid'\n        );\n\n    if (!grid) return;\n\n\n    function parseCSV(text) {\n\n        const rows = [];\n\n        let row = [];\n        let field = '';\n        let quoted = false;\n\n        for (let i = 0; i < text.length; i++) {\n\n            const char = text[i];\n\n            if (char === '\"') {\n\n                if (\n                    quoted &&\n                    text[i + 1] === '\"'\n                ) {\n\n                    field += '\"';\n                    i++;\n\n                } else {\n\n                    quoted = !quoted;\n                }\n\n            } else if (\n                char === ',' &&\n                !quoted\n            ) {\n\n                row.push(field);\n                field = '';\n\n            } else if (\n                (\n                    char === '\\n' ||\n                    char === '\\r'\n                ) &&\n                !quoted\n            ) {\n\n                if (\n                    char === '\\r' &&\n                    text[i + 1] === '\\n'\n                ) {\n                    i++;\n                }\n\n                row.push(field);\n                rows.push(row);\n\n                row = [];\n                field = '';\n\n            } else {\n\n                field += char;\n            }\n        }\n\n        if (\n            field.length ||\n            row.length\n        ) {\n\n            row.push(field);\n            rows.push(row);\n        }\n\n        return rows;\n    }\n\n\n    function createDJCard(dj) {\n\n        const card =\n            document.createElement(\n                'article'\n            );\n\n        card.className =\n            'rrr-voice-card';\n\n\n        const artWrap =\n            document.createElement(\n                'div'\n            );\n\n        artWrap.className =\n            'rrr-voice-art-wrap';\n\n\n        const art =\n            document.createElement(\n                'img'\n            );\n\n        art.className =\n            'rrr-voice-art';\n\n        art.src =\n            dj.djImage ||\n            TRIPLE_R_LOGO;\n\n        art.alt =\n            dj.name;\n\n        art.onerror =\n            function () {\n\n                this.onerror = null;\n\n                if (\n                    dj.name\n                        .trim()\n                        .toLowerCase() ===\n                    'psycho sammy lee'\n                ) {\n\n                    this.src =\n                        SAMMY_FALLBACK_PHOTO;\n\n                } else {\n\n                    this.src =\n                        TRIPLE_R_LOGO;\n                }\n            };\n\n\n        artWrap.appendChild(\n            art\n        );\n\n\n        const info =\n            document.createElement(\n                'div'\n            );\n\n        info.className =\n            'rrr-voice-info';\n\n\n        const name =\n            document.createElement(\n                'div'\n            );\n\n        name.className =\n            'rrr-voice-name';\n\n        name.textContent =\n            dj.name;\n\n\n        info.appendChild(\n            name\n        );\n\n\n        dj.shows.forEach(\n            function(show, index) {\n\n                const showName =\n                    document.createElement(\n                        'div'\n                    );\n\n                showName.className =\n                    'rrr-voice-show';\n\n                showName.textContent =\n                    show.name || dj.name;\n\n                if (index > 0) {\n                    showName.style.marginTop =\n                        '12px';\n                }\n\n\n                const time =\n                    document.createElement(\n                        'div'\n                    );\n\n                time.className =\n                    'rrr-voice-time';\n\n                time.textContent =\n                    show.day +\n                    ' \u2022 ' +\n                    show.start +\n                    ' \u2013 ' +\n                    show.end +\n                    ' ET';\n\n\n                info.appendChild(\n                    showName\n                );\n\n                info.appendChild(\n                    time\n                );\n            }\n        );\n\n\n        card.appendChild(\n            artWrap\n        );\n\n        card.appendChild(\n            info\n        );\n\n\n        return card;\n    }\n\n\n    function processData(\n        djRows,\n        showRows\n    ) {\n\n        if (!djRows.length) return;\n\n        djRows.shift();\n\n        if (showRows.length) {\n            showRows.shift();\n        }\n\n\n        const DJs =\n            new Map();\n\n\n        djRows.forEach(\n            function(row) {\n\n                if (row.length < 2) {\n                    return;\n                }\n\n                const active =\n                    (row[0] || '')\n                        .trim()\n                        .toLowerCase();\n\n                const name =\n                    (row[1] || '')\n                        .trim();\n\n                const photo =\n                    (row[2] || '')\n                        .trim();\n\n\n                if (\n                    !name ||\n                    active !== 'yes'\n                ) {\n                    return;\n                }\n\n\n                DJs.set(\n                    name,\n                    {\n                        name: name,\n                        djImage: photo,\n                        shows: []\n                    }\n                );\n            }\n        );\n\n\n        showRows.forEach(\n            function(row) {\n\n                if (row.length < 6) {\n                    return;\n                }\n\n                const active =\n                    (row[0] || '')\n                        .trim()\n                        .toLowerCase();\n\n                const showName =\n                    (row[1] || '')\n                        .trim();\n\n                const djName =\n                    (row[2] || '')\n                        .trim();\n\n                const day =\n                    (row[3] || '')\n                        .trim();\n\n                const start =\n                    (row[4] || '')\n                        .trim();\n\n                const end =\n                    (row[5] || '')\n                        .trim();\n\n                const djPhoto =\n                    (row[6] || '')\n                        .trim();\n\n\n                if (\n                    active !== 'yes' ||\n                    !djName ||\n                    !DJs.has(djName)\n                ) {\n                    return;\n                }\n\n\n                const dj =\n                    DJs.get(djName);\n\n                if (\n                    !dj.djImage &&\n                    djPhoto\n                ) {\n                    dj.djImage =\n                        djPhoto;\n                }\n\n\n                dj.shows.push(\n                    {\n                        name: showName,\n                        day: day,\n                        start: start,\n                        end: end\n                    }\n                );\n            }\n        );\n\n\n        \/*\n         * HOME PAGE ORDER:\n         * current\/on-air DJ first, then the next DJs\n         * in actual weekly schedule order (Eastern Time).\n         * Each DJ still appears only once.\n         *\/\n\n        const DAY_INDEX = {\n            Sunday: 0,\n            Monday: 1,\n            Tuesday: 2,\n            Wednesday: 3,\n            Thursday: 4,\n            Friday: 5,\n            Saturday: 6\n        };\n\n\n        function timeToMinutes(value) {\n\n            const match =\n                String(value || '')\n                    .trim()\n                    .match(\n                        \/^(\\d{1,2}):(\\d{2})\\s*(AM|PM)$\/i\n                    );\n\n            if (!match) {\n                return null;\n            }\n\n            let hour =\n                parseInt(\n                    match[1],\n                    10\n                );\n\n            const minute =\n                parseInt(\n                    match[2],\n                    10\n                );\n\n            const ampm =\n                match[3]\n                    .toUpperCase();\n\n            if (\n                ampm === 'PM' &&\n                hour !== 12\n            ) {\n                hour += 12;\n            }\n\n            if (\n                ampm === 'AM' &&\n                hour === 12\n            ) {\n                hour = 0;\n            }\n\n            return (\n                hour * 60 +\n                minute\n            );\n        }\n\n\n        function easternNow() {\n\n            const parts =\n                new Intl.DateTimeFormat(\n                    'en-US',\n                    {\n                        timeZone:\n                            'America\/New_York',\n                        weekday:\n                            'long',\n                        hour:\n                            'numeric',\n                        minute:\n                            '2-digit',\n                        hour12:\n                            false\n                    }\n                )\n                .formatToParts(\n                    new Date()\n                );\n\n            const data = {};\n\n            parts.forEach(\n                function(part) {\n                    data[part.type] =\n                        part.value;\n                }\n            );\n\n            return {\n                day:\n                    data.weekday,\n                minute:\n                    (\n                        parseInt(\n                            data.hour,\n                            10\n                        ) * 60\n                    ) +\n                    parseInt(\n                        data.minute,\n                        10\n                    )\n            };\n        }\n\n\n        const now =\n            easternNow();\n\n        const nowDay =\n            DAY_INDEX[now.day];\n\n        const WEEK_MINUTES =\n            7 * 24 * 60;\n\n        const currentWeekMinute =\n            (\n                nowDay * 24 * 60\n            ) +\n            now.minute;\n\n\n        const upcoming =\n            [];\n\n\n        DJs.forEach(\n            function(dj) {\n\n                dj.shows.forEach(\n                    function(show) {\n\n                        const dayIndex =\n                            DAY_INDEX[\n                                show.day\n                            ];\n\n                        const startMinute =\n                            timeToMinutes(\n                                show.start\n                            );\n\n                        const endMinute =\n                            timeToMinutes(\n                                show.end\n                            );\n\n                        if (\n                            dayIndex === undefined ||\n                            startMinute === null ||\n                            endMinute === null\n                        ) {\n                            return;\n                        }\n\n\n                        const startWeekMinute =\n                            (\n                                dayIndex *\n                                24 *\n                                60\n                            ) +\n                            startMinute;\n\n                        let endWeekMinute =\n                            (\n                                dayIndex *\n                                24 *\n                                60\n                            ) +\n                            endMinute;\n\n                        if (\n                            endMinute <=\n                            startMinute\n                        ) {\n                            endWeekMinute +=\n                                24 * 60;\n                        }\n\n\n                        let isLive = false;\n\n                        let liveStart =\n                            startWeekMinute;\n\n                        let liveEnd =\n                            endWeekMinute;\n\n                        let currentForLive =\n                            currentWeekMinute;\n\n\n                        if (\n                            liveEnd >\n                            WEEK_MINUTES &&\n                            currentForLive <\n                            liveStart\n                        ) {\n                            currentForLive +=\n                                WEEK_MINUTES;\n                        }\n\n\n                        isLive =\n                            currentForLive >=\n                                liveStart &&\n                            currentForLive <\n                                liveEnd;\n\n\n                        let distance;\n\n                        if (isLive) {\n\n                            distance = -1;\n\n                        } else {\n\n                            distance =\n                                startWeekMinute -\n                                currentWeekMinute;\n\n                            if (distance < 0) {\n                                distance +=\n                                    WEEK_MINUTES;\n                            }\n                        }\n\n\n                        upcoming.push(\n                            {\n                                dj: dj,\n                                show: show,\n                                distance: distance,\n                                isLive: isLive\n                            }\n                        );\n                    }\n                );\n            }\n        );\n\n\n        upcoming.sort(\n            function(a, b) {\n\n                if (\n                    a.isLive !==\n                    b.isLive\n                ) {\n                    return a.isLive\n                        ? -1\n                        : 1;\n                }\n\n                return (\n                    a.distance -\n                    b.distance\n                );\n            }\n        );\n\n\n        const list = [];\n\n        const seen =\n            new Set();\n\n\n        upcoming.forEach(\n            function(item) {\n\n                if (\n                    seen.has(\n                        item.dj.name\n                    )\n                ) {\n                    return;\n                }\n\n                seen.add(\n                    item.dj.name\n                );\n\n                \/*\n                 * Put the current\/next relevant shift\n                 * at the top of that DJ's card.\n                 *\/\n                item.dj.shows =\n                    [\n                        item.show\n                    ].concat(\n                        item.dj.shows.filter(\n                            function(show) {\n                                return (\n                                    show !==\n                                    item.show\n                                );\n                            }\n                        )\n                    );\n\n                list.push(\n                    item.dj\n                );\n            }\n        );\n\n\n        grid.innerHTML = '';\n\n\n        if (!list.length) {\n\n            grid.innerHTML =\n                '<div class=\"rrr-voices-loading\">' +\n                'More voices are coming to Triple R.' +\n                '<\/div>';\n\n            return;\n        }\n\n\n        list\n            .slice(0, 4)\n            .forEach(\n                function(dj) {\n\n                    grid.appendChild(\n                        createDJCard(dj)\n                    );\n                }\n            );\n    }\n\n\n    Promise.all(\n        [\n            fetch(\n                DJS_URL +\n                '&cache=' +\n                Date.now()\n            )\n            .then(\n                response =>\n                    response.text()\n            ),\n\n            fetch(\n                SHOWS_URL +\n                '&cache=' +\n                Date.now()\n            )\n            .then(\n                response =>\n                    response.text()\n            )\n        ]\n    )\n\n    .then(\n        function(results) {\n\n            processData(\n                parseCSV(\n                    results[0]\n                ),\n                parseCSV(\n                    results[1]\n                )\n            );\n        }\n    )\n\n    .catch(\n        function () {\n\n            grid.innerHTML =\n                '<div class=\"rrr-voices-loading\">' +\n                'The voices of Triple R are coming soon.' +\n                '<\/div>';\n        }\n    );\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c9fda0d e-flex e-con-boxed e-con e-parent\" data-id=\"c9fda0d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5fb3f10 elementor-widget elementor-widget-html\" data-id=\"5fb3f10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* ==========================================================\n   REAL ROCK REVIVAL \u2014 FINAL LISTEN CTA\n   ========================================================== *\/\n\n#rrr-final-cta {\n    width: 100%;\n    padding: 1px 20px 78px;\n    box-sizing: border-box;\n\n    background:\n        radial-gradient(\n            circle at center,\n            rgba(239,36,40,.10) 0%,\n            rgba(11,11,11,0) 58%\n        ),\n        #0b0b0b;\n\n    text-align: center;\n    color: #ffffff;\n}\n\n.rrr-final-inner {\n    max-width: 1000px;\n    margin: 0 auto;\n}\n\n\/* KICKER *\/\n\n.rrr-final-kicker {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 14px;\n\n    margin-bottom: 10px;\n\n    color: #ef2428;\n\n    font-size: 13px;\n    font-weight: 900;\n\n    letter-spacing: 3px;\n    text-transform: uppercase;\n}\n\n.rrr-final-kicker::before,\n.rrr-final-kicker::after {\n    content: \"\";\n\n    width: 55px;\n    height: 2px;\n\n    background:\n        linear-gradient(\n            90deg,\n            transparent,\n            #ef2428,\n            #ff8a00\n        );\n}\n\n.rrr-final-kicker::after {\n    background:\n        linear-gradient(\n            90deg,\n            #ff8a00,\n            #ef2428,\n            transparent\n        );\n}\n\n\/* TITLE *\/\n\n.rrr-final-title {\n    margin: 0;\n\n    color: #ffffff;\n\n    font-size: 46px;\n    line-height: 1.05;\n\n    font-weight: 900;\n\n    letter-spacing: 1px;\n    text-transform: uppercase;\n}\n\n.rrr-final-title::after {\n    content: \"\";\n\n    display: block;\n\n    width: 120px;\n    height: 3px;\n\n    margin: 16px auto 0;\n\n    border-radius: 10px;\n\n    background:\n        linear-gradient(\n            90deg,\n            #ef2428 0%,\n            #ff4a00 48%,\n            #ffc20e 100%\n        );\n}\n\n\/* COPY *\/\n\n.rrr-final-copy {\n    max-width: 760px;\n\n    margin: 24px auto 0;\n\n    color: #bdbdbd;\n\n    font-size: 18px;\n    line-height: 1.55;\n}\n\n\/* BUTTON *\/\n\n.rrr-final-button-wrap {\n    margin-top: 30px;\n}\n\n.rrr-final-button {\n    display: inline-flex;\n\n    align-items: center;\n    justify-content: center;\n\n    gap: 12px;\n\n    padding: 14px 24px;\n\n    background: #df2027;\n\n    color: #ffffff;\n\n    border: 0;\n    border-radius: 7px;\n\n    font-family: inherit;\n    font-size: 15px;\n    font-weight: 900;\n\n    letter-spacing: 1px;\n\n    text-decoration: none;\n    text-transform: uppercase;\n\n    cursor: pointer;\n\n    box-shadow:\n        0 10px 24px rgba(239,36,40,.20);\n\n    transition:\n        transform .18s ease,\n        background .18s ease;\n}\n\n.rrr-final-button:hover {\n    background: #f1262e;\n    transform: translateY(-2px);\n}\n\n\/* BLACK CIRCLE *\/\n\n.rrr-final-play {\n    position: relative;\n\n    display: inline-flex;\n\n    align-items: center;\n    justify-content: center;\n\n    width: 34px;\n    height: 34px;\n\n    flex: 0 0 34px;\n\n    border-radius: 50%;\n\n    background: #111111;\n}\n\n\/* YELLOW PLAY TRIANGLE *\/\n\n.rrr-final-play::after {\n    content: \"\";\n\n    width: 0;\n    height: 0;\n\n    border-top: 6px solid transparent;\n    border-bottom: 6px solid transparent;\n    border-left: 9px solid #ffc20e;\n\n    margin-left: 3px;\n}\n\n\/* MOBILE *\/\n\n@media (max-width: 600px) {\n\n    #rrr-final-cta {\n        padding: 54px 18px 60px;\n    }\n\n    .rrr-final-title {\n        font-size: 34px;\n    }\n\n    .rrr-final-copy {\n        font-size: 16px;\n    }\n\n    .rrr-final-kicker::before,\n    .rrr-final-kicker::after {\n        width: 30px;\n    }\n\n    .rrr-final-button {\n        width: 100%;\n        max-width: 320px;\n    }\n}\n<\/style>\n\n\n<section id=\"rrr-final-cta\">\n\n    <div class=\"rrr-final-inner\">\n\n        <div class=\"rrr-final-kicker\">\n            Real Rock Revival\n        <\/div>\n\n        <h2 class=\"rrr-final-title\">\n            Real Rock. Real Radio. 24\/7.\n        <\/h2>\n\n        <div class=\"rrr-final-copy\">\n            Classic rock, new rock, and the personalities keeping real radio alive.\n            Triple R is always on.\n        <\/div>\n\n        <div class=\"rrr-final-button-wrap\">\n\n            <button\n                type=\"button\"\n                id=\"rrr-final-listen\"\n                class=\"rrr-final-button\">\n\n                <span class=\"rrr-final-play\"><\/span>\n\n                <span>\n                    Listen Live\n                <\/span>\n\n            <\/button>\n\n        <\/div>\n\n    <\/div>\n\n<\/section>\n\n\n<script>\n(function () {\n\n    const finalButton =\n        document.getElementById('rrr-final-listen');\n\n    if (!finalButton) {\n        return;\n    }\n\n    finalButton.addEventListener('click', function () {\n\n        const originalListenButton =\n            document.getElementById('rrr-home-open-player');\n\n        if (originalListenButton) {\n            originalListenButton.click();\n        }\n\n    });\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Live On Air Connecting&#8230; Now Playing Real Rock Revival Loading live song information&#8230; REAL ROCK \u2022 REAL PEOPLE \u2022 REAL RADIO. Real Rock Radio. The Signal Lives On. The music, the personalities, and the attitude that made real rock radio matter \u2014 streaming 24\/7. \u25b6 Listen Live LIVE ON TRIPLE R ON AIR NOW \u25cf [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-61","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/realrockrevival.com\/index.php\/wp-json\/wp\/v2\/pages\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/realrockrevival.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/realrockrevival.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/realrockrevival.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/realrockrevival.com\/index.php\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":142,"href":"https:\/\/realrockrevival.com\/index.php\/wp-json\/wp\/v2\/pages\/61\/revisions"}],"predecessor-version":[{"id":1437,"href":"https:\/\/realrockrevival.com\/index.php\/wp-json\/wp\/v2\/pages\/61\/revisions\/1437"}],"wp:attachment":[{"href":"https:\/\/realrockrevival.com\/index.php\/wp-json\/wp\/v2\/media?parent=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}