text:
//******************************************************************************************************************************************************************************************//
// Copyright (c) 2022 @redhook62 (adfsmfa@gmail.com)                                                                                //
//                                                                                //
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),                                       //
// to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,   //
// and to permit persons to whom the Software is furnished to do so, subject to the following conditions:                                                                                //
//                                                                                //
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.                                                           //
//                                                                                //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,                                      //
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,                            //
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               //
//                                                                                //
//                                                                                //
// https://github.com/neos-sdi/adfsmfa                                                                                //
//                                                                                //
//******************************************************************************************************************************************************************************************//

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.ServiceProcess;
using System.Threading;
using System.Threading.Tasks;
using System.Linq;
using System.Net.Http;
using System.Text;
using Newtonsoft.Json.Linq;
using Microsoft.Win32;
using System.IO;
using Microsoft.IdentityModel.Tokens;
using Neos.IdentityServer.MultiFactor.Administration;

namespace Neos.IdentityServer.MultiFactor
{
    internal class ReplayManager
    {
        private List<ReplayRecord> _lst = new List<ReplayRecord>();
        private readonly object _lock = new object();
        private readonly object _bloblock = new object();
        private readonly object _threatlock = new object();
        private Task _cleanup = null;
        private Task _blobrefresh = null;
        private Task _threatrefresh = null;
        private CancellationTokenSource _canceller = null;
        private CancellationTokenSource _blobcanceller = null;
        private CancellationTokenSource _threatcanceller = null;
        private bool _mustexit = false;
        private bool _blobmustexit = false;
        private bool _threatmustexit = false;
        private EventLog _log;
        private bool _started = false;
        private readonly HttpClient _httpClient;
        protected readonly string _blobUrl;
        protected readonly string _threatUrl;
        private bool isbehavior4 = false;

        /// <summary>
        /// Static constructor implementation
        /// </summary>
        internal ReplayManager(IDependency dep)
        {
            _log = dep.GetEventLog();
            _blobUrl = SystemUtilities.PayloadDownloadBlobUrl;
            _threatUrl = SystemUtilities.ThreatDownloadBlobUrl;
            _httpClient = new HttpClient();
            RegistryVersion reg = new RegistryVersion();
            isbehavior4 = reg.IsADFSBehavior4;
        }

        /// <summary>
        /// AddToReplay method implementation
        /// </summary>
        internal bool AddToReplay(ReplayRecord record)
        {
            bool exist = false;
            try
            {
                if (record.ReplayLevel == ReplayLevel.Disabled)
                    return true;
                else if (record.ReplayLevel == ReplayLevel.Intermediate)
                {
                    lock (_lock)
                    {
                        exist = _lst.Exists(s => (s.UserName.ToLower().Equals(record.UserName.ToLower())) && (s.Code == record.Code) && (!s.UserIPAdress.Equals(record.UserIPAdress)));
                        if (!exist)
                            _lst.Add(record);
                        return !exist;
                    }
                }
                else if (record.ReplayLevel == ReplayLevel.Full)
                {
                    lock (_lock)
                    {
                        exist = _lst.Exists(s => (s.UserName.ToLower().Equals(record.UserName.ToLower())) && (s.Code == record.Code));
                        if (!exist)
                            _lst.Add(record);
                        return !exist;
                    }
                }
            }
            catch (Exception ex)
            {
                _log.WriteEntry(string.Format("error on replay registration method : {0}.", ex.Message), EventLogEntryType.Error, 1012);
            }
            return false;
        }

        /// <summary>
        /// Background CleanUp method
        /// </summary>
        private void CleanUpMethod()
        {
            using (_canceller.Token.Register(Thread.CurrentThread.Abort))
            {
                while (!_mustexit)
                {
                    try
                    {
                        lock (_lock)
                        {
                            int res = _lst.RemoveAll(s => s.UserLogon.AddSeconds(s.DeliveryWindow) < DateTime.Now);
                            if (res > 0)
                                Trace.WriteLine(string.Format("{0} Replay entries removed from checklist.", res));
                        }
                        Thread.Sleep(new TimeSpan(0, 0, 1, 0)); // every minute
                    }
                    catch (ThreadAbortException ex)
                    {
                        _mustexit = true;
                        _log.WriteEntry(string.Format("error on replay cleanup method : {0}.", ex.Message), EventLogEntryType.Error, 1013);
                        return;
                    }
                    catch (Exception ex)
                    {
                        _log.WriteEntry(string.Format("error on replay cleanup method : {0}.", ex.Message), EventLogEntryType.Error, 1013);
                    }
                }
            }
        }

        /// <summary>
        /// Backgroud RefreshBLOBMethod  method
        /// </summary>
        private void RefreshBLOBMethod()
        {
            using (_blobcanceller.Token.Register(Thread.CurrentThread.Abort))
            {
                while (!_blobmustexit)
                {
                    try
                    {
                        lock (_bloblock)
                        {
                            BLOBPayloadInformations infos = GetBLOBPayloadCache();
                            if (infos.CanDownload && ((DateTime.Now > Convert.ToDateTime(infos.NextUpdate)) || (!File.Exists(SystemUtilities.PayloadCacheFile))))
                            {
                                try
                                {
                                    infos.BLOB = GetRawBlob().Result;
                                }
                                catch
                                {
                                    infos.BLOB = null;
                                }
                                if (!string.IsNullOrEmpty(infos.BLOB))
                                {
                                    int oldnumber = infos.Number;
                                    DateTime oldnextupdate = infos.NextUpdate;

                                    RetreiveBlobProperties(infos);
                                    if ((infos.Number > oldnumber) || (Convert.ToDateTime(infos.NextUpdate) > Convert.ToDateTime(oldnextupdate)) || (!File.Exists(SystemUtilities.PayloadCacheFile)))
                                    {
                                        SetBLOBPayloadCache(infos);
                                    }
                                }
                            }
                        }
                        Thread.Sleep(new TimeSpan(0, 12, 0, 0)); // every 12 hours
                    }
                    catch (ThreadAbortException ex)
                    {
                        _blobmustexit = true;
                        _log.WriteEntry(string.Format("error on refresh BLOB method : {0}.", ex.Message), EventLogEntryType.Error, 1014);
                    }
                    catch (Exception ex)
                    {
                        _log.WriteEntry(string.Format("error on refresh BLOB method : {0}.", ex.Message), EventLogEntryType.Error, 1014);
                        Thread.Sleep(new TimeSpan(0, 12, 0, 0)); // every 12 hours
                    }
                }
            }
        }

        /// <summary>
        /// Backgroud RefreshThreatMethod  method
        /// </summary>
        private void RefreshThreatMethod()
        {
            using (_threatcanceller.Token.Register(Thread.CurrentThread.Abort))
            {
                while (!_threatmustexit)
                {
                    try
                    {
                        lock (_threatlock)
                        {
                            ThreatInformations infos = GetThreatCache();
                            if (infos.CanDownload && ((DateTime.Now > Convert.ToDateTime(infos.NextUpdate)) || (!File.Exists(SystemUtilities.ThreatCacheFile))))
                            {
                                try
                                {
                                    infos.BLOB = GetThreatBlob().Result;
                                }
                                catch
                                {
                                    infos.BLOB = null;
                                }
                                if (!string.IsNullOrEmpty(infos.BLOB))
                                {
                                    DateTime oldnextupdate = infos.NextUpdate;

                                    RetreiveThreatProperties(infos);
                                    if ((infos.NextUpdate > oldnextupdate) || (!File.Exists(SystemUtilities.ThreatCacheFile)))
                                    {
                                        SetThreatCache(infos);
                                    }
                                }
                            }
                        }
                        Thread.Sleep(new TimeSpan(0, 12, 0, 0)); // every 12 hours
                    }
                    catch (ThreadAbortException ex)
                    {
                        _threatmustexit = true;
                        _log.WriteEntry(string.Format("error on refresh Threat method : {0}.", ex.Message), EventLogEntryType.Error, 1014);
                    }
                    catch (Exception ex)
                    {
                        _log.WriteEntry(string.Format("error on refresh Threat method : {0}.", ex.Message), EventLogEntryType.Error, 1014);
                        Thread.Sleep(new TimeSpan(0, 12, 0, 0)); // every 12 hours
                    }
                }
            }
        }

        /// <summary>
        /// Reset method implementation
        /// </summary>
        internal void Reset()
        {
            lock (_lock)
            {
                _lst.Clear();
                Trace.WriteLine("All Replay entries removed from checklist.");
            }
        }

        /// <summary>
        /// Start method implementation
        /// </summary>
        internal void Start()
        {
            if (!_started)
            {
                _mustexit = false;
                _canceller = new CancellationTokenSource();
                _cleanup = Task.Factory.StartNew(new Action(CleanUpMethod), _canceller.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);

                _blobmustexit = false;
                _blobcanceller = new CancellationTokenSource();
                _blobrefresh = Task.Factory.StartNew(new Action(RefreshBLOBMethod), _blobcanceller.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);

                if (isbehavior4)
                {
                    _threatmustexit = false;
                    _threatcanceller = new CancellationTokenSource();
                    _threatrefresh = Task.Factory.StartNew(new Action(RefreshThreatMethod), _threatcanceller.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
                }
                _started = true;
            }
        }

        /// <summary>
        /// Close method implementation
        /// </summary>
        internal void Close()
        {
            _mustexit = true;
            _canceller.Cancel();

            _blobmustexit = true;
            _blobcanceller.Cancel();
            if (isbehavior4)
            {
                _threatmustexit = true;
                _threatcanceller.Cancel();
            }
            _started = false;
        }

        #region blob management
        /// <summary>
        /// GetRawBlob method implementation
        /// </summary>
        protected async Task<string> GetRawBlob()
        {
            var url = _blobUrl;
            return await DownloadStringAsync(url);
        }

        /// <summary>
        /// DownloadStringAsync method implementation
        /// </summary>
        protected async Task<string> DownloadStringAsync(string url)
        {
            return await _httpClient.GetStringAsync(url);
        }

        /// <summary>
        /// RetreiveBlobProperties method implementation
        /// </summary>
        protected virtual BLOBPayloadInformations RetreiveBlobProperties(BLOBPayloadInformations infos)
        {
            Dictionary<string, string> dic = DecodeNewPayload(infos.BLOB);
            var xnumber = dic["Number"];
            var xnextupdate = dic["NextUpdate"];
            infos.Number = Convert.ToInt32(xnumber);
            infos.NextUpdate = Convert.ToDateTime(xnextupdate);
            return infos;
        }

        /// <summary>
        /// GetBLOBPayloadCache method implementation
        /// </summary>
        protected virtual BLOBPayloadInformations GetBLOBPayloadCache()
        {
            BLOBPayloadInformations infos = new BLOBPayloadInformations();
            RegistryKey ek = Registry.LocalMachine.OpenSubKey("Software\\MFA", false);
            infos.Number = Convert.ToInt32(ek.GetValue("BlobNumber", 0, RegistryValueOptions.None));
            infos.NextUpdate = Convert.ToDateTime(ek.GetValue("BlobNextUpdate", "1970-01-01", RegistryValueOptions.None));
            infos.CanDownload = Convert.ToBoolean(ek.GetValue("BlobDownload", 1, RegistryValueOptions.None));
            if (File.Exists(SystemUtilities.PayloadCacheFile))
                infos.BLOB = File.ReadAllText(SystemUtilities.PayloadCacheFile);
            else
                infos.BLOB = null;
            return infos;
        }

        /// <summary>
        /// SetBLOBPayloadCache method implmentation
        /// </summary>
        public void SetBLOBPayloadCache(BLOBPayloadInformations infos)
        {
            RegistryKey ek = Registry.LocalMachine.OpenSubKey("Software\\MFA", true);
            ek.SetValue("BlobNumber", Convert.ToString(infos.Number), RegistryValueKind.String);
            ek.SetValue("BlobNextUpdate", infos.NextUpdate.ToString("yyyy-MM-dd"), RegistryValueKind.String);
            ek.SetValue("BlobDownload", Convert.ToInt32(infos.CanDownload), RegistryValueKind.DWord);
            File.WriteAllText(SystemUtilities.PayloadCacheFile, infos.BLOB);
            using (MailSlotClient mailslot = new MailSlotClient("BDC"))
            {
                mailslot.Text = Environment.MachineName;
                mailslot.SendNotification(NotificationsKind.ConfigurationReload);
            }
        }

        /// <summary>
        /// DecodeNewPayload method implementation
        /// </summary>
        public Dictionary<string, string> DecodeNewPayload(string rawBLOBJwt)
        {
            if (string.IsNullOrWhiteSpace(rawBLOBJwt))
                throw new ArgumentNullException(nameof(rawBLOBJwt));
            var jwtParts = rawBLOBJwt.Split('.');
            if (jwtParts.Length != 3)
                throw new ArgumentException("The JWT does not have the 3 expected components");

            var json = Base64UrlEncoder.Decode(jwtParts[1]);
            var jObject = JObject.Parse(json);

            var parameters = new Dictionary<string, string>();
            var versionnumber = ((string)jObject["no"] ?? "0");
            var nextupdate = ((string)jObject["nextUpdate"] ?? "1970-01-01");
            parameters.Add("Number", versionnumber);
            parameters.Add("NextUpdate", nextupdate);
            return parameters;
        }
        #endregion

        #region Threat
        /// <summary>
        /// GetRawBlob method implementation
        /// </summary>
        protected async Task<string> GetThreatBlob()
        {
            var url = _threatUrl;
            return await DownloadStringAsync(url);
        }

        /// <summary>
        /// GetBLOBPayloadCache method implementation
        /// </summary>
        protected virtual ThreatInformations GetThreatCache()
        {
            ThreatInformations infos = new ThreatInformations();
            if (File.Exists(SystemUtilities.ThreatCacheFile))
            {
                infos.BLOB = File.ReadAllText(SystemUtilities.ThreatCacheFile);
                return RetreiveThreatProperties(infos);
            }
            else
            {
                infos.CanDownload = true;
                infos.BLOB = null;
            }
            return infos;
        }

        /// <summary>
        /// SetBLOBPayloadCache method implmentation
        /// </summary>
        public void SetThreatCache(ThreatInformations infos)
        {
            File.WriteAllText(SystemUtilities.ThreatCacheFile, infos.BLOB);
            ManagementService.UpdateMFAThreatDetectionData(null);
        }

        /// <summary>
        /// RetreiveThreatProperties method implementation
        /// </summary>
        protected virtual ThreatInformations RetreiveThreatProperties(ThreatInformations infos)
        {
            Dictionary<string, DateTime> dic = DecodeThreatData(infos.BLOB);
            var xnextupdate = dic["NextUpdate"];
            infos.NextUpdate = xnextupdate;
            return infos;
        }

        /// <summary>
        /// DecodeThreatData method implementation
        /// </summary>
        public Dictionary<string, DateTime> DecodeThreatData(string rawtxt)
        {
            if (string.IsNullOrWhiteSpace(rawtxt))
            {
                var xparameters = new Dictionary<string, DateTime>();
                var xdt = DateTime.Parse("1970-01-01");
                xparameters.Add("NextUpdate", xdt);
            }
            StringReader rd = new StringReader(rawtxt);
            string data = string.Empty;
            for (int i = 0; i< 4; i++)
            {
                data = rd.ReadLine();
            }
            string[] dateparts = data.Split(new[] { ':' }, 2, StringSplitOptions.None);

            var parameters = new Dictionary<string, DateTime>();
            var nextupdate = (dateparts[1] ?? "1970-01-01");
            if (DateTime.TryParse(nextupdate, out DateTime dt ))
                parameters.Add("NextUpdate", dt);
            else
                parameters.Add("NextUpdate", new DateTime(1970, 1, 1, 0, 0, 0));
            return parameters;
        }
        #endregion
    }

    /// <summary>
    /// ThreatInformations class
    /// </summary>
    public class ThreatInformations
    {
        public DateTime NextUpdate = new DateTime(1970, 1, 1);
        public bool CanDownload = true;
        public string BLOB = string.Empty;
    }
}

redpajama_set_name: RedPajamaGithub


Perfect ... Opened The Space To Create A Singular Area For Multiple Uses, All With A View Of The Hollywood Hills Skyline And Just Steps Away From Chateau Marmont.
As The Hub Of The Home, The Kitchen Is A Space With All The Action Hence The Interior Design Of The Kitchen Should Be Selected Wisely.
For 10+ Years We Have Worked With Interior Design Clients All Over Sydney Creating Happy Living And Working Spaces.
Itu0027s All In The Details And @robertdnorris Gets It Right Every Time.
... Globe And Back Again To Create The Most Gorgeous Products In All Categories Of Home And The U201cliving Wellu201d Category That He Has Pioneered As A Designer.
The Original Intent Of Modern Scandi Was Thwarted By Brianu0027s All Of A Sudden Need For A Cozy Cottage.


The zones that once surrounded Stockholm disappear tomorrow (Monday 9th January 2017) when the public transport system gets a ticket and pricing overhaul. One fixed fare for each type of ticket will now be the case - making it more expensive on short journeys (an increase for the first time since 2011) and better value for those commuting in.
Apply for journeys where you have started the last part of the journey with 75 minutes of the start.
Just the Arlanda train journey (if you already have an SL-ticket): 120 kronor for adults, 120 kronor for seniors, students, young people over 18. Under 18s travel free.
For more information, check out SL's website (mostly in English) here.


text:
algen (synoniem voor wieren), een verzamelnaam voor onder andere de volgende groepen:
 kiezelwieren = diatomeeën = Bacillariophyta
 bruinwieren = Phaeophyta
 roodwieren = Rhodophyta
 groenwieren = Chlorophyta
 dinoflagellaten = Dinophyta
 blauwwieren
 zeewier
 Wieren (Duitsland), een plaats in de Duitse gemeente Wrestedt in de deelstaat Nedersaksen
 De Wieren (Groningen), een gehucht in de provincie Groningen

Personen
Hans van Wieren, een Nederlandse onderwijzer
Larry van Wieren, een Nederlandse ijshockeyer

redpajama_set_name: RedPajamaWikipedia


text:
The date when the church was built is unknown and early references to it are scanty as it was evidently included under the mother church of Dunbar — itself a survivor of the administrative system which preceded the reorganisation which took place under Norman and Roman influence. Possibly Spott began as a little chapel of rest for pilgrims who stopped on their way to lona to drink at St. John's Well, a holy well about 200 yards north-west of the church.
When Dunbar Church was made collegiate in 1342, Spott was listed as one of its seven chapelries. This arrangement appears to have lasted until 1501 when a Bull of Pope Alexander VI transferred these subsidiary churches to the newly collegiate Chapel Royal at Stirling. Spott was later raised to the status of Parish Church.
Nothing is known of the early clerics at Spott, who were probably little more than retainers at Spott House, earning a living by placing their 'learning' and 'clerking' at the Laird's disposal. The first record is of Sir James Kincraigy being 'presented to the Chaplaincy of the Parsonage of Spott' on 16th April 1499, following the death of his predecessor, Sir Hew Hudson. These and others among the succeeding clergymen remain only shadowy figures but among them a number stand out:-
Sir James Kincraigy's successor, Andrew Aiton or Aytoun, Chancellor of the Cathedral of Dunblane and Rector of Spott was, in 1520, elected Procurator of the Scottish Nation in the University of Orleans, the leading French school of civil law. He died in Rome on 12th October 1528 and was buried in the English College there.
He was followed in Spott by Robert Galbraith, a writer of several books still extant, a graduate of Paris and one of the original Senators of the College of Justice, the judges of the High Court and Court of Session. He was murdered in Edinburgh during March 1544.
His successor, James Hamilton, an illegitimate son of the Duke of Chatelherault, resigned the rectory in 1547 when he was postulated Bishop of Glasgow.
John Hamilton, son of the first Earl of Arran, was the Parson of Spott in 1559. He later became the last Roman Catholic Archbishop of St. Andrews. He was a staunch supporter of Mary Queen of Scots and had the misfortune to be taken prisoner at Dumbarton Castle in 1571 and shortly afterwards was hanged at the Market Cross in Stirling for complicity in the murder of 'The Good Regent Murray' and of Damley as well as conspiring against King James.
The first Protestant minister of Spott, and the most notorious, was John Kello, the son of the Clerk of St. Andrews Diocese. He also died Violently, being hanged at the Gallow Lee, beside Leith Walk, Edinburgh on 4th October 1570, for the murder of his wife.
Andrew Wood, the minister from 1643 to 1646, later became the Bishop of the Isles and then of Ross.
Naturally, much of the fabric of the church has changed beyond recognition during its long history. The old chapelry is that part of the church in which the pulpit now stands. It is duly oriented and the rose window, above where the altar stood, remains. The slope in the south wall near the pulpit marks the position of the communion rail. The crosses on the roof, two Latin and one Greek, are thought to be pre-reformation but little else remains to remind us of the bulding's Roman Catholic past.
The windows have been enlarged, possibly when the extension facing the pulpit was built during the reign of Charles II. A bricked up window of an older Gothic type was found in the wall where the Hay aisle abuts the main building when alterations were being carried out some years ago. The Hay aisle, the low wing on the main building facing the gate, may be part of the original church building but there is no evidence showing when it was built.
The oaken pulpit with its carved canopy is Jacobean and attached to its left side is a baptismal bracket and plate of pewter gilt. On the corresponding panel on the right side are the marks of the bracket which once held the Minister's hour glass but unfortunately this has been removed and lost.
The box pews form the most noticeable feature of the church and include the 'Laird's pew' at the west end, the manse pew and those of two other big houses'. It requires a fairly close examination to reveal that the back of every second pew in the newer part of the church folds to form a communion table. These are no longer used as such and have been secured as it was found that little fingers playing with the catches could cause them to fold at inopportune moments.
The cruel iron 'jougs' still hanging outside the east door are a reminder of that period of which the Church of Scotland cannot feel proud, the late 17th and 18th centuries when excessive zeal led to its efforts to regulate the lives of its members with a strict, narrow discipline more suited to the Old Testament than the New. As part of this discipline, the "stool of repentance' in front of the pulpit could have a number of occupants and offenders would be confined by the neck in the jougs "from the going in of the kirk till the coming out of the same". An entry in the church records of 1705 "Many witches burnt at Spott Loan" also refers to this period of oppressive, if well-intentioned, rule.
The graveyard contains a number of interesting stones, some showing the implements of the deceased's craft, and one corner contains a number of bodies which were dug up at the scene of the first Battle of Dunbar and reinterred in hallowed ground. Unfortunately, the inscriptions on many of the gravestones have deteriorated so much that they are now illegible. Fortunately, however, thanks to the foresight of Reverend Duncan M Turner, Minister here between 1965 — 1977, members of the Youth Club compiled a survey of the churchyard in 1970; a copy of this useful record may be obtained from the Session Clerk.
The building at the gate, now used as a vestry and for Kirk Session meetings, was built to house a watchman against bodysnatchers in the Burke and Hare era.
The above is intended to give visitors an insight into the history of this church and except where indicated does not include items where the source is purely opinion. There are many areas where the answers to questions are unknown and should any readers be able to shed light on them, please contact the Minister or the Session Clerk.
We hope you will come visit our church if you are in the area.
If you are unsure how to get to Spott Church, go to the Banner Category "About us" and click on "How to find us" from the dropdown menu.

redpajama_set_name: RedPajamaCommonCrawl


text:
Style Weekly App
Style Weekly
Arts & Events » Music
Solange Rises
Beyonce's quirky sister mixes retro-soul with Bjork, Cardigans at Fridays at Sunset.
by Craig Belcher
The day after the pop music's biggest star was found lifeless in his Los Angeles home, several hundred music fans came out to Fridays at Sunset to hear voices of the next generation of pop singers.
"I'm performing with a heavy heart," said opening act Ryan Leslie. "I'll do my best to carry on … the inspiration [Michael Jackson] gave to me."
The Harvard graduate and former Richmond resident tried hard to live up to that promise.
The wiry Leslie offered a zestful performance of songs from his self-titled debut that left the hot crowd rejuvenated and his black v-neck t-shirt drenched in sweat. The energy of his set was threatened only by extended discussions with the audience about his journey to become a recording artist. After seeing Leslie dance and sing his way through his own songs such as the uptempo "Quicksand," and covers like Bootsy's Collins' "I'd Rather Be With You," a little less conversation would be a good thing.
When your sister's name is BeyoncAc, making your way in the music business isn't easy as one might think. But Solange Knowles has followed her own quirky path, earning a reputation as a difficult interview subject, tossing a mic stand into the audience and getting married and divorced at an early age. Unfortunately, the publicity of these events, while establishing an identity apart from her big sister, has also overshadowed the talent and music she has to offer.
From her entrance in a colorful sundress and gold boots, Ms. Knowles was on her best behavior. Her takes on the retro soul tracks of her second album were on point, as her songs "Dancing in the Dark," and "Sandcastle" drew the crowd, many seated in lawn chairs, closer to the stage.
"Security, don't trip," Solange warned the stone-faced men in yellow shirts.
Backed by a all-white band (The Hadley St. Dreams) clad in yellow suits and two beautiful back-up singers, Solange's show was like a soul revue as she worked in a short take of the Motown classic, "Heatwave." Not afraid to challenge her audience, she would later take on the Caridgans' "Lovefool" and gospel version of Bjork's "Oh So Quiet."
Unlike the troubled diva Amy Winehouse, who struggles to stay upright on stage, Solange's retro-soul presentation includes the choreography from girl groups of yesterday. She and her back-up singers dazzled with classic and seductive moves all night long.
The diminutive Texan closed with her hit "I Decided," which she turned into a spirited sing-a-long with the audience. When she returned for a final bow, she hadn't left anything on the stage, except her microphone stand. Don't trip.
© 2020 Style Weekly


An intricate brooch set with a lilac stone flanked with deep purple stones is the centerpiece of this beautiful bodice jewelry set. Complementing side clips are are joined with matching lilac pearls interspersed with purple faceted beads. Th matching necklace can be worn in several lenths. This is an outstanding and colorful set.
Brooch: 2" x 1 5/8"
Side Pieces: 1" x 1/2"
Materials used: Vintage brooch and earrings. Vintage deconstructed necklaces. The clips and pin are original.


Marine-Lenhart syndrome is defined as Graves' disease accompanied with a functioning thyroid nodule(s). In this rare syndrome, two of the clinic tables may coexist or functioning nodules may be added to Graves' disease in subsequent years. This syndrome is generally seen in females and thyroid nodules shows generally benign characteristics in biopsy results. In this paper, we present a 28 year-old man who admitted to our clinic with the complaint of exophthalmos and weight loss and diagnosed as Marine-Lenhart syndrome based on a toxic thyroid adenoma detected with imaging studies and, clinical and laboratory findings consistent with Graves' disease.
Graves hastalığı ve fonksiyonel nodül veya nodüllerin birlikteliği Marine-Lenhart sendromu olarak adlandırılır. Oldukça nadir görülen bu sendromda bahsedilen iki ayrı durum aynı zamanda olabileceği gibi toksik adenom yıllar içerisinde tabloya eklenebilir. Hastalar genelde bayandır ve yapılan biyopsi sonuçlarına göre nodüller büyük çoğunlukla benign karakterdedir. Bu yazıda, egzoftalmus ve kilo kaybı şikayetleri nedeni ile Graves Hastalığı düşünülen ve yapılan tetkikler sonucunda aynı zamanda toksik adenom saptanan 28 yaşında bir erkek hasta sunulmuştur.
Broga-Basaria M, Basaria S. Marine-Lenhart syndrome. Thyroid 2003;13:991.
Cakir M. Diagnosis of Marine-Lenhart syndrome. Thyroid 2004;14:555.
Nishikawa M, Yoshimura M, Yoshikawa N, Toyoda N, Yonemoto T, Ogawa Y, et al. Coexistence of an autonomously functioning thyroid nodule in a patient with graves' disease: An unusual presentation of Marine-Lenhart s yndrome. Endocrine Journal 1997; 44(4): 571-4.
Cakir M. Marine-Lenhart syndrome. Journal of the national medical association 2005; 97: 1036-8.
Dobyns BM, Sheline GE, Workman JB, Tompkins EA, McConahey WM, BeckerDV. Malignant and benign neoplasms of the thyroid in patients treatedfor hyperthyroidism: a report of the cooperative thyrotoxicosis therapyfollow-up study. J Clin Endocrinol Metab 1974; 38:976–8.
Kim WB, Han SM, Kim TY, Nam-Goong IS, Gong G, Lee HK, et al. Ultrasonographic screening for detection of thyroid cancer in patients with Graves' disease. Clin Endocrinol(Oxf) 2004;60:719-5.
Gerenova J, Buysschaert M, de Burbure CY, Daumerie C. Prevalence of throid cancer in Graves' disease: a retrospective study of a cohort of 103 patients treated surgically. Eur J intern Med 2003;14:321-5.
Mishra A, Mishra SK. Throid nodüles in Graves' disease implications in an endemically iodine deficent area. J Postgrad Med 2001;47:244-7.
Cantalamessa L, Baldini M, Orsatti A, Meroni L, Amodei V, Castagnone D. Thyroid nodules in Graves disease and the risk of thyroid carcinoma. Arch Intern Med 1999;159:1705–8.
Scherer T, Wohlschlaeger-Krenn E, Bayerle-Eder M, Passler C, Reiner-Concin A, Krebs M, et all. A Case of simultaneous occurrenceof Marine – Lenhart syndrome and a papillary thyroid microcarcinoma. BMC Endocrine Disorders 2013;13:16.
Kraimps JL, Bouin-Pineau MH, Mathonnet M, De Calan L, Ronceray J, VissetJ, et al. Multicentre study of thyroid nodules in patients with Graves' disease. Br J Surg 2000; 87:1111–3.
Pacini F, Elisei R, Di Coscio GC, Anelli S, Macchia E, Concetti R, et al. Thyroid carcinoma in thyrotoxic patients treatedby surgery. J Endocrinol Invest 1988;11:107–12.
De Rosa G, Testa A, Maurizi M, Satta MA, Aimoni C, Artuso A, et al. Thyroid carcinoma mimicking a toxic adenoma. Eur J Nucl Med 1990;17:179–84.
Kim TS, Asato R, Akamizu T, Harada D, Nakashima Y, Higashi T, et al. A rare case of hyperfunctioning papillary carcinoma of the thyroid gland. Acta Otolaryngol Suppl 2007; 557:55–7.
Erdogan MF, Anil C, Ozer D, Kamel N, Erdogan G. Is it useful to routinely biopsy hot nodules in iodine deficient areas J Endocrinol Invest 2003;26:128–31.
Charkes ND. Graves' disease with functioning nodules (Marine Lenhart syndrome). J Nucl Med 1972;13:885-92.
Carnell NE, Valente WA. Throid nodules in Graves' disease: classification, characterization and response to treatment. Thyroid 1998;8:647-52.
Chandramouly B, Mann D, Cunningham RP, Giegerich E. Marine-Lenhart syndrome. Graves' disease with pooly functioning nodules. Clin Nucl Med 1992;17:905-6.
Parma J, Duprez L, Van Sande J, Cochaux P, GervyC, Mockel J, et al. Somatic mutations in the thyrotropin receptor gene cause hyperfunctioning thyroid adenomas. Nature 1993;365:649-51.
Takeshita A, Nagayama Y, Yokoyama N, Ishikawa N, Ito K, Yamashita T, et al. Rarity of oncogenic mutations in the thyrotropin receptor of autonomously functioning thyroid nodules in Japan. J Clin Endocrinol Metab 1995;80:2607-11.
Frasca F, Nucera C, Pellegriti G, Gangemi P, Attard M, Stella M, et al. BRAF(V600E) mutation and the biology of papillary thyroid cancer. Endocr Relat Cancer 2008;15:191–05.


Ad Blockerr seems to be a really trustworthy program because it promises to block malware, pop-ups, and protect you from URL redirects. In most cases, users download the trial version of the program from its official website adblockerr.com; however, specialists say that this program might also travel bundled with other programs and thus slither onto your computer without permission. Even though Ad Blockerr really blocks pop-up ads, you should not keep it because it is not a trustworthy program. All the mistakes on the main page of its website confirm this presumption. Our specialists suggest that you deal with untrustworthy programs as quickly as possible. In other words, it is very important that you delete Ad Blockerr from the system.
Even though Ad Blockerr is going to act as it promises, you will be able to use it for 15 days only. In order to continue doing that, you will have to buy its full version which costs $19.99. This free version is rather annoying too because it might display commercial advertisements on your screen. As ads might redirect to corrupted websites, we do not recommend clicking on any of them. Unfortunately, we believe that Ad Blockerr is going to perform other activities too. Specialists say that this adware program is going to record details regarding your browsing activities. On top of that, there is a slight possibility that it can connect to the Internet without permission. Actually, other more trustworthy programs that help to block advertisements exist; thus, we suggest that you delete Ad Blockerr and install one of them.
Specialists working at pcthreat.com have carried out a research and found out that Ad Blockerr is distributed via malicious installers and it usually comes bundled with other untrustworthy programs. Therefore, we highly recommend that you check your system's condition. You can easily do that by scanning your computer with an antimalware scanner. Untrustworthy tools cannot help you to detect malware, so we suggest that you acquire SpyHunter, which is 100% reliable, or a similar tool. You will simply have to open your security tool and scan the system with it. It is possible to detect threats manually, but this is definitely not an easy process, so we do not recommend doing that yourself.
You have to remove Ad Blockerr from the system even if it promises to act in a very beneficial way. In order to do that, you will have to erase its extension from your browser. If you have never done that, you should use our manual removal instructions (see below). Another way to fully get rid of Ad Blockerr is to scan the system with an automatic tool, such as SpyHunter. We do not say that you cannot use another tool for this matter, but we highly recommend that you double-check whether your tool is 100% trustworthy. If you want to try the free SpyHunter scanner, you should scroll down and click on the Download button.
Click on the extension associated with Ad Blockerr.
Quick & tested solution for Ad Blockerr removal.


A sweet yet woody scent that gives a feeling of nurture and the emotion of the coming winter. Crisp anise invites an autumn walk with rusty leaves, whilst earthy cedar and soothing vetiver encourage you to keep a calm mind and ground yourself with comfort and warmth.
Contains: eco soy wax, cotton wick, essential oils and natural fragrance oils of star anise, citrus fruits, cedar wood, violet, tonja, Amber, Oakmoss, vetiver.


text:
A ternary conditional is a shorter way of writing simple `if/else` statements.
If an `if/else` statement contains only two branches, one for when the condition is true and one for when it is false, it can be re-written as a ternary conditional.

Ternaries use a combination of the `?` and `:` symbols to split up a conditional:
```ruby
condition ? true_branch : false_branch
```

The code on the left side of the `?` is the condition and the code on the right contains the two possible branches, separated by the `:`.
If the condition is _true_, the code on the _left_ side of the `:` is executed.
If the condition is _false_, then the code on the _right_ of the `:` gets executed.

For example:

```ruby
if traffic_light == 'green'
  cross_the_road
else
  wait
end
```

can be re-written as:

```ruby
traffic_light == 'green' ? cross_the_road : wait
```


Dover Street Market's a cool place. The four story department store's owned by Commes Des Garçons' Rei Kawabuko and her husband, Adrian Joffe and it has one of the most interesting edits in the world. Included in the heady mix is a line of furniture by Finnish company Artek, called "10-Unit System", designed by architect Shigeru Ban, that essentially makes the buyer an artist. It's a modular system - ten easy pieces that you can make into what you want, a coffee table, a cupboard, a chair, a table. If your needs over the years change, so can the furniture, totally adaptable, modern and utterly genius. According to Artek's Anna Vartiainen, scent and fragrance played an important role in the space and vibe they created. So voila, a perfume collaboration between Commes Des Garçons and Artek was born.
The Commes des Garçons team lent their "nose", whilst the Artek team came up with the bottle design, with the resulting fragrance called "Standard" - a spare, musky, masculine scent that is as no nonsense as the furniture it is inspired by (but doesn't, don't worry, smell like furniture). The packaging is brilliant, and we're not the only ones taking note. Johnathan Newhouse, Condé's top man, was a guest at the frenzied champagne launch party and told me the Kawabuko/Joffe team can do no wrong: "I never miss an event here - it is always fascinating what they're doing and what they come up with. They're creative genius." Couldn't agree more.
Japanese fashion company, Comme des Garcons is seeking a motivated and organized individual to provide support in the press department.


text:
The Real Reason Why Iran Backs Syria
January 24, 2016 Topic: SecurityDiplomacy Region: Middle East Tags: TehranDamascusIslamReligionGeopolitics
Iran's Syrian strategy derives less from spurious religious ties than it does from geopolitics.
by Barak Barfi
The execution of a Shiite cleric in Saudi Arabia and the burning of Riyadh's embassy in Iran has one again flamed Sunni-Shiite tensions and set the tiny Arab oil sheikhdoms on edge. Leaders from Lebanon to Yemen are fretting about Iranian machinations in Arab countries. But it is Tehran's involvement in Syria that worries them the most. Tehran has bolstered its client state by dispatching senior military figures, pressing its Lebanese client Hezbollah to send fighters, providing much-needed petroleum products and extending Syria a hefty line of credit.
Without Iran's help, the regime would likely have collapsed. Some believe Tehran has backed Syria to the hilt because of their common religious roots. Both ruling cliques claim affinity with the heterodox Shia, who are a minority in an Islamic world populated by orthodox Sunnis.
But Iran's Syrian strategy derives less from spurious religious ties than it does from geopolitical factors. Surrounded by hostile pro-Western nations, Iran needs all the allies it can find to ensure that its regional interests are protected.
Little binds the Iranian Shia, known as Twelvers, with the Alawi Shia who rule Syria. The ninth-century founder of the Alawi sect was an adherent of the eleventh of the Twelvers' religious leaders. He promoted doctrines that were incompatible with Twelverism and was declared an infidel by medieval Twelver scholars. Later Alawi theologians went even farther, abrogating many of Islamic laws such as fasting during the month of Ramadan while advocating the non-Islamic concept of the transmigration of souls. They went so far as to deify Muhammad's cousin Ali, claiming that he was the true recipient of the prophetic message. They adopted Christian and pagan holidays.
These teachings did not sit well with medieval Twelver scholars. The tenth-century Twelver heresiographer Abu Muhammad al-Hassan ibn Musa al-Nawbakhti claimed the Alawi founder propagated the un-Islamic belief of the transmigration of souls and permitted homosexual relations. Jurists such as the eleventh-century scholar Muhammad bin al-Hassan al-Tusi accused the Alawis of heresy and cursed them for permitting what was forbidden.
This suited the Alawis. They believed they were the true holders of the original Islamic message, and had little affection for Muslims who refused to follow them. The Twelvers viewed them as enemies, and in 1834 raised troops for the Ottomans to quash an Alawi revolt.
Sometimes Alawis did not even identify as Muslims. When European travelers began visiting Syria in the eighteenth century, Alawis informed them they were Christians. Isolated in their mountain strongholds, they had little interaction with Muslims. But modernity shattered these walls. To prevent missionaries from claiming them as lost Christians, the Ottomans asserted they were Muslims. Mosques were built. But the Alawis rejected these attempts of integration into the Islamic community. When the French ruled Syria, they too tried to incorporate them into the Islamic fold. Twelver judges were imported to establish courts. But the Alawis rebuffed them as well. In 1948, Alawi students went to the Twelver center of Najaf, Iraq to learn their doctrines. But after being ridiculed and scorned, most quickly returned home.
In the 1960s, Alawis officers took power in Syria. But they did not establish cordial ties with Iran. Instead, it was the Iran-Iraq war that proved a turning point. Tehran was an international pariah, rejected by the West and fearful of Soviet communism. It was desperate for allies. The Syrian president detested his Iraqi counterpart and saw the war as an opportunity to weaken him. Iran bolstered a flailing Syrian economy in 1982 by providing free oil. But religious ties between the Alawis and Twelvers were as strained as ever. A 1985 American diplomatic cable noted that Twelver scholars "view the Alawis as heretical and despicable." Indicative of the abyss between them, Twelvers sought to proselytize among the Alawis. Six preachers were arrested for doing so in 1996.
But even shared adversaries could not overcome the abyss separating them. When Iran flexed its muscles in the Middle East, Syria often recoiled. After Iranian gains against Iraq alarmed Saudi Arabia in 1986–1987, Syria sought to restrain Tehran. In 1987, Syrian forces clashed with Hezbollah, as its gains threatened the fragile balance between Lebanon's myriad sects. Syria was never comfortable with the Iranian-Hezbollah strategy of kidnapping Westerners in Lebanon. And Damascus exposed the existence of American weapons sales to Tehran in what became known as the Iran-Contra affair.
When Iran made claims on several islands controlled by the United Arab Emirates in 1995, Syria backed the tiny nation. And Syria was never comfortable with Iran's attempt to export its revolution to other Shiite communities. During the past decade, Damascus has allied with Sunni Arab nations in criticizing Tehran's links to Shiite groups in Saudi Arabia and Yemen.
Economic ties between the two countries were never robust. In 2007, Iranian-Syrian trade only amounted to about one-third of Washington's commercial exchanges with Damascus. One area where the two cooperated was tourism. Iranians constituted approximately 20 percent of all tourists to Syria. Most are pilgrims, who visit Shiite religious shrines that hold no religious importance to Alawis.
Iran and Syria built a defensive alliance based on mutual adversaries and fears. Historically apprehensive of American and Israeli designs in the Middle East, they share limited interests beyond their anti-Western ideology. But even this was not enough to persuade Syria to put both feet in the Iranian camp. Damascus always tried to keep Tehran at a comfortable distance, so as to not alienate Saudi Arabia and the other Gulf countries.
Today, Iran fears the fall of the Alawi regime would result in a Sunni government, which would ally with its rival Saudi Arabia. It worries about the regional isolation that would ensue. Iran also dreads the spread of the Wahhabi ideology that Riyadh propagates. The virulent anti-Shiite doctrines that the Islamic State in Iraq and Syria (ISIS) endorses were born in Saudi madrasas.
Equally worrying is that a Sunni Syria would prevent Tehran from sending arms to Hezbollah. An Alawi fall would wipe out the regional gains that it has carefully cultivated for almost forty years.
Though not wed to Syrian President Bashar al-Assad, Tehran cannot afford to see the Alawis relinquish power. For this reason, it will stubbornly cling to the status quo, refusing to make any tangible concessions during negotiations. The Sunni government that Saudi Arabia aspires to install in Damascus is anathema to Tehran, and must be prevented at all costs.
It is this fear of Sunnis that brings Iran and Syria together. Their defensive alliance is built on interests. Emphasizing their common Shiite roots only obscures the relationship. Ignoring this reality, and believing that Iran can play a constructive role in resolving the Syrian conflict, only strengthens ISIS and prolongs a conflict that increasingly reverberates in Europe and beyond.
Barak Barfi is a senior fellow at the New America Foundation.
Image: Wikimedia Commons/Reza Dehshiri.


text:
ACC Ends Mass Public Sensitization on the PNB in Kono
HomeAYV NewsACC Ends Mass Public Sensitization on the PNB in Kono
In his PNB message to the audiences in the various chiefdoms, the Sub-Regional Manager, Wilfred Bangura said, he is delighted with the high turnout. He said, bribery and petty corruption should be abolished totally since, they make poor people poorer.
The Manager explained the significance of the PNB programme, how it is implemented, the gains made and the roles of the public in curbing petty corruption and bribery. Mr. Bangura called on all and sundry to embrace the PNB crusade and disseminate the knowledge gained to neighbouring communities. He urged them to own the fight against bribery and petty corruption thereby contributing to the achievement of quality service delivery.
Explaining the rationale for the PNB engagement to the audiences in the two chiefdoms, ACC's Public Education Officer, Sahr Nabieu said, the sensitization was designed to ensure the public is educated on the PNB, describing it as the road map towards curbing bribery and petty corruption in Sierra Leone.
The Public educator encouraged the participants to call the PNB 515 freelines on all networks and make use of the PNB APP in the major languages or the website: www.pnb.gov.sl to report all forms of bribery and petty corruption.
The chiefdom authorities and the audience praised the move taken by the Commission in tackling bribery in the country especially in Kono District. They pledged their unrelenting support to the Commission in the fight against bribery and corruption through the use of 515 free phone line.
Questions and answers coupled with the distribution of PNB information, education and communication materials climaxed the sensitization.


Sticko Classic Stickers - STICKO-Classic Stickers. Sticko flat stickers are available in a variety of designs and themes to fit any and every occasion. They are ideal for embellishing cards, scrapbook pages, craft projects, and so much more. This package contains Baking Glitter: twenty-three stickers on a 4x7 inch sheet. Imported.


text:
Kerala Financial Corporation (KFC) is a government owned non-banking financial company in the state of Kerala, India. The company was formulated by the State Financial Corporations Act of 1951 passed by the Kerala Legislative Assembly to accelerate the industrial growth of the state of Kerala. The corporation was formally founded later, in 1953, as the Travancore Cochin Financial Corporation which was later, in 1956, renamed to Kerala Financial Corporation, following the state's reorganization. As an attempt to boost entrepreneurship in the state, It has offered loans to various SMEs like iTraveller and Veekesy Polymers Pvt Ltd

References

Companies based in Thiruvananthapuram
State agencies of Kerala
State financial corporations of India
Government finances in Kerala
Indian companies established in 1953
Government agencies established in 1953
Financial services companies established in 1953


text:
Your JavaScript is disabled.
This site is designed to work with JavaScript enabled, and it appears to be disabled on your browser. To view all features of this site properly, please enable JavaScript.
Skip Navigation Full Site Map
Mark Miller Team Leader, SVP Greenville – Verdae Boulevard Call Mark 864-672-0861
Email Mark
Meet Mark
Experienced Banker in Greenville
With over a decade of experience in banking, Mark is an incredible asset to his clients and the Southern First team. After graduating from Clemson University in 2006, he started his career in real estate and construction in Charleston. Mark moved back to Greenville in 2008 to attain a master's degree in real estate development from Clemson. Since then, he has worked as an analyst and portfolio manager at several banks, specializing in commercial real estate construction and hospitality. Mark enjoys his work most when he is helping people and creating a positive and lasting impact in the world, so he is excited to support the Southern First mission of impacting lives in the communities we serve. Mark is happily married with four children. He is involved in his church and coaches his daughter's church basketball team. He is also an avid runner and has completed four marathons to date.
A Note About Third-Party Sites
We are unable to control security or content on other sites. Please use caution visiting outside links. Read our External Link Policy.
Rates: 877-679-9646
Debit/ATM Card: 800-500-1044
Use Corporate Office Address: 100 Verdae Blvd, Suite 100, Greenville, SC 29607
© Southern First Bancshares Privacy Policy Security Policy External Link Policy
Have you tried Zelle®?
Remote Deposit Capture Lockbox Portal


text:
'保存用户的登陆信息,和在修改密码时能传递信息,而不需要重新执行SQL语句进行查询。
Public Class CUser
    Private m_UserID As String      '保存用户名
    Private m_Password As String    '保存密码
    Private m_UType As String

    Property UserID() As String
        Get
            Return m_UserID
        End Get
        Set(ByVal value As String)
            m_UserID = value
        End Set
    End Property

    Property Password() As String
        Get
            Return m_Password
        End Get
        Set(ByVal value As String)
            m_Password = value
        End Set
    End Property
    Property UType() As String
        Get
            Return m_UType
        End Get
        Set(ByVal value As String)
            m_UType = value
        End Set
    End Property
    Sub New(ByVal ID As String, ByVal PW As String, ByVal UT As String)
        '传递账号信息
        m_UserID = ID
        m_Password = PW
        m_UType = UT
    End Sub

End Class


Help ease some of the financial burden Relentless families are facing.
Start a fundraiser to benefit families with children diagnosed with life threatening illnesses today.
"I respect the effort and purpose. "
I donated in support of this campaign on Bernie Brosnan's page.
"Hope it was a great event!"
"We wish our best for these children and their support help!"
I donated in support of this campaign on larry brendel's page.
"Happy to support this cause!!"
I donated in support of this campaign on Jim Ostler's page.
I donated in support of this campaign on Kathy Walsh's page.
I donated in support of this campaign on Timothy Hensley's page.
I donated in support of this campaign on Stephanie Marsh's page.
"Hope the event went great!"
I donated in support of this campaign on DeAnn Mason's page.
I donated in support of this campaign on Jeremy Goss's page.
"50/50 raffle 40.00 was jackpot but June gave her winnings toward Relentless for a total of 80.00 donation."
"God blesses and loves all of us because HE IS GOD! 👣🕊❤"
I donated in support of this campaign on Joshua Cole's page.
"Great cause. Keep up the hard work. "
"'Bout time we get to help you!!"
I donated in support of this campaign on Team Southside's page.
I donated in support of this campaign on Samantha Scott's page.
I donated in support of this campaign on Dan Allison's page.
"Andy and Heather Kerchner donation"
We are asking lifters to rally their friends, family, and networks to support our work. By becoming a fundraiser for RELENTLESS DETROIT, you will help more Relentless families with children diagnosed with life threatening illnesses, and you'll help your friends feel good about doing good.


Dance sessions are one of my favorites to photography. Bella is just adorable! These sessions take me back to my years of dancing for hours!!!! Laughing with my friends, getting ready for recital and being sore 90% of the time was the norm.
This little lady is just amazing. Bella started less than a year ago. She already has attended several competitions and is also doing a solo! In this short time Bella has already been selected MDG Talent ambassador, Zara Silver Clothing and Sugartribe.
What does it take to be a child dancer?


MOUNT STERLING — Tates Creek was in a zone Wednesday night — figuratively and literally.
The combination helped the Commodores knock off previously undefeated Lafayette 51-49 in the Gateway Holiday Classic finals at Montgomery County.
Marcellus Barksdale, a 6-foot-4 junior, led Creek with 18 points and seven rebounds, playing all 32 minutes. Fellow all-tourney picks Ezra Garner and Ryan Fucci combined for 19 points and 16 rebounds.
"We just were able to make a lot of plays down the stretch when they counted," Barksdale said. "They made a run, but we were able to hold our ground, I guess."


text:
Reprobate Typewriter
A Writer's Performance Space
Stories From Reprobate Typewriter
Newsletters, and All The Follows
Next Project, Please.
Home/ Next Project, Please.
16March Lynn3 Commentswriting
I got started on my next thing, today. I'm really not sure what it is–novel? Short story? Epic claymation porno film? But I got started.
It's somewhere on the ghost-story—>time travel spectrum. So, your guess is as good as mine, but I'm moving onward. (No, I'm really not sure what I'm going to do with Romeo and cannibalistic insect Juliet.)
I also printed out a list of all the tks (that's to come, but computer searchable.) in my revision project… and it's not all that bad. (One page, and a lot of them are time and consistency related, or the same missing word over and over.)
So, that, and a couple of other things, and I'm into the administrative stuff.
fierydream
Does that mean you're done??? 😀
I'm very close to done. A few notes left and spell check. I want to have a solid start on the next one so I have something to keep my mind busy while I'm querying.
*puts champagne on ice* 😉
Story Time Blog Hop
Subscribe to Reprobate Typewriter via Email
Follow Reprobate Typewriter on WordPress.com Follow @R_Typewriter
Visit Me on Medium.com
Do I Want to Remember?
Flexing Jalapeno!
Haphazard World Building
Bullet Journal 2023
Zombie Apocalypse YouTube
Natalie Aguirre on Do I Want to Remember?
arterialvein on Flexing Jalapeno!
Natalie Aguirre on Zombie Apocalypse YouTube
Karen on Welcome, 2023
Karen on IWSG: 2023 Let the New Year Begin!
Archives Select Month January 2023 December 2022 November 2022 October 2022 September 2022 August 2022 July 2022 June 2022 April 2022 March 2022 February 2022 January 2022 December 2021 November 2021 October 2021 September 2021 August 2021 July 2021 June 2021 May 2021 April 2021 March 2021 February 2021 January 2021 December 2020 November 2020 October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 November 2015 October 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015
My Story Time Blog Hop Link Collection
My Writer Scout Sash
The StoryTime Blog Hop


Location The hotel is located in the centre of Barcelona and is surrounded by numerous shopping venues and links to the public transport network. Plaça de Catalunya and the famous Las Ramblas are only a 10-minute walk away. Facilities This hotel was built in 2001. The air-conditioned establishment comprises a total of 36 rooms. A lobby and a reception are available to travellers. The upper floors of the accommodation can be accessed by lift. Services such as a cloakroom, a safe and a currency exchange service ensure a comfortable stay. Wireless internet access is available to guests in the public areas. There is also a garden. Travellers arriving by car can leave their vehicles in the garage or in the car park. Additional services include a babysitting service, a childcare service, medical assistance, room service and a laundry service. Rooms The hotel features rooms with air conditioning, central heating and a bathroom. The standard amenities of most rooms include a balcony. The rooms have a double bed or a king-size bed. A safe and a minibar are also available. Additional features include a fridge and a mini fridge. Little extras, including internet access, a telephone, a TV, a radio and WiFi, contribute to a great stay. The bathrooms are fitted with a shower and a bathtub. A hairdryer can also be found in each of the bathrooms. The establishment offers family rooms, non-smoking rooms and smoking rooms. Sports/Entertainment The accommodation features various options for cooling off on hot days, including a pool and an outdoor pool. The sun loungers and parasols on the sun terrace offer a great place to unwind. The hot tub is the perfect place to relax. Guests can enjoy a range of refreshing drinks at the poolside bar. Those wishing to enjoy sports whilst on holiday can enjoy golf on-site. The hotel offers indoor sporting opportunities in the form of a gym. Various wellness options are available at the establishment, including a spa, a sauna, a steam bath, a hammam, massage treatments, hydrotherapy applications and thalassotherapy. Meals Travellers can choose from a range of snacks and meals including breakfast, lunch or dinner. Payment All major credit cards, including American Express, VISA, Diners Club and MasterCard, are accepted for payment.
The hotel is located in the centre of Barcelona and is surrounded by numerous shopping venues and links to the public transport network. Plaça de Catalunya and the famous Las Ramblas are only a 10-minute walk away.