text:
define(['readium_shared_js/globals', 'module','jquery', 'underscore', 'bootstrap', 'readium_js/Readium', './Spinner', 'Settings', 'i18nStrings', './Dialogs', './Keyboard'],
        function (Globals, module, $, _, bootstrap, Readium, spinner, Settings, Strings, Dialogs, Keyboard) {

    var init = function(readium) {

        readium.reader.on(ReadiumSDK.Events.PAGINATION_CHANGED, function (pageChangeData) {

            Globals.logEvent("PAGINATION_CHANGED", "ON", "EpubReaderMediaOverlays.js");
            // That's after mediaOverlayPlayer.onPageChanged()

            if (readium.reader.isMediaOverlayAvailable()) {
                $('#audioplayer').show();
            }

            if (!pageChangeData.spineItem) return;

            var smil = readium.reader.package().media_overlay.getSmilBySpineItem(pageChangeData.spineItem);

            var atLeastOneIsEnabled = false;

            var $moSyncWord = $('#mo-sync-word');
            if (!smil || !smil.hasSync("word"))
            {
                $moSyncWord.attr('disabled', "disabled");
            }
            else
            {
                atLeastOneIsEnabled = true;
                $moSyncWord.removeAttr('disabled');
            }

            var $moSyncSentence = $('#mo-sync-sentence');
            if (!smil || !smil.hasSync("sentence"))
            {
                $moSyncSentence.attr('disabled', "disabled");
            }
            else
            {
                atLeastOneIsEnabled = true;
                $moSyncSentence.removeAttr('disabled');
            }

            var $moSyncParagraph = $('#mo-sync-paragraph');
            if (!smil || !smil.hasSync("paragraph"))
            {
                $moSyncParagraph.attr('disabled', "disabled");
            }
            else
            {
                atLeastOneIsEnabled = true;
                $moSyncParagraph.removeAttr('disabled');
            }

            var $moSyncDefault = $('#mo-sync-default');
            if (!atLeastOneIsEnabled)
            {
                $moSyncDefault.attr('disabled', "disabled");
            }
            else
            {
                $moSyncDefault.removeAttr('disabled');
            }
        });

        var $audioPlayer = $('#audioplayer');

        Settings.get('reader', function(json)
        {
            if (!json)
            {
                json = {};

                var settings = readium.reader.viewerSettings();

                json.mediaOverlaysSkipSkippables = settings.mediaOverlaysSkipSkippables;
                json.mediaOverlaysAutomaticPageTurn = settings.mediaOverlaysAutomaticPageTurn;
                json.mediaOverlaysEnableClick = settings.mediaOverlaysEnableClick;
                json.mediaOverlaysPreservePlaybackWhenScroll = settings.mediaOverlaysPreservePlaybackWhenScroll;

                // Note: automatically JSON.stringify's the passed value!
                Settings.put('reader', json);
            }

            var settingsToUpdate = { doNotUpdateView: true };

            if (json.mediaOverlaysSkipSkippables) // excludes typeof json.mediaOverlaysSkipSkippables === "undefined", so the default is to disable skippability
            {
                $audioPlayer.addClass('skip');

                settingsToUpdate.mediaOverlaysSkipSkippables = true;
            }
            else
            {
                $audioPlayer.removeClass('skip');

                settingsToUpdate.mediaOverlaysSkipSkippables = false;
            }

            if (json.mediaOverlaysPreservePlaybackWhenScroll)
            {
                $audioPlayer.addClass('playScroll');

                settingsToUpdate.mediaOverlaysPreservePlaybackWhenScroll = true;
            }
            else
            {
                $audioPlayer.removeClass('playScroll');

                settingsToUpdate.mediaOverlaysPreservePlaybackWhenScroll = false;
            }

            if (json.mediaOverlaysAutomaticPageTurn)
            {
                $audioPlayer.addClass('autoPageTurn');

                settingsToUpdate.mediaOverlaysAutomaticPageTurn = true;
            }
            else
            {
                $audioPlayer.removeClass('autoPageTurn');

                settingsToUpdate.mediaOverlaysAutomaticPageTurn = false;
            }

            if (json.mediaOverlaysEnableClick)
            {
                $audioPlayer.removeClass('no-touch');

                settingsToUpdate.mediaOverlaysEnableClick = true;
            }
            else
            {
                $audioPlayer.addClass('no-touch');

                settingsToUpdate.mediaOverlaysEnableClick = false;
            }

            readium.reader.updateSettings(settingsToUpdate);
        });

        var $moSyncDefault = $('#mo-sync-default');
        $moSyncDefault.on("click", function () {
            var wasPlaying = readium.reader.isPlayingMediaOverlay();
            if (wasPlaying)
            {
                readium.reader.pauseMediaOverlay();
            }

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysSynchronizationGranularity: ""
            });

            if (wasPlaying)
            {
                readium.reader.playMediaOverlay();
            }
        });
        var $moSyncWord = $('#mo-sync-word');
        $moSyncWord.on("click", function () {
            var wasPlaying = readium.reader.isPlayingMediaOverlay();
            if (wasPlaying)
            {
                readium.reader.pauseMediaOverlay();
            }

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysSynchronizationGranularity: "word"
            });

            if (wasPlaying)
            {
                readium.reader.playMediaOverlay();
            }
        });
        var $moSyncSentence = $('#mo-sync-sentence');
        $moSyncSentence.on("click", function () {
            var wasPlaying = readium.reader.isPlayingMediaOverlay();
            if (wasPlaying)
            {
                readium.reader.pauseMediaOverlay();
            }

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysSynchronizationGranularity: "sentence"
            });

            if (wasPlaying)
            {
                readium.reader.playMediaOverlay();
            }
        });
        var $moSyncParagraph = $('#mo-sync-paragraph');
        $moSyncParagraph.on("click", function () {
            var wasPlaying = readium.reader.isPlayingMediaOverlay();
            if (wasPlaying)
            {
                readium.reader.pauseMediaOverlay();
            }

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysSynchronizationGranularity: "paragraph"
            });

            if (wasPlaying)
            {
                readium.reader.playMediaOverlay();
            }
        });

        var $highlighterButts = $('.btn-mo-highlighter');
        $highlighterButts.on("click", function () {
            $highlighterButts.attr("aria-selected", "false");
            $(this).attr("aria-selected", "true");

            var index = $(this).attr("data-mohighlight");

            readium.reader.setStyles([
                {
                    selector: ".mo-active-default",
                    declarations: undefined
                }
            ], true);

            if (index === "1")
            {
                readium.reader.setStyles([
                    {
                        selector: ".mo-active-default",
                        declarations: {
                            "background-color": "yellow !important",
                            "color": "black !important",
                            "border-color": "transparent !important",
                            "border-radius": "0.4em !important",
                            "box-shadow": "0px 0px 0.4em #333333 !important"
                        }
                    }
                ], true);
            }
            else if (index === "2")
            {
                readium.reader.setStyles([
                    {
                        selector: ".mo-active-default",
                        declarations: {
                            "background-color": "black !important",
                            "color": "white !important",
                            "border-color": "transparent !important",
                            "border-radius": "0.4em !important"
                        }
                    }
                ], true);
            }
            else if (index === "3")
            {
                readium.reader.setStyles([
                    {
                        selector: ".mo-active-default",
                        declarations: {
                            "background-color": "orange !important",
                            "color": "black !important",
                            "border-color": "transparent !important",
                            "border-radius": "0.4em !important"
                        }
                    }
                ], true);
            }
            else if (index === "4")
            {
                readium.reader.setStyles([
                    {
                        selector: ".mo-active-default",
                        declarations: {
                            "background-color": "blue !important",
                            "color": "white !important",
                            "border-color": "transparent !important",
                            "border-radius": "0.4em !important"
                        }
                    }
                ], true);
            }
            else if (index === "5")
            {
                readium.reader.setStyles([
                    {
                        selector: ".mo-active-default",
                        declarations: {
                            "background-color": "magenta !important",
                            "color": "black !important",
                            "border-color": "transparent !important",
                            "border-radius": "0.4em !important"
                        }
                    }
                ], true);
            }
            else if (index === "6")
            {
                readium.reader.setStyles([
                    {
                        selector: ".mo-active-default",
                        declarations: {
                            "background-color": "#00FF00 !important",
                            "color": "black !important",
                            "border-color": "transparent !important",
                            "border-radius": "0.4em !important"
                        }
                    }
                ], true);
            }
        });

        Keyboard.on(Keyboard.MediaOverlaysEscape, 'reader', readium.reader.escapeMediaOverlay);

        var $escAudioBtn = $("#btn-esc-audio");
        $escAudioBtn.on("click", readium.reader.escapeMediaOverlay);

        var $previousAudioBtn = $("#btn-previous-audio");
        var $nextAudioBtn = $("#btn-next-audio");

        Keyboard.on(Keyboard.MediaOverlaysPlayPause, 'reader', readium.reader.toggleMediaOverlay);
        //Keyboard.on(Keyboard.MediaOverlaysPlayPauseAlt, 'reader', readium.reader.toggleMediaOverlay);

        var $playAudioBtn = $("#btn-play-audio");
        var $pauseAudioBtn = $("#btn-pause-audio");

        $playAudioBtn.on("click", function () {
            //readium.reader[$(this).hasClass('pause-audio') ? 'pauseMediaOverlay' : 'playMediaOverlay']();
            //readium.reader.toggleMediaOverlay();
            var wasFocused = document.activeElement === $playAudioBtn[0];
            readium.reader.playMediaOverlay();

            $playAudioBtn.removeAttr("accesskey");
            $pauseAudioBtn.attr("accesskey", Keyboard.MediaOverlaysPlayPause);

            if (wasFocused) setTimeout(function(){ $pauseAudioBtn[0].focus(); }, 50);
        });

        $pauseAudioBtn.on("click", function () {
            var wasFocused = document.activeElement === $pauseAudioBtn[0];
            readium.reader.pauseMediaOverlay();

            $pauseAudioBtn.removeAttr("accesskey");
            $playAudioBtn.attr("accesskey", Keyboard.MediaOverlaysPlayPause);

            if (wasFocused) setTimeout(function(){ $playAudioBtn[0].focus(); }, 50);
        });

        var $expandAudioBtn = $("#btn-expand-audio");
        var $collapseAudioBtn = $("#btn-collapse-audio");

        var updateAudioExpand = function(expand)
        {
            if (expand)
            {
                $audioPlayer.addClass('expanded-audio');

                $expandAudioBtn.removeAttr("accesskey");
                $collapseAudioBtn.attr("accesskey", Keyboard.MediaOverlaysAdvancedPanelShowHide);
            }
            else
            {
                $audioPlayer.removeClass('expanded-audio');

                $collapseAudioBtn.removeAttr("accesskey");
                $expandAudioBtn.attr("accesskey", Keyboard.MediaOverlaysAdvancedPanelShowHide);
            }
        };

        Keyboard.on(Keyboard.MediaOverlaysAdvancedPanelShowHide, 'reader', function(){
            var toFocus = undefined;
            if ($audioPlayer.hasClass('expanded-audio'))
            {
                updateAudioExpand(false);
                toFocus = $expandAudioBtn[0];
            }
            else
            {
                updateAudioExpand(true);
                toFocus = $collapseAudioBtn[0];
            }

            $(document.body).removeClass('hide-ui');
            setTimeout(function(){ toFocus.focus(); }, 50);
        });

        $expandAudioBtn.on("click", function() {
            var wasFocused = document.activeElement === $expandAudioBtn[0];
            updateAudioExpand(true);
            if (wasFocused) setTimeout(function(){ $collapseAudioBtn[0].focus(); }, 50);
        });

        $collapseAudioBtn.on("click", function() {
            var wasFocused = document.activeElement === $collapseAudioBtn[0];
            updateAudioExpand(false);
            if (wasFocused) setTimeout(function(){ $expandAudioBtn[0].focus(); }, 50);
        });

        var $changeTimeControl = $('#time-range-slider');

        var debouncedTimeRangeSliderChange = _.debounce(
            function() {

                inDebounce = false;

                var percent = $changeTimeControl.val();

                var package = readium.reader.package();
                if (!package) return;
                if (!package.media_overlay) return;

                var par = {par: undefined};
                var smilData = {smilData: undefined};
                var milliseconds = {milliseconds: undefined};

                package.media_overlay.percentToPosition(percent, smilData, par, milliseconds);

                if (!par.par || !par.par.text || !smilData.smilData)
                {
                    return;
                }

                var smilSrc = smilData.smilData.href;

                var offsetS = milliseconds.milliseconds / 1000.0;

                readium.reader.mediaOverlaysOpenContentUrl(par.par.text.src, smilSrc, offsetS);
            }
        , 800);

        var updateSliderLabels = function($slider, val, txt)
        {
            $slider.attr("aria-valuenow", val+"");
            $slider.attr("aria-value-now", val+"");

            $slider.attr("aria-valuetext", txt+"");
            $slider.attr("aria-value-text", txt+"");
        };

        $changeTimeControl.on("change",
        function() {

            var percent = $changeTimeControl.val();
            percent = Math.round(percent);

            $changeTimeControl.attr("data-value", percent);
            updateSliderLabels($changeTimeControl, percent, percent + "%");

            if (readium.reader.isPlayingMediaOverlay())
            {
                readium.reader.pauseMediaOverlay();
            }
            debouncedTimeRangeSliderChange();
        }
        );

        readium.reader.on(ReadiumSDK.Events.MEDIA_OVERLAY_STATUS_CHANGED, function (value) {

            Globals.logEvent("MEDIA_OVERLAY_STATUS_CHANGED", "ON", "EpubReaderMediaOverlays.js");

            //var $audioPlayerControls = $('#audioplayer button, #audioplayer input:not(.mo-sync)');

            var percent = 0;

            var isPlaying = 'isPlaying' in value
                ? value.isPlaying   // for all the other events
                : true;             // for events raised by positionChanged, as `isPlaying` flag isn't even set

            var wasFocused = document.activeElement === $playAudioBtn[0] || document.activeElement === $pauseAudioBtn[0];

            if (isPlaying)
            {
                $playAudioBtn.removeAttr("accesskey");
                $pauseAudioBtn.attr("accesskey", Keyboard.MediaOverlaysPlayPause);
            }
            else
            {
                $pauseAudioBtn.removeAttr("accesskey");
                $playAudioBtn.attr("accesskey", Keyboard.MediaOverlaysPlayPause);
            }

            $audioPlayer.toggleClass('isPlaying', isPlaying);

            if (wasFocused) setTimeout(function(){ (isPlaying ? $pauseAudioBtn[0] : $playAudioBtn[0]).focus(); }, 50);

            percent = -1; // to prevent flickering slider position (pause callback is raised between each audio phrase!)

            // if (readium.reader.isMediaOverlayAvailable()) {
            //     $audioPlayer.show();
            //     //$audioPlayerControls.attr('disabled', false);
            //
            // } else {
            //     //$audioPlayerControls.attr('disabled', true);
            // }

            if ((typeof value.playPosition !== "undefined") && (typeof value.smilIndex !== "undefined") && (typeof value.parIndex !== "undefined"))
            {
                var package = readium.reader.package();

                var playPositionMS = value.playPosition * 1000;
                percent = package.media_overlay.positionToPercent(value.smilIndex, value.parIndex, playPositionMS);

                if (percent < 0)
                {
                    percent = 0;
                }
            }

            if (percent >= 0)
            {
                $changeTimeControl.val(percent);
                percent = Math.round(percent);
                $changeTimeControl.attr("data-value", percent);
                updateSliderLabels($changeTimeControl, percent, percent + "%");
            }
        });

        var $buttondPreservePlaybackWhenScrollDisable = $('#btn-playback-scroll-disable');
        var $buttonPreservePlaybackWhenScrollEnable = $('#btn-playback-scroll-enable');

        $buttondPreservePlaybackWhenScrollDisable.on("click", function() {

            var wasFocused = document.activeElement === $buttondPreservePlaybackWhenScrollDisable[0];

            $audioPlayer.removeClass('playScroll');

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysPreservePlaybackWhenScroll: false
            });

            Settings.get('reader', function(json)
            {
                if (!json)
                {
                    json = {};
                }

                json.mediaOverlaysPreservePlaybackWhenScroll = false;

                // Note: automatically JSON.stringify's the passed value!
                Settings.put('reader', json);
            });

            if (wasFocused) setTimeout(function(){ $buttonPreservePlaybackWhenScrollEnable[0].focus(); }, 50);
        });

        $buttonPreservePlaybackWhenScrollEnable.on("click", function() {

            var wasFocused = document.activeElement === $buttonPreservePlaybackWhenScrollEnable[0];

            $audioPlayer.addClass('playScroll');

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysPreservePlaybackWhenScroll: true
            });

            Settings.get('reader', function(json)
            {
                if (!json)
                {
                    json = {};
                }

                json.mediaOverlaysPreservePlaybackWhenScroll = true;

                // Note: automatically JSON.stringify's the passed value!
                Settings.put('reader', json);
            });

            if (wasFocused) setTimeout(function(){ $buttondPreservePlaybackWhenScrollDisable[0].focus(); }, 50);
        });

        var $buttonAutoPageTurnDisable = $('#btn-auto-page-turn-disable');
        var $buttonAutoPageTurnEnable = $('#btn-auto-page-turn-enable');

        $buttonAutoPageTurnDisable.on("click", function() {

            var wasFocused = document.activeElement === $buttonAutoPageTurnDisable[0];

            $audioPlayer.removeClass('autoPageTurn');

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysAutomaticPageTurn: false
            });

            Settings.get('reader', function(json)
            {
                if (!json)
                {
                    json = {};
                }

                json.mediaOverlaysAutomaticPageTurn = false;

                // Note: automatically JSON.stringify's the passed value!
                Settings.put('reader', json);
            });

            if (wasFocused) setTimeout(function(){ $buttonAutoPageTurnEnable[0].focus(); }, 50);
        });

        $buttonAutoPageTurnEnable.on("click", function() {

            var wasFocused = document.activeElement === $buttonAutoPageTurnEnable[0];

            $audioPlayer.addClass('autoPageTurn');

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysAutomaticPageTurn: true
            });

            Settings.get('reader', function(json)
            {
                if (!json)
                {
                    json = {};
                }

                json.mediaOverlaysAutomaticPageTurn = true;

                // Note: automatically JSON.stringify's the passed value!
                Settings.put('reader', json);
            });

            if (wasFocused) setTimeout(function(){ $buttonAutoPageTurnDisable[0].focus(); }, 50);
        });

        var $buttonSkipDisable = $('#btn-skip-audio-disable');
        var $buttonSkipEnable = $('#btn-skip-audio-enable');

        $buttonSkipDisable.on("click", function() {

            var wasFocused = document.activeElement === $buttonSkipDisable[0];

            $audioPlayer.removeClass('skip');

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysSkipSkippables: false
            });

            Settings.get('reader', function(json)
            {
                if (!json)
                {
                    json = {};
                }

                json.mediaOverlaysSkipSkippables = false;

                // Note: automatically JSON.stringify's the passed value!
                Settings.put('reader', json);
            });

            if (wasFocused) setTimeout(function(){ $buttonSkipEnable[0].focus(); }, 50);
        });

        $buttonSkipEnable.on("click", function() {

            var wasFocused = document.activeElement === $buttonSkipEnable[0];

            $audioPlayer.addClass('skip');

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysSkipSkippables: true
            });

            Settings.get('reader', function(json)
            {
                if (!json)
                {
                    json = {};
                }

                json.mediaOverlaysSkipSkippables = true;

                // Note: automatically JSON.stringify's the passed value!
                Settings.put('reader', json);
            });

            if (wasFocused) setTimeout(function(){ $buttonSkipDisable[0].focus(); }, 50);
        });

        var $buttonTouchEnable = $('#btn-touch-audio-enable');
        var $buttonTouchDisable = $('#btn-touch-audio-disable');

        $buttonTouchEnable.on("click", function() {

            var wasFocused = document.activeElement === $buttonTouchEnable[0];

            $audioPlayer.removeClass('no-touch');

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysEnableClick: true
            });

            Settings.get('reader', function(json)
            {
                if (!json)
                {
                    json = {};
                }

                json.mediaOverlaysEnableClick = true;

                // Note: automatically JSON.stringify's the passed value!
                Settings.put('reader', json);
            });

            if (wasFocused) setTimeout(function(){ $buttonTouchDisable[0].focus(); }, 50);
        });

        $buttonTouchDisable.on("click", function() {

            var wasFocused = document.activeElement === $buttonTouchDisable[0];

            $audioPlayer.addClass('no-touch');

            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysEnableClick: false
            });

            Settings.get('reader', function(json)
            {
                if (!json)
                {
                    json = {};
                }

                json.mediaOverlaysEnableClick = false;

                // Note: automatically JSON.stringify's the passed value!
                Settings.put('reader', json);
            });

            if (wasFocused) setTimeout(function(){ $buttonTouchEnable[0].focus(); }, 50);
        });

        var $changeRateControl = $('#rate-range-slider');
        var $changeRateControl_label = $('#rate-range-slider-label');

        var changeRate = function(minus)
        {
            var rateMin = parseFloat($changeRateControl.attr("min"));
            var rateMax = parseFloat($changeRateControl.attr("max"));
            var rateStep = parseFloat($changeRateControl.attr("step"));
            var rateVal = parseFloat($changeRateControl.val());

            rateVal += (minus ? (-rateStep) : rateStep);

            if (rateVal > rateMax) rateVal = rateMax;
            if (rateVal < rateMin) rateVal = rateMin;

            var txt = ((rateVal === 0 ? "~0" : ""+rateVal) + "x");

            updateSliderLabels($changeRateControl, rateVal, txt);

            $changeRateControl_label[0].textContent = txt;

            //readium.reader.setRateMediaOverlay(rateVal);
            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysRate: rateVal
            });

            $changeRateControl.val(""+rateVal);
        };

        $("#buttRatePlus").on("click", function(){
            changeRate(false);
            //setTimeout(function(){ $changeRateControl[0].focus(); }, 50);
        });
        Keyboard.on(Keyboard.MediaOverlaysRateIncrease, 'reader', function(){
            changeRate(false);
            //setTimeout(function(){ $changeRateControl[0].focus(); }, 50);
        });

        $("#buttRateMinus").on("click", function(){
            changeRate(true);
            //setTimeout(function(){ $changeRateControl[0].focus(); }, 50);
        });
        Keyboard.on(Keyboard.MediaOverlaysRateDecrease, 'reader', function(){
            changeRate(true);
            //setTimeout(function(){ $changeRateControl[0].focus(); }, 50);
        });

        // Keyboard.on(Keyboard.MediaOverlaysRateIncreaseAlt, 'reader', function(){
        //     changeRate(false);
        //     //setTimeout(function(){ $changeRateControl[0].focus(); }, 50);
        // });
        //
        // Keyboard.on(Keyboard.MediaOverlaysRateDecreaseAlt, 'reader', function(){
        //     changeRate(true);
        //     //setTimeout(function(){ $changeRateControl[0].focus(); }, 50);
        // });

        $changeRateControl.on("change", function() {
            var rateVal = $(this).val();
            var txt = ((rateVal === '0' ? "~0" : rateVal) + "x");

            updateSliderLabels($(this), rateVal, txt);

            $changeRateControl_label[0].textContent = txt;

            //readium.reader.setRateMediaOverlay(rateVal);
            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysRate: rateVal
            });
        });

        var resetRate = function() {
            $changeRateControl.val(1);

            updateSliderLabels($changeRateControl, "1", "1x");

            $changeRateControl_label[0].textContent = "1x";

            //readium.reader.setRateMediaOverlay(1);
            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysRate: 1
            });
        };

        Keyboard.on(Keyboard.MediaOverlaysRateReset, 'reader', resetRate);

        var $rateButton = $('#btn-audio-rate');
        $rateButton.on("click", resetRate);

        var $changeVolumeControl = $('#volume-range-slider');

        var changeVolume = function(minus)
        {
            var volumeVal = parseInt($changeVolumeControl.val());

            volumeVal += (minus ? (-20) : 20);

            if (volumeVal < 0) volumeVal = 0;
            if (volumeVal > 100) volumeVal = 100;

            //readium.reader.setVolumeMediaOverlay(volumeVal / 100);
            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysVolume: volumeVal
            });

            $changeVolumeControl.val(""+volumeVal);

            updateSliderLabels($changeVolumeControl, volumeVal, volumeVal + "%");

            if (volumeVal === 0) {
                $audioPlayer.addClass('no-volume');
            } else {
                $audioPlayer.removeClass('no-volume');
            }
        };

        $("#buttVolumePlus").on("click", function(){
            changeVolume(false);
            //setTimeout(function(){ $changeVolumeControl[0].focus(); }, 50);
        });
        Keyboard.on(Keyboard.MediaOverlaysVolumeIncrease, 'reader', function(){
            changeVolume(false);
            //setTimeout(function(){ $changeVolumeControl[0].focus(); }, 50);
        });

        $("#buttVolumeMinus").on("click", function(){
            changeVolume(true);
            //setTimeout(function(){ $changeVolumeControl[0].focus(); }, 50);
        });
        Keyboard.on(Keyboard.MediaOverlaysVolumeDecrease, 'reader', function(){
            changeVolume(true);
            //setTimeout(function(){ $changeVolumeControl[0].focus(); }, 50);
        });

        // Keyboard.on(Keyboard.MediaOverlaysVolumeIncreaseAlt, 'reader', function(){
        //     changeVolume(false);
        //     //setTimeout(function(){ $changeVolumeControl[0].focus(); }, 50);
        // });

        // Keyboard.on(Keyboard.MediaOverlaysVolumeDecreaseAlt, 'reader', function(){
        //     changeVolume(true);
        //     //setTimeout(function(){ $changeVolumeControl[0].focus(); }, 50);
        // });

        $changeVolumeControl.on("change", function() {
            var volumeVal = $(this).val();

            //readium.reader.setVolumeMediaOverlay(volumeVal / 100);
            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysVolume: volumeVal
            });

            updateSliderLabels($changeVolumeControl, volumeVal, volumeVal + "%");

            if (volumeVal === '0') {
                $audioPlayer.addClass('no-volume');
            } else {
                $audioPlayer.removeClass('no-volume');
            }
        });

        $volumeButtonMute = $('#btn-audio-volume-mute');
        $volumeButtonUnMute = $('#btn-audio-volume-unmute');

        var _lastVolumeBeforeMute = '0';

        var muteVolume = function(){

            _lastVolumeBeforeMute = $changeVolumeControl.val();

            //readium.reader.setVolumeMediaOverlay(volumeVal);
            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysVolume: 0
            });

            $changeVolumeControl.val(0);

            updateSliderLabels($changeVolumeControl, 0, 0 + "%");

            $volumeButtonMute.removeAttr("accesskey");
            $volumeButtonUnMute.attr("accesskey", Keyboard.MediaOverlaysVolumeMuteToggle);

            $audioPlayer.addClass('no-volume');
        };

        var unMuteVolume = function(){

            //var currentVolume = $changeVolumeControl.val();
            var volumeVal = _lastVolumeBeforeMute === '0' ? '100' : _lastVolumeBeforeMute;

            //readium.reader.setVolumeMediaOverlay(volumeVal);
            readium.reader.updateSettings({
                doNotUpdateView: true,
                mediaOverlaysVolume: volumeVal
            });

            $changeVolumeControl.val(volumeVal);

            updateSliderLabels($changeVolumeControl, volumeVal, volumeVal + "%");

            $volumeButtonUnMute.removeAttr("accesskey");
            $volumeButtonMute.attr("accesskey", Keyboard.MediaOverlaysVolumeMuteToggle);

            $audioPlayer.removeClass('no-volume');
        };

        Keyboard.on(Keyboard.MediaOverlaysVolumeMuteToggle, 'reader', function(){
            ($audioPlayer.hasClass('no-volume') ? unMuteVolume : muteVolume)();
        });

        $volumeButtonMute.on("click", function() {

            var wasFocused = document.activeElement === $volumeButtonMute[0];

            muteVolume();

            if (wasFocused) setTimeout(function(){ $volumeButtonUnMute[0].focus(); }, 50);
        });

        $volumeButtonUnMute.on("click", function() {

            var wasFocused = document.activeElement === $volumeButtonUnMute[0];

            unMuteVolume();

            if (wasFocused) setTimeout(function(){ $volumeButtonMute[0].focus(); }, 50);
        });

        Keyboard.on(Keyboard.MediaOverlaysPrevious, 'reader', readium.reader.previousMediaOverlay);

        $previousAudioBtn.on("click", readium.reader.previousMediaOverlay);

        Keyboard.on(Keyboard.MediaOverlaysNext, 'reader', readium.reader.nextMediaOverlay);

        $nextAudioBtn.on("click", readium.reader.nextMediaOverlay);
    };

    return {
        init : init
    };
});

redpajama_set_name: RedPajamaGithub


December 2016 - This month's newsletter discusses when to use flash photographing hummingbirds under mostly natural conditions (as opposed to setups) the images were taken on our Peru photo tour in November.
Sparkling Violetear photographed November 2016, Huembo Lodge, Peru. Canon 1DX II, 500F4 1/200 F6.3, iso 1600, Av mode, evaluative metering -1.3, 580ex flash at -0.3 ETTL, Better Beamer, Gitzo tripod, Wimberley head. When the light is low and I want to stop a hummingbird in flight, this is typically the method that I use, I underexpose compared to what the camera is metering and then I use the flash on fairly high power. This way you get a blending of exposures - the flash duration being pretty fast helps freeze the body of the bird., In this case I got a bit lucky and the wings are pretty well frozen also, typically with this method they would be a bit blurred. This is one of the few setups that I tried on our Peru tour, this particular one was at the feeder that the Marvelous Spatuletails frequented. We only got a couple of birds into the setup and the hummingbirds in Peru didn't seem to want to come in to setups much so we concentrated on photographing them either at the feeders or especially feeding on natural flowers. Due to the high amount of flash used with this technique, the images look a bit overflashed but to get a sharp image of a flying hummingbird at a reasonable iso in low light, this is the only way to do it with just one flash. I wrote more about this technique of underexposing on the camera to freeze the body of a hummingbird in a previous newsletter that you can read here.
Andean Emerald photographed at Huembo Lodge, Peru, November 2016. Canon 1DX II, 500F4, 1/160 F6.3, Av mode, evaluative metering at -1.3, Gitzo tripod, Wimberley head. This is a comparison image with the previous image showing a shot at about the same shutter speed with no flash, on the plus side the image looks more natural but the sharpness is just not there.
Marvelous Spatuletail photographed November 2016 at Huembo Lodge, Canon 1DX II, 500F4, 1/500 F6.3, iso 1600 Av mode, evaluative metering at -1.0, 580ex fill flash ETTL at -1.7, Better Beamer, Gitzo tripod, Wimberley head. This amazing bird was the highest on our target list, we were able to photograph it feeding at feeders, perching near the feeders (very busy and dark), on it's lek and for a brief moment feeding on natural flowers as here near the feeders. The birds were moving in and out of shade and sun and the lighting was quite contrasty so my settings here were kind of a best guess as to what would work out. When the bird started feeding on flowers I just started firing away and got off about 35 shots, about 25 of which were reasonably sharp. This was one of the best images despite the fairly slow shutter speed. The lower amount of flash used here (-1.7) gives the image a more natural look than the Sparkling Violetear above. With contrasty light like this the flash is necessary to fill in shadows and even out the light, the -1.0 on the camera helped to both reduce the brightness of the background where the sun was shining and to help the flash impact the image more.
Marvelous Spatuletail photographed November 2016, Huembo Lodge, Peru. Canon 1DX II, 500F4, iso 1600, 1/4000 F6.3, Av mode, evaluative metering at -1.0, 580ex fill flash ETTL at -1.7, Better Beamer, Gitzo tripod, Wimberley head. This was taken about 15 frames (just a few seconds) after the previous image. At this point the bird had moved out into the sun so the shutter speed was much higher. I didn't have time to drop the iso but I wished I had stopped down a bit more at this point to get more of the tail in focus (although this would have made the foreground out of focus branch even more troublesome). This is cropped in a fair bit from the original. With the shutter speed so high the flash influences the image less as the flash duration is very fast but it still makes a big difference.
Marvelous Spatuletail, Canon 1DX II, 500F4, 1/3200 F6.3, iso 1600, Av mode, evaluative metering at -1.0, 580ex fill flash ETTL at -1.7, Better Beamer, Gitzo tripod, Wimberley head. Another view of the Spatuletail, this time from head on. There are very few images of this rare endemic feeding naturally on flowers so we were thrilled to get this series. Next I will show an image where the flash didn't recycle so you can compare them.
Marvelous Spatuletail, Canon 1DX II, 500F4, 1/3200 F6.3, iso 1600, Av mode, evaluative metering at -1.0, Gitzo tripod, Wimberley head. In this image the flash didn't recycle, you can see the harsh shadows from branches due to shooting this about 1:30 in the afternoon. I also brightened this image a fair bit in post processing due to the lack of flash. Some may wonder what we were doing photographing in those conditions, but we only had 2 days at Huembo, this was the only series of it feeding from flowers and this was taken just before we were scheduled to head off to the next lodge. So if someone has the view that, "I will only shoot in good lighting" you will miss some great opportunities that can be salvaged with skillful use of your flash.
Long-tailed Sylph photographed November 2016 at Owlet Lodge, Peru. Canon 1DX II, 500F4 1/2000 F5.6, iso 1250, Av mode, evaluative metering at 0, 580ex fill flash ETTL at -1.3, Better Beamer, handheld. I took this image of the sylph backing up away from the feeder and cropped out the feeder. For this image I am not convinced flash was absolutely necessary as it was in the previous two situations, the lighting was even and there was enough to make a decent image without it. But I do think it helped the shot, with the flash I could use a little bit lower iso and it probably helped some with the sharpness especially considering it was handheld.
Bearded Mountaineer photographed November 2016 in Ollantaytambo, Peru. Canon 1DX II, 500F4 1/1600 F5.6, iso 800, Av mode, evaluative metering at 0, handheld. With early morning sun at our backs and no trees throwing shadows there was no need to use flash in this situation. This is a large hummingbird which flies fairly slowly for a hummingbird. Our hotel garden was excellent for this species as well as several others which would feed on these large flowers.
Giant Hummingbird photographed November 2016 in Ollantaytambo, Peru. Canon 1DX II, 500F4, 1/2500 F5.6, iso 800, Av mode, evaluative metering at 0, handheld. One more from the hotel garden, again no need for flash with morning sun at my back and no shadows. On this shot and the previous one, the one reason for using flash would be if you wanted a darker background to make the bird stand out more. But I prefer to use natural light when the results will be good.


Yellow jersey holder Chris Froome and rival Alberto Contador narrowly avoided disaster from a late crash during a dramatic finale to the 16th stage of the Tour de France won by Portuguese Rui Costa on Tuesday.
Movistar rider Costa soloed to victory in the undulating 168-kilometer ride from Vaison-la-Romaine to Gap after a late but timely attack on the final climb of the day, the 9.5-kilometer-long Col de Manse.
Costa, taking his second career stage win on the race, had been part of an earlier 26-man breakaway that went on to build a significant lead on the main peloton over the hilly terrain leading to Gap.
He quickly built a lead on four chasers who, despite their efforts, came over the summit with a 45-second deficit on the Portuguese.
With 11.5 kilometers of downhill remaining Cheap Connor Williams Jersey , Costa's efforts before the summit paid off and he went on to cross the finish line 42 seconds ahead of Christophe Riblon, Arnold Jeannesson, Jerome Coppel and German veteran Andreas Kloden.
Meantime Froome and Spanish rival Contador, who had tested the Briton with several attacks on the way to the Manse summit, both escaped disaster after crashing on one of the tight corners on the descent.
Froome went off the road and had to put one foot on the ground to steady himself, while Contador came off his bike altogether.
With overall second-placed Bauke Mollema showing his class by slowing to allow Froome and Contador to catch up, they resumed racing and finished the stage together in a small group at just over 10 minutes behind Costa.
Team Sky leader Froome retained his 4-minute 14-second lead on Dutchman Mollema of Belkin with Saxo team leader Contador still in third place at 4:25.
The country also feel the need to work with and learn from other countries when addressing challenges it faces in the course of realizing these goals, Zheng said.
The aquarium is to be located in the area close to the sea, which was purchased by the company last year, NRK reported.
A freight train carrying 54 containers loaded with cars, auto parts and fiber materials Cheap Amari Cooper Jersey , left Chongqing on Monday, and will arrive at Qinzhou Port in south China's Guangxi Zhuang Autonomous Region 48 hours later, said Han Baochang, director of the railway project.


text:
12 Stones is a post-grunge band that formed in 2000 in Mandeville, Louisiana, a suburb north of New Orleans. The first line-up consisted of Paul McCoy (vocals), Kevin Dorr (bass), Eric Weaver (guitar), Stephen Poff (guitar/vocals) who left to finish One Like Son's Goodbye and Patrick Quave (drums) who was later replaced by Aaron Gainer. After performing no more than 12 live shows, the band recorded a demo and went to New York City where they performed at an industry showcase Read more on Last.fm
Beneath the Scars (Instrumentals)
Beneath the Scars
The Only Easy Day Was Yesterday (EP)
Anthem For the Underdog (Bonus Track Version)
Decyfer Down
Submersed

redpajama_set_name: RedPajamaCommonCrawl


CF Interiors has a long history of matching people with the perfect piece of furniture. "We are locally owned and operated, and we've been family-run for 40 years," says Allison Andrew, who runs the company with siblings, Mike and Brock. Originally called Country Furniture, the company was founded by their father, John Andrew, who restored and sold pine furniture out of his storefront on South Granville. As the business grew, they saw opportunities to grow and started to introduce different collections in the mix. "We're a little bit different than other furniture stores because we have a very wide range of product, from modern to traditional to contemporary," explains Lees.
As other design trends overtook pine, the store began to transform into what it is today. "We still have three local manufacturers that will make custom wood furniture for us, so we still have that homage to our roots. But now, we carry more than 25,000 different products." In 2016, the company took on a new name to reflect the diversity of their products—from furniture to decor to lighting. Today, they have four locations across BC and Alberta.
While the business has expanded and transformed, one thing hasn't changed—their unparalleled in-store experience. For the Andrew siblings, the atmosphere is one of the most important aspects of the store. They've focused a lot of their attention on creating the right ambiance for people who visit the showroom.
For the team, there are also other benefits to brick and mortar—like the opportunity to be part of a living, breathing community. The Andrew siblings were born and raised in Vancouver, and Brock is a longtime resident of Strathcona, where CF Interiors recently relocated their showroom. "There is an incredible sense of community and entrepreneurship here. Everyone from the neighbourhood has welcomed us with open arms and so much support. It's amazing to have customers walk in the door who've been referred by a fellow Strathcona resident," explains Brock.
"We want to support local—because, without that, we're nothing. We support local brands, artists, and vendors because that sense of community is so important to us," says Lees.


Lock in a great price for Vernon Guesthouse - rated 9 by recent guests.
The room was extremely clean and really well decorated. The dining room was bright clean and lovely. The breakfast was very good and it was nice not to have oily food!! The lady who checked us in and also served breakfast was a delight. All in all a lovely stay. We will definitely stay again whenever in Eastbourne.
The receptionist was a joy. Really good and handling grumpy customers.
From the very moment we arrived we could not have asked for a more friendly & helpful welcome. A family run business with the delightful Yeni looking after our every need including parking free on their property plus serving our deliciously cooked breakfasts.
Loved everything about this hotel, beautifully converted property!! Room was massive, amazing windows and natural light, superb location and could even see the sea from my window. Everything was exceptionally clean, beautiful modern bathroom...loved every second of my stay. Hotel was located very close to the beach, as well as within a few minutes walk to the shopping centre.
The room, the shower, breakfast, very nice service.
A 3-minute walk from Eastbourne Pier, Vernon Guesthouse offers free Wi-Fi and rooms with TVs, DVD players and tea/coffee. The town centre and seafront are a few minutes away.
Some rooms at Vernon Guesthouse have balconies and sea views. A full English breakfast is provided.
Vernon Guesthouse features a guest lounge and a restaurant. In the mornings, guests can enjoy traditional English breakfast or continental breakfast in the restaurant.
Vernon Guesthouse has been welcoming Booking.com guests since 20 Apr 2010.
When would you like to stay at Vernon Guesthouse?
Public parking is possible at a location nearby (reservation is not possible) and costs GBP 1 per day.
House rules Vernon Guesthouse takes special requests - add in the next step!
Cash Vernon Guesthouse accepts these cards and reserves the right to temporarily hold an amount prior to arrival.
Vernon Guesthouse accepts these cards and reserves the right to temporarily hold an amount prior to arrival.
Full payment is taken 7 days before arrival.
Regrettably, Vernon Guesthouse is unable to accept American Express card for payment.
Parking permits are available from the hotel.
The property allows only cats or dogs as pets and these are limited to 1 pet per room.
Breakfast was very limited. Bathroom extractor fan very noisy and stayed on far to long.
Parking is a nightmare around Eastbourne and in particular the hotel as it is close to the beach. We went down for the airshow. The hotel does provide a free parking permit, however, after 1hr of driving around we gave up and parked a 5min taxi ride away from the hotel.
Good location near seafront, nice comfortable rooms with high ceilings, good breakfasts, friendly on-site staff, quiet atmosphere and space to do your own thing, permit parking just £1 per day. Everything you need for a short stay.
Early check out (11am), we could not leave the luggage in the storage room.


Washington DC author Steven M. Roth earned a bachelor's degree in philosophy and history from Pennsylvania State University and a law degree from Duke Law School. He is retired from private law practice. Steve has published five novels to date – the Socrates Cheng mysteries: MANDARIN YELLOW, THE MOURNING WOMAN, and THE COUNTERFEIT TWIN, and the Trace Austin suspense thrillers: NO SAFE PLACE and NO PLACE TO HIDE. Now he opens a new series – The 1930s Shanghai mysteries of which DEATH IN THE FLOWERY KINGDOM is the first novel. His presence in Washington, DC and his experience as a lawyer serve him well in sculpting tense, beautifully nuanced novels that blend international politics, the military, and of course crime!


The City of Perth has joined the Western Australian Government and the National Retail Association in preparing Perth businesses for the state-wide plastic bag ban.
Kathleen Ridgwell, Senior Sustainability Officer for the City of Perth, joined our team on the streets of Perth yesterday to see how businesses were transitioning away from plastic bags.
"We're proud to support the NRA's Retailer Engagement Program and I'm pleased to see so many Perth businesses taking up great environmental initiatives," said Kathleen.
Kathleen joined Victor from Zambrero (pictured above, far left) to discuss how their brown paper bags, sustainable cutlery and other plastic reduction measures had received a high level of community support.
Lui and Marian of Sumo Salad in the Enex100 centre (pictured above, far right) showed off their Uber Eats bags as they've started to phase out single-use plastic bags ready for 1 July.
Jodie from The Eco Hub Pop-up Store (pictured far left) and Jessica at Perlu (pictured far right) show off their paper bag range.


SAO PAULO, April 3 (Reuters) - Banco Santander Brasil SA Chief Executive Sergio Rial will also become the bank's regional head for South America, the Spanish bank said on Wednesday, as it seeks to ramp up growth in its key emerging market region.
The change will see Rial, who has overseen robust growth at Santander's Brazilian unit, assuming additional responsibility over the Andean region, Argentina, Uruguay and Chile, the bank said in a statement.
As part of Santander's plans to better integrate its operations, it will seek to turn its Brazilian card processor GetNet into a global business, starting in Mexico and then launching it in the rest of Latin America and Europe.
Santander Brasil became the sole owner of GetNet in December, after buying an outstanding 11.5-percent stake in the firm for 1.43 billion reais. It holds a 14-percent market share in the country, double what it had in 2014.
At the helm of Santander in South America, Rial may be able to better integrate products for the region. South America accounted for 35 percent of the Spanish bank's profit in 2018, with Brazil being responsible for most of that.
A lawyer and economist, Rial became CEO of the Brazilian unit in January 2016 and since then has increased the bank's profitability. Its loan book growth has also outpaced the country's largest lenders, gaining market share especially in its retail business.


Nikhil 'forsaken' Kumawat, a member of OpTic India's CS:GO team, has been caught cheating during the eXTREMESLAND 2018 Asia Finals.
Nikhil 'forsaken' Kumawat, a member of OpTic India's CS:GO team, was caught cheating during the eXTREMESLAND Asia Finals. The team was dismissed immediately and missed out on the grand prize of $100,000. Spectators and fans began to speculate when the match was put on hold for more than 20 minutes.
We are not sure if this is the exact moment he was found cheating. However, the official seemed very distraught and was trying to pull Kumawat's arms away from the computer. The cheating software used was picked up by the B5 anti-cheat program that had been installed by the tournament holders.
OpTic India has released the culprit and has also stated that the other players had no knowledge of the activities that took place.
This just raises the question. Have there been any tournaments won by OpTic India where Kumawat had been cheating? As these things usually go, this probably wasn't the first time, just the first time he was caught.
This was confusing, I'm making a note here, Portal 3?


text:
Staff Picks: Our Favorite Art History Jigsaw Puzzles
29 Jun'21
As fans of looking closely and spending quality time with images, it's no wonder that the staff of an art history website loves doing jigsaw puzzles! Not only are puzzles fabulous tools for sharpening your visual acuity skills, but they also make a wonderful way to relax indoors on days when it's too hot or too cold to be outside.
Here are some of the Sartle team's favorite jigsaw puzzles for art history lovers that can keep you occupied all year round.
We hope you find these products as delightful as we do. Just an FYI: Some of the links below are affiliate links, meaning that at no additional cost to you, by clicking through and making a purchase, you will also be contributing to the growth of Sartle.
1. Children's Games by Pieter Bruegel 2000-Piece Jigsaw Puzzle
Few works of art reward close looking as much as Pieter Brueghel the Elder's paintings. With his tiny (and often humorous) details, there's so much to enjoy in Bruegel's worlds brimming with figures and activity. In this jigsaw featuring his 1560 painting Children's Games, you'll discover all those details anew! And at 2000 pieces, you'll be kept busy for a looong time. - Jeannette
Find it on amazon here.
2. I Saw the Figure 5 in Gold by Charles Demuth 1000-Piece Jigsaw Puzzle
I may just have a big soft spot in my heart for Charles Demuth's precisionist paintings, but this 1000-piece puzzle featuring I Saw the Figure 5 in Gold from the Met is just stunning! With those gorgeous intersecting planes of pure color, it provides just the right amount of challenge while still being interesting. - Jeannette
Find it at the Met store here.
3. Viva la Vida Frida Kahlo 1000-piece Jigsaw Puzzle
This adorable 1000-piece Frida Kahlo-themed puzzle comes in the dreamiest shades of pink and purple, but what I like most about it is all the little details about her life in the vignettes in the background. There are references to everything from her clothes and medical corsets, to her pets and travels, and specific paintings featuring her and Diego. The fact that this puzzle is made by a woman-owned business is just the icing on the cake! - Jeannette
4. Nighthawks by Edward Hopper 1000-Piece Jigsaw Puzzle
Most people know the image of Edward Hopper's Nighthawks, but putting it back together via this high-quality puzzle truly allows you to appreciate the subtle details of this atmospheric painting, like faint gradations of colors and brushstrokes, which might go unnoticed on a laptop screen. Difficulty-wise, there's enough recognizable figures to guide the puzzler, but enough flat swathes with fewer elements to keep it challenging. - Angelica
5. Bridge and Waterlilies by Monet 1000-piece Jigsaw Puzzle
I love the concept of an Impressionist puzzle, like this one of Claude Monet's Bridge over a Pond of Water Lilies from the Met. The puzzle format is perfect for Monet's Impressionist painting technique, where a melange of smaller, separate brushstrokes and colors come together as a whole to form an idyllic scene. And what better daydream for when you're stuck inside than strolling past the water lilies in his famous garden at Giverny? - Angelica
6. Convergence by Jackson Pollock 1000-piece Jigsaw Puzzle
When it comes to puzzles, I'm a bit of a glutton for punishment...but this whopper of a Jackson Pollock drip painting is positively daunting. Pollock's signature style of splashing overlapping lines of paint to create a tangled web means that you won't be able to strategize by color-coding the pieces. It's got a 5-star rating from over 100 other puzzle masochists, so join their ranks if you dare! - Angelica
7. Starry Night Petals 500-Piece Puzzle
Call me basic, but I love plants and Vincent van Gogh's Starry Night, and this puzzle makes my heart happy by combining both of those things. This particular puzzle makes assembling simple for the whole family as it's easy to sort pieces by color and plant type. And in my family, the fewer reasons for arguing the better! - Lauren
8. The Sistine Chapel Ceiling by Michelangelo 1000-Piece Jigsaw Puzzle
In early 2020, my husband and I were planning a trip to Italy with a solid two days to explore Vatican City when the pandemic hit. The Sistine Chapel is so big and this puzzle is, respectively, so small, that you're going to need a magnifying glass to see the necessary details to put it together. Though we will likely go to Italy soon (fingers crossed!), inspecting tiny pieces of Michelangelo's masterpiece will have to do for now. - Lauren
9. The Great Wave by Katsushika Hokusai 500-piece Jigsaw Puzzle
Aside from the Mona Lisa, I would say that Hokusai's Under the Great Wave at Kanagawa is one of the most recognizable pieces of art of all time. It has been copied and parodied the world over appearing on mouse pads and book bags everywhere. The little fingers of the wave will be a pain to sort through, but oh so satisfying. - Lauren
10. The Eclipse by Alma Thomas 1000-Piece Jigsaw Puzzle
As a lover of all things approved by the Obamas, Alma Thomas was quickly put on my radar when they added her work, Resurrection, to the White House Collection in 2015. Her colorful, abstract paintings were made for lovers of difficult puzzles. The color-blocked circles might make this type of puzzle seem easy, but with little shading, that orange piece could go anywhere. This puzzle will give you days worth of frustration, if you're into that. - Lauren
Wishing you many moments of the pure satisfaction and inner ~piece~ only a puzzle can provide.
Jeannette Sturman
alma woodsey thomas
nighthawks
The MoAD exhibit, titled "Thread for a Web Begun," is Zangewa's first solo...
Billie Zangewa: Thread for a Web Begun at the Museum of the African Diaspora
6 Jan'22
We are excited to announce that Sartle has created a trivia game, and it is now...
Rogue Art History: The Trivia Game!
9 Dec'21
Ccontrary to social media's endorsements, "liking" a photograph isn't the same as...
Art History Reader: How to Read a Photograph (As Art)
Cubism was one of the first -isms to hit our collective senses in the twentieth-...
Sartle School of Art History: Cubism
15 Nov'21
San Francisco's de Young Museum is a standout among other fine arts museums across...
Patrick Kelly: Runway of Love at the de Young Museum
28 Oct'21


text:
KYNMOBI for the Treatment of OFF episodes in Parkinson's Disease, USA
KYNMOBI is the first and only sublingual therapy indicated for the on-demand treatment of OFF episodes in Parkinson's disease.
KYNMOBI (apomorphine hydrochloride)
Sunovion Pharmaceuticals
Therapy Class
Sublingual film
Dopamine agonist
Current Indication
Central nervous system (CNS)
Approved in Canada and the US
KYNMOBI® (APL-130277) is a sublingual formulation of apomorphine approved for the treatment of OFF episodes in Parkinson's disease.
The drug was developed by Sunovion Pharmaceuticals, a wholly owned subsidiary of Sumitomo Pharma (previously Sumitomo Dainippon Pharma).
KYNMOBI is available as a sublingual film coated with apomorphine, which can be used up to five times a day at doses of between 10mg and 30mg. The drug is administered non-invasively by placing it under the tongue, where it is dissolved.
KYNMOBI is currently in Phase III of clinical development in Europe. Sunovion entered an agreement with pharmaceutical company BIAL in September 2021, granting the commercial license rights for APL-130277 in Europe.
Under the terms of the agreement, BIAL will be responsible for submitting the marketing applications for APL-130277 in Europe and will own the commercial rights to distribute and commercialise the drug in the European Union (EU), the European Economic Area (EEA) and the UK.
Sunovion received an upfront payment and is entitled to receive milestone payments as part of the agreement. It retains the commercial rights to market KYNMOBI in North America and all other regions except the EU, the EEA and the UK.
Regulatory approvals on KYNMOBI
In March 2018, Sunovion submitted a new drug application (NDA) for KYNMOBI to the US Food and Drug Administration (FDA). This was accepted for review in June 2018.
In January 2019, Sunovion received a complete response letter (CRL) from the FDA requesting additional data. The company resubmitted the NDA to the FDA in November 2019 by including details of the packaging and additional analysis of clinical data.
The FDA approved KYNMOBI for the treatment of short-term, intermittent OFF episodes in people with Parkinson's disease in May 2020.
In June 2020, Health Canada approved KYNMOBI for the acute and intermittent treatment of OFF episodes in Parkinson's disease patients.
Causes and symptoms of OFF episodes in Parkinson's disease
Parkinson's disease (PD) is a progressive neurodegenerative disorder that occurs when nerve cells, or neurons, are damaged or die in a brain field that regulates movement. These neurons normally produce a chemical in the brain known as dopamine in the substantia nigra. If the neurons are damaged or become dysfunctional, less dopamine is produced leading to kinetic or movement issues.
The disease induces shaking, trembling, and difficulty in walking, standing and coordinating. symptoms of the disease usually start gradually and become more severe over time. Patients may have difficulty in walking and talking and experience significant changes in behaviour, in addition to sleep problems, depression, impaired memory and tiredness.
By 2030, around 1.2 million people in the US and ten million people worldwide are expected to be living with PD.
OFF episodes in PD are re-emergences or deteriorations of motor and non-motor symptoms normally controlled by oral levodopa and carbidopa. These episodes normally occur in the morning after waking up and during the day, and are experienced by 60% of people with PD within four to six years of diagnosis.
Symptoms of OFF episodes may include tremors, rigidity, nausea, vomiting, sleepiness, dizziness, oral mouth irritation such as redness, ulceration, mouth dryness, pain and swelling, hallucinations and slow motion, bowing-down posture, balance disturbance, communication problems, anxiety, and symptoms of depression.
KYNMOBI's mechanism of action
KYNMOBI is a non-ergoline agonist of dopamine with a strong in-vitro binding affinity to the dopamine D4 receptor and intermediate affinity to the dopamine D2, D3 and D5 receptors, as well as the adrenergic dopamine α1D, α2B, α2C receptors.
The drug's exact mechanism of action as a therapy for OFF episodes of Parkinson's disease is unknown, although it is assumed to work by activating post-synaptic D2-type dopamine receptors within the brain's caudate-putamen.
Clinical trials on KYNMOBI
The FDA's approval of KYNMOBI was based on a Phase III randomised, double-blind, placebo-controlled, parallel-group, clinical trial named CTH-300, which was conducted in patients experiencing OFF episodes within PD.
The study included patients suffering from PD for a median duration of nine years and in the Hoehn and Yahr Phase III or less. Patients received a steady dosage of concomitant levodopa for at least four weeks prior to screening.
A total of 109 patients were randomised in a 1:1 ratio to receive either 10mg of KYNMOBI or placebo. The study included a titration phase and a maintenance phase of 12 weeks.
The titration process was subsequently increased to a maximal dosage of 35mg of KYNMOBI or until the full 'on' was achieved, as decided by the investigator and the patient. The administration of dose was allowed up to five times a day in the maintenance phase.
The study's primary endpoint was the mean shift from pre-dose to 30 minutes post-dose in Movement Disorder Society-Unified Parkinson's Disease Rating Scale, Part III (MDS-UPDRS III) score during the maintenance phase.
The KYNMOBI treatment group exhibited a minimum-square mean improvement of -11.1 points compared with -3.5 points for the placebo group. In addition, a significantly higher percentage of people administered with KYNMOBI had a patient-rated full ON response within 30 minutes at week 12, compared with placebo-treated patients.
Common adverse reactions observed during the study were dizziness, oropharyngeal reactions, nausea, and somnolence.
KYNMOBI is also being evaluated in an ongoing open-label, long-term study (CTH-301) to evaluate its safety and tolerability. Ad-hoc analysis from the trial announced in September 2021 showed that most patients experienced mild nausea and were able to continue treatment even in the absence of antiemetic treatment.
The analysis also showed that the MDS-UPDRS III score was greater in European patients than in North American patients. The MDS-UPDRS III score was -28.5 for European patients and -20.1 for North American patients at week 24, while this stood at -28.2 for European patients and -19.6 for North American patients at week 36.
In addition, a patient-rated full ON response within 30 minutes of dosing was observed by more than 75% of patients through 48 weeks in both regions.
ADUHELM (aducanumab-avwa) for the Treatment of Alzheimer's Disease
Nulibry™ (Fosdenopterin) for the Treatment of Molybdenum Cofactor Deficiency Type A
Enspryng (satralizumab-mwge) for the Treatment of Neuromyelitis Optica Spectrum Disorder (NMOSD)
Clinical Trials Arena Excellence Awards Report 22
Recognition of the Work of a CRO: How Is It Achieved and Why?
Top Industry Trends on Twitter to Watch in 2023 for Pharma Sector
Who's hiring who? Social Responsibility in Pharmaceutical – Hiring Activity in Q3 2022
Who's hiring who? Robotics in Pharmaceutical – Hiring Activity in Q3 2022
Pipeline Moves: Trial completion bumps advancement prospects for AstraZeneca's oncology drug
Five gene therapy trial readouts to watch in the first half of 2023
Inclusive drugs: designing clinical trials for the pregnant population
Leading artificial intelligence (AI) companies in clinical trials
Leading cloud computing companies in clinical trials
Leading cybersecurity companies in clinical trials
Leading Internet of Things (IoT) companies in clinical trials
Leading ESG consultants and sustainability advisers in clinical trials
Recommended Company Profiles
Pfizer Inc: Overview
Novartis AG: Overview
Merck KGaA: Overview
Biogen Inc: Overview
GlaxoSmithKline KK: Overview
Johnson Inc: Overview
Eli Lilly Holdings Limited: Overview
MedAble: Overview
IQVIA Ltd: Overview
Relyvrio (sodium phenylbutyrate/taurursodiol) to Treat Amyotrophic Lateral Sclerosis, USA
Terlivaz (terlipressin) for the Treatment of Hepatorenal Syndrome (HRS), USA
Sunlenca (Lenacapavir) for the Treatment of HIV-1 Infection, USA
Mounjaro (tirzepatide) for the Treatment of Type 2 Diabetes, USA


The Thai Securities and Exchange Commission (SEC) says they have seen increased interest in licenses to operate initial coin offerings (ICOs) following the Finance Ministry's announcement to introduce ICO regulations, the Bangkok Post reported August 8.
The SEC secretary-general Rapee Sucharitakul told the Bangkok Post said that almost 50 ICO projects have expressed interest in a becoming certified, but it remains unclear whether all of them will be issued the proper credentials to raise funds.
Thailand has demonstrated a positive approach to cryptocurrency and blockchain regulation. The Bank of Thailand allowed local banks to establish subsidiaries for dealing with cryptocurrencies last week. Thai banks can now issue digital tokens, provide crypto brokerage services, run crypto-related businesses, and invest in cryptocurrencies through subsidiaries.
In July, the Thai Bond Market Association (TBMA) announced it will deploy a blockchain-powered solution on its registrar service platform to provide faster bond certificate issuance and, in turn, boost the liquidity of the secondary market. The platform will reportedly reduce the bond issuance time from the current 7-15 days, to 3-4 days.


Earn money functioning from property and over the internet! understand how to talk above the world wide web!
Make certain that your site is consumer pleasant. If individuals can not discover ways to do what they ought to to, or come across the knowledge they're hunting for, a lot of of them will quit and go away annoyed. Not merely does this eliminate them as being a consumer, nevertheless they are significantly less most likely to refer you to a good friend.
Maintain your written content updated. If readers run into an older short article and comprehend it really is dated, they are going to depart instantly. You must attempt to retain your content articles current, which may just be carried out by incorporating back links to up to date articles or blog posts. Benefit from the "Most Recent" or "Most Popular" capabilities in your web site. In this way, even outdated written content will produce revenue to suit your needs.
Report marketing and advertising is a crucial element of any productive world wide web promoting campaign. Once you submit articles or blog posts to totally free short article directories, you may contain a website link for your site from the writer resource box with the bottom on the post. This not simply drives new buyers for your web-site, nonetheless it also boosts your internet search engine rankings by rising the amount of backlinks for your web page.
Continue to keep your articles simply available regardless of how lengthy in the past that it had been written. Consist of trackbacks inside your present articles or blog posts to relevant objects from many years in the past. This will likely allow you to each in search rankings and in click throughs. If you're able to get an individual interested ample to help keep clicking as a result of to unique pages in your website, you happen to be in your solution to owning a repeat visitor.
You generally really need to be truthful and reliable. A lot of folks are certainly not prepared to completly believe in something they read through on the web. In the event you have advertisments for merchandise which you will not genuinely feel in, your readers is going to be in a position to inform, and also have extra unfavorable ideas about everything you are creating.
Beginning a web site for the on line company is actually a good way to advertise your leadership. Submit thoughtful posts in your blog site that present your imagined, your integrity, humor, qualified insights along with your leadership. Speaking about recent trends with your sector can help prospects and likely prospects see that you're on major of matters.
Assemble content articles into an e-book. This can be a good way to re-use and repackage perform that you simply have previously performed. Soon after you have published a number of posts, get quite possibly the most common ones and package deal them into an e-book that you could give away or promote for any tidy minor revenue.
When trying to marketplace articles or blog posts to drive visitors or promote goods, lots of people make your mind up to accomplish this operate themselves. Often try to remember that it does consider talent to publish. You could grasp grammar and practice great punctuation. You could possibly even recognize that you might have just witnessed alliteration. But creating needs a way with phrases. It's artwork, not only guide smarts.
Make your paragraphs brief, like this tip. There's some proof that individuals are a lot more quickly distracted when reading through online than when studying an offline guide or magazine. Consequently, it can be ideal to produce the two your personal paragraphs as well as total short article as brief as you possibly can.
Join the blogging local community to enhance your blog's effect. A blog site applied for world-wide-web promoting functions is only as productive as its site visitors lets it be. To motivate enhanced site readership, observe blogs that examine exactly the same topics yours does. Comment on people blogs, with insightful, important data and hyperlink for your very own website. This may motivate other bloggers and their readers to go to you.
When creating articles or blog posts as aspect of an post advertising and marketing method, be certain they may be informative. When it may seem to be like report marketing and advertising has much more to carry out with placement and linking than with having probable buyers to read through the posts, it's essential to deal with every single short article like a revenue pitch or maybe a one-time chance to achieve a customer's believe in.
Any time you launch your write-up promoting campaign, start out gradually. Lavish further focus in your to start with content articles and pick the directories you send them to with care. Generating a mindful start off will educate you the ropes, inspire you to create excellent routines and set up your status like a reliable, high-quality short article writer.
Is beauty the most vital point for your relationship?


Lightweight Mouser. From 6-13 lbs.
Very good. Minor health issues.
Twice a week. Moderate shedding.
Good with children & other pets.
The Burmilla Cat was created accidentally as a cross between Chinchilla Persian and a Burmese Cat. This is a medium-size breed with a muscular, but elegant body. It comes in two lengths – short and medium-long. The key features of this breed are its sparkling silver coat and "makeup" lining the eyes, mouth and nose. The Burmilla has large luminous green eyes that can be tinged with gold. The Burmilla is a loyal, affectionate, social and easy-going breed. These traits make it suitable for people of all age groups. It's a chatty breed that retains its playful nature into the adulthood. However, this cat also likes to cuddle and will find its way into an empty lap.
The Burmilla Cat originated in the United Kingdom as the result of accidental mating. The parents of the breed are a Chinchilla Persian male, Jemari Sanquist, and a Burmese, Bambino Lilac Faberge. Both cats were in possession of Baroness Miranda Von Kirchberg. The story says that one evening the cleaner accidentally left the Faberge's door open. Thus, giving the female a chance to escape and mate with Sanquist. This elusive affair was discovered on 11th September 1981, when Faberge produced her first litter. The litter contained four female kittens with uniquely colored sparkling coats. The Baroness realized the beauty and potential of these kittens and decided to keep them. She named them Galadia, Gemma, Gabriella and Gisella. The Baroness started a breeding program using these four kittens as breeding stock. She back-crossed them to Burmese, and the breed's characteristics remained. To promote the new breed, the Baroness formed The Burmilla Cat Association. Besides the Baroness, a breeder Therese Clarke was also essential for the breed's recognition. She adopted Gemma from the original litter and formed a Burmilla Cat Club in 1984. She played a huge role in getting the breed accepted by the Governing Council of the Cat Fancy. The breed's name was derived from both Burmese and Chinchilla, creating Burmilla. This breed is recognized by Britain's Governing Council of the Cat Fancy and Europe's Federation Internationale Feline. In 2011, the golden-shaded Burmilla Cats were also accepted by FIFe.
The Burmilla is a medium-size cat with an athletic and muscular but graceful body. The rounded top of the head is balanced with blunt wedge muzzle and firm chin. The eyes are large and luminous in varying shades of green. The eyes are outlined in black and look like they are painted with eyeliner. The male Burmilla Cats are slightly larger and weigh from 7-13 pounds. Females are smaller and weigh from 6-11 pounds. They need high-quality food to fuel their athletic body. So, consider feeding your cat with cat food like the Wellness Core to keep her in perfect shape. This breed has the ability to self-regulate the amount of food it needs. Hence, it is at lower risk of developing obesity.
The Burmilla Cat inherited the attention-seeking nature of Burmese Cats and easy-going temperament of Persian Chinchilla. Combined, these traits create a great family-oriented cat. It is a friendly, loyal, affectionate and playful breed. This cat retains its playful nature well into the adulthood. Thus, you will need a lot of toys like these.
However, the Burmilla isn't an overly energetic breed and will become animated when you are in the mood to play. This is a social breed that likes being with its owner. Hence, this cat shouldn't be left alone for longer periods of time. When meeting new people, the Burmilla might be shy at first, but will eventually warm up to guests. This is an affectionate breed that likes to be cuddled and will gladly jump in an empty lap. It would be nice to get your cat a scratch post. This way she will be occupied and away from your valuables. Overall, this is a funny and social breed that will thrive in a loving home.
The Burmilla is a highly adaptable breed. These cats adjust according to their owner's needs. For people with less active lifestyles, a Burmilla will be a perfect lap cat. On the other hand, if you prefer playing, the Burmilla will quickly become your playmate. This is a moderately active breed that at times seems only interested in napping in the owner's lap. Thus, you will have to stimulate your cat to be active from time to time. Get a toy like the SmartyKat Feather Whirl to keep your Burmilla Cat occupied when you aren't around. When you are able to interact with your cat use, feather wands and catnip mice to get her moving.
Allergies: Cats, like people, can develop allergies. They can be environmental or food related. Symptoms can include itchy skin, ear infection, diarrhea or vomiting amongst others. Cat with food allergy needs to be fed proper diet cat food. You should also keep your home clean. Thus, minimizing the effect environmental allergens have on your cat.
Polycystic Kidney Disease: This is an inherited condition that causes cysts to form in the kidneys. These cysts are small at birth, but as the cat grows, they grow too. As the cysts get larger they can disrupt kidney function resulting in kidney failure. There is no specific treatment for this condition. Therapy used revolves around treating symptoms of kidney failure. Test for this condition is available, so it is wise to get your Burmilla Cat tested.
The Burmilla Cat has an average lifespan of 10-15 years. However, with proper care, this breed can live up to 20 years. To keep your cat healthy take her to regular vet check-ups and don't miss scheduled vaccination. This cat is best kept indoors-only. However, if you feel that your cat needs a breath of fresh air, consider getting a cat teepee.
The Burmilla Cat comes in two coat lengths – short and medium-long. The coat of a short-hair Burmilla Cat is dense and soft with a silky texture. Use a silicone grooming brush to brush your cat twice a week. This way you will prevent matting and keep the coat in pristine condition. The long-haired Burmilla has a medium-length coat that drops to the underside and a full plumed tail. The undercoat is minimal, but the coat can be easily matted. Use a slicker brush like this one and groom your cat two to three times a week. This way you will remove loose hair and distribute skin oils through the coat.
This breed has a magnificent sparkly coat. The coat comes in a variety of colors. The accepted colors include Black, Blue, Brown, Chocolate and Lilac. It also comes in Red, Cream and Tortoiseshell although these colors aren't recognized worldwide. The coat can come in patterns which relate to the depth of shading on the coat. The accepted patterns include Shaded and Tipped. However, the Burmilla Cat can also have a Smoke pattern. In some registries, this pattern isn't allowed for showing.
Tipped pattern: Tipped Burmilla Cats have a light dusting of the color that tips 1/8 of every hair giving the cat a sparkly appearance.
Shaded pattern: Shaded Burmilla Cats have a 1/3 of each hair shaded. This pattern makes a cat's exterior coat look darker than the one of tipped Burmilla.
Smoke pattern: The Burmilla Cats with smoke pattern can be registered for breeding. But these cats can't compete in shows. The smoke pattern causes a cat to have almost the whole coat colored except a faint pale base on each hair.
The laid back and affectionate Burmilla Cat is a great choice for homes with children. Always curious and friendly, it will engage every child in a fun game. Let your kid throw Sparkle Balls and see if the cat can catch them. Teach your child how to pet a cat, and this cat will treat him with purrs of delight. This is a social breed that likes company and gets along well with other cats and dogs. This breed stays an eternal child and enjoys playing even as an adult. Invest in toys to get your cat moving. Try to spend at least 10 minutes every day playing with your cat. This way, you will not only keep her entertained and happy but also in good shape.


Monarch Air Group provides private air charter in Sioux Falls, SD. Our clients benefit from top-notch service, unrelenting dedication to safety, wide selection of aircraft, and years of experience in chartering private jets. To obtain a free quote, please use our online quoting tool provided below, or call toll free 1-877-281-3051.
Monarch Air Group provides private jet charter flights in and out of Sioux Falls, South Dakota, USA. Sioux Falls is the largest city in South Dakota and an industrial and commercial center in the southeastern part of the state, on the Big Sioux River. The population of the city is about 153,888 people. Sioux Falls hosts Sculpture Walk, First Fridays, Festival of Bands, LifeLight Festival, Party in the Park, Jazz Fest, and some others. The most popular tourist attractions include Falls Park, St. Joseph Cathedral, Sertoma Butterfly House, Pettigrew Home & Museum, Washington Pavilion of Arts and Science, Old Courthouse Museum, Xcite Family Fun Center, and many others. The city is served by Sioux Falls Regional Airport (FSD / KFSD), which is located 6 miles from the center of Sioux Falls.
1. BKX, Brookings, Brookings, United States.
2. CTK, Canton, Canton, United States.
3. FSD, Joe Foss Field Airport, Sioux Falls, United States.
4. LRJ, Municipal, Lemars, United States.
5. MHE, Municipal, Mitchell, United States.
6. OTG, Worthington, Worthington, United States.
7. XMD, Madison, Madison, United States.
8. YKN, Chan Gurney, Yankton, United States.
1. Holiday Inn Sioux Falls-City Centre, 100 West 8th Street, Sioux Falls.
2. Holiday Inn Sioux Falls-City Centre, 100 West 8th Street, Sioux Falls.


text:
Roger W. Hesketh
DOVER-FOXCROFT - Roger W. Hesketh, 79, passed away unexpectedly December 3, 2021, at his home in Dover-Foxcroft. Roger was born on December 9, 1941, in Milo, to Murray and Beth Hesketh. He was one of four children.
He graduated from Foxcroft Academy in 1960, after graduation he married Linda
(D' Andrea) Prouty then of Dover-Foxcroft and began working at Moosehead Manufacturing, he and Linda had two sons. There are not many households in Piscataquis County that do not have a piece of furniture built by Roger.
After many years in Dover-Foxcroft he moved to Victoria, Texas, where he lived with his second wife, Dawn (Hayes) Noack then of Dover-Foxcroft and worked for Hague Hydro Clean. In 2001, he moved back home to Dover -Foxcroft working in the Guilford schools and spending time woodworking in his shop, visiting family, and enjoying his "retirement" years. Always there to lend a hand to anyone who needed it. He enjoyed traveling to New Hampshire for Nascar races with his late son, William Sr. He made daily trips down over the hill to see Gale and Peter Robinson along with regular trips to Bangor for tools from Home Depot, making stops in to see his sister, Susan, niece, Jennifer Fairbrother, and Jennifer's boyfriend, Derek.
Predeceased by his parents, Murray and Beth; brother, Dennis Hesketh; and son William Hesketh Sr. He is survived by his son, Bernard "Buster" Hesketh of Kentucky; grandsons, William Hesketh Jr. of Bangor and Cory Hesketh of Kentucky; brother, Wayne Hesketh of Hutchinson, Kansas; sister, Susan Fairbrother of Bangor; along with several cousins, nieces, nephews and great-nieces and nephews that all consider him their favorite. He always showed great pride in his kids, grand kids, and extended family.
A graveside service and burial will take place in the spring of 2022. In lieu of flowers, donations can be made in Roger's memory to Northern Light Mayo Hospital:The Will Hesketh Scholarship Fund, c/o Northern Light Mayo Hospital, Post Office Box 131, Dover-Foxcroft, ME 04426. Arrangements are in the care of the Lary Funeral Home. Messages of condolence and memories may be expressed at www.laryfuneralhome.com.
Previous: Vaughn J. Lancaster Sr. Memoriam Home
Next: Linda Rae Theriault


HIT 'N RUN- "ACCIDENTS HAPPEN" CASSETTE. RELEASED BY THE BAND IN 1993.
STYLE PLAYING FROM GUITARIST JARETH GREALISH.
A very good ballad, soulful. Thank you.
Here is a tune that was written in 95' i believe and we recorded it last year because there was possibly some label interest in distribution. Im not sure where that all stands now but it is a pretty cool tune in my opinion and i would like you get your thoughts on it! The tune is called "king of the fools".
Also i realize that the quality of the myspace uploads is really lacking so here is the original album that you have which should sound better i hope lol..
thanks for these songs ! special thanks for original session "Forever"
а что там новенького ?
Your critiques on the demo were very well written and wow thank you for the comparison to "coverdale"!
And now i have one last tune that HitNRun did recently in the studio and as with the others...this will be shared for a limited time with ONLY you good people, because as far as i know, you folks are the ONLY people that have listened to us in the last 25 years LOL!
This tune is called "piece if the action" and it was written in 91' i believe. We changed the chorus when we opened up for "Tyketto" here in philadelphia in 93' to what you will hear on this download.
Eric, thank you for this old vintage recording !
Question, do you plan to reprint all their old records on the CD?
Killer Song And why people stopped doing such music nowadays?!
Eric, I hope Your plans come true. Thanks again for sharing such great music.
thank you Eric for sharing ! Eric , good luck with reissuing your demos ! You must believe and all will OK !
Eric, thanks for the music!
Thanks for new songs, Eric!
The vocals are still the same beautiful and velvety.
Very good music, melodies and lyrics. It is a pity that there is more heavy guitars, at least in the AOR style.
Eric, I added you on myspace!


Potato Starch can be used like a thickener for sauces, soups, and stews. Potato starch tolerates greater temperatures than corn starch when utilized as a thickener. It is a natural method to add moistness to a lot of baked goods.


text:
package com.phaxio.exceptions;

public class NotFoundException extends RuntimeException {
    public NotFoundException(String message) {
        super(message);
    }
    public NotFoundException(String message, Throwable cause) {
        super(message, cause);
    }
}


LiquidSky is capable of running any application that runs on Windows and can stream that application to any device with ultra low latency. For legacy applications that have been built solely for Windows, it can be costly to rebuild it for all the different screens and devices that exist today.
Starting in 1994 CAST Software has been in the business of building CAD software for the events and lighting industry that allow people to be more creative with their technology. One of their most popular products is "Vivien" which allows event planners to create 3D renderings of event spaces to share with their clients and vendors.
As successful as the technology is with countless awards, there have been advancements in mobile technology and an increase demand from users for cross-device compatibility with ease of use. Current customers must invest in expensive hardware to run the applications and is seen as a barrier to entry for purchasing "Vivien." Given that their software was designed for Windows, there's a high cost to rebuild from scratch; CAST decided to seek alternative solutions to give their customers a great product experience across any device without sacrificing ease of use, security, and functionality.
CAST partnered with LiquidSky to stream a fully functional Vivien software experience. This allowed CAST to transition from a legacy licensing model to a more profitable SaaS and recurring revenue model. CAST is now able to expand its market share by not being limited to customers with Windows devices. Customers no longer have to upgrade to a powerful Windows device, but can use whatever device they have and access their event designs on the go and when meeting with clients.
Vivien is now ripe to aggressively grow their market share in the CAD space and grow revenues.
LiquidSky enables security, seamless updates, guaranteed compatibility, and instant access from any device by streaming Vivien from the cloud.
By keeping all Vivien source code in the cloud, the source code is never exposed, protecting it from being cracked. The end result is a simple interactive video for each user.
Push one single update to a cloud image of Vivien and all users worldwide will receive it.
LiquidSky makes Vivien compatible for all devices. No more worrying about the minimum requirements to run software.
Dual booting or installing complicated virtualization software (Parallels, Bootcamp, etc…) are no longer necessary.


text:
UK's FCA clarifies pension provider costs and charges data expectations
By Sophie Smith
The UK's Financial Conduct Authority (FCA) has outlined its expectations on requirements for workplace personal pension scheme providers to publish costs and charges data, with plans to provide further clarity on value for money via a policy statement in the summer.
As reported by our sister title, Pensions Age, the FCA first consulted on the requirements in February 2019 and confirmed the final rules in February 2020, with the first publication of data expected this summer, when Independent Governance Committees (IGCs) publish their annual reports.
The regulator acknowledged, however, that there have been different views amongst stakeholders as to whether the data should be published at the level of the arrangement with each individual employer, or whether it should be published at a higher level, with the data indicating the range of charges paid by members in different employer arrangements in one overarching scheme.
In light of this, the FCA has confirmed that the approach of publishing at employer level aligns more closely with the aim for the rules, stating that firms must interpret every provision of the handbook in light of its purpose.
It noted that its consultation in June 2020 outlined rules as to how IGCs are expected to assess the value for money of workplace personal pension schemes and investment pathway solutions.
The consultation also addressed comparing costs and charges data, with the FCA stating that it was "confident" that IGCs will have access to data to conduct comparison once scheme governance bodies begin publishing cost information on their website.
Furthermore, whilst the FCA acknowledged that some stakeholders think costs and charges data should be published at the level of the overarching HMRC-registered scheme, it clarified that it does not consider that the aggregation of costs and charges at the level of an overarching scheme would promote meaningful comparisons.
Instead, it argued that comparisons at the employer level could play a "useful role" in helping to improve value for money in workplace pensions.
However, the regulator noted that it has received feedback from some firms that were unclear at what level disclosures were required, with some preparing disclosures at registered scheme level.
The regulator also acknowledged that the consultation and policy statement did not specifically state that an employer level disclosure was expected, confirming that given this, and the time remaining until disclosures will be needed by IGCs, it will not take regulatory action in some circumstances.
This includes regulatory action against firms that, for this reporting year, disclose each set of costs and charges that they levy (and the number of employer schemes which have these costs and charges).
It will also apply to those firms that show the distribution of costs and charges by employer arrangement in some other way, such as by dividing the range of charges into deciles.
In addition to this, the FCA confirmed that firms do not need to publish the information in the same document as the IGC's annual report, acknowledging that this may result in a large document that is not user friendly.
Instead, a link can be included in the annual report, as the information must be available on a publicly accessible website.
In light of the feedback, the FCA has confirmed that it will consider if further consultation is needed on changes to its handbook, in order to provide further clarity and
ensure consistent good outcomes.
It also confirmed plans to publish a policy statement in relation to the previous consultation, Driving value for money in pensions, in the summer, which will further clarify its expectations.
The FCA stated: "We generally support an approach to comparisons that aggregates charges at the level of cohorts of similar employer arrangements, to the extent that such an approach would allow a participating IGC to compare its own provider's individual employer arrangements with comparable arrangements at a cohort level, as well as enabling cohort to cohort comparisons.
"It will be for individual IGCs or Governance Advisory Arrangements (GAAs) to determine which approach, or combination of approaches, is most appropriate, and it is for IGCs to determine where best to focus their attention.
"In order that IGCs and GAAs have the option of employer level comparison though, the data must be publicly available."


Each test typically contains at least 6 question impressions and 4 known impressions. Also, acetate overlays are provided as well.
Each proficiency test participant will be issued a unique web code and password to access our easy answer submission portal. Once logged into the portal, you will be asked to complete a simple survey. This information will be used to create our Advanced Results Summary Report. When finished with the simple survey, you will then provide your test answers and comments. Test answers are entered using simple dropdown boxes which can be saved for a later submission or submited to RS&A.
RS&A is committed to constantly improving and offering high quality forensic related products and services. Our commitment is especially important in the field of proficiency testing. We are keenly aware that the results of published Proficiency Testing Results can either be used properly, misused by naysayers of the impression evidence sciences, or sometimes even used as a tool for the defense bar to attack unsuspecting forensic identification specialists.
We believe the most prevalent problem that has existed for much too long is the lack of pertinent data to accompany the raw proficiency test results. Without knowing about the test participant's credentials, experience, and their agency's processes when completing purchased proficiency tests, the published test results are worse than having none at all. It is only through a review of the test results, in relation to the information about the participant and their agency, that the published results can become accurate and truly representative.
Therefore, before submitting your test answers, you will be required to complete a simple online survey. The data we have asked you to provide, in conjunction with the other participants, will enable RS&A to provide the forensic identification industry what they have needed for so long.
Regardless of the results, we will know that the published data is not only accurate but truly meaningful.
For those of you who prefer to save a few trees and a few bucks, you may now choose to receive your proficiency test via "Online Download". This option not only eliminates the use of costly photo paper and DVDs, but it also eliminates shipping cost. Our cost saving allows us to pass cost savings on to you!
HOW IT WORKS: Purchase your downloadable proficiency test and we will send you an email on distribution day with login credentials and download instructions. Simply, login to our secure download portal where you will find all the test materials required to complete your Footwear Comparison Proficiency Test.
RS&A understands the unique finance and budget requirements of State and Federal Agencies. We offer flexible payment options to help make your proficiency test purchases easier. If you have unique changes or special needs, contact us and we will work out a custom solution to your unique problem.
NOTE: International Bank Wire Transfer fees range from $50 USD to $75 USD depending on the country. For all orders paid using a Bank Wire Transfer payment method, the client will be charged a flat $50 USD banking fee. This fee is charged to RS&A by the bank for processing the international payment. Once your order has been submitted, you will receive an order confirmation email and an additional email which will contain an updated invoice cost and all the banking information necessary to complete your bank wire transfer.
United States = Free Shipping!
This sample document is for test demonstrations purposes only.
This sample document has been compressed for easy and quick online download.
Images contained in the sample document are not comparison quality images and do not accuratley represent RS&A production test images.
Reports and report data cotnained in the sample document are for demonstration purposes only.
© 2002 , Ron Smith & Associates, Inc.