New biometry instruments that measure ocular dimensions with micron precision and intraocular lens (IOL) calculation formulas using increasingly sophisticated methodology are showing promise in providing much-needed improvements in the predictability of the IOL power in the eyes of cataract surgery patients.
The sophistication of IOL designs has also increased with the potential for precise correction of astigmatism and presbyopia, as well as an enhanced quality of vision. However, much of the benefit of the newer lens designs is lost where there is only slight residual refractive error.
Currently, on average around three-quarters of eyes undergoing cataract surgery achieve the requisite accuracy of being within plus or minus half of one dioptre of emmetropia. But there remain around 25% of patients who are not within that range and around 10% of patients who are more than 1.0D outside of predicted refraction, said David J Spalton FRCS, FRCP, FRCOphth, President of the ESCRS.
"We now realise that with our presbyopia-correcting lenses or toric lenses, the biometry has to be a lot better than it has been up until now if these lenses are going to work properly. And since 95% of refractive error is sphere and cylinder, the benefits of asphericity get lost in the noise unless your biometry and IOL calculation is really spot on," he told EuroTimes in an interview.
"I also think we are entering a new era with regard to IOL calculation because the newer formulas, such as the Olsen, Barrett Universal II and Warren Hill's Radial Basis Function formula, are all becoming much more accurate in offering a greater chance of achieving emmetropia," he added.
IOL calculation formulas include a range of measurements, keratometry and axial length (AL) being essential to all, and anterior chamber depth (ACD) included in most, with lens thickness and corneal diameter measurements included in some. Originally these types of measurements required several tests with several machines. In more recent years there has been a trend towards all-in-one biometers that can provide all of those measurements and more in a single short test.
One example is optical biometry, which, almost from its launch in1999 in the form of the IOLMaster® (Zeiss), emerged as the gold standard for obtaining AL measurements. However, its precision based on partial coherence interferometry (PCI), was more limited when measuring ACD, and lens thickness.
A drawback of the multimode laser used with PCI is its spectral side maxima, which might lead to secondary interference maxima of the retinal peak, resulting in misinterpretation of the retinal signal in some cases. This, however, was addressed by a software upgrade (IOLMaster Version 5). This software allows averaging of consecutive optical scans, resulting in a composite scan. The new algorithm has been useful in 30% of cases that could not be measured with the previous software version.
A new non-contact optical biometer (Lenstar, Haag-Streit AG) using optical low-coherence reflectometry (OLCR) was commercially introduced in 2008. The technique was developed in the 1980s in the telecommunication industry for reflection measurements.
"With this new piece of technology, for the first time we were truly able to measure the ACD and for the first time were able to truly measure the lens thickness, and also get better measurements in the eyes with very dense cataracts and posterior subcapsular cataracts," said Sathish Srinivasan FRCSEd, FRCOphth, FACS, University Hospital Ayr, Scotland, UK.
The new IOLMaster 700 (Zeiss) uses swept-source optical coherence tomography (SS-OCT) which enables more accurate ACD, measuring lens thickness and still better measurements of the cornea. It also provides more accurate keratometry and may eliminate the need for corneal topography in eyes with irregular corneas.
"The IOLMaster 700 is quite different and it is a game changer because it uses SS-OCT. That means we get a proper two-dimensional cross-sectional image of the entire eye. You also have a pachymetry map of the cornea. Software updates to actually give the posterior corneal curvature data will be coming out soon," said Oliver Findl MD, Hanusch Hospital, Vienna, Austria.
The posterior corneal curvature is generally not an important factor in most cataract patients, but can be crucial in toric IOL calculations, and for eyes that have undergone previous corneal refractive surgery or keratoplasty procedures. Corneal topographers have been the device of choice for anterior and posterior curvature mapping, although the Barrett Toric IOL Calculator uses a fudge factor.
The values measured by ocular biometry in cataract patients make up the optical elements of the eye. Keratometry provides the refractive power, the AL provides the eye's overall focal length, and the ACD provides an idea of where the lens is and therefore the power of the IOL needed to provide the eye with desired refraction.
However, the different formulas vary in terms of what parameters they include. All require AL and K, including several early formulas that required only those two parameters, such as the Hoffer Q, Holladay 1, SRK/T, and T2. The Haigis formula adds ACD, but does not use the K. Further parameters in other formulas include lens thickness, corneal diameter, age and preoperative refraction.
Since not all biometers can provide all of the measurements necessary for some third- and fourth-generation formulas, results with the different formulas will differ with different devices. At the same time, some formulas with fewer inputs perform as well or better than those with more inputs.
A recently published study (Cooke et al, Cataract Refract Surg, 2016; 42:1157–1164) showed that, in a retrospective series of 1,450 eyes implanted with the Acrysof SN60WF IOL (Alcon), the Olsen formula performed the best out of nine formulas at all ALs when Lenstar values were used, but performed the worst of all nine formulas at all ALs when PCI measurements were used and the lens thickness values were not included.
That may indicate the importance of lens thickness in the formula. However, when PCI measurements were used, the Barrett Universal II formula achieved the best results at all ALs, despite the formula's requirement for unavailable lens thickness values.
Moreover, the Barrett formula performed almost as well as the Olsen formula when using Lenstar measurements, even though, unlike the latter formula, its inputs do not include patients' age or central corneal thickness. Another finding of the study was that the Holladay 2 formula performed better when the preoperative refraction data was omitted.
Among the difficulties encountered when collating data for use in evaluating and comparing IOL formulas are the discrepancies in data collection and errors in methodology, according to an editorial by the IOL Power Club, a group of well-known creators of IOL calculation formulas and a respected statistician, in the March 2015 issue of the American Journal of Ophthalmology.
They point out, for example, that ACD is variously defined as the distance between the corneal epithelium and the anterior surface of the lens, and as the distance between the corneal endothelium and the lens. While the latter may be the original definition of ACD, they suggest that the endothelium-to-lens distance should instead be termed the 'aqueous depth' and ACD be used for the epithelium-to-lens distance.
Even the term 'target refraction' can be confusing and contradictory, since some authors define it as the desired refraction, whereas it is more appropriately defined as the refraction achievable with a given lens in a given eye according to the formula used.
Speaking with EuroTimes in an interview, Kenneth J Hoffer MD, one of the co-authors of the editorial, said that the use of the term 'average' for biometric values also needs to be better qualified. He pointed out that his own research indicates that biometric averages vary by gender and race.
"We did a study collecting data in 250,000 eyes published over the past 20 years and discovered that men have an AL a half millimetre longer than women when you adjust for height and weight, and a half a dioptre flatter cornea," said Dr Hoffer, Stein Eye Institute, University of California, Los Angeles, USA.
He noted that average values are an important component of the Holladay 2 formula. In a retrospective, study involving 2,707 eyes, he was able to show that adjusting the average values in the Holladay 2 to the average values for the patient's gender and race resulted in a 30-40 % better median absolute error prediction accuracy compared to the Hoffer Q, the Holladay 1 and the SRK/T formulas.
The new formula, called the Hoffer H-5 (H for Holladay; 5 for 5th generation), would have resulted in 84% of eyes being within ±0.20D of predicted refraction, he said. The H-5 formula will soon be available on the IOLMaster 700, the Lenstar and the Aladdin.
Meanwhile, new research tools such as artificial intelligence are making inroads into IOL calculation with the introduction of Warren Hill's Radial Basis Function software. Using pattern recognition software and an ever-growing database, the software detects correlations between postoperative outcomes and three IOL calculation inputs, such as AL, ACD, and steep and flat keratotomy values, and on that basis determines the best IOL for a particular patient.
"They've done both a prospective and retrospective analysis to show that it works not only in the retrospective database but also when you enter prospective data. So they have been incredibly thorough about it," Prof Spalton told EuroTimes.
The Hill-RBF Calculator has been launched in 2016 and it is available for free online. Surgeons using the calculator are encouraged to enter optional values such as lens thickness and corneal diameter measurements, to provide data for future versions of the calculator.
One limitation of the radial basis function IOL power calculator in its present form online is that it is based on data obtained with only one optical biometer, the Lenstar LS 900, and only one type of IOL. And, though the user enters the type of biometer used and the A constant of the lens to be implanted, the website cautions users of the calculator that for optimal results the same biometer/lens as that of the original dataset should be used.
Dr Findl told EuroTimes that he also questions whether the traditional formulas of the past are the way forward. He noted that the accuracy of modern biometry instrumentation in measuring the eye's dimensions and the IOL's postoperative position in relation to the intraocular anatomy, mean that the term 'effective lens position' is out-of-date.
"I think we should replace the term 'effective lens position' with 'anatomic lens position'. And I personally believe we should be moving away from only formulas and moving more towards ray tracing. We had formulas because, 15 or 20 years ago, our computers lacked the necessary speed. Today, with any smartphone we can do the calculation in a very short time," Dr Findl added.


Bhutan's only private investigator splits his time between investigations and working as a crime writer.
How similar is an asset check to a background check?
A $17,500 fine was issued to a Windsor woman for operating without a licence and hiring unlicensed private investigators.
An investigator in the United Kingdom highlights integrity and names it the most important aspect of being an investigator.


text:
Mariano Arana (né le  à Montevideo) est un architecte uruguayen, ancien ministre du Logement, de l'Aménagement du territoire et de l'Environnement du gouvernement Vázquez et maire de Montevideo de 1994 à 2005. Sénateur de 1989 à 1994, il est membre fondateur de l'Axe artiguiste, un parti centriste qui fait partie de la coalition du Front large (gauche).

Biographie

Descendant d'immigrés espagnols d'origine basque, Arana a étudié au lycée français de Montevideo puis à la faculté d'architecture de l'Université de la République de Montevideo. Il enseigna ensuite à l'Institut d'histoire de l'Architecture, organisme qu'il présida également. Fondateur des , il a présidé la Commission du patrimoine historique, artistique et culturel de la nation de 1985 à 1989. Il a écrit de nombreux livres, tant sur l'architecture que sur la politique.

Fondateur de l'Axe artiguiste, il a été sur ses listes sénateur en 1989. En 1984, il était le candidat du Front large à la mairie de Montevideo, ainsi que dix ans plus tard, réussissant alors à se faire élire avec 42 % des voix. Il fut réélu aux municipales de 2000 avec 58 % du total des suffrages exprimés.

En tant que maire, il mit en place le Plan stratégique de Montevideo visant à réhabiliter les bâtiments anciens et à rénover le plan urbanistique. Après l'élection de Tabaré Vázquez fin 2004, il fut nommé Ministre du Logement et de l'Aménagement du territoire, avec comme sous-secrétaire Jaime Igorra. Il eut notamment à gérer la crise avec l'Argentine (« guerre du papier »). À l'occasion du remaniement ministériel du , il fut remplacé par l'ingénieur Carlos Colacce, retrouvant alors son siège au Sénat. L'Axe artiguiste s'associant avec le CAP-L pour les élections générales de 2009, il s'est présenté en tant que sénateur mais n'a pas été réélu.

Notes et références

Source originale

Naissance à Montevideo
Naissance en mars 1933
Maire de Montevideo
Personnalité de l'Axe artiguiste
Personnalité membre du Front large
Sénateur de l'Uruguay
Ministre uruguayen du Logement, de l'Aménagement du territoire et de l'Environnement
Étudiant de l'université de la République
Professeur à l'université de la République

redpajama_set_name: RedPajamaWikipedia


"Turn your hum into fantastic music"
Main features of Hum On!
Hum On! is related to Android apps, Music, .
Installation requirements: A minimum of 5,9M of free memory space and Android 4.4 or higher.
Do you like Hum On!?
Questions and opinions about Hum On!


Not Sure How Your PEO Impacts the Whole Employee Lifecycle?
Do you want Prospects to see the PEO / Co-employer delivery model as a big advantage instead of being so wary about it? This value-focused explanation will help.
These customizable sheets illustrate for Prospects why there are TWO major parts to the value offering you can give them.
the "other" impacts on their company's Employee Lifecycle from access to things they are not currently doing.
Purchase Now ($36) Customizable sheet will be emailed to you upon purchase confirmation.
the "other" impacts on their company's Strategic HR Areas from access to things they are not currently doing.
Purchase Now ($37) Customizable sheet will be emailed to you upon purchase confirmation.
Prospects "get" this sheet! It's a clean, understandable, transparent, comprehensive reminder of ALL the possible costs in a client company that your firm may either replace or reduce, thus giving you maximum "offset" to your fee. It also includes a section for summarizing the potential quantified value of the new services your firm brings a client.
Purchase Now ($35) Customizable file/sheet will be emailed to you upon purchase confirmation.
As a VISTAGE (CEO Peer Group) Expert Speaker, Rob Blunt is highly qualified to engage with CEOs and company Presidents at the strategic Business and HR level they require. Engagements can be customized by length and topic.
View PDF Purchase Now $400 Excel Financial Model and Instructions will be emailed to you upon purchase confirmation and inclusive Training will be scheduled.
If you'd like to purchase more than one of the above tools or resources, we'll save you time by processing one payment for you, instead of you having to do multiple transactions. Just give us a call at 866-868-5885, and we'll take care of it for you.


text:
#define LOGISTICSMISSIONINFO_CPP

#include "stdinc.h"
#include "mclib.h"
#include "logisticsmissioninfo.h"

#ifndef FITINIFILE_H
#include "inifile.h"
#endif

#include "logisticserrors.h"
#include "multplyr.h"

extern wchar_t missionName[1024];

LogisticsMissionInfo::LogisticsMissionInfo()
{
	currentMission = -1;
	currentStage = 0;
	groups = 0;
	currentMissionName = missionName;
	groupCount = 0;
	CBills = 0;
	if (currentMissionName.Length() < 2)
		currentMissionName = "m0101";
	bMultiplayer = 0;
	//	maxTeams = maxPlayers = 2;
}

LogisticsMissionInfo::~LogisticsMissionInfo()
{
	clear();
}

void
LogisticsMissionInfo::clear()
{
	if (groups)
	{
		for (size_t i = 0; i < groupCount; i++)
		{
			for (MISSION_LIST::EIterator iter = groups[i].infos.Begin(); !iter.IsDone(); iter++)
			{
				delete (*iter);
			}
		}
		delete[] groups;
	}
	for (FILE_LIST::EIterator iter = additionalPurchaseFiles.Begin(); !iter.IsDone(); iter++)
	{
		delete *iter;
	}
	additionalPurchaseFiles.Clear();
	currentMission = -1;
	currentStage = 0;
	groups = 0;
	currentMissionName = missionName;
	groupCount = 0;
	CBills = 0;
}

int32_t
LogisticsMissionInfo::init(FitIniFile& file)
{
	clear();
	bMultiplayer = 0;
	campaignName = file.getFilename();
	// read the number of mission groups
	file.seekBlock("Campaign");
	wchar_t resultName[256];
	resultName[0] = 0;
	int32_t lName = 0;
	int32_t result = file.readIdLong("NameID", lName);
	if (result == NO_ERROR)
	{
		cLoadString(lName, resultName, 255);
	}
	else
	{
		result = file.readIdString("CampaignName", resultName, 255);
		Assert(result == NO_ERROR, 0, "couldn't find the missionName");
	}
	campaignDisplayName = resultName;
	result = file.readIdLong("GroupCount", groupCount);
	if (result != NO_ERROR)
	{
		Assert(0, 0, "No group count in campaign file");
		return -1;
	}
	result = file.readIdLong("CBills", CBills);
	wchar_t tmp[256];
	if (NO_ERROR == file.readIdString("FinalVideo", tmp, 255))
	{
		finalVideoName = tmp;
	}
	// create storage for 'em
	groups = new MissionGroup[groupCount];
	currentStage = 0;
	wchar_t blockName[32];
	for (size_t i = 0; i < groupCount; i++)
	{
		groups[i].numberToBeCompleted = -1; // initialize
		sprintf(blockName, "group%ld", i);
		if (NO_ERROR != file.seekBlock(blockName))
		{
			Assert(0, i, "couldn't find this group in the campaign file");
			continue;
		}
		file.readIdLong("NumberToComplete", groups[i].numberToBeCompleted);
		file.readIdLong("Tune", groups[i].logisticsTuneId);
		if (NO_ERROR != file.readIdString("ABLScript", tmp, 255))
		{
			// Perfectly valid to have no ABL brain for this group!
			groups[i].ablBrainName = "NONE";
		}
		else
		{
			groups[i].ablBrainName = tmp;
		}
		if (NO_ERROR != file.readIdString("Video", tmp, 255))
		{
			wchar_t errorStr[256];
			sprintf(errorStr, "couldn't find the video for operation %ld", i);
			Assert(0, 0, errorStr);
		}
		groups[i].videoFileName = tmp;
		groups[i].videoShown = 0;
		if (NO_ERROR == file.readIdString("PreVideo", tmp, 255))
		{
			groups[i].bigVideoName = tmp;
			groups[i].bigVideoShown = 0;
		}
		if (NO_ERROR != file.readIdString("OperationFile", tmp, 255) || !strlen(tmp))
		{
			strcpy(tmp, "mcl_cm_opplayer.fit");
		}
		groups[i].operationFileName = tmp;
		int32_t missionCount;
		// read the number of missions in the group
		file.readIdLong("MissionCount", missionCount);
		for (size_t j = 0; j < missionCount; j++)
		{
			MissionInfo* pInfo = new MissionInfo;
			sprintf(blockName, "group%ldMission%ld", i, j);
			if (NO_ERROR == file.seekBlock(blockName))
			{
				wchar_t fileName[1024];
				if (NO_ERROR != file.readIdString("FileName", fileName, 1023))
				{
					Assert(0, j,
						"couldn't find a mission file name in the campaign "
						"file");
					continue;
				}
				groups[i].infos.Append(pInfo);
				const std::wstring_view& path = missionPath;
				path += fileName;
				path += ".fit";
				pInfo->fileName = fileName;
				pInfo->completed = 0;
				FitIniFile missionFile;
				if (NO_ERROR != missionFile.open((const std::wstring_view&)(const std::wstring_view&)path))
				{
					wchar_t errorStr[256];
					sprintf(errorStr, "couldn't open file %s", fileName);
					Assert(0, 0, errorStr);
					continue;
				}
				readMissionInfo(missionFile, pInfo);
				wchar_t videoFileName[255];
				if (NO_ERROR == file.readIdString("VideoOverride", videoFileName, 255))
					pInfo->videoName = videoFileName;
				file.readIdBoolean("Mandatory", pInfo->mandatory);
				file.readIdBoolean("CompletePrevious", pInfo->completePrevious);
				int32_t result = file.readIdString("PurchaseFile", fileName, 1023);
				if ((NO_ERROR != result) || (0 == strcmp("", fileName)))
				{
					strcpy(fileName, "purchase_All");
				}
				file.readIdBoolean("Hidden", pInfo->hidden);
				if (NO_ERROR != file.readIdBoolean("PlayLogistics", pInfo->playLogistics))
					pInfo->playLogistics = true;
				if (NO_ERROR != file.readIdBoolean("PlaySalvage", pInfo->playSalvage))
					pInfo->playSalvage = true;
				if (NO_ERROR != file.readIdBoolean("PlayPilotPromotion", pInfo->playPilotPromotion))
					pInfo->playPilotPromotion = true;
				if (NO_ERROR != file.readIdBoolean("PlayPurchasing", pInfo->playPurchasing))
					pInfo->playPurchasing = true;
				if (NO_ERROR != file.readIdBoolean("PlaySelection", pInfo->playMissionSelection))
				{
					pInfo->playMissionSelection = false;
				}
				pInfo->purchaseFileName = missionPath;
				pInfo->purchaseFileName += fileName;
				pInfo->purchaseFileName += ".fit";
			}
		}
	}
	return 0;
}

void
LogisticsMissionInfo::readMissionInfo(
	FitIniFile& file, LogisticsMissionInfo::MissionInfo* pInfo)
{
	int32_t result = file.seekBlock("MissionSettings");
	Assert(result == NO_ERROR, 0, "Coudln't find the mission settings block in the mission file");
	wchar_t missionName[256];
	missionName[0] = 0;
	bool bRes = 0;
	result = file.readIdBoolean("MissionNameUseResourceString", bRes);
	// Assert( result == NO_ERROR, 0, "couldn't find the
	// MissionNameUseResourceString" );
	if (bRes)
	{
		uint32_t lRes;
		result = file.readIdULong("MissionNameResourceStringID", lRes);
		Assert(result == NO_ERROR, 0, "couldn't find the MissionNameResourceStringID");
		cLoadString(lRes, missionName, 255);
	}
	else
	{
		result = file.readIdString("MissionName", missionName, 255);
		Assert(result == NO_ERROR, 0, "couldn't find the missionName");
	}
	pInfo->missionDescriptiveName = missionName;
	wchar_t blurb[4096];
	result = file.readIdString("Blurb2", blurb, 4095);
	Assert(result == NO_ERROR, 0, "couldn't find the mission blurb");
	bool tmpBool = false;
	result = file.readIdBoolean("Blurb2UseResourceString", tmpBool);
	if (NO_ERROR == result && tmpBool)
	{
		uint32_t tmpInt = 0;
		result = file.readIdULong("Blurb2ResourceStringID", tmpInt);
		if (NO_ERROR == result)
		{
			cLoadString(tmpInt, blurb, 2047);
		}
	}
	pInfo->description = blurb;
	result = file.readIdLong("ResourcePoints", pInfo->resourcePoints);
	result = file.readIdLong("AdditionalCBills", pInfo->additionalCBills);
	float fTmp;
	result = file.readIdFloat("DropWeightLimit", fTmp);
	if (result != NO_ERROR)
		pInfo->dropWeight = 300;
	else
		pInfo->dropWeight = fTmp;
	if (NO_ERROR != file.readIdBoolean("AirStrikesEnabledDefault", pInfo->enableAirStrike))
		pInfo->enableAirStrike = 1;
	if (NO_ERROR != file.readIdBoolean("MineLayersEnabledDefault", pInfo->enableMineLayer))
		pInfo->enableMineLayer = 1;
	if (NO_ERROR != file.readIdBoolean("ScoutCoptersEnabledDefault", pInfo->enableScoutCopter))
		pInfo->enableScoutCopter = 1;
	if (NO_ERROR != file.readIdBoolean("SalvageCraftEnabledDefault", pInfo->enableSalavageCraft))
		pInfo->enableSalavageCraft = 1;
	if (NO_ERROR != file.readIdBoolean("SensorProbesEnabledDefault", pInfo->enableSensorStrike))
		pInfo->enableSensorStrike = true;
	if (NO_ERROR != file.readIdBoolean("RepairVehicleEnabledDefault", pInfo->enableRepairTruck))
		pInfo->enableRepairTruck = true;
	if (NO_ERROR != file.readIdBoolean("ArtilleryPieceEnabledDefault", pInfo->enableArtilleryPiece))
		pInfo->enableArtilleryPiece = 0;
}

int32_t
LogisticsMissionInfo::load(FitIniFile& file)
{
	// read the campaign file name
	wchar_t path[1024];
	wchar_t fileName[64];
	int32_t result = file.seekBlock("General");
	Assert(result == NO_ERROR, 0, "couldn't find general block in campaign file");
	result = file.readIdString("CampaignFile", fileName, 63);
	FitIniFile campaignFile;
	if (NO_ERROR != campaignFile.open(fileName))
	{
		wchar_t errorStr[256];
		sprintf(errorStr, "couldn't find file %s", path);
		return -1;
	}
	campaignName = fileName;
	// initialize this with campaign info
	if (NO_ERROR != init(campaignFile))
	{
		Assert(0, 0, "couldn't initialize the campaign");
		return -1;
	}
	currentMission = 0;
	// reset rp
	file.readIdLong("CBills", CBills);
	// set the current mission group
	file.readIdLong("group", currentStage);
	if (currentStage >= groupCount)
		currentStage = groupCount - 1;
	// set completed missions
	int32_t count;
	file.readIdLong("CompletedMissions", count);
	wchar_t header[32];
	MissionGroup* pGroup = &groups[currentStage];
	file.readIdBoolean("BigMoviePlayed", pGroup->bigVideoShown);
	int32_t numberCompleted = 0;
	int32_t i;
	for (i = 0; i < count; i++)
	{
		int32_t cnt = 0;
		sprintf(header, "Mission%ld", i);
		file.readIdLong(header, cnt);
		MissionInfo* pInfo = pGroup->infos[(uint32_t)cnt];
		pInfo->completed = 1;
		numberCompleted++;
	}
	if (numberCompleted >= pGroup->numberToBeCompleted) // unhide necessary missions
	{
		MISSION_LIST::EIterator iter = pGroup->infos.Begin();
		while (!iter.IsDone())
		{
			if ((*iter)->hidden) // use the hidden video file name for this
			{
				if ((*iter)->videoName.Length())
				{
					pGroup->videoFileName = (*iter)->videoName;
					pGroup->videoShown = 0;
				}
			}
			(*iter)->hidden = 0;
			iter++;
		}
	}
	if (count < pGroup->infos.Count())
		setNextMission(pGroup->infos[count]->fileName);
	wchar_t tmpPlayerName[64];
	file.readIdString("PlayerName", tmpPlayerName, 63);
	playerName = tmpPlayerName;
	if (NO_ERROR == file.seekBlock("AdditionalPurchaseFiles"))
	{
		i = 0;
		while (true)
		{
			sprintf(header, "File%ld", i);
			wchar_t tmp[256];
			if (NO_ERROR == file.readIdString(header, tmp, 255))
			{
				const std::wstring_view& pfName = new wchar_t[strlen(tmp) + 1];
				strcpy(pfName, tmp);
				additionalPurchaseFiles.Append(pfName);
				i++;
			}
			else
				break;
		}
	}
	return 0;
}
void
LogisticsMissionInfo::save(FitIniFile& file)
{
	// save the campaign file name
	file.writeIdString("CampaignFile", campaignName);
	file.writeIdString("CampaignName", campaignDisplayName);
	// save the player name
	if (playerName.Length())
		file.writeIdString("PlayerName", playerName);
	else
		file.writeIdString("PlayerName", "");
	// save the rp
	file.writeIdLong("CBills", CBills);
	// save the current mission group
	file.writeIdLong("group", currentStage);
	int32_t count = 0;
	wchar_t header[32];
	if (currentStage < groupCount)
	{
		// save the missions completed thus far in the mission group
		MissionGroup* pGroup = &groups[currentStage];
		file.writeIdBoolean("BigMoviePlayed", pGroup->bigVideoShown);
		// write out the name of the mission, for ease of filling dialog
		MissionInfo* pInfo = pGroup->infos[currentMission];
		file.writeIdString("MissionName", pInfo->missionDescriptiveName);
		file.writeIdString("MissionFileName", pInfo->fileName);
		int32_t curMission = 0;
		for (MISSION_LIST::EIterator iter = pGroup->infos.Begin(); !iter.IsDone();
			 iter++, curMission++)
		{
			if ((*iter)->completed)
			{
				sprintf(header, "Mission%ld", count);
				file.writeIdLong(header, curMission);
				count++;
			}
		}
	}
	file.writeIdLong("CompletedMissions", count);
	file.writeBlock("AdditionalPurchaseFiles");
	int32_t i = 0;
	for (FILE_LIST::EIterator fIter = additionalPurchaseFiles.Begin(); !fIter.IsDone(); fIter++)
	{
		sprintf(header, "File%ld", i);
		file.writeIdString(header, (*fIter));
		i++;
	}
}

int32_t
LogisticsMissionInfo::getAvailableMissions(const std::wstring_view&* missions, int32_t& numberOfEm)
{
	MissionGroup* pGroup = &groups[currentStage];
	int32_t count = 0;
	int32_t maxOut = numberOfEm;
	MISSION_LIST::EIterator iter = pGroup->infos.Begin();
	while (!iter.IsDone())
	{
		if (!(*iter)->completed)
		{
			if (count < maxOut)
			{
				missions[count] = (*iter)->fileName;
			}
			count++;
		}
		iter++;
	}
	numberOfEm = count;
	if (count > maxOut)
	{
		return NEED_BIGGER_ARRAY;
	}
	return 0;
}

int32_t
LogisticsMissionInfo::getCurrentMissions(const std::wstring_view&* missions, int32_t& numberOfEm)
{
	MissionGroup* pGroup = &groups[currentStage];
	int32_t count = 0;
	int32_t maxOut = numberOfEm;
	MISSION_LIST::EIterator iter = pGroup->infos.Begin();
	while (!iter.IsDone())
	{
		if (!(*iter)->hidden)
		{
			if (count < maxOut)
			{
				missions[count] = (*iter)->fileName;
			}
			count++;
		}
		iter++;
	}
	numberOfEm = count;
	if (count > maxOut)
	{
		return NEED_BIGGER_ARRAY;
	}
	return 0;
}
int32_t
LogisticsMissionInfo::setNextMission(const std::wstring_view& missionName)
{
	if (!missionName || !strlen(missionName))
		return -1;
	if (bMultiplayer)
	{
		const std::wstring_view& path = missionPath;
		path += missionName;
		path += ".fit";
		currentMission = 0;
		currentStage = 0;
		MissionInfo* pInfo = groups[0].infos[0];
		pInfo->fileName = missionName;
		pInfo->completed = 0;
		pInfo->playPurchasing = true;
		currentMissionName = missionName;
		FitIniFile missionFile;
		if (NO_ERROR != missionFile.open((const std::wstring_view&)(const std::wstring_view&)path))
		{
			wchar_t errorStr[256];
			sprintf(errorStr, "couldn't open file %s", missionName);
			Assert(0, 0, errorStr);
			return -1;
		}
		readMissionInfo(missionFile, pInfo);
		//			result = missionFile.readIdLong( "MaximumNumberOfTeams",
		// maxTeams ); 			result = missionFile.readIdLong(
		//"MaximumNumberOfPlayers", maxPlayers );
		MC2Player* pPlayerInfo = MPlayer->getPlayerInfo(MPlayer->commanderid);
		;
		if (pPlayerInfo)
		{
			pInfo->resourcePoints = MPlayer->missionSettings.resourcePoints;
			pInfo->additionalCBills = pPlayerInfo->cBills;
			// need to put dropweight in here as sooon as we have it
		}
		pInfo->dropWeight = MPlayer->missionSettings.dropWeight;
		missionFile.close();
		CBills = pInfo->additionalCBills;
		pInfo->enableAirStrike = MPlayer->missionSettings.airStrike;
		pInfo->enableArtilleryPiece = MPlayer->missionSettings.guardTower;
		pInfo->enableRepairTruck = MPlayer->missionSettings.repairVehicle;
		pInfo->enableSensorStrike = MPlayer->missionSettings.sensorProbe;
		pInfo->enableScoutCopter = MPlayer->missionSettings.scoutCopter;
		pInfo->enableMineLayer = MPlayer->missionSettings.mineLayer;
		pInfo->enableSalavageCraft = MPlayer->missionSettings.recoveryTeam;
	}
	else
	{
		MissionGroup* pGroup = &groups[currentStage];
		int32_t count = 0;
		bool bFound = 0;
		MISSION_LIST::EIterator iter = pGroup->infos.Begin();
		while (!iter.IsDone())
		{
			if (_stricmp((*iter)->fileName, missionName) == 0)
			{
				bFound = 1;
				if ((*iter)->completed)
				{
					return MISSION_ALREADY_DONE;
				}
				else
				{
					if (currentMission != -1)
					{
						MissionInfo* pInfo = pGroup->infos[currentMission];
						if (!(pInfo)->completed)
							CBills -= pInfo->additionalCBills;
					}
					currentMission = count;
					currentMissionName = (*iter)->fileName;
					currentMissionName.Remove(const std::wstring_view&(".fit"));
					CBills += (*iter)->additionalCBills;
				}
				break;
			}
			count++;
			iter++;
		}
		if (!bFound)
			return INVALID_MISSION;
	}
	return 0;
}

void
LogisticsMissionInfo::setSingleMission(const std::wstring_view& missionFileName)
{
	clear();
	bMultiplayer = true;
	groups = new MissionGroup[1];
	currentStage = 0;
	MissionInfo* pInfo = new MissionInfo;
	groups[0].infos.Append(pInfo);
	groups[0].operationFileName = "MCL_CM_Op1_1.fit";
	groups[0].ablBrainName = "";
	groups[0].bigVideoName = "";
	groups[0].bigVideoShown = true;
	groups[0].logisticsTuneId = 0;
	groups[0].numberToBeCompleted = 1;
	groups[0].videoFileName = "";
	groupCount = 1;
	const std::wstring_view& path = missionPath;
	path += missionFileName;
	path += ".fit";
	currentMission = 0;
	currentStage = 0;
	pInfo->fileName = missionName;
	pInfo->completed = 0;
	pInfo->playMissionSelection = 0;
	pInfo->playPurchasing = true;
	pInfo->playSalvage = 0;
	pInfo->playPilotPromotion = 0;
	currentMissionName = missionFileName;
	FitIniFile missionFile;
	if (NO_ERROR != missionFile.open((const std::wstring_view&)(const std::wstring_view&)path))
	{
		wchar_t errorStr[256];
		sprintf(errorStr, "couldn't open file %s", missionName);
		Assert(0, 0, errorStr);
		return;
	}
	readMissionInfo(missionFile, pInfo);
	float fTmp;
	int32_t result = missionFile.readIdFloat("DropWeightLimit", fTmp);
	pInfo->dropWeight = fTmp;
	result = missionFile.readIdLong("AdditionalCBills", pInfo->additionalCBills);
	if (result != NO_ERROR || !pInfo->additionalCBills)
		pInfo->additionalCBills = 1200 * fTmp + 100000;
	CBills = pInfo->additionalCBills;
}

int32_t
LogisticsMissionInfo::getCurrentMissionId()
{
	int32_t missionId = 0;
	for (size_t i = 0; i <= lastStage; i++)
	{
		MissionGroup* pGroup = &groups[i];
		if (i == lastStage)
		{
			missionId += lastMission;
		}
		else
		{
			int32_t count = 0;
			MISSION_LIST::EIterator iter = pGroup->infos.Begin();
			while (!iter.IsDone())
			{
				count++;
				iter++;
			}
			missionId += count;
		}
	}
	return missionId;
}

void
LogisticsMissionInfo::setMissionComplete()
{
	if (currentStage >= groupCount)
	{
		return;
	}
	// Needed to tell pilots which mission they just completed.
	lastStage = currentStage;
	lastMission = currentMission;
	lastMissionName = currentMissionName;
	MissionGroup* pGroup = &groups[currentStage];
	if (pGroup && currentMission > -1)
	{
		CBills += pGroup->infos[currentMission]->additionalCBills;
	}
	int32_t count = 0;
	int32_t numberCompleted = 0;
	bool bAllMandatoryCompleted = 1;
	int32_t nextAvailableMission = -1;
	// figure out whether to go to the next stage orn not
	MISSION_LIST::EIterator iter = pGroup->infos.Begin();
	while (!iter.IsDone())
	{
		if (currentMission == count)
		{
			(*iter)->completed = 1;
		}
		if ((*iter)->completed)
		{
			numberCompleted++;
		}
		else
		{
			if (nextAvailableMission == -1)
				nextAvailableMission = count;
			if ((*iter)->mandatory)
				bAllMandatoryCompleted = 0;
		}
		count++;
		iter++;
	}
	if (numberCompleted >= pGroup->numberToBeCompleted)
	{
		if (bAllMandatoryCompleted)
		{
			currentStage++;
			currentMission = 0;
		}
		else
		{
			MISSION_LIST::EIterator iter = pGroup->infos.Begin();
			while (!iter.IsDone())
			{
				if ((*iter)->hidden) // use the hidden video file name for this
				{
					if ((*iter)->videoName.Length())
					{
						pGroup->videoFileName = (*iter)->videoName;
						pGroup->videoShown = 0;
					}
				}
				(*iter)->hidden = 0;
				iter++;
			}
			currentMission = nextAvailableMission;
		}
	}
	else
	{
		gosASSERT(nextAvailableMission != -1);
		currentMission = nextAvailableMission;
	}
	if (currentStage < groupCount)
	{
		currentMissionName = groups[currentStage].infos[currentMission]->fileName;
	}
}

LogisticsMissionInfo::MissionInfo::~MissionInfo() {}

const std::wstring_view&
LogisticsMissionInfo::getCurrentPurchaseFile(void) const
{
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->purchaseFileName;
}

int32_t
LogisticsMissionInfo::getCurrentDropWeight(void) const
{
	MissionGroup* pGroup = &groups[currentStage];
	if (currentMission != -1)
		return pGroup->infos[currentMission]->dropWeight;
	else
		return 10000;
}

const std::wstring_view&
LogisticsMissionInfo::getCurrentOperationFile(void) const
{
	MissionGroup* pGroup = &groups[currentStage];
	if (pGroup)
		return pGroup->operationFileName;
	return nullptr;
}

const std::wstring_view&
LogisticsMissionInfo::getCurrentVideo(void) const
{
	MissionGroup* pGroup = &groups[currentStage];
	if (pGroup)
	{
		MissionInfo* pInfo = pGroup->infos[currentMission];
		if (pInfo)
		{
			if (pInfo->videoName.Length())
				return pInfo->videoName;
		}
		return pGroup->videoFileName;
	}
	return nullptr;
}

int32_t
LogisticsMissionInfo::getCurrentLogisticsTuneId()
{
	MissionGroup* pGroup = &groups[currentStage];
	if (pGroup)
		return pGroup->logisticsTuneId;
	return -1;
}

const std::wstring_view&
LogisticsMissionInfo::getCurrentMissionDescription(void) const
{
	MissionGroup* pGroup = &groups[currentStage];
	if (pGroup)
		return pGroup->infos[currentMission]->description;
	return nullptr;
}

bool
LogisticsMissionInfo::getMissionAvailable(const std::wstring_view& missionName)
{
	MissionGroup* pGroup = &groups[currentStage];
	for (size_t i = 0; i < pGroup->infos.Count(); i++)
	{
		if (pGroup->infos[i]->fileName.Compare(missionName) == 0)
		{
			return !pGroup->infos[i]->completed;
		}
	}
	return nullptr;
}

const std::wstring_view&
LogisticsMissionInfo::getCurrentMissionFriendlyName(void) const
{
	if (currentStage >= groupCount)
		return nullptr;
	MissionGroup* pGroup = &groups[currentStage];
	if (pGroup)
		return pGroup->infos[currentMission]->missionDescriptiveName;
	return nullptr;
}

const std::wstring_view&
LogisticsMissionInfo::getCurrentABLScriptName(void) const
{
	if (currentStage >= groupCount)
		return nullptr;
	MissionGroup* pGroup = &groups[currentStage];
	if (pGroup)
		return pGroup->ablBrainName;
	return nullptr;
}

const std::wstring_view&
LogisticsMissionInfo::getMissionFriendlyName(const std::wstring_view& missionName) const
{
	if (currentStage >= groupCount)
		return nullptr;
	MissionGroup* pGroup = &groups[currentStage];
	for (size_t i = 0; i < pGroup->infos.Count(); i++)
	{
		if (pGroup->infos[i]->fileName.Compare(missionName) == 0)
		{
			return pGroup->infos[i]->missionDescriptiveName;
		}
	}
	return nullptr;
}

int32_t
LogisticsMissionInfo::getCurrentRP(void) const
{
	if (currentMission == -1)
		return 0;
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->resourcePoints;
}

const std::wstring_view&
LogisticsMissionInfo::getCurrentBigVideo(void) const
{
	if (currentStage == -1)
		return nullptr;
	MissionGroup* pGroup = &groups[currentStage];
	if (pGroup->bigVideoShown)
		return nullptr;
	pGroup->bigVideoShown = true;
	return pGroup->bigVideoName;
}
const std::wstring_view&
LogisticsMissionInfo::getFinalVideo(void) const
{
	return finalVideoName;
}

bool
LogisticsMissionInfo::campaignOver(void) const
{
	return currentStage == groupCount;
}

void
LogisticsMissionInfo::setMultiplayer()
{
	clear();
	bMultiplayer = true;
	groups = new MissionGroup[1];
	currentStage = 0;
	MissionInfo* pInfo = new MissionInfo;
	groups[0].infos.Append(pInfo);
	currentMission = 0;
	groupCount = 1;
}
void
LogisticsMissionInfo::setPurchaseFile(const std::wstring_view& fileName)
{
	gosASSERT(bMultiplayer);
	MissionInfo* pInfo = groups[0].infos[0];
	pInfo->purchaseFileName = missionPath;
	pInfo->purchaseFileName += fileName;
	pInfo->purchaseFileName += ".fit";
}

int32_t
LogisticsMissionInfo::getAdditionalPurachaseFiles(const std::wstring_view&* list, int32_t& maxCount)
{
	if (maxCount >= additionalPurchaseFiles.Count())
	{
		int32_t i = 0;
		for (FILE_LIST::EIterator iter = additionalPurchaseFiles.Begin(); !iter.IsDone(); iter++)
		{
			list[i++] = *iter;
		}
	}
	maxCount = additionalPurchaseFiles.Count();
	return additionalPurchaseFiles.Count();
}
void
LogisticsMissionInfo::addBonusPurchaseFile(const std::wstring_view& fileName)
{
	if (!fileName)
		return;
	const std::wstring_view& pNewFile = new wchar_t[strlen(fileName) + 1];
	strcpy(pNewFile, fileName);
	additionalPurchaseFiles.Append(pNewFile);
}

bool
LogisticsMissionInfo::skipLogistics()
{
	if (MPlayer)
		return 0;
	if (currentStage >= groupCount)
		return false;
	MissionGroup* pGroup = &groups[currentStage];
	return !pGroup->infos[currentMission]->playLogistics;
}
bool
LogisticsMissionInfo::skipPilotReview()
{
	// need to subtract a mission, since we already set this one complete if we
	// got here
	MissionInfo* pInfo = getPreviousMission();
	if (!pInfo)
		return 0;
	return !pInfo->playPilotPromotion;
}
bool
LogisticsMissionInfo::skipSalvageScreen()
{
	// need to subtract a mission, since we already set this one complete if we
	// got here
	MissionInfo* pInfo = getPreviousMission();
	if (!pInfo)
		return 0;
	return !pInfo->playSalvage;
}
bool
LogisticsMissionInfo::skipPurchasing()
{
	if (MPlayer)
		return 0;
	MissionGroup* pGroup = &groups[currentStage];
	return !pGroup->infos[currentMission]->playPurchasing;
}

LogisticsMissionInfo::MissionInfo*
LogisticsMissionInfo::getPreviousMission()
{
	if (currentMission > 0)
	{
		MissionGroup* pGroup = &groups[currentStage];
		return pGroup->infos[currentMission - 1];
	}
	else if (currentStage > 0)
	{
		MissionGroup* pGroup = &groups[currentStage] - 1;
		int32_t Count = pGroup->infos.Count();
		if (Count)
			return pGroup->infos[Count - 1];
		else
			return nullptr;
	}
	else if (currentStage == 0) // There may be only one stage.  I.e. Tutorials!
	{
		MissionGroup* pGroup = &groups[currentStage];
		int32_t Count = pGroup->infos.Count();
		if (Count)
			return pGroup->infos[Count - 1];
		else
			return nullptr;
	}
	return nullptr;
}

bool
LogisticsMissionInfo::isSingleMission(void) const
{
	if (groupCount == 1)
	{
		if (groups[0].infos.Count() == 1)
			return 1;
	}
	return 0;
}

bool
LogisticsMissionInfo::showChooseMission()
{
	if (MPlayer)
		return 0;
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->playMissionSelection;
}

bool
LogisticsMissionInfo::canHaveSalavageCraft()
{
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->enableSalavageCraft;
}

bool
LogisticsMissionInfo::canHaveRepairTruck()
{
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->enableRepairTruck;
}
bool
LogisticsMissionInfo::canHaveScoutCopter()
{
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->enableScoutCopter;
}
bool
LogisticsMissionInfo::canHaveArtilleryPiece()
{
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->enableArtilleryPiece;
}
bool
LogisticsMissionInfo::canHaveAirStrike()
{
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->enableAirStrike;
}
bool
LogisticsMissionInfo::canHaveSensorStrike()
{
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->enableSensorStrike;
}
bool
LogisticsMissionInfo::canHaveMineLayer()
{
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->infos[currentMission]->enableMineLayer;
}

bool
LogisticsMissionInfo::getVideoShown()
{
	MissionGroup* pGroup = &groups[currentStage];
	return pGroup->videoShown;
}

void
LogisticsMissionInfo::setVideoShown()
{
	MissionGroup* pGroup = &groups[currentStage];
	pGroup->videoShown = true;
}

// end of file ( LogisticsMissionInfo.cpp )

redpajama_set_name: RedPajamaGithub


Success. It's one of those things that we're all striving to attain or achieve. But what exactly is success? How do you define it?
Certainly, success can have different meanings depending upon the context. Financial success can be defined as a big house, nice car, the accumulation of pretty things or the freedom to travel and live as you choose. Professional success might be defined as fame, respect from your peers, or achieving the top of the corporate ladder. Personal success… what would that be defined as? Being in control of your emotions? A well-developed sense of self and personal acceptance? A long-term relationship?
It seems to me that many, if not all, typical definitions of success contain an "external" factor. Whether it's the accumulation of wealth or accolades, success seems to involve, or at least include, something outside of ourselves.
I'd like to challenge those notions of success. What if success were simply measured by our happiness? How successful is your life, then? Simple – not necessarily easy.
Most of us move through life picking up ideas that our behaviors create others' happiness. Getting good grades as kids "makes" our parents happy. Working hard "makes" our bosses happy. It's true that those behaviors make someone else's life easier, but that's not really the same thing as making them happy. And yet our parents and bosses fall victim to the same mistaken belief that someone or something outside of themselves is responsible for their happiness. The cycle of mistaken belief continues.
If I'm responsible for someone else's happiness, then it stands to reason that someone else is responsible for mine.
Can you see what a quandary this sets up? How successful have you ever been at making someone else happy? And how effective have the people and things in your life been at making you happy?
Whenever we set our sights on things outside of ourselves to make us happy, we're bound to fail. This is where our current definition of success falls short. I can acquire uncountable wealth and accumulate myriads of treasure and still be miserable. Would my life be deemed a success or not? Is the point of life to accumulate things or to know and love one's self?
I've come to value the knowing, loving and accepting of myself as infinitely more valuable than rooms and rooms full of "stuff." My happiness is paramount to my success as a soul in physical form. By using my happiness as the benchmark to gauge my life and guide my decisions, I move closer and closer to embodying all of the possibilities that my life holds. I step more fully into the divine, spiritual being that I truly am. By choosing happiness, I bring God into my daily experience.
To me, THAT is a much more meaningful definition of a successful life.
I love when Spirit puts messages in my path. Well, actually, since Spirit is doing that all of the time, I love when I'm aware enough to notice the messages!
I've been on a quest for the past 9 months to grow spiritually and to develop my intuitive gifts. Actually, my spiritual quest has been going on a lot longer than that. I guess I started about 9 months ago to develop psychically. Wasn't I surprised to realize that psychic communication and spiritual communication are in fact one in the same? What an "Aha Moment" when these two pursuits melded into one!
So my greatest desire lately has been to see and hear psychically. You know – see pictures and images sent as messages from Spirit to me and to others, to see my guides and angels, to hear the voices of my guides and angels, and even to hear others' guides and angels so that I can help others on their own spiritual quests.
To write that desire down, I realize how "out there" it sounds. Do I seriously want to hear voices and see things? Don't people think I'm weird enough without being accused of being crazy too? It's probably one of those "be careful what you wish for" situations.
However, as I continue along my journey, striving to strengthen and increase my communication with the spirit world, I've come to realize a few important things.
First of all, I'm already communicating with Spirit – or rather, Spirit is already communicating with me. It always has been. It's never been a matter of my "becoming psychic" – I've always had that ability (as you have too). It's more a matter of conscious awareness – isn't that the case with most things spiritual? Degrees of awareness.
So my ability to see and hear comes down to an ability to discern and listen. Spirit is subtle. That's one of the biggest "Aha's" I've had. Spirit is quiet, and the messages come quickly – gone in an instant. So if you're not watching carefully, you're not sure the message was even there. It's easy to chalk it up to imagination.
But, it's important that Spirit be subtle and quiet for a couple of reasons. First, Spirit always respects our Free Will. It will never force us to take one path versus another. Spirit merely guides us, offering suggestions. It is always our choice whether to follow that guidance or not. The second reason that Spirit comes to us quietly is so that it can simply be another layer of our existence, another dimension coexisting with our physical reality. Spirit needs not overpower our lives, but it is always available to us should we choose to open ourselves to it.
The other big realization I've had regarding my communicating with Spirit is that it's not as much an act of "doing" something as it is the state of "being" something. Being psychic, which simply means actively tapping into the energy all around us, is not something we do but something we are. It's a lifestyle.
Someone recently told me that my interest in the paranormal is merely a phase that I'm going through, something I'll eventually outgrow. Perhaps. I don't think so though. My interest in developing my psychic gifts and growing spiritually is entwined in the very fabric of my life. Once we know something, we can't "un-know" it. I now see how powerful I become when I embrace my spiritual self, the part of me that connects me to every other living thing and to Divine Source, to God. I don't ever want to let that knowing go!
It still amazes me that what I thought began as an intellectual exercise to "learn how to be psychic" has really become a lifestyle of living from Spirit. And the only thing standing between me and the attainment of my desire is me.
Each day as I grow in awareness and trust, I move closer and closer to my goal. As I accept and embrace my spiritual nature, I become more of the spiritual being I desire. I become more of All That I Am and All That Is. What could be a more meaningful pursuit in life?


(WARNING: GRAPHIC CONTENT) April 14 - Officials are investigating a rush hour bombing that killed at least 71 and wounded 124. Nathan Frandino reports.
With eyes welled up from tears, anxious families in Nigeria are waiting for news. (SOUNDBITE) (English) NYANYA HOSPITAL CHIEF MEDICAL DIRECTOR, FRANK IFECHUKWUDI, SAYING: "As of one hour ago we had 75 plus 80 and then it has been on the counting side. Now we have about 10 left there so I'm giving it roughly about 80, 90." At least 71 people are dead and 124 wounded after Monday's bombing at a bus station outside Abuja. As the wounded recover in an area hospital, crowds remain gathered at the blast site. Buses now sit slammed with shrapnel. Blood stains the ground. And officials are digging for any clue from the explosion. (SOUNDBITE) (English) DIRECTOR, SEARCH AND RESCUE NEMA, CHARLES OTEGBADE, SAYING: "The minimal information that we can gather so far was that the explosion emanated from a vehicle. The nature of the explosion we are unable to 100 percent ascertain, you know, but the explosion came from inside a vehicle and it affected quite a number, quite a number of people." President Goodluck Jonathan visited the site, offering condolences for the victims. Suspicion fell on the Islamist group Boko Haram, though there was no immediate claim of responsibility.


It is not uncommon for landowners in Piscataquis County to own several acres of woodland. There are a variety of options for these residents to manage their woodlots and over the years, the Piscataquis County Soil and Water Conservation District has worked to provide educational programming on techniques and practices that can be used to better and profit from their woodlots. We are excited to be offering our Low Impact Forestry Workshop at the Law Farm public land, offering yet another informative workshop to help landowners better manage their woodlots.
The Low Impact Forestry workshop will be held on Thursday, June 28th and run from 9AM-3:30PM. This workshop will instruct attendees how to assess their forest, understand impacts from past activities and use that information to develop a basic management plan. There will be a morning session covering a variety of topics, including the importance of understanding the relationship between soils found in a woodlot and tree species that grow or are best adapted for the site. Additionally, presenters will discuss tree species, siviculture, sustainable forest management and more. During the afternoon session, presenters will walk the property with participants and discuss specific examples of management happening on the property. Much of this program will take place in the woods, gaining first-hand perspectives on topics discussed.
The Low Impact Forestry workshop will be taught by a dynamic team of foresters, landowners, loggers and natural resource experts including David Rocque, Maine State Soil Scientist, Andrew Shultz, Maine Forest Service, Adam Cates, Maine Forest Service and Gordon Moore, forester. Participants will come away from this course with information on how to sustainably manage their woodlots. This workshop is a great option for small farmers, homesteaders and landowners looking to better utilize their woodlots. Whether you have an acre or 100 acres, there is something to be learned at this workshop.
Pre-registration is required to attend and there is a $10 registration fee. To register or for more information, contact the Piscataquis County Soil and Water Conservation District at (207) 564-2321 extension 3, info@piscataquisswcd.org, www.piscataquisswcd.org.


A native of Lebanon, Tennessee, Gordon Bone is a graduate of Cumberland University and the University of Tennessee. He also graduated from the University of Virginia's Consumer Banking School. Mr. Bone served as a vice president of a large Tennessee bank for a number of years and also served as a director of First Bank & Trust in Mt. Juliet until its merger with a large regional bank in 1999. He joined Pinnacle Bank's board after serving on the board of Mid-America Bancshares since September 2006, and the subsidiary board at Bank of the South since 2001.
Since 1984, Mr. Bone has served on the board of Middle Tennessee Electric Membership Corporation, where he served as chairman until 2015. He is also a vice-president of Community Progress Committee, Inc., a not-for-profit entity focusing on healthcare and education issues. Mr. Bone served on the board of the Lebanon Breakfast Rotary Club, and as a director of the Crohn's and Colitis Foundation of America – Tennessee Chapter. He is a member of First Presbyterian Church in Lebanon, Tennessee.
Hal completed his undergraduate studies at Cumberland University in 1998 before obtaining his Master's Degree in Business Administration from Middle Tennessee State University in 2001.
Starting in residential construction and expanding into real estate sales, commercial construction and land development, Hal has always been focused on building an affordable, quality product and providing excellent customer service. His construction expertise can be seen in The Arcade which, along with a partner, is being developed into an anchor business on the Lebanon Square. Seeing a niche in the market in 2004, Hal expanded into self-storage and mobile storage. He continues today to expand this business along with his property management business.
To support the aging population in Wilson County, Hal joined with his father and sister to build The Pavilion, one of the top long-term care facilities in this part of Middle Tennessee. They recently opened The Carthage Pavilion Assisted Living in Smith County and will soon be opening an assisted living facility in Wilson County.
Hal is an Elder of First Presbyterian Church of Lebanon, a devoted husband and father of five children. Hal served on the Board of Directors of the Crohn's and Colitis Foundation of America – Tennessee Chapter and is a member of the Lebanon Breakfast Rotary Club.
Van Cluck is L4's President and Chief Development Officer. Cluck brings over 25 years of progressive experience in the senior living industry. He most recently served as President and Chief Executive Officer for Blakeford, Inc., a multi-dimensional senior living services company. Mr. Cluck also teaches as an adjunct professor at Lipscomb University in Nashville, having taught in both the MBA program as well as for the School of TransformAging. Additionally, he serves on the Leading Age Tennessee Board of Directors and the Harpeth Hills Resource Center on Aging Advisory Board. "One of the greatest lessons I have learned is that those who age 'best' are those who age with purpose. We want to create a senior living and lifestyles services company that focuses on helping all we serve age with purpose," said Cluck.
Benita came to us with over 25 years' experience in both operations and finance. Beginning her career at local companies such as Performance Food Group and Cracker Barrel's home office, she eventually moved to loan operations at a finance company and then a local bank. In 2000, she accepted a position at Truckers Plus, a staffing agency specializing in driver staffing. While there, Benita was instrumental in achieving significant growth for the organization, increasing the company size from two to twenty-four branches, and over time was promoted to Vice President of Finance. After Truckers Plus sold, Benita worked as a controller for Nashville Steel and later Besway Systems handling all aspects of their banking, invoicing, accounting, payroll and credit. This background provided Benita with the skills and experience to manage the financial facets of Bone Associates' multi-business operation.
Benita has lived in Watertown since childhood. She graduated from Watertown High School and Volunteer State with honors. Married, with three children, she is an active member of Poplar Hill Baptist Church.
Joey was born and raised in Knoxville, Tennessee. He moved to Lebanon in 2001 with his wife and they now have four children. Joey enjoys spending his time with family, coaching his children's sports teams, and attending church where he serves as a Sunday School teacher and Deacon.
Joey entered the healthcare industry in 2001 for an outpatient physical therapy company called Results Physiotherapy. There he worked as a therapy tech, administrative assistant, and marketing representative. While working full-time, Joey graduated from Cumberland University with a Bachelor's of Business Administration in 2006.
Joey began his journey in Senior Living studying under Linda Austin in Lafayette, Tennessee in 2009. He joined The Pavilion Senior Living in 2010 as the Administrator of our Rehabilitation and Long-Term Care facility. As a member of Tennessee Healthcare Association, Joey has served on the Membership Committee, Government Affairs Committee, and a Graduate of the 2013 Future Leaders Program.
Heather majored in Communication and Public Relations at the University of Tennessee and graduated with a Bachelor of Arts. She went to work in the newspaper business where she was promoted to Manager, responsible for all daily activities in the circulation, marketing, call center, customer service and mailroom departments. In 2011, Heather's career took her to the senior living industry where she assumed the role of Director of Admissions and Marketing. Through building relationships with local doctors and hospitals, and by developing community outreach materials, Heather is able to ensure high facility occupancy of the senior living facilities she supports, and to provide quality marketing materials and assistance to all the Bone enterprises.
Born in Jackson, Tennessee, Heather grew up working in her family owned Dairy Queen. There, she learned the basic business functions required to run a company, small or large. In her spare time, Heather volunteers for Alpha Gamma Delta as a Chapter Advisor, CASA of Wilson County (Court Appointed Special Advocates for Adolescents), and Senior Service Network East. She is a graduate of Leadership Wilson. Among many other professional activities, she has been a member of the Post-Acute Transition roundtable at Vanderbilt Medical Center and many other local organizations.
Heather makes her home in Lebanon, TN with her husband and two daughters.
© 2019 Pavilion Senior Living. All Rights Reserved.


The sign of the Water Bearer promotes platonic love, the unselfish goodwill that holds true friendships together. These relationships are the spirit of the Age of Aquarius. To quote astrologer Laurie Baum, "Finding a group of mutually supportive, like-minded others is… [a ] key to unlocking the gateway… of the New Millennium." She reminds us that first we have to discover our own individuality to be able to connect with people who accept and support our purpose.
This Aquarian ability is brought into relief by the Chinese Rabbit, whose year begins at this same portal. Rabbit avoids confrontation and seeks community. Mars combust (closely conjunct the Sun) in the New Moon chart helps soften aggressive impulses. Uranus, the ruler, is in Pisces, the cosmic harmonizer.
The Sabian symbol for 14 Aquarius describes a train making sudden headway through a tunnel in the mountains, reminding us that friendship is not only fun and comforting, but necessary for the spiritual and material breakthroughs required to successfully complete our divine work. Work of all kinds, and especially for new ways of relating, is facilitated at this New Moon, whose only other major aspect is a trine to Saturn—Lord of Effort—in Libra, sign of love.
When we work on ourselves with a spiritual focus, our other work is usually blessed. The following ceremony and affirmations are directed at optimizing the results of a higher kind of networking.
1) Light the incense, consecrating it as an offering to Chamuel, Archangel of Love, and to the Angels of True Friendship. Ask that they work with your guardian angel (if done with others, of the guardian angels of all present) to connect from within and without with your divine social network.
"This is the light of Archangel Michael, who I (we) ask to wield the sword of the Higher Authority and dissolve any ties within or without that might keep me from connecting with my divine network. I release obsolete ties and they release me.
4) Write a sentence that describes the divine network you would like to have, both what you give to it and what you receive.
5) Write down behaviors you can change in order to do your part in building those connections.
6) Write three concrete steps you can take in the course of the next 2 weeks that promote this network.
I give thanks because Sublime Love is working to move out of my life situations in relationship that are no longer the highest and the best, and to activate, attract and manifest my divine network quickly and in peace.
8) Follow up by reading your intentions, repeating affirmations like these during 6 minutes daily until the next New Moon.
Once you begin finding people with whom you share a common bond… Suddenly patterns in your life, experiences, relationships, choices, ad paths will converge. Things will suddenly make sense… That you are part of the great weave of humanity will become readily apparent. You will experience a sense of meaning, connectedness, and joy that you have never felt before.
Very good advice, Crystal, thanks!


We believe that the dialog should be the basis for any activities. We would like not only to receive feedback about ourselves, but also actively explain decisions we make and present our position. That is why we engage stakeholders in our activities, by exchanging views on many levels.
How do we engage our stakeholders?
In November 2016 we organized a joint dialog session with key external and internal stakeholders of Cyfrowy Polsat Capital Group. We were pleased to hear that they perceive our enterprise as the leader creating high standards on the market. The participants also appreciated high quality of delivered products and services, involvement in cooperation with organizations acting for the benefit of the society and the Polish capital of the Group.
the award in the second edition of the contest in the category of "Best IR Department of listed companies" in Poland for its contribution to the development of capital markets in Central and Eastern Europe.
Cyfrowy Polsat is among the 20 companies who have been named "2016 Transparent Company of the Year" in the ranking prepared by the Institute of Accounting and Taxes and PARKIET stock exchange and investors daily ("Gazeta Giełdy i Inwestorów PARKIET"). The winners have been selected from among all the companies listed on the WSE (the Warsaw Stock Exchange) as part of the three major stock indices (WIG20, mWIG40, sWIG80).
Cyfrowy Polsat was ranked second in the ranking of "Puls Biznesu" daily in the category "Investor Relations". It is already the sixth award in the history of this ranking.
Cyfrowy Polsat was ranked second in the third edition of the survey of investor relations for WIG30 companies, prepared in 2017 by PARKIET stock exchange and investors daily ("Gazeta Giełdy i Inwestorów PARKIET") and the Polish Chamber of Brokerage Houses.
A Honorary Pearl of the Polish Economy for Cyfrowy Polsat in the 15th edition of the prestigious ranking organized by the "Polish Market", an English-language business magazine in cooperation with the Institute of Economics of the Polish Academy of Science. An Honorary Pearl is granted to outstanding individuals and institutions whose professional achievements, experience, prestige, ethics and personal values guarantee that they may be declared ambassadors of Polish values.
Cyfrowy Polsat ranks no. 1 in the ranking of 100 Biggest Polish Private Companies, published by Forbes monthly. The ranking of the magazine's Polish edition presents the actual values of enterprises built by Polish businessmen based solely on Polish capital.
Rzeczpospolita daily's Eagle award for Cyfrowy Polsat in the category Best Service and Infrastructural Company. It is a prestigious award presented by the Rzeczpospolita daily to the outstanding companies from the Polish Top 500 list, which groups together the biggest Polish enterprises.
In the annual survey conducted by "Media and Marketing Polska" magazine, Polsat Media received the highest score among all TV Advertising Bureaus operating in Poland. On the scale in which 5 is the best, the total score of Polsat Media was 4.41 – it is our best result since 2004. In the survey conducted by Kantar MillwardBrown, the respondents emphasized that Polsat Media quickly and fully responded to briefs, and most of all maintained trust and confidence. It is perceived as a solid partner whose offer is perfectly tailored to customers' expectations and needs.
During SAT Kurier Awards 2016 gala, which accompanied the SAT KRAK 2016 Trade Fair, the EVOBOX PVR set-top box won in the category of Best Dedicated Set-top Box, while IPLA online TV came first in the category of Best Service.
At the IBC 2016 trade fair the software developed for the EVOBOX PVR set-top box received a prestigious award in the category of Best Interactive Application or Technology. The software was recognized as the most innovative product during the IBC Best of Show Awards gala.
Gold Medal – Consumers' Choice for EVOBOX PVR set-top box, the latest and the most advanced satellite TV device from Cyfrowy Polsat. The prize was awarded in the competition for the best product at MEDIA EXPO 2016 Poznań International Trade Fair.
Manager Award 2016 for Marian Kmita, the director responsible for sports at Polsat TV. The award was presented by the "Manager" magazine for setting the best example for other entrepreneurs on how to effectively manage and create one's own working environment based on the highest standards.
The prestigious Neptune 2016 award went to Agnieszka Odorowicz, Cyfrowy Polsat Management Board Member, for her contribution to Polish film and culture. The Neptune Award is designed to honor Polish and foreign artists whose artistic output leaves a lasting impression in the history and culture of Gdańsk and whose activities promote the values which are of special importance to Gdańsk.


How do I get my site to show up on Google?
Search engine optimization, better known by its acronym SEO, is the use of various Internet marketing methods to increase your website's page rankings on popular search engines like Google, Yahoo! and Bing.
Many website designers have a background in Graphic Design, not in Internet Marketing. With The New York Website Designer you get the best of both worlds! Not only do I have a degree in Fine Arts, I am also a Search Engine Optimization (SEO) Expert. I can optimize your website to rank higher in search engine results, which means more website visitors for you! In 2010, I was able to bring one client's website from 300,000 to over ONE MILLION hits per month!
Are you ready to increase the traffic to your website?
Luxury Daily quoted Andrea extensively this week in the article entitled "How luxury marketers can entice purchase by using sound in digital marketing." Rachel Lamb's article details how luxury brands are using sound to communicate with consumers via the Internet. Andrea was thrilled when she was asked to provide her opinion as an industry expert. She was able to provide a lot of detailed information about the use of sound in relation to luxury website design, so if you are interested, be sure to check out the article!
Since luxury marketers have already lost the tactile sense when using digital marketing, adding sound where it counts can truly help them convince affluent consumers to buy their products, according to experts. Brands that carefully use sound online and in mobile applications can entice consumers to buy products by enveloping them in as many senses as possible to mock an in-person experience. Since touch and smell cannot be used in digital efforts, sound is the most effective.
"The more senses that you can engage, the more possibility you have to trace your brand into their mind," said Jack Burke, president of Sound Marketing Inc., Branson, MO.
Marketers who arguably use sound most effectively are automakers. Whether it is with a video of a car zooming by or with a sound of a honk, consumers are better able to visualize the experience of being in a car, even if they are just researching on their computers. For instance, Aston Martin and Ferrari allow consumers to hear many features of the cars on their Web sites.
When consumers click on an Aston Martin vehicle, they are able to choose different sound settings , such as engine start, 0-120 miles-per-hour acceleration, engine revving, drive-by fast and pass by.
Aston Martin also employs this strategy in its Aston Martin Explore mobile app, where consumers can tap on the ignition to hear the engine rev.Additionally, when consumers are taking a virtual tour of a Ferrari on the automaker's Web site, they can click on the ignition and listen to the car start up.
"I think you have to be really careful about how you incorporate sound into a Web site," said Andrea Bertola, owner of The New York Website Designer, New York. "There is nothing more jarring than visiting a Web site and jumping five feet out of your chair when the sound unexpectedly blares out of your speakers."
"In retrospect, sound can absolutely enhance a Web site if the user has the option to select it," she said. "Humans are curious by nature, use it to your advantage.
Apparel and accessories designer Ralph Lauren also uses this tactic for his personal interests.
Known car enthusiast Mr. Lauren has dedicated a section of the brand's Web site to the L'Art de L'Automobile exhibition in France.Consumers can visit the exhibit online and scroll through old-fashioned models from Ferrari, Bugatti, Mercedes-Benz and Bentley. By clicking on the various models, they can hear what the engines sound like when the car starts, when it is driving away and when it is passing nearby. This cycle plays in a loop for each vehicle. Consumers are able to hear what it sounds like when they are both inside and outside of these cars.
Luxury marketers other than automakers are creatively tapping sound to enhance digital experience. For instance, Christian Dior is using subtle sound imagery with its Miss Dior Cherie campaign starring actress Natalie Portman.
The brand has a microsite dedicated to the fragrance. When consumers enter it, they are encouraged to "pull" on the bow of a box, tipping it over and spilling its contents.
Consumers can hear the gentle thump of the box hitting the table and hear its contents rolling out.
The process repeats with the sound of more boxes tipping over and a ribbon being pulled, as well as watching and listening to a record roll along the countertop and spinning and settling on the surface.
"Many people are auditory in nature and obtain what they hear more so than what they read," Sound Marketing's Mr. Burke said.
Indeed, many luxury brands can use sound to evoke the feeling of luxury. For instance, retailers could use the sound of crinkling tissue paper or luxury hotels could play the same gentle music on their Web sites as they do in their lobbies or elevators.
First step: Look through my graphic design samples. Then, together we will sit down and talk about your vision for your online (and offline) identity: What message do you want your logo to convey? Do you have specific imagery in mind? Colors? Do you have a tagline? Will your tagline help you with Search Engine Optimization? Where will this logo primarily be used? Creating a logo should be a fun, creative experience. Our goal will be to present your business in a positive, professional and memorable manner!
Thinking about making a web page with video?
The New York Website Designer is thrilled to announce a partnership with Russ Geltman, to provide an exclusive package for clients! Russell Geltman is a New York based Cinematographer who got his start in Television in Los Angeles, working as a Union Camera Assistant on shows such as "Entourage", "ER", and "Deadwood". With this partnership, you can have Hollywood quality videos on your website!
For online videos, Russ uses state-of-the-art, equipment resulting in unrivaled quality for a truly affordable price. Contact Andrea to discuss your budget for your promo video needs and we will provide you with a proposal.
2) Search Engine Optimization. By posting a video blog on YouTube, you will increase your online visibility by 125%. Website videos help generate a buzz and drive traffic to your site. Especially if the video goes viral!
3) Keep Visitors on Your Website. You want to keep visitors on your website for as long as possible. 69% of internet users watch video online (Pew Research 2010). Visitors are more likely to watch an entire video clip than they are to read an entire webpage, blog post or article.
4) Credibility. An educational video will help you to establish yourself as an expert. Online educational videos have risen in adult viewership from 22% to 38% since 2007. (Pew Research, 2010). By providing useful information, how-to-videos and online seminars; your clients will regard you as a trusted expert.
5) The 'WOW' Factor. Show your website visitors that you have your finger on the pulse with the latest technology. Your website is modern and your use advanced marketing tools will only be a positive reflection of you and/or your company!


text:
Vanard es una localidad de Santa Lucía, en el distrito de Castries.

Demografía

Según censo 2001 contaba con 393 habitantes. La estimación 2010 refiere a 465 habitantes.

Referencias

Localidades de Santa Lucía


NEW YORK - Jan. 17, 2019 - EntSun -- The Satanic Temple (TST) of New York City presents NON SERVIUM: An evening of Satanic Theater as a fundraiser for reproductive rights. The show starts at 6pm on Sunday, January 20, at Lucky 13 Saloon, 644 Sackett Street, Brooklyn, NY 11217. 90% of all proceeds will go towards TST's national campaign to protect reproductive rights. $22 Tickets are available at Eventbrite and can also be purchased at the door for $25.
The evening will feature original theatrical performances from The Wulfstan Group, as well as burlesque from Star, Zoe Diamond, Melissa Saurus Wrecks, and Chartruice. DJ PKA MATTE BLACK will be on hand, providing the soundtrack to the performances and playing a set live until the event closes at 10pm.
Proceeds from this event will be donated to the legal fund for TST's religious reproductive rights campaign. TST has filed both state and federal lawsuits against the state of Missouri on behalf of Mary Doe, a pregnant woman seeking an abortion.
"The legal cases assert that state interference with the lawful behavior of a TST member to terminate her pregnancy violates her rights under Missouri's Religious Freedom Restoration Act," according to the TST. "Consistent with our tenets that call for bodily autonomy and acting in accordance with the best scientific evidence available, TST religiously objects to many of the restrictions that states have enacted that interfere with abortion access."


Where can I pay my rent?
You can pay your rent online via the Allpay website or visit our My Rent section to find out alternative ways to pay.
To pay your rent online via the Allpay site, you will need your 19 digit rent card number and a debit/credit card to pay.
I would like to make some improvements to my home – am I allowed to do this?
You will need to contact Rosebery and state what improvements you are proposing to make to your home. If any of the changes make your home unsafe, reduce the standard or value of your home or affect your neighbours or community, your request will be denied. You can fill out the following form below or email neighbourhood@rosebery.org.uk with the full details of the proposed changes.
I have a disability/medical condition – can I adapt my home?
Rosebery can offer assistance in helping make your home more suitable for your needs. This can range from minor adaptations such as handrails to major works to the property (i.e. wet-room installaion, ramps).
For more minor adaptations (i.e. installing hand-rails in your home), we can arrange for a trusted assessor to visit your home and discuss if a minor adapatation can be agreed for your property.
For major adaptations, you will need to visit your GP to get a occupational therapist referral. They will make an initial assessments and any recommendations will be referred to Rosebery.
Yes, we recommend that residents take out contents insurance in order to protect your belongings from theft, fire, flood or damage. Please note that Rosebery do not offer compensation for items in your home that have been damaged which should have been covered by contents insurance.
To contact Crystal Insurance about a new contents insurance quote, please email crystal@thistleinsurance.co.uk, visit their website or call 0345 450 7286.
I would like to put up a TV aerial or Sky dish – can I do this?
Most of our flats have a shared digital TV aerial and some of the newer ones also have a Sky TV connection. You won't be allowed to put up any additional aerials or satellite dishes if you live in a flat or maisonette.
If you live in a house, it's important that you get our written permission first before putting up any TV aerials. Some of our properties are listed buildings and may need planning permission first. You'll be responsible for looking after any aerials that you choose to put up. Please email the Neighbourhood Team for more information.
I would like to keep a pet – can I do this?
You will need to write to us if you wish to keep a pet in your property. If you have your own garden and private entrance we'll usually let you keep a pet but you'll need to ask us first. We'll only let you keep smaller pets like fish or birds if you live in a flat. You must make sure your pets don't cause a nuisance or disturb your neighbours. Please contact neighbourhood@rosebery.org.uk or talk to us via live chat.
I would like to work from home – can I do this?
If you decide to work from home, you'll need to get in touch with us first. We'll need to check that the job you want to do doesn't break any conditions of your tenancy or cause problems with your neighbours. Depending on the type of job you want to do, you may need permission from the local authority or similar organisations. Please contact neighbourhood@rosebery.org.uk or talk to us via live chat.
I have a problem with pests – can Rosebery help?
If there are pests inside your property, then it is a resident's responsibility. If you have a pest problem, you can contact your local councils Environment Health Officer for advice and they may be able to assist households on low incomes with treatment options.
I would like to report anti-social behaviour (ASB) - how do I do this?
Please visit our Anti-Social Behaviour page in My Neighbourhood to read our advice on ASB and report ASB incidents to our Neighbourhood Team.
I would like to move home – what are my options?
If you are a general needs resident, you can move house via mutual exchange or internal transfer.
The quickest way to move is through mutual exchange. We work with two mutual exchange sites including Homeswapper and Movemaker. You can sign up for FREE on both sites, add your property requirements and swap homes with someone else.
For an internal transfer, you will be assessed by Rosebery if you wish to be placed on our transfer list and will be assigned on a points-based system.
You can read more about mutual exchange and internal transfers on our Moving Home factsheet.
I would like to move into a Housing for Older people scheme – how do I do this?
If you are already in a Rosebery property and would like to move to one of our Housing for Older people schemes, you will need to speak to your Neighbourhood Officer who can talk through your options. If you are not living in a Rosebery property, you will need to apply directly through Epsom and Ewell Borough council.
Rosebery have three Housing for Older people schemes situated in Epsom and Ewell – John Gale Court, Norman Colyer Court and Tomlin Court.
Please visit our Housing for Older people FAQs page for more details.
I would like to end my tenancy – how do I do this?
You must give us 28 days notice in writing if you wish to end your tenancy. Rosebery will arrange for a new resident to move into the property and may wish to arrange a viewing.
Your Neighbourhood Officer will inspect your property to make sure it is in a good condition. All of your furniture, carpets and belongings must be removed unless we've agreed otherwise and the property must be left clean and tidy once you leave the property.
If you are in rent arrears and cannot clear your rent account, you must speak to your Neighbourhood Officer.
A resident has passed away – what happens next?
If one of our residents passes away, we'll offer as much advice as we can to their next of kin. Please let us know straight away if someone close to you has died. We understand that this is a difficult time, and we're here to help. We'll be able to deal with any questions you might have about their tenancy and home.
If you are a spouse, partner or close family member, you may be able to take over the tenancy if you have been living with them for 12 months or longer. If there is no next of kin, we will contact the public trustee.
Can I have a lodger?
You are allowed to have a lodger in your home as long as your home does not become overcrowded. You must let us know in writing the name of your lodger, age, gender and how much you are charging to rent a room as the amount cannot be more than the rent we charge you.
You can only sub-let your home if you are a shared owner or a leaseholder.
I would like to add a partner to my tenancy – how do I do this?
If you would like to add a partner to your tenancy, please contact the Customer Experience Team.
I would like to remove a person from a joint tenancy - how do I do this?
The person leaving their home tells us in writing that they are giving up the tenancy. They'll need to get legal advice to help them with this and send a formal 'notice to quit'.
The type of tenancy you have can affect how you how you change from a joint to sole tenancy. If you would like to remove a person from a joint tenancy, please contact the Customer Experience Team.
Do I have the Right to Buy or Right to Acquire?
Please visit our Owning Your Own Home page for further details on Right to Buy or Right to Acquire.
I would like to rent a garage – can I do this?
Which are would you like to rent a garage e.g. Ewell?
I will be leaving my home for a short period - what do I need to do?
If you are going away for more than 28 days, you must inform Rosebery to let us know where you are going, how long you expect to be away and if someone will be in your property whilst you are away.
Please note you must continue to pay your rent whilst you are away.
Who is my Neighbourhood Officer?
If you became a resident of Epsom and Ewell Borough Council before their housing was transferred to us in 1994, you may have the right to buy your home. To find out whether you qualify for this right, please get in touch with us and we will let you know.
If you're a housing association resident currently not eligible for Right to Buy, you can get updates on changes that might affect you by signing up here to the official Right to Buy Housing Association Register.
There is strict criteria about who is eligible for this. We can tell you if your home meets this criteria, so if you would like to request further information, please get in touch with our Neighbourhood Team via email at neighbourhood@rosebery.org.uk or talk to us via live chat.


text:
Home > School, College, or Department > CUPA > IS > IS_FAC > 1
International & Global Studies Faculty Publications and Presentations
Biopiracy and Vaccines: Indonesia and the World Health Organization's New Pandemic Influenza Plan
Shawn Smallman, Portland State UniversityFollow
Journal of International & Global Studies
Avian influenza -- Indonesia -- Prevention, Public health -- Indonesia, Health planning -- Indonesia, World Health Organization, Avian influenza -- Vaccines
Viral samples of avian influenza are essential to preparing pre-pandemic vaccines. In 2007, the conflicting interests of the developed and developing nations led Indonesia to briefly stop sharing viral samples. The result was a struggle in which the two blocs argued for different paradigms for viral sample sharing. The first paradigm, articulated by the developed world, depicted the issue as one of health security, in which international law mandated the sharing of viral samples. The second paradigm, advanced by the developing world, depicted viral sample sharing as a form of biopiracy, which violated countries' sovereign control of their biological resources. Ultimately, the second paradigm proved more politically effective, enabling developing nations to achieve many of their goals through the WHO's 2011 pandemic influenza plan. This paper examines how this plan was shaped by Indonesia's argument that the global public good required a new approach to global health governance, in order to eliminate neocolonial power relationships.
This is the publisher's final PDF. Reproduced with permission
Smallman, S. (2013). Biopiracy and vaccines: Indonesia and the World Health Organization's new Pandemic Influenza Plan. Journal Of International & Global Studies, 4(2), 20-36.
International and Area Studies Commons, Public Health Commons

redpajama_set_name: RedPajamaCommonCrawl


text:
Printed from https://accessinfo.hk/en/request/torture_claims_appeal_board_medi on January 30, 2023 12:34
Torture Claims Appeal Board (Medical Issues)
Isaac Shaffer made this Freedom of Information request to Security Bureau
Isaac Shaffer
The request was partially successful.
Isaac Shaffer September 26, 2019
Dear Security Bureau,
I write to request data regarding the operation of the Torture Claims Appeal Board/Non-refoulement Claims Petition Office ('TCAB'), for the period from 2014 to September 2019 (the 'relevant period'); regarding the following:
1. The No. of Oral Hearing held;
2. The No. of Appeals determined without an oral hearing (i.e. "on the papers");
3. The No. of requests to adjourn made on the basis of ill-health; and of those sought:
(a) The number that were granted;
(b) The number that were refused,
3. The number of instances in which a party failed to attend their oral hearing;
4. Of those at 3, the number of Appellants who:
(a) Did not provide an explanation for non-attendance; or
(b) Did provide an explanation but it was refused/deemed not to amount to a "reasonable cause" (as per 11.14-11.16 of THE PRACTICE AND PROCEDURAL GUIDE OF THE ADMINISTRATIVE NON-REFOULEMENT CLAIMS PETITION SCHEME ("Petition Guide"));
(c) Did provide an explanation, and it was accepted as amounting to a 'reasonable cause'; (as per 11.14-11.16 of the Petition Guide).
Thanks very much in advance,
Security Bureau October 03, 2019
Dear Mr Shaffer,
Our Bureau has received your application for access to information on
26.9.2019. Your application is now under processing. According to
paragraph 1.16 of the Code on Access to Information, our Bureau will
inform you of the latest progress of the case separately on or before 16
October 2019. In the meantime, please contact me at 3106 2284 if you have
any questions. Thank you.
Connie Wong
From: Isaac Shaffer <[FOI #416 email]>
To: FOI requests at Security Bureau <[Security Bureau request email]>,
Date: 26/09/2019 11:08
Subject: Freedom of Information request - Torture Claims Appeal
Board (Medical Issues)
I write to request data regarding the operation of the Torture Claims
Appeal Board/Non-refoulement Claims Petition Office ('TCAB'), for the
period from 2014 to September 2019 (the 'relevant period'); regarding the
2. The No. of Appeals determined without an oral hearing (i.e. "on the
papers");
3. The No. of requests to adjourn made on the basis of ill-health; and of
those sought:
3. The number of instances in which a party failed to attend their oral
hearing;
(b) Did provide an explanation but it was refused/deemed not to amount
to a "reasonable cause" (as per 11.14-11.16 of THE PRACTICE AND PROCEDURAL
GUIDE OF THE ADMINISTRATIVE NON-REFOULEMENT CLAIMS PETITION SCHEME
("Petition Guide"));
(c) Did provide an explanation, and it was accepted as amounting to a
'reasonable cause'; (as per 11.14-11.16 of the Petition Guide).
This is a request under the Code of Access to Information facilitated via
the accessinfo.hk website.
Please use this email address for all replies to this request:
[FOI #416 email]
Is [Security Bureau request email] the wrong address for Freedom of Information requests
to Security Bureau? If so, please contact us using this form:
[1]https://accessinfo.hk/en/change_request/...
Disclaimer: This message and any reply that you make will be published on
the internet. Our privacy and copyright policies:
[2]https://accessinfo.hk/en/help/officers
If you find this service useful as an FOI officer, please ask your web
manager to link to us from your organisation's FOI page.
1. https://accessinfo.hk/en/change_request/...
2. https://accessinfo.hk/en/help/officers
I refer to your email of 26 September 2019 requesting for information
regarding the operation of the Torture Claims Appeal Board for the period
from 1 January 2014 to 30 September 2019. Our reply is given below -
(1) Number of oral hearing held: 10 951
(2) Number of appeals determined without an oral hearing (i.e. 'on
the papers'): 1 244
We do not maintain statistics regarding the number of requests to adjourn
the hearing made on the basis of ill-health and the number of instances in
which a party failed to attend their oral hearings and hence, are unable
to provide such information as requested.
From: SB-AIOREQ/SB/HKSARG
To: Isaac Shaffer <[FOI #416 email]>,
Subject: Re: Freedom of Information request - Torture Claims Appeal
Isaac Shaffer October 16, 2019
I am writing to request an internal review of the Security Bureau's handling of my FOI request 'Torture Claims Appeal Board (Medical Issues)'.
Given the importance of these matters, and particularly given the express criticism by the Courts as within the judgments of both Villarico Loutherliz Talag v. Torture Claims Appeal Board [2018] HKCFI 468; HCAL 179/2017, and M v Torture Claims Appeal Board [2018] HKCFI 24, there is evidently a compelling public interest in obtaining, maintaining and sharing this data. Given these repeated expressions of concern by the Judiciary it would be highly regrettable if the SB were to indicate that in effect it had no procedural or operational oversight of these matters, such that it could not even provide the most basic data/information.
Many thanks in advance for your continued assistance.
A full history of my FOI request and all correspondence is available on the Internet at this address: https://accessinfo.hk/en/request/torture...
We received your request for internal review on 16.10.2019.
Your request is now under processing. According to paragraph 1.25 and
1.16 of the Code on Access to Information, we will inform you of the
latest progress of the case separately on or before 5 November 2019.
In the meantime, please contact me at 3106 2284 if you have any enquiry.
Subject: Internal review of Freedom of Information request -
Please pass this on to the person who conducts Freedom of Information
I am writing to request an internal review of the Security Bureau's
handling of my FOI request 'Torture Claims Appeal Board (Medical Issues)'.
Given the importance of these matters, and particularly given the express
criticism by the Courts as within the judgments of both Villarico
Loutherliz Talag v. Torture Claims Appeal Board [2018] HKCFI 468; HCAL
179/2017, and M v Torture Claims Appeal Board [2018] HKCFI 24, there is
evidently a compelling public interest in obtaining, maintaining and
sharing this data. Given these repeated expressions of concern by the
Judiciary it would be highly regrettable if the SB were to indicate that
in effect it had no procedural or operational oversight of these matters,
such that it could not even provide the most basic data/information.
A full history of my FOI request and all correspondence is available on
the Internet at this address:
[1]https://accessinfo.hk/en/request/torture...
1. https://accessinfo.hk/en/request/torture...
Security Bureau November 05, 2019
I refer to your preceding email of 16 October 2019 requesting the Security
Bureau to conduct an internal review of our earlier decision pursuant to
the Code on Access to Information (the "Code") in respect of your request
made on 26 September 2019 for the following information for the period
from 1 January 2014 to 30 September 2019 –
(a) the number of oral hearing held;
(b) the number of appeals determined without an oral hearing (i.e.
"on the papers");
(c) the number of requests to adjourn made on the basis of
ill-health; and of those sought –
(i) the number that were granted;
(ii) the number that were refused;
(d) the number of instances in which a party failed to attend their
oral hearing;
(e) of those at (d), the number of appellants who –
(i) did not provide an explanation for non-attendance; or
(ii) did provide an explanation but it was refused/deemed not to
amount to a "reasonable cause"; and
(iii) did provide an explanation, and it was accepted as amounting
to a "reasonable cause".
In our reply of 16 October 2019, we provided information for items (a) and
(b) above, and informed you that we were unable to provide the other
information as requested as we do not maintain statistics regarding the
number of requests to adjourn the hearing made on the basis of ill-health
and the number of instances in which a party failed to attend their oral
hearings.
Upon receipt of your request of 16 October 2019, we have, in accordance
with the established procedures and guidelines, conducted an internal
review and critically examined and considered your request under the Code.
After review, we conclude that our decision is in compliance with the
Code and should be upheld for the following reasons –
(a) The Torture Claims Appeal Board ("the Board") is an independent
statutory body established under section 37ZQ of the Immigration Ordinance
(Cap. 115). When carrying out its duty, it functions as an independent
tribunal. In accordance with [1]paragraphs 1.2 and 1.3 of the Code, the
Code does not apply to information held by courts, tribunals or inquiries,
but apply to non-judicial and other information of an administrative
nature which is held by, among others, secretariats and similar offices of
other tribunals and inquiries. The existing legal rules governing
disclosure of information in the context of proceedings before courts,
tribunals and inquiries are not affected by the Code. According to the
[2]Guidelines on Interpretation and Application of the Code, the said
paragraphs 1.2 and 1.3 apply to proceedings of any statutory body
(including the Board) with judicial or quasi-judicial functions or with a
power to determine the admissibility of evidence to be called before it or
the determination of a petition by the Chief Executive pursuant to section
20 of the Public Service (Administration) Order 1997 or Article 48(13) of
the Basic Law.
(b) Currently, an appellant/a petitioner may, at any time during
the appeal/petition proceedings, make an application to adjourn a hearing
for various reasons, including but not limited to his/her ill-health.
Each individual application will be considered by the Board on its merit.
The applications may not be made in writing and routed through the
Secretariat, and may be made at the oral hearing. Since the Secretariat
does not hold the requested information, we are unable to provide it to
(c) According to [3]paragraph 1.14 of the Code, departments are not
obliged to create a record which does not exist.
The case has been reviewed by a senior officer not previously involved in
handling your request. As laid down in [4]paragraph 1.26 of the Code, in
case you are not satisfied with our reply, you may lodge a complaint to
The Ombudsman.
(Connie Wong)
for Secretary for Security
Subject: Re: Internal review of Freedom of Information request -
1. https://www.access.gov.hk/en/codeonaccto...
2. https://www.access.gov.hk/filemanager/co...
Torture Claims Appeal Board/Non-refoulement Claims Petition Office: Re-hearings
Adjournments in the Torture Claims Appeal Board
No. of Outstanding USM Claims
USM: Recognition/Substantiation of Claimants
Torture Claims Appeal Board - Q4 2019
Financial Services and the Treasury Bureau Treasury Branch
Immigration Department USM Staffing
Notice given upon detention of migrant
Procedural fairness considerations for child claimants before TCAB/NRCPO