text:
/**
 */
package rgse.ttc17.emoflon.tgg.task2.Rules.impl;

import gluemodel.CIM.IEC61968.Metering.MeterAsset;

import gluemodel.MeterAssetMMXUPair;

import java.lang.Iterable;

import java.lang.reflect.InvocationTargetException;

import java.util.LinkedList;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EOperation;

import org.moflon.tgg.language.csp.CSP;

import org.moflon.tgg.runtime.AttributeConstraintsRuleResult;
import org.moflon.tgg.runtime.EMoflonEdge;
import org.moflon.tgg.runtime.EObjectContainer;
import org.moflon.tgg.runtime.IsApplicableMatch;
import org.moflon.tgg.runtime.IsApplicableRuleResult;
import org.moflon.tgg.runtime.Match;
import org.moflon.tgg.runtime.PerformRuleResult;
import org.moflon.tgg.runtime.RuntimeFactory;
import org.moflon.tgg.runtime.TripleMatch;

import org.moflon.tgg.runtime.impl.AbstractRuleImpl;

import outagePreventionJointarget.OutagePreventionJointargetFactory;
import outagePreventionJointarget.PMUVoltageMeter;

import rgse.ttc17.emoflon.tgg.task2.LocationToLocation;
import rgse.ttc17.emoflon.tgg.task2.MeterAssetToPMUVoltageMeter;

import rgse.ttc17.emoflon.tgg.task2.Rules.Location;
import rgse.ttc17.emoflon.tgg.task2.Rules.RulesPackage;

import rgse.ttc17.emoflon.tgg.task2.Task2Factory;
// <-- [user defined imports]
import org.moflon.tgg.csp.*;
import rgse.ttc17.emoflon.tgg.task2.csp.constraints.*;
import org.moflon.tgg.csp.constraints.*;
import org.moflon.tgg.language.csp.*;
import org.moflon.tgg.runtime.TripleMatchNodeMapping;
import java.util.Optional;
import org.moflon.tgg.algorithm.delta.attribute.CheckAttributeHelper;
import SDMLanguage.expressions.ComparingOperator;
// [user defined imports] -->

/**
 *
 * An implementation of the model object 'Location'.
 *
 *

 *

 *
 * @generated
 */
public class LocationImpl extends AbstractRuleImpl implements Location {
	/**
	 *
	 *
	 * @generated
	 */
	protected LocationImpl() {
		super();
	}

	/**
	 *
	 *
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return RulesPackage.eINSTANCE.getLocation();
	}

	/**
	 *
	 *
	 * @generated
	 */
	public boolean isAppropriate_FWD(Match match, gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset,
			MeterAssetMMXUPair pair) {
		// initial bindings
		Object[] result1_black = LocationImpl.pattern_Location_0_1_initialbindings_blackBBBBB(this, match, srcLocation,
				asset, pair);
		if (result1_black == null) {
			throw new RuntimeException("Pattern matching in node [initial bindings] failed." + " Variables: "
					+ "[this] = " + this + ", " + "[match] = " + match + ", " + "[srcLocation] = " + srcLocation + ", "
					+ "[asset] = " + asset + ", " + "[pair] = " + pair + ".");
		}

		// Solve CSP
		Object[] result2_bindingAndBlack = LocationImpl.pattern_Location_0_2_SolveCSP_bindingAndBlackFBBBBB(this, match,
				srcLocation, asset, pair);
		if (result2_bindingAndBlack == null) {
			throw new RuntimeException("Pattern matching in node [Solve CSP] failed." + " Variables: " + "[this] = "
					+ this + ", " + "[match] = " + match + ", " + "[srcLocation] = " + srcLocation + ", " + "[asset] = "
					+ asset + ", " + "[pair] = " + pair + ".");
		}
		CSP csp = (CSP) result2_bindingAndBlack[0];
		// Check CSP
		if (LocationImpl.pattern_Location_0_3_CheckCSP_expressionFBB(this, csp)) {

			// collect elements to be translated
			Object[] result4_black = LocationImpl.pattern_Location_0_4_collectelementstobetranslated_blackBBBB(match,
					srcLocation, asset, pair);
			if (result4_black == null) {
				throw new RuntimeException("Pattern matching in node [collect elements to be translated] failed."
						+ " Variables: " + "[match] = " + match + ", " + "[srcLocation] = " + srcLocation + ", "
						+ "[asset] = " + asset + ", " + "[pair] = " + pair + ".");
			}
			LocationImpl.pattern_Location_0_4_collectelementstobetranslated_greenBBBFF(match, srcLocation, asset);
			// EMoflonEdge asset__srcLocation____Location = (EMoflonEdge) result4_green[3];
			// EMoflonEdge srcLocation__asset____Assets = (EMoflonEdge) result4_green[4];

			// collect context elements
			Object[] result5_black = LocationImpl.pattern_Location_0_5_collectcontextelements_blackBBBB(match,
					srcLocation, asset, pair);
			if (result5_black == null) {
				throw new RuntimeException("Pattern matching in node [collect context elements] failed."
						+ " Variables: " + "[match] = " + match + ", " + "[srcLocation] = " + srcLocation + ", "
						+ "[asset] = " + asset + ", " + "[pair] = " + pair + ".");
			}
			LocationImpl.pattern_Location_0_5_collectcontextelements_greenBBBF(match, asset, pair);
			// EMoflonEdge pair__asset____a = (EMoflonEdge) result5_green[3];

			// register objects to match
			LocationImpl.pattern_Location_0_6_registerobjectstomatch_expressionBBBBB(this, match, srcLocation, asset,
					pair);
			return LocationImpl.pattern_Location_0_7_expressionF();
		} else {
			return LocationImpl.pattern_Location_0_8_expressionF();
		}

	}

	/**
	 *
	 *
	 * @generated
	 */
	public PerformRuleResult perform_FWD(IsApplicableMatch isApplicableMatch) {
		// perform transformation
		Object[] result1_bindingAndBlack = LocationImpl
				.pattern_Location_1_1_performtransformation_bindingAndBlackFFFFFFBB(this, isApplicableMatch);
		if (result1_bindingAndBlack == null) {
			throw new RuntimeException("Pattern matching in node [perform transformation] failed." + " Variables: "
					+ "[this] = " + this + ", " + "[isApplicableMatch] = " + isApplicableMatch + ".");
		}
		gluemodel.CIM.IEC61968.Common.Location srcLocation = (gluemodel.CIM.IEC61968.Common.Location) result1_bindingAndBlack[0];
		PMUVoltageMeter consumer = (PMUVoltageMeter) result1_bindingAndBlack[1];
		MeterAssetToPMUVoltageMeter assetToPMU = (MeterAssetToPMUVoltageMeter) result1_bindingAndBlack[2];
		MeterAsset asset = (MeterAsset) result1_bindingAndBlack[3];
		MeterAssetMMXUPair pair = (MeterAssetMMXUPair) result1_bindingAndBlack[4];
		// CSP csp = (CSP) result1_bindingAndBlack[5];
		Object[] result1_green = LocationImpl.pattern_Location_1_1_performtransformation_greenFBBF(srcLocation,
				consumer);
		LocationToLocation locationCorr = (LocationToLocation) result1_green[0];
		outagePreventionJointarget.Location trgLocation = (outagePreventionJointarget.Location) result1_green[3];

		// collect translated elements
		Object[] result2_black = LocationImpl.pattern_Location_1_2_collecttranslatedelements_blackBBB(locationCorr,
				srcLocation, trgLocation);
		if (result2_black == null) {
			throw new RuntimeException("Pattern matching in node [collect translated elements] failed." + " Variables: "
					+ "[locationCorr] = " + locationCorr + ", " + "[srcLocation] = " + srcLocation + ", "
					+ "[trgLocation] = " + trgLocation + ".");
		}
		Object[] result2_green = LocationImpl.pattern_Location_1_2_collecttranslatedelements_greenFBBB(locationCorr,
				srcLocation, trgLocation);
		PerformRuleResult ruleresult = (PerformRuleResult) result2_green[0];

		// bookkeeping for edges
		Object[] result3_black = LocationImpl.pattern_Location_1_3_bookkeepingforedges_blackBBBBBBBB(ruleresult,
				locationCorr, srcLocation, consumer, assetToPMU, trgLocation, asset, pair);
		if (result3_black == null) {
			throw new RuntimeException("Pattern matching in node [bookkeeping for edges] failed." + " Variables: "
					+ "[ruleresult] = " + ruleresult + ", " + "[locationCorr] = " + locationCorr + ", "
					+ "[srcLocation] = " + srcLocation + ", " + "[consumer] = " + consumer + ", " + "[assetToPMU] = "
					+ assetToPMU + ", " + "[trgLocation] = " + trgLocation + ", " + "[asset] = " + asset + ", "
					+ "[pair] = " + pair + ".");
		}
		LocationImpl.pattern_Location_1_3_bookkeepingforedges_greenBBBBBBFFFFF(ruleresult, locationCorr, srcLocation,
				consumer, trgLocation, asset);
		// EMoflonEdge locationCorr__srcLocation____source = (EMoflonEdge) result3_green[6];
		// EMoflonEdge locationCorr__trgLocation____target = (EMoflonEdge) result3_green[7];
		// EMoflonEdge asset__srcLocation____Location = (EMoflonEdge) result3_green[8];
		// EMoflonEdge srcLocation__asset____Assets = (EMoflonEdge) result3_green[9];
		// EMoflonEdge consumer__trgLocation____Location = (EMoflonEdge) result3_green[10];

		// perform postprocessing story node is empty
		// register objects
		LocationImpl.pattern_Location_1_5_registerobjects_expressionBBBBBBBBB(this, ruleresult, locationCorr,
				srcLocation, consumer, assetToPMU, trgLocation, asset, pair);
		return LocationImpl.pattern_Location_1_6_expressionFB(ruleresult);
	}

	/**
	 *
	 *
	 * @generated
	 */
	public IsApplicableRuleResult isApplicable_FWD(Match match) {
		// prepare return value
		Object[] result1_bindingAndBlack = LocationImpl
				.pattern_Location_2_1_preparereturnvalue_bindingAndBlackFFB(this);
		if (result1_bindingAndBlack == null) {
			throw new RuntimeException("Pattern matching in node [prepare return value] failed." + " Variables: "
					+ "[this] = " + this + ".");
		}
		EOperation performOperation = (EOperation) result1_bindingAndBlack[0];
		// EClass eClass = (EClass) result1_bindingAndBlack[1];
		Object[] result1_green = LocationImpl.pattern_Location_2_1_preparereturnvalue_greenBF(performOperation);
		IsApplicableRuleResult ruleresult = (IsApplicableRuleResult) result1_green[1];

		// ForEach core match
		Object[] result2_binding = LocationImpl.pattern_Location_2_2_corematch_bindingFFFB(match);
		if (result2_binding == null) {
			throw new RuntimeException(
					"Binding in node core match failed." + " Variables: " + "[match] = " + match + ".");
		}
		gluemodel.CIM.IEC61968.Common.Location srcLocation = (gluemodel.CIM.IEC61968.Common.Location) result2_binding[0];
		MeterAsset asset = (MeterAsset) result2_binding[1];
		MeterAssetMMXUPair pair = (MeterAssetMMXUPair) result2_binding[2];
		for (Object[] result2_black : LocationImpl.pattern_Location_2_2_corematch_blackBFFBBB(srcLocation, asset, pair,
				match)) {
			PMUVoltageMeter consumer = (PMUVoltageMeter) result2_black[1];
			MeterAssetToPMUVoltageMeter assetToPMU = (MeterAssetToPMUVoltageMeter) result2_black[2];
			// ForEach find context
			for (Object[] result3_black : LocationImpl.pattern_Location_2_3_findcontext_blackBBBBB(srcLocation,
					consumer, assetToPMU, asset, pair)) {
				Object[] result3_green = LocationImpl.pattern_Location_2_3_findcontext_greenBBBBBFFFFFF(srcLocation,
						consumer, assetToPMU, asset, pair);
				IsApplicableMatch isApplicableMatch = (IsApplicableMatch) result3_green[5];
				// EMoflonEdge asset__srcLocation____Location = (EMoflonEdge) result3_green[6];
				// EMoflonEdge srcLocation__asset____Assets = (EMoflonEdge) result3_green[7];
				// EMoflonEdge assetToPMU__consumer____target = (EMoflonEdge) result3_green[8];
				// EMoflonEdge pair__asset____a = (EMoflonEdge) result3_green[9];
				// EMoflonEdge assetToPMU__asset____source = (EMoflonEdge) result3_green[10];

				// solve CSP
				Object[] result4_bindingAndBlack = LocationImpl.pattern_Location_2_4_solveCSP_bindingAndBlackFBBBBBBB(
						this, isApplicableMatch, srcLocation, consumer, assetToPMU, asset, pair);
				if (result4_bindingAndBlack == null) {
					throw new RuntimeException(
							"Pattern matching in node [solve CSP] failed." + " Variables: " + "[this] = " + this + ", "
									+ "[isApplicableMatch] = " + isApplicableMatch + ", " + "[srcLocation] = "
									+ srcLocation + ", " + "[consumer] = " + consumer + ", " + "[assetToPMU] = "
									+ assetToPMU + ", " + "[asset] = " + asset + ", " + "[pair] = " + pair + ".");
				}
				CSP csp = (CSP) result4_bindingAndBlack[0];
				// check CSP
				if (LocationImpl.pattern_Location_2_5_checkCSP_expressionFBB(this, csp)) {

					// add match to rule result
					Object[] result6_black = LocationImpl.pattern_Location_2_6_addmatchtoruleresult_blackBB(ruleresult,
							isApplicableMatch);
					if (result6_black == null) {
						throw new RuntimeException("Pattern matching in node [add match to rule result] failed."
								+ " Variables: " + "[ruleresult] = " + ruleresult + ", " + "[isApplicableMatch] = "
								+ isApplicableMatch + ".");
					}
					LocationImpl.pattern_Location_2_6_addmatchtoruleresult_greenBB(ruleresult, isApplicableMatch);

				} else {
				}

			}

		}
		return LocationImpl.pattern_Location_2_7_expressionFB(ruleresult);
	}

	/**
	 *
	 *
	 * @generated
	 */
	public void registerObjectsToMatch_FWD(Match match, gluemodel.CIM.IEC61968.Common.Location srcLocation,
			MeterAsset asset, MeterAssetMMXUPair pair) {
		match.registerObject("srcLocation", srcLocation);
		match.registerObject("asset", asset);
		match.registerObject("pair", pair);

	}

	/**
	 *
	 *
	 * @generated
	 */
	public CSP isAppropriate_solveCsp_FWD(Match match, gluemodel.CIM.IEC61968.Common.Location srcLocation,
			MeterAsset asset, MeterAssetMMXUPair pair) {// Create CSP
		CSP csp = CspFactory.eINSTANCE.createCSP();

		// Create literals

		// Create attribute variables

		// Create unbound variables

		// Create constraints

		// Solve CSP
		return csp;
	}

	/**
	 *
	 *
	 * @generated
	 */
	public boolean isAppropriate_checkCsp_FWD(CSP csp) {
		return csp.check();
	}

	/**
	 *
	 *
	 * @generated
	 */
	public CSP isApplicable_solveCsp_FWD(IsApplicableMatch isApplicableMatch,
			gluemodel.CIM.IEC61968.Common.Location srcLocation, PMUVoltageMeter consumer,
			MeterAssetToPMUVoltageMeter assetToPMU, MeterAsset asset, MeterAssetMMXUPair pair) {// Create CSP
		CSP csp = CspFactory.eINSTANCE.createCSP();
		isApplicableMatch.getAttributeInfo().add(csp);

		// Create literals

		// Create attribute variables

		// Create unbound variables

		// Create constraints

		// Solve CSP

		// Snapshot pattern match on which CSP is solved
		isApplicableMatch.registerObject("srcLocation", srcLocation);
		isApplicableMatch.registerObject("consumer", consumer);
		isApplicableMatch.registerObject("assetToPMU", assetToPMU);
		isApplicableMatch.registerObject("asset", asset);
		isApplicableMatch.registerObject("pair", pair);
		return csp;
	}

	/**
	 *
	 *
	 * @generated
	 */
	public boolean isApplicable_checkCsp_FWD(CSP csp) {
		return csp.check();
	}

	/**
	 *
	 *
	 * @generated
	 */
	public void registerObjects_FWD(PerformRuleResult ruleresult, EObject locationCorr, EObject srcLocation,
			EObject consumer, EObject assetToPMU, EObject trgLocation, EObject asset, EObject pair) {
		ruleresult.registerObject("locationCorr", locationCorr);
		ruleresult.registerObject("srcLocation", srcLocation);
		ruleresult.registerObject("consumer", consumer);
		ruleresult.registerObject("assetToPMU", assetToPMU);
		ruleresult.registerObject("trgLocation", trgLocation);
		ruleresult.registerObject("asset", asset);
		ruleresult.registerObject("pair", pair);

	}

	/**
	 *
	 *
	 * @generated
	 */
	public boolean checkTypes_FWD(Match match) {
		return true && org.moflon.util.eMoflonSDMUtil.getFQN(match.getObject("srcLocation").eClass())
				.equals("gluemodel.CIM.IEC61968.Common.Location.");
	}

	/**
	 *
	 *
	 * @generated
	 */
	public EObjectContainer isAppropriate_FWD_EMoflonEdge_20(EMoflonEdge _edge_Location) {
		// prepare return value
		Object[] result1_bindingAndBlack = LocationImpl
				.pattern_Location_10_1_preparereturnvalue_bindingAndBlackFFBF(this);
		if (result1_bindingAndBlack == null) {
			throw new RuntimeException("Pattern matching in node [prepare return value] failed." + " Variables: "
					+ "[this] = " + this + ".");
		}
		EOperation __performOperation = (EOperation) result1_bindingAndBlack[0];
		EClass __eClass = (EClass) result1_bindingAndBlack[1];
		EOperation isApplicableCC = (EOperation) result1_bindingAndBlack[3];
		Object[] result1_green = LocationImpl.pattern_Location_10_1_preparereturnvalue_greenF();
		EObjectContainer __result = (EObjectContainer) result1_green[0];

		// ForEach test core match and DECs
		for (Object[] result2_black : LocationImpl
				.pattern_Location_10_2_testcorematchandDECs_blackFFFB(_edge_Location)) {
			gluemodel.CIM.IEC61968.Common.Location srcLocation = (gluemodel.CIM.IEC61968.Common.Location) result2_black[0];
			MeterAsset asset = (MeterAsset) result2_black[1];
			MeterAssetMMXUPair pair = (MeterAssetMMXUPair) result2_black[2];
			Object[] result2_green = LocationImpl.pattern_Location_10_2_testcorematchandDECs_greenFB(__eClass);
			Match match = (Match) result2_green[0];

			// bookkeeping with generic isAppropriate method
			if (LocationImpl.pattern_Location_10_3_bookkeepingwithgenericisAppropriatemethod_expressionFBBBBB(this,
					match, srcLocation, asset, pair)) {
				// Ensure that the correct types of elements are matched
				if (LocationImpl.pattern_Location_10_4_Ensurethatthecorrecttypesofelementsarematched_expressionFBB(this,
						match)) {

					// Add match to rule result
					Object[] result5_black = LocationImpl.pattern_Location_10_5_Addmatchtoruleresult_blackBBBB(match,
							__performOperation, __result, isApplicableCC);
					if (result5_black == null) {
						throw new RuntimeException("Pattern matching in node [Add match to rule result] failed."
								+ " Variables: " + "[match] = " + match + ", " + "[__performOperation] = "
								+ __performOperation + ", " + "[__result] = " + __result + ", " + "[isApplicableCC] = "
								+ isApplicableCC + ".");
					}
					LocationImpl.pattern_Location_10_5_Addmatchtoruleresult_greenBBBB(match, __performOperation,
							__result, isApplicableCC);

				} else {
				}

			} else {
			}

		}
		return LocationImpl.pattern_Location_10_6_expressionFB(__result);
	}

	/**
	 *
	 *
	 * @generated
	 */
	public AttributeConstraintsRuleResult checkAttributes_FWD(TripleMatch __tripleMatch) {
		AttributeConstraintsRuleResult ruleResult = org.moflon.tgg.runtime.RuntimeFactory.eINSTANCE
				.createAttributeConstraintsRuleResult();
		ruleResult.setRule("Location");
		ruleResult.setSuccess(true);

		CSP csp = CspFactory.eINSTANCE.createCSP();

		CheckAttributeHelper __helper = new CheckAttributeHelper(__tripleMatch);

		if (csp.check()) {
			ruleResult.setSuccess(true);
		} else {
			if (csp.check()) {
				ruleResult.setSuccess(true);
				ruleResult.setRequiredChange(true);
			} else {
				ruleResult.setSuccess(false);
				return ruleResult;
			}
		}

		return ruleResult;
	}

	/**
	 *
	 *
	 * @generated
	 */
	public IsApplicableRuleResult isApplicable_CC(Match sourceMatch, Match targetMatch) {
		// [user code injected with eMoflon]

		// TODO: implement this method here but do not remove the injection marker
		throw new UnsupportedOperationException();
	}

	/**
	 *
	 *
	 * @generated
	 */
	public boolean checkDEC_FWD(gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset,
			MeterAssetMMXUPair pair) {// match tgg pattern
		Object[] result1_black = LocationImpl.pattern_Location_13_1_matchtggpattern_blackBBB(srcLocation, asset, pair);
		if (result1_black != null) {
			return LocationImpl.pattern_Location_13_2_expressionF();
		} else {
			return LocationImpl.pattern_Location_13_3_expressionF();
		}

	}

	/**
	 *
	 *
	 * @generated
	 */
	@Override
	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
		switch (operationID) {
		case RulesPackage.LOCATION___IS_APPROPRIATE_FWD__MATCH_LOCATION_METERASSET_METERASSETMMXUPAIR:
			return isAppropriate_FWD((Match) arguments.get(0),
					(gluemodel.CIM.IEC61968.Common.Location) arguments.get(1), (MeterAsset) arguments.get(2),
					(MeterAssetMMXUPair) arguments.get(3));
		case RulesPackage.LOCATION___PERFORM_FWD__ISAPPLICABLEMATCH:
			return perform_FWD((IsApplicableMatch) arguments.get(0));
		case RulesPackage.LOCATION___IS_APPLICABLE_FWD__MATCH:
			return isApplicable_FWD((Match) arguments.get(0));
		case RulesPackage.LOCATION___REGISTER_OBJECTS_TO_MATCH_FWD__MATCH_LOCATION_METERASSET_METERASSETMMXUPAIR:
			registerObjectsToMatch_FWD((Match) arguments.get(0),
					(gluemodel.CIM.IEC61968.Common.Location) arguments.get(1), (MeterAsset) arguments.get(2),
					(MeterAssetMMXUPair) arguments.get(3));
			return null;
		case RulesPackage.LOCATION___IS_APPROPRIATE_SOLVE_CSP_FWD__MATCH_LOCATION_METERASSET_METERASSETMMXUPAIR:
			return isAppropriate_solveCsp_FWD((Match) arguments.get(0),
					(gluemodel.CIM.IEC61968.Common.Location) arguments.get(1), (MeterAsset) arguments.get(2),
					(MeterAssetMMXUPair) arguments.get(3));
		case RulesPackage.LOCATION___IS_APPROPRIATE_CHECK_CSP_FWD__CSP:
			return isAppropriate_checkCsp_FWD((CSP) arguments.get(0));
		case RulesPackage.LOCATION___IS_APPLICABLE_SOLVE_CSP_FWD__ISAPPLICABLEMATCH_LOCATION_PMUVOLTAGEMETER_METERASSETTOPMUVOLTAGEMETER_METERASSET_METERASSETMMXUPAIR:
			return isApplicable_solveCsp_FWD((IsApplicableMatch) arguments.get(0),
					(gluemodel.CIM.IEC61968.Common.Location) arguments.get(1), (PMUVoltageMeter) arguments.get(2),
					(MeterAssetToPMUVoltageMeter) arguments.get(3), (MeterAsset) arguments.get(4),
					(MeterAssetMMXUPair) arguments.get(5));
		case RulesPackage.LOCATION___IS_APPLICABLE_CHECK_CSP_FWD__CSP:
			return isApplicable_checkCsp_FWD((CSP) arguments.get(0));
		case RulesPackage.LOCATION___REGISTER_OBJECTS_FWD__PERFORMRULERESULT_EOBJECT_EOBJECT_EOBJECT_EOBJECT_EOBJECT_EOBJECT_EOBJECT:
			registerObjects_FWD((PerformRuleResult) arguments.get(0), (EObject) arguments.get(1),
					(EObject) arguments.get(2), (EObject) arguments.get(3), (EObject) arguments.get(4),
					(EObject) arguments.get(5), (EObject) arguments.get(6), (EObject) arguments.get(7));
			return null;
		case RulesPackage.LOCATION___CHECK_TYPES_FWD__MATCH:
			return checkTypes_FWD((Match) arguments.get(0));
		case RulesPackage.LOCATION___IS_APPROPRIATE_FWD_EMOFLON_EDGE_20__EMOFLONEDGE:
			return isAppropriate_FWD_EMoflonEdge_20((EMoflonEdge) arguments.get(0));
		case RulesPackage.LOCATION___CHECK_ATTRIBUTES_FWD__TRIPLEMATCH:
			return checkAttributes_FWD((TripleMatch) arguments.get(0));
		case RulesPackage.LOCATION___IS_APPLICABLE_CC__MATCH_MATCH:
			return isApplicable_CC((Match) arguments.get(0), (Match) arguments.get(1));
		case RulesPackage.LOCATION___CHECK_DEC_FWD__LOCATION_METERASSET_METERASSETMMXUPAIR:
			return checkDEC_FWD((gluemodel.CIM.IEC61968.Common.Location) arguments.get(0),
					(MeterAsset) arguments.get(1), (MeterAssetMMXUPair) arguments.get(2));
		}
		return super.eInvoke(operationID, arguments);
	}

	public static final Object[] pattern_Location_0_1_initialbindings_blackBBBBB(Location _this, Match match,
			gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset, MeterAssetMMXUPair pair) {
		return new Object[] { _this, match, srcLocation, asset, pair };
	}

	public static final Object[] pattern_Location_0_2_SolveCSP_bindingFBBBBB(Location _this, Match match,
			gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset, MeterAssetMMXUPair pair) {
		CSP _localVariable_0 = _this.isAppropriate_solveCsp_FWD(match, srcLocation, asset, pair);
		CSP csp = _localVariable_0;
		if (csp != null) {
			return new Object[] { csp, _this, match, srcLocation, asset, pair };
		}
		return null;
	}

	public static final Object[] pattern_Location_0_2_SolveCSP_blackB(CSP csp) {
		return new Object[] { csp };
	}

	public static final Object[] pattern_Location_0_2_SolveCSP_bindingAndBlackFBBBBB(Location _this, Match match,
			gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset, MeterAssetMMXUPair pair) {
		Object[] result_pattern_Location_0_2_SolveCSP_binding = pattern_Location_0_2_SolveCSP_bindingFBBBBB(_this,
				match, srcLocation, asset, pair);
		if (result_pattern_Location_0_2_SolveCSP_binding != null) {
			CSP csp = (CSP) result_pattern_Location_0_2_SolveCSP_binding[0];

			Object[] result_pattern_Location_0_2_SolveCSP_black = pattern_Location_0_2_SolveCSP_blackB(csp);
			if (result_pattern_Location_0_2_SolveCSP_black != null) {

				return new Object[] { csp, _this, match, srcLocation, asset, pair };
			}
		}
		return null;
	}

	public static final boolean pattern_Location_0_3_CheckCSP_expressionFBB(Location _this, CSP csp) {
		boolean _localVariable_0 = _this.isAppropriate_checkCsp_FWD(csp);
		boolean _result = Boolean.valueOf(_localVariable_0);
		return _result;
	}

	public static final Object[] pattern_Location_0_4_collectelementstobetranslated_blackBBBB(Match match,
			gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset, MeterAssetMMXUPair pair) {
		return new Object[] { match, srcLocation, asset, pair };
	}

	public static final Object[] pattern_Location_0_4_collectelementstobetranslated_greenBBBFF(Match match,
			gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset) {
		EMoflonEdge asset__srcLocation____Location = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		EMoflonEdge srcLocation__asset____Assets = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		match.getToBeTranslatedNodes().add(srcLocation);
		String asset__srcLocation____Location_name_prime = "Location";
		String srcLocation__asset____Assets_name_prime = "Assets";
		asset__srcLocation____Location.setSrc(asset);
		asset__srcLocation____Location.setTrg(srcLocation);
		match.getToBeTranslatedEdges().add(asset__srcLocation____Location);
		srcLocation__asset____Assets.setSrc(srcLocation);
		srcLocation__asset____Assets.setTrg(asset);
		match.getToBeTranslatedEdges().add(srcLocation__asset____Assets);
		asset__srcLocation____Location.setName(asset__srcLocation____Location_name_prime);
		srcLocation__asset____Assets.setName(srcLocation__asset____Assets_name_prime);
		return new Object[] { match, srcLocation, asset, asset__srcLocation____Location, srcLocation__asset____Assets };
	}

	public static final Object[] pattern_Location_0_5_collectcontextelements_blackBBBB(Match match,
			gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset, MeterAssetMMXUPair pair) {
		return new Object[] { match, srcLocation, asset, pair };
	}

	public static final Object[] pattern_Location_0_5_collectcontextelements_greenBBBF(Match match, MeterAsset asset,
			MeterAssetMMXUPair pair) {
		EMoflonEdge pair__asset____a = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		match.getContextNodes().add(asset);
		match.getContextNodes().add(pair);
		String pair__asset____a_name_prime = "a";
		pair__asset____a.setSrc(pair);
		pair__asset____a.setTrg(asset);
		match.getContextEdges().add(pair__asset____a);
		pair__asset____a.setName(pair__asset____a_name_prime);
		return new Object[] { match, asset, pair, pair__asset____a };
	}

	public static final void pattern_Location_0_6_registerobjectstomatch_expressionBBBBB(Location _this, Match match,
			gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset, MeterAssetMMXUPair pair) {
		_this.registerObjectsToMatch_FWD(match, srcLocation, asset, pair);

	}

	public static final boolean pattern_Location_0_7_expressionF() {
		boolean _result = Boolean.valueOf(true);
		return _result;
	}

	public static final boolean pattern_Location_0_8_expressionF() {
		boolean _result = Boolean.valueOf(false);
		return _result;
	}

	public static final Object[] pattern_Location_1_1_performtransformation_bindingFFFFFB(
			IsApplicableMatch isApplicableMatch) {
		EObject _localVariable_0 = isApplicableMatch.getObject("srcLocation");
		EObject _localVariable_1 = isApplicableMatch.getObject("consumer");
		EObject _localVariable_2 = isApplicableMatch.getObject("assetToPMU");
		EObject _localVariable_3 = isApplicableMatch.getObject("asset");
		EObject _localVariable_4 = isApplicableMatch.getObject("pair");
		EObject tmpSrcLocation = _localVariable_0;
		EObject tmpConsumer = _localVariable_1;
		EObject tmpAssetToPMU = _localVariable_2;
		EObject tmpAsset = _localVariable_3;
		EObject tmpPair = _localVariable_4;
		if (tmpSrcLocation instanceof gluemodel.CIM.IEC61968.Common.Location) {
			gluemodel.CIM.IEC61968.Common.Location srcLocation = (gluemodel.CIM.IEC61968.Common.Location) tmpSrcLocation;
			if (tmpConsumer instanceof PMUVoltageMeter) {
				PMUVoltageMeter consumer = (PMUVoltageMeter) tmpConsumer;
				if (tmpAssetToPMU instanceof MeterAssetToPMUVoltageMeter) {
					MeterAssetToPMUVoltageMeter assetToPMU = (MeterAssetToPMUVoltageMeter) tmpAssetToPMU;
					if (tmpAsset instanceof MeterAsset) {
						MeterAsset asset = (MeterAsset) tmpAsset;
						if (tmpPair instanceof MeterAssetMMXUPair) {
							MeterAssetMMXUPair pair = (MeterAssetMMXUPair) tmpPair;
							return new Object[] { srcLocation, consumer, assetToPMU, asset, pair, isApplicableMatch };
						}
					}
				}
			}
		}
		return null;
	}

	public static final Object[] pattern_Location_1_1_performtransformation_blackBBBBBFBB(
			gluemodel.CIM.IEC61968.Common.Location srcLocation, PMUVoltageMeter consumer,
			MeterAssetToPMUVoltageMeter assetToPMU, MeterAsset asset, MeterAssetMMXUPair pair, Location _this,
			IsApplicableMatch isApplicableMatch) {
		for (EObject tmpCsp : isApplicableMatch.getAttributeInfo()) {
			if (tmpCsp instanceof CSP) {
				CSP csp = (CSP) tmpCsp;
				return new Object[] { srcLocation, consumer, assetToPMU, asset, pair, csp, _this, isApplicableMatch };
			}
		}
		return null;
	}

	public static final Object[] pattern_Location_1_1_performtransformation_bindingAndBlackFFFFFFBB(Location _this,
			IsApplicableMatch isApplicableMatch) {
		Object[] result_pattern_Location_1_1_performtransformation_binding = pattern_Location_1_1_performtransformation_bindingFFFFFB(
				isApplicableMatch);
		if (result_pattern_Location_1_1_performtransformation_binding != null) {
			gluemodel.CIM.IEC61968.Common.Location srcLocation = (gluemodel.CIM.IEC61968.Common.Location) result_pattern_Location_1_1_performtransformation_binding[0];
			PMUVoltageMeter consumer = (PMUVoltageMeter) result_pattern_Location_1_1_performtransformation_binding[1];
			MeterAssetToPMUVoltageMeter assetToPMU = (MeterAssetToPMUVoltageMeter) result_pattern_Location_1_1_performtransformation_binding[2];
			MeterAsset asset = (MeterAsset) result_pattern_Location_1_1_performtransformation_binding[3];
			MeterAssetMMXUPair pair = (MeterAssetMMXUPair) result_pattern_Location_1_1_performtransformation_binding[4];

			Object[] result_pattern_Location_1_1_performtransformation_black = pattern_Location_1_1_performtransformation_blackBBBBBFBB(
					srcLocation, consumer, assetToPMU, asset, pair, _this, isApplicableMatch);
			if (result_pattern_Location_1_1_performtransformation_black != null) {
				CSP csp = (CSP) result_pattern_Location_1_1_performtransformation_black[5];

				return new Object[] { srcLocation, consumer, assetToPMU, asset, pair, csp, _this, isApplicableMatch };
			}
		}
		return null;
	}

	public static final Object[] pattern_Location_1_1_performtransformation_greenFBBF(
			gluemodel.CIM.IEC61968.Common.Location srcLocation, PMUVoltageMeter consumer) {
		LocationToLocation locationCorr = Task2Factory.eINSTANCE.createLocationToLocation();
		outagePreventionJointarget.Location trgLocation = OutagePreventionJointargetFactory.eINSTANCE.createLocation();
		locationCorr.setSource(srcLocation);
		locationCorr.setTarget(trgLocation);
		consumer.setLocation(trgLocation);
		return new Object[] { locationCorr, srcLocation, consumer, trgLocation };
	}

	public static final Object[] pattern_Location_1_2_collecttranslatedelements_blackBBB(
			LocationToLocation locationCorr, gluemodel.CIM.IEC61968.Common.Location srcLocation,
			outagePreventionJointarget.Location trgLocation) {
		return new Object[] { locationCorr, srcLocation, trgLocation };
	}

	public static final Object[] pattern_Location_1_2_collecttranslatedelements_greenFBBB(
			LocationToLocation locationCorr, gluemodel.CIM.IEC61968.Common.Location srcLocation,
			outagePreventionJointarget.Location trgLocation) {
		PerformRuleResult ruleresult = RuntimeFactory.eINSTANCE.createPerformRuleResult();
		ruleresult.getCreatedLinkElements().add(locationCorr);
		ruleresult.getTranslatedElements().add(srcLocation);
		ruleresult.getCreatedElements().add(trgLocation);
		return new Object[] { ruleresult, locationCorr, srcLocation, trgLocation };
	}

	public static final Object[] pattern_Location_1_3_bookkeepingforedges_blackBBBBBBBB(PerformRuleResult ruleresult,
			EObject locationCorr, EObject srcLocation, EObject consumer, EObject assetToPMU, EObject trgLocation,
			EObject asset, EObject pair) {
		if (!locationCorr.equals(srcLocation)) {
			if (!locationCorr.equals(trgLocation)) {
				if (!locationCorr.equals(pair)) {
					if (!srcLocation.equals(trgLocation)) {
						if (!consumer.equals(locationCorr)) {
							if (!consumer.equals(srcLocation)) {
								if (!consumer.equals(trgLocation)) {
									if (!consumer.equals(pair)) {
										if (!assetToPMU.equals(locationCorr)) {
											if (!assetToPMU.equals(srcLocation)) {
												if (!assetToPMU.equals(consumer)) {
													if (!assetToPMU.equals(trgLocation)) {
														if (!assetToPMU.equals(pair)) {
															if (!asset.equals(locationCorr)) {
																if (!asset.equals(srcLocation)) {
																	if (!asset.equals(consumer)) {
																		if (!asset.equals(assetToPMU)) {
																			if (!asset.equals(trgLocation)) {
																				if (!asset.equals(pair)) {
																					if (!pair.equals(srcLocation)) {
																						if (!pair.equals(trgLocation)) {
																							return new Object[] {
																									ruleresult,
																									locationCorr,
																									srcLocation,
																									consumer,
																									assetToPMU,
																									trgLocation, asset,
																									pair };
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		return null;
	}

	public static final Object[] pattern_Location_1_3_bookkeepingforedges_greenBBBBBBFFFFF(PerformRuleResult ruleresult,
			EObject locationCorr, EObject srcLocation, EObject consumer, EObject trgLocation, EObject asset) {
		EMoflonEdge locationCorr__srcLocation____source = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		EMoflonEdge locationCorr__trgLocation____target = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		EMoflonEdge asset__srcLocation____Location = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		EMoflonEdge srcLocation__asset____Assets = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		EMoflonEdge consumer__trgLocation____Location = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		String ruleresult_ruleName_prime = "Location";
		String locationCorr__srcLocation____source_name_prime = "source";
		String locationCorr__trgLocation____target_name_prime = "target";
		String asset__srcLocation____Location_name_prime = "Location";
		String srcLocation__asset____Assets_name_prime = "Assets";
		String consumer__trgLocation____Location_name_prime = "Location";
		locationCorr__srcLocation____source.setSrc(locationCorr);
		locationCorr__srcLocation____source.setTrg(srcLocation);
		ruleresult.getCreatedEdges().add(locationCorr__srcLocation____source);
		locationCorr__trgLocation____target.setSrc(locationCorr);
		locationCorr__trgLocation____target.setTrg(trgLocation);
		ruleresult.getCreatedEdges().add(locationCorr__trgLocation____target);
		asset__srcLocation____Location.setSrc(asset);
		asset__srcLocation____Location.setTrg(srcLocation);
		ruleresult.getTranslatedEdges().add(asset__srcLocation____Location);
		srcLocation__asset____Assets.setSrc(srcLocation);
		srcLocation__asset____Assets.setTrg(asset);
		ruleresult.getTranslatedEdges().add(srcLocation__asset____Assets);
		consumer__trgLocation____Location.setSrc(consumer);
		consumer__trgLocation____Location.setTrg(trgLocation);
		ruleresult.getCreatedEdges().add(consumer__trgLocation____Location);
		ruleresult.setRuleName(ruleresult_ruleName_prime);
		locationCorr__srcLocation____source.setName(locationCorr__srcLocation____source_name_prime);
		locationCorr__trgLocation____target.setName(locationCorr__trgLocation____target_name_prime);
		asset__srcLocation____Location.setName(asset__srcLocation____Location_name_prime);
		srcLocation__asset____Assets.setName(srcLocation__asset____Assets_name_prime);
		consumer__trgLocation____Location.setName(consumer__trgLocation____Location_name_prime);
		return new Object[] { ruleresult, locationCorr, srcLocation, consumer, trgLocation, asset,
				locationCorr__srcLocation____source, locationCorr__trgLocation____target,
				asset__srcLocation____Location, srcLocation__asset____Assets, consumer__trgLocation____Location };
	}

	public static final void pattern_Location_1_5_registerobjects_expressionBBBBBBBBB(Location _this,
			PerformRuleResult ruleresult, EObject locationCorr, EObject srcLocation, EObject consumer,
			EObject assetToPMU, EObject trgLocation, EObject asset, EObject pair) {
		_this.registerObjects_FWD(ruleresult, locationCorr, srcLocation, consumer, assetToPMU, trgLocation, asset,
				pair);

	}

	public static final PerformRuleResult pattern_Location_1_6_expressionFB(PerformRuleResult ruleresult) {
		PerformRuleResult _result = ruleresult;
		return _result;
	}

	public static final Object[] pattern_Location_2_1_preparereturnvalue_bindingFB(Location _this) {
		EClass _localVariable_0 = _this.eClass();
		EClass eClass = _localVariable_0;
		if (eClass != null) {
			return new Object[] { eClass, _this };
		}
		return null;
	}

	public static final Object[] pattern_Location_2_1_preparereturnvalue_blackFBB(EClass eClass, Location _this) {
		for (EOperation performOperation : eClass.getEOperations()) {
			String performOperation_name = performOperation.getName();
			if (performOperation_name.equals("perform_FWD")) {
				return new Object[] { performOperation, eClass, _this };
			}

		}
		return null;
	}

	public static final Object[] pattern_Location_2_1_preparereturnvalue_bindingAndBlackFFB(Location _this) {
		Object[] result_pattern_Location_2_1_preparereturnvalue_binding = pattern_Location_2_1_preparereturnvalue_bindingFB(
				_this);
		if (result_pattern_Location_2_1_preparereturnvalue_binding != null) {
			EClass eClass = (EClass) result_pattern_Location_2_1_preparereturnvalue_binding[0];

			Object[] result_pattern_Location_2_1_preparereturnvalue_black = pattern_Location_2_1_preparereturnvalue_blackFBB(
					eClass, _this);
			if (result_pattern_Location_2_1_preparereturnvalue_black != null) {
				EOperation performOperation = (EOperation) result_pattern_Location_2_1_preparereturnvalue_black[0];

				return new Object[] { performOperation, eClass, _this };
			}
		}
		return null;
	}

	public static final Object[] pattern_Location_2_1_preparereturnvalue_greenBF(EOperation performOperation) {
		IsApplicableRuleResult ruleresult = RuntimeFactory.eINSTANCE.createIsApplicableRuleResult();
		boolean ruleresult_success_prime = Boolean.valueOf(false);
		String ruleresult_rule_prime = "Location";
		ruleresult.setPerformOperation(performOperation);
		ruleresult.setSuccess(Boolean.valueOf(ruleresult_success_prime));
		ruleresult.setRule(ruleresult_rule_prime);
		return new Object[] { performOperation, ruleresult };
	}

	public static final Object[] pattern_Location_2_2_corematch_bindingFFFB(Match match) {
		EObject _localVariable_0 = match.getObject("srcLocation");
		EObject _localVariable_1 = match.getObject("asset");
		EObject _localVariable_2 = match.getObject("pair");
		EObject tmpSrcLocation = _localVariable_0;
		EObject tmpAsset = _localVariable_1;
		EObject tmpPair = _localVariable_2;
		if (tmpSrcLocation instanceof gluemodel.CIM.IEC61968.Common.Location) {
			gluemodel.CIM.IEC61968.Common.Location srcLocation = (gluemodel.CIM.IEC61968.Common.Location) tmpSrcLocation;
			if (tmpAsset instanceof MeterAsset) {
				MeterAsset asset = (MeterAsset) tmpAsset;
				if (tmpPair instanceof MeterAssetMMXUPair) {
					MeterAssetMMXUPair pair = (MeterAssetMMXUPair) tmpPair;
					return new Object[] { srcLocation, asset, pair, match };
				}
			}
		}
		return null;
	}

	public static final Iterable<Object[]> pattern_Location_2_2_corematch_blackBFFBBB(
			gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset, MeterAssetMMXUPair pair,
			Match match) {
		LinkedList<Object[]> _result = new LinkedList<Object[]>();
		for (MeterAssetToPMUVoltageMeter assetToPMU : org.moflon.core.utilities.eMoflonEMFUtil
				.getOppositeReferenceTyped(asset, MeterAssetToPMUVoltageMeter.class, "source")) {
			PMUVoltageMeter consumer = assetToPMU.getTarget();
			if (consumer != null) {
				_result.add(new Object[] { srcLocation, consumer, assetToPMU, asset, pair, match });
			}

		}
		return _result;
	}

	public static final Iterable<Object[]> pattern_Location_2_3_findcontext_blackBBBBB(
			gluemodel.CIM.IEC61968.Common.Location srcLocation, PMUVoltageMeter consumer,
			MeterAssetToPMUVoltageMeter assetToPMU, MeterAsset asset, MeterAssetMMXUPair pair) {
		LinkedList<Object[]> _result = new LinkedList<Object[]>();
		if (srcLocation.equals(asset.getLocation())) {
			if (consumer.equals(assetToPMU.getTarget())) {
				if (asset.equals(pair.getA())) {
					if (asset.equals(assetToPMU.getSource())) {
						_result.add(new Object[] { srcLocation, consumer, assetToPMU, asset, pair });
					}
				}
			}
		}
		return _result;
	}

	public static final Object[] pattern_Location_2_3_findcontext_greenBBBBBFFFFFF(
			gluemodel.CIM.IEC61968.Common.Location srcLocation, PMUVoltageMeter consumer,
			MeterAssetToPMUVoltageMeter assetToPMU, MeterAsset asset, MeterAssetMMXUPair pair) {
		IsApplicableMatch isApplicableMatch = RuntimeFactory.eINSTANCE.createIsApplicableMatch();
		EMoflonEdge asset__srcLocation____Location = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		EMoflonEdge srcLocation__asset____Assets = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		EMoflonEdge assetToPMU__consumer____target = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		EMoflonEdge pair__asset____a = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		EMoflonEdge assetToPMU__asset____source = RuntimeFactory.eINSTANCE.createEMoflonEdge();
		String asset__srcLocation____Location_name_prime = "Location";
		String srcLocation__asset____Assets_name_prime = "Assets";
		String assetToPMU__consumer____target_name_prime = "target";
		String pair__asset____a_name_prime = "a";
		String assetToPMU__asset____source_name_prime = "source";
		isApplicableMatch.getAllContextElements().add(srcLocation);
		isApplicableMatch.getAllContextElements().add(consumer);
		isApplicableMatch.getAllContextElements().add(assetToPMU);
		isApplicableMatch.getAllContextElements().add(asset);
		isApplicableMatch.getAllContextElements().add(pair);
		asset__srcLocation____Location.setSrc(asset);
		asset__srcLocation____Location.setTrg(srcLocation);
		isApplicableMatch.getAllContextElements().add(asset__srcLocation____Location);
		srcLocation__asset____Assets.setSrc(srcLocation);
		srcLocation__asset____Assets.setTrg(asset);
		isApplicableMatch.getAllContextElements().add(srcLocation__asset____Assets);
		assetToPMU__consumer____target.setSrc(assetToPMU);
		assetToPMU__consumer____target.setTrg(consumer);
		isApplicableMatch.getAllContextElements().add(assetToPMU__consumer____target);
		pair__asset____a.setSrc(pair);
		pair__asset____a.setTrg(asset);
		isApplicableMatch.getAllContextElements().add(pair__asset____a);
		assetToPMU__asset____source.setSrc(assetToPMU);
		assetToPMU__asset____source.setTrg(asset);
		isApplicableMatch.getAllContextElements().add(assetToPMU__asset____source);
		asset__srcLocation____Location.setName(asset__srcLocation____Location_name_prime);
		srcLocation__asset____Assets.setName(srcLocation__asset____Assets_name_prime);
		assetToPMU__consumer____target.setName(assetToPMU__consumer____target_name_prime);
		pair__asset____a.setName(pair__asset____a_name_prime);
		assetToPMU__asset____source.setName(assetToPMU__asset____source_name_prime);
		return new Object[] { srcLocation, consumer, assetToPMU, asset, pair, isApplicableMatch,
				asset__srcLocation____Location, srcLocation__asset____Assets, assetToPMU__consumer____target,
				pair__asset____a, assetToPMU__asset____source };
	}

	public static final Object[] pattern_Location_2_4_solveCSP_bindingFBBBBBBB(Location _this,
			IsApplicableMatch isApplicableMatch, gluemodel.CIM.IEC61968.Common.Location srcLocation,
			PMUVoltageMeter consumer, MeterAssetToPMUVoltageMeter assetToPMU, MeterAsset asset,
			MeterAssetMMXUPair pair) {
		CSP _localVariable_0 = _this.isApplicable_solveCsp_FWD(isApplicableMatch, srcLocation, consumer, assetToPMU,
				asset, pair);
		CSP csp = _localVariable_0;
		if (csp != null) {
			return new Object[] { csp, _this, isApplicableMatch, srcLocation, consumer, assetToPMU, asset, pair };
		}
		return null;
	}

	public static final Object[] pattern_Location_2_4_solveCSP_blackB(CSP csp) {
		return new Object[] { csp };
	}

	public static final Object[] pattern_Location_2_4_solveCSP_bindingAndBlackFBBBBBBB(Location _this,
			IsApplicableMatch isApplicableMatch, gluemodel.CIM.IEC61968.Common.Location srcLocation,
			PMUVoltageMeter consumer, MeterAssetToPMUVoltageMeter assetToPMU, MeterAsset asset,
			MeterAssetMMXUPair pair) {
		Object[] result_pattern_Location_2_4_solveCSP_binding = pattern_Location_2_4_solveCSP_bindingFBBBBBBB(_this,
				isApplicableMatch, srcLocation, consumer, assetToPMU, asset, pair);
		if (result_pattern_Location_2_4_solveCSP_binding != null) {
			CSP csp = (CSP) result_pattern_Location_2_4_solveCSP_binding[0];

			Object[] result_pattern_Location_2_4_solveCSP_black = pattern_Location_2_4_solveCSP_blackB(csp);
			if (result_pattern_Location_2_4_solveCSP_black != null) {

				return new Object[] { csp, _this, isApplicableMatch, srcLocation, consumer, assetToPMU, asset, pair };
			}
		}
		return null;
	}

	public static final boolean pattern_Location_2_5_checkCSP_expressionFBB(Location _this, CSP csp) {
		boolean _localVariable_0 = _this.isApplicable_checkCsp_FWD(csp);
		boolean _result = Boolean.valueOf(_localVariable_0);
		return _result;
	}

	public static final Object[] pattern_Location_2_6_addmatchtoruleresult_blackBB(IsApplicableRuleResult ruleresult,
			IsApplicableMatch isApplicableMatch) {
		return new Object[] { ruleresult, isApplicableMatch };
	}

	public static final Object[] pattern_Location_2_6_addmatchtoruleresult_greenBB(IsApplicableRuleResult ruleresult,
			IsApplicableMatch isApplicableMatch) {
		ruleresult.getIsApplicableMatch().add(isApplicableMatch);
		boolean ruleresult_success_prime = Boolean.valueOf(true);
		String isApplicableMatch_ruleName_prime = "Location";
		ruleresult.setSuccess(Boolean.valueOf(ruleresult_success_prime));
		isApplicableMatch.setRuleName(isApplicableMatch_ruleName_prime);
		return new Object[] { ruleresult, isApplicableMatch };
	}

	public static final IsApplicableRuleResult pattern_Location_2_7_expressionFB(IsApplicableRuleResult ruleresult) {
		IsApplicableRuleResult _result = ruleresult;
		return _result;
	}

	public static final Object[] pattern_Location_10_1_preparereturnvalue_bindingFB(Location _this) {
		EClass _localVariable_0 = _this.eClass();
		EClass __eClass = _localVariable_0;
		if (__eClass != null) {
			return new Object[] { __eClass, _this };
		}
		return null;
	}

	public static final Object[] pattern_Location_10_1_preparereturnvalue_blackFBBF(EClass __eClass, Location _this) {
		for (EOperation __performOperation : __eClass.getEOperations()) {
			String __performOperation_name = __performOperation.getName();
			if (__performOperation_name.equals("isApplicable_FWD")) {
				for (EOperation isApplicableCC : __eClass.getEOperations()) {
					if (!__performOperation.equals(isApplicableCC)) {
						String isApplicableCC_name = isApplicableCC.getName();
						if (isApplicableCC_name.equals("isApplicable_CC")) {
							return new Object[] { __performOperation, __eClass, _this, isApplicableCC };
						}

					}
				}
			}

		}
		return null;
	}

	public static final Object[] pattern_Location_10_1_preparereturnvalue_bindingAndBlackFFBF(Location _this) {
		Object[] result_pattern_Location_10_1_preparereturnvalue_binding = pattern_Location_10_1_preparereturnvalue_bindingFB(
				_this);
		if (result_pattern_Location_10_1_preparereturnvalue_binding != null) {
			EClass __eClass = (EClass) result_pattern_Location_10_1_preparereturnvalue_binding[0];

			Object[] result_pattern_Location_10_1_preparereturnvalue_black = pattern_Location_10_1_preparereturnvalue_blackFBBF(
					__eClass, _this);
			if (result_pattern_Location_10_1_preparereturnvalue_black != null) {
				EOperation __performOperation = (EOperation) result_pattern_Location_10_1_preparereturnvalue_black[0];
				EOperation isApplicableCC = (EOperation) result_pattern_Location_10_1_preparereturnvalue_black[3];

				return new Object[] { __performOperation, __eClass, _this, isApplicableCC };
			}
		}
		return null;
	}

	public static final Object[] pattern_Location_10_1_preparereturnvalue_greenF() {
		EObjectContainer __result = RuntimeFactory.eINSTANCE.createEObjectContainer();
		return new Object[] { __result };
	}

	public static final Iterable<Object[]> pattern_Location_10_2_testcorematchandDECs_blackFFFB(
			EMoflonEdge _edge_Location) {
		LinkedList<Object[]> _result = new LinkedList<Object[]>();
		EObject tmpAsset = _edge_Location.getSrc();
		if (tmpAsset instanceof MeterAsset) {
			MeterAsset asset = (MeterAsset) tmpAsset;
			EObject tmpSrcLocation = _edge_Location.getTrg();
			if (tmpSrcLocation instanceof gluemodel.CIM.IEC61968.Common.Location) {
				gluemodel.CIM.IEC61968.Common.Location srcLocation = (gluemodel.CIM.IEC61968.Common.Location) tmpSrcLocation;
				if (srcLocation.equals(asset.getLocation())) {
					for (MeterAssetMMXUPair pair : org.moflon.core.utilities.eMoflonEMFUtil
							.getOppositeReferenceTyped(asset, MeterAssetMMXUPair.class, "a")) {
						_result.add(new Object[] { srcLocation, asset, pair, _edge_Location });
					}
				}
			}

		}

		return _result;
	}

	public static final Object[] pattern_Location_10_2_testcorematchandDECs_greenFB(EClass __eClass) {
		Match match = RuntimeFactory.eINSTANCE.createMatch();
		String __eClass_name = __eClass.getName();
		String match_ruleName_prime = __eClass_name;
		match.setRuleName(match_ruleName_prime);
		return new Object[] { match, __eClass };

	}

	public static final boolean pattern_Location_10_3_bookkeepingwithgenericisAppropriatemethod_expressionFBBBBB(
			Location _this, Match match, gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset,
			MeterAssetMMXUPair pair) {
		boolean _localVariable_0 = _this.isAppropriate_FWD(match, srcLocation, asset, pair);
		boolean _result = Boolean.valueOf(_localVariable_0);
		return _result;
	}

	public static final boolean pattern_Location_10_4_Ensurethatthecorrecttypesofelementsarematched_expressionFBB(
			Location _this, Match match) {
		boolean _localVariable_0 = _this.checkTypes_FWD(match);
		boolean _result = Boolean.valueOf(_localVariable_0);
		return _result;
	}

	public static final Object[] pattern_Location_10_5_Addmatchtoruleresult_blackBBBB(Match match,
			EOperation __performOperation, EObjectContainer __result, EOperation isApplicableCC) {
		if (!__performOperation.equals(isApplicableCC)) {
			return new Object[] { match, __performOperation, __result, isApplicableCC };
		}
		return null;
	}

	public static final Object[] pattern_Location_10_5_Addmatchtoruleresult_greenBBBB(Match match,
			EOperation __performOperation, EObjectContainer __result, EOperation isApplicableCC) {
		__result.getContents().add(match);
		match.setIsApplicableOperation(__performOperation);
		match.setIsApplicableCCOperation(isApplicableCC);
		return new Object[] { match, __performOperation, __result, isApplicableCC };
	}

	public static final EObjectContainer pattern_Location_10_6_expressionFB(EObjectContainer __result) {
		EObjectContainer _result = __result;
		return _result;
	}

	public static final Object[] pattern_Location_13_1_matchtggpattern_blackBBB(
			gluemodel.CIM.IEC61968.Common.Location srcLocation, MeterAsset asset, MeterAssetMMXUPair pair) {
		if (srcLocation.equals(asset.getLocation())) {
			if (asset.equals(pair.getA())) {
				return new Object[] { srcLocation, asset, pair };
			}
		}
		return null;
	}

	public static final boolean pattern_Location_13_2_expressionF() {
		boolean _result = Boolean.valueOf(true);
		return _result;
	}

	public static final boolean pattern_Location_13_3_expressionF() {
		boolean _result = Boolean.valueOf(false);
		return _result;
	}

	// <-- [user code injected with eMoflon]

	// [user code injected with eMoflon] -->
} //LocationImpl

redpajama_set_name: RedPajamaGithub


text:
Lytle ISD 2017-2018
Lytle ISD
Lytle ISD is a school district in Lytle, TX. As of the 2017-2018 school year, it had 1,692 students. The school received an accountability rating of C. 54.8% of students were considered at risk of dropping out of school. 10.5% of students were enrolled in bilingual and English language learning programs.
An average teacher's salary was $52,249, which is $1,085 less than the state average. On average, teachers had 11.6 years of experience. The average SAT score at Lytle ISD was 983. The average ACT score was 17.9. In the Class of 2017, 93.2% of students received their high school diplomas on time or earlier. The dropout rate was 2.4%.
www.lytleisd.org/
Michelle Smith
michelle.smith@lytleisd.org
Students in Lytle ISD are part of the Texas Education Agency's Region 20. Students who started eighth grade in 2007 in this region had a college graduation rate of 22.7 percent. View a more comprehensive breakdown of the higher ed outcomes in Region 20.
Lytle Elementary School
Lytle Primary School
Lytle Junior High School
Lytle DAEP
Lytle High School

redpajama_set_name: RedPajamaCommonCrawl


text:
One-Liners
Evidence Archives
Do you believe Star Wars could be real?
I need more facts
Join us, as the investigation continues...
Metro Shuttle
Contracted to the Empire!
The above advertisement of a De Luxe delivery shuttle is a critical link between the Galactic Empire and the automotive industry in Detroit!
The De Luxe shuttle was based on a tri-wing design with a central stationary wing flanked by a pair of folding wings. When in flight position, the wing configuration resembled an inverted Y. When landing, the lower wings folded upwards. It was designed as both a cargo and troop transport and could carry 80 tons or 20 soldiers. It also had a crew of six: a pilot, co-pilot, navigator, communications officer, gunner, and engineer. A shuttle could also be piloted by a skeleton crew consisting of a single officer during emergencies. It was also equipped with a Class 1 hyperdrive since its mission profile involved traveling across the galaxy.
The advertisement boasts of the all-steel METRO bodies, linking the place of production to Detroit, Michigan, automotive capital of the world, located in the United States. During World War II many automotive plants were converted to manufacture military vehicles and equipment. After the war ended several plants not planning to return to automotive projects closed down. Some of them were contracted for the space program. It is possible that one or more plants manufactured parts for the De Luxe shuttle!
In an emergency the cockpit could be jettisoned from the main body and travel a short distance under sublight speed. The lifeboat did not have enough space for all passengers when the shuttle had its full complement and therefore priority would be given to the most senior officers on board (when in military use).
Similar shuttles have been identified in previous ISWWR investigations including Palpatine Oil by which the Emperor, himself, used a shuttle to visit his oil wells on earth.
Some have speculated that the reason Detroit is lacking in proper ground public transportation, unlike other U.S. cities, was due to the plan of using De Luxe delivery shuttles that was eventually cancelled when the Emperor purchased the factories for his own use. This has yet to be confirmed.
Investigators have now been dispatched to find any shred of evidence of Imperial Shuttle factories in Detroit as the ISWWR investigation continues!
Evidence #: ISWWR0000051
Submitted by: J. Lamb
© 2020 If Star Wars Was Real
Home | The Investigation | The Mission | Links | Newsletter | Suggestions | Downloads | One-Liners | Evidence Archives |


Austrian drum and bass quartet Fourward provide the Hottest Record in the World.
Jam has a special Independence Day mix to celebrate fourth of July!
Nick Bright is in for Dotty with 1Xtra's Breakfast Show.
The Sunday night support club, with Serpentwithfeet making the Bedtime Mix selections.
Mabel is in control with garage, hip-hop, R&B and club bangers!
Iggy Pop serves up the perfect sonic cocktail to kick-start your weekend.
Genre-defying collective Superorganism play live; It's Album Time with producer Cid Rim.
Four Tet provides a Bedtime Mix fit for the pillow.
Is breakfast gravy really a thing?
It's Album Time with US electro pop duo Sylvan Esso. Plus more in session from Gurr.
A chance to catch up on some of the highlights of Iggy Pop's 6 Music shows.
Huw delves deep into the world of new music.


text:
#pragma once
#include <aws/wisdom/ConnectWisdomService_EXPORTS.h>
#include <aws/wisdom/model/SessionData.h>
#include <utility>

namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;

namespace Utils
{
namespace Json
{
  class JsonValue;
} // namespace Json
} // namespace Utils
namespace ConnectWisdomService
{
namespace Model
{
  class AWS_CONNECTWISDOMSERVICE_API CreateSessionResult
  {
  public:
    CreateSessionResult();
    CreateSessionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
    CreateSessionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);

    /**
     *
The session.

     */
    inline const SessionData& GetSession() const{ return m_session; }

    /**
     *
The session.

     */
    inline void SetSession(const SessionData& value) { m_session = value; }

    /**
     *
The session.

     */
    inline void SetSession(SessionData&& value) { m_session = std::move(value); }

    /**
     *
The session.

     */
    inline CreateSessionResult& WithSession(const SessionData& value) { SetSession(value); return *this;}

    /**
     *
The session.

     */
    inline CreateSessionResult& WithSession(SessionData&& value) { SetSession(std::move(value)); return *this;}

  private:

    SessionData m_session;
  };

} // namespace Model
} // namespace ConnectWisdomService
} // namespace Aws


text:
Q: Workaround to import Campaign Members w/o enabling "Modify All Data" We have a scenario where 18 users need the ability to add campaign members via an import file. This requires using Data Loader.
However, these 18 users also have access to all Contact data across the network, meaning they need the system permission Modify All Data according to SF documentation since they are essentially adding contacts they do not own. This not acceptable since Modify All Data bypasses sharing rules, which we have worked hard to put in place to protect other standard and custom object data. Is there a known workaround or solution to this conflict in permissions?

A: Okay, so everyone's use case might be a little different, but here was the solution we came up with:

1) The users' profile did not have access to Leads (since the org was not using them). Event thought SF documentation doesn't explicitly cover this, they needed at least read access to the Lead object in order to use the "Manage Members" button on the Campaign record. NOTE: They will only have two options, however:

2) Under "App Permissions" (also on the profile) you have to check the "Import Personal Contacts" checkbox for them to have access to the new Data Import Wizard. This gives them the ability to use the Data Import Wizard, but NOT for adding Campaign Members since they would, in fact, need the "Modify All Data" permission which we are NOT going to give them. This is why the other two options are missing under the "Manage Members" button:

3) The users will still have the ability to add campaign members from a report using the "Add to Campaign" button after running a report.

redpajama_set_name: RedPajamaStackExchange


When I began photography eight years ago, I was immediately drawn to portraiture, specifically outdoor portraits. I knew I wanted to delve into sports photography once I was in college, but being able to interact with people and capture the relationship between them is something I've always been really passionate about. Since I've started photographing, I've shot a wide variety of portraiture, from seniors, to weddings, to families and everything in between, my experience covers a wide range of subjects!


Robin and I are going to see Dave Tamkin perform at Frankies Blue Room Friday night. I haven't heard Dave's music before, but after reading about him on his website and listening to a few songs at Fresh Tracks, there's no doubt I'll enjoy the performance.
Why am I so sure? The guy lists Toad the Wet Sprocket as an influence (one of my favorite bands of all time — both for their music as well as the Monty Python reference) but also because he lists Fear as a "desert island disc".


text:
PIA Western Alliance knows you want to be the best in the field, and the best way to stay on top is to stay informed. PIA Weekly Industry News Brief is an informative e-news brief that delivers the most relevant industry content.
Top tags: insurance content Weekly Industry News Insurance Industry Insurance News Around the PIA Western Alliance States ObamaCare The Affordable Care Act Healthcare HealthCare.gov cyber security PIA Western Alliance Cyber Breach Cyber Insurance employment Jobs wildfires flood insurance AIG Work Flood Millennials Employees PIA business Millennials & Insurance PIA National taxes E&O insurance MetLife
Update: WannaCry — Most Would Pay
Posted By Administration, Tuesday, June 6, 2017
Carbon Black surveyed 5,000 U.S. consumers about their trust in corporations for keeping their data safe. Part of the questioning involved the WannaCry ransomware virus. The crisis a few weeks ago in 150 countries is the first most had heard of ransomeware. That's odd because ransomeware has been a problem for a decade or more.
What is most surprising is the number of people who'd pay the ransom if it happened to them:
• 52% said they'd pay the ransom if their computer or data is taken hostage
• Only 12% said they'd pay $500 or more
Experts are advising people to be prepared. Verizon did a report in 2014. Then ransomeware was the 22nd most common form of malware. Today it is number-five. The quick-buck approach to profits means it could even rise above that point in the future.
As for the rest of the world. Financial institutions and healthcare providers are trusted by about 70% of us. But only 52% trust retailers.
Consumers — overall — think the responsibility of keeping their data safe lands at the feet of the individual business. They do not believe it is the responsibility of cybersecurity vendors, software vendors and providers like Microsoft, Apple and Google and government agencies like the FBI, NSA and CIA to keep their data safe.
Source link: BizReport
Tags: Cyber Breach Cyber Insurance Cyber Security Insurance Content Insurance Industry Insurance news Special Report: The WannaCry Virus Aftermath Update: WannaCry — Most Would Pay virus Weekly Industry News
Update: WannaCry Virus and More
Experts are still trying to find out who launched the WannaCry ransomware attack a couple of weeks ago. Researchers at cyber security firms Symantec and FireEye say evidence they've uncovered says the attack came from North Korea's hacking group Lazarus.
Ben Read of FireEye said, "The shared code likely means that, at a minimum, WannaCry operators share software development resources with North Korean espionage operators."
North Korea denies involvement.
The WannaCry virus and other recent ransomware attacks has impacted insurance. And that impact is both negative and positive.
Aon Benfield and Beazley did a study of ransomware attacks. It is titled Aon Benfield's Cyber Update: 2016 Cyber Insurance Profits and Performance and the study found the number of ransomware attacks quadrupled from 2015 to 2016. In their report, Aon researchers Jon Laux and Craig Kerman said this has led cyber insurers to see a jump in the loss ratio to 57.7. That's a 16% rise from 2015.
On the other side of the coin, the study found cyber insurance premiums grew roughly 30% to $1.34 billion between 2015 and 2016
"For insurers providing cyber insurance, these results illustrate the potential for both extremely good and extremely bad underwriting outcomes, and underscore the importance of managing limits," they wrote.
Aon Risk Solutions Senior Vice President Jim Trainor also commented on the study. He said it includes data from 138 insurers in the U.S. "One of the challenges of cyber is that it is a very complex environment. Bad actors use and exploit infrastructure both in and out of the United States. A lot of groups who conduct such criminal activity don't reside in the U.S. This makes it increasingly challenging for both government and companies to protect themselves because those attacking them don't actually reside in the locations in which they operate," he said.
Ken Crerar of the Council of Insurance Agents and Brokers said the CIAB has released its current cyber study. The Council of Insurance Agents & Brokers' Cyber Insurance Market Watch Survey said clients are now more up to speed on the type — and how much — insurance they need. The conclusion is insurers selling cyber insurance can, and should, anticipate growth in policy purchases.
Other survey conclusions:
• 32% have purchased at least some form of cyber coverage
• In the last six-months 27% purchased that insurance for the first time
• 44% increased coverage in the last six-months
• 76% with cyber insurance have stand alone policies
"As brokers become more experienced with cyber exposures, they are growing their knowledge of this new breed of risk. This is a good sign, as brokers play an increasingly crucial role in both cyber risk mitigation and post-event response. The globally-launched WannaCry/WannaCrypt ransomware file encryption exploit is a prime example. Brokers are actively advising clients on the preventative steps to take now to increase the chance of escaping the virus, which has infected hundreds of thousands of systems," Crerar said.
And on those preventative steps, James Gow — the senior vice president of the Property & Casualty Practice at Corporate Synergies — said a big part of the problem business has with ransomware attacks is uneducated employees and suggests employers set up an education program. It should contain:
• Instructions for employees to regularly change their passwords for software, email and other programs.
• A standard framework on how information is shared within the company.
• A policy for how sensitive information is asked for and given. Not everyone in the company needs to have sensitive information.
• An employee identification policy.
• A safe document management system and disposal services.
• Regular employee testing on security policies to make sure they understand social engineering and hacking scams so confidential and sensitive information is not handed out.
Two last items. The electronic signature service DocuSign has admitted that hackers gained temporary access to its database. It contained the email addresses of customers which is why there was a surge in phishing emails sent to DocuSign users. Those emails encouraged recipients to open a Microsoft Word doc that contained malicious software.
If you are a user, updates on the hack are available by clicking here.
And last. Target has settled its multistate hack from Christmas of 2013 for $18.5 million. In December of that year and January of 2014, over 40 million credit and debit card users had their information stolen.
Source links: PropertyCasualty360.com — link 1, link 2, Insurance Business America — link 1, link 2, Insurance Journal
Tags: Cyber Breach Cyber Insurance Insurance Content Insurance Industry Insurance News Special Report: The WannaCry Virus Aftermath Update: WannaCry Virus and More virusCyber Security Weekly Industry News
Special Report: The WannaCry Virus Aftermath
Posted By Administration, Wednesday, May 24, 2017
In what seems now to be a prophetic move, on May 11th Kansas Insurance Commissioner Ken Selzer put out a list of tips to help businesses and individuals protect themselves from a cyber attack. The next day the WannaCry virus hit the world and demands of $300 or more per user was demanded to release control of a computer back to the user.
According to White House Homeland Security Advisor Tom Bossert, 300,000 people in 150 countries were impacted.
In his news release that went with the list, Selzer said, "It is important that cyber vigilance begins at home. Knowing some common-sense precautions can keep you and your personal information safer."
The Internet research agency Statistica says insurance and the financial sector are very vulnerable. And it put this chart together to show you just how vulnerable your business is:
Who's affected most by ransomeware and why starting with infections by industry:
• Services — 38%
• Manufacturing — 17%
• Public administration — 10%
• Insurance, finance & real estate — 10%
• Wholesale trade — 9%
The leading cause of those infections:
• Spam/ phishing emails — 46%
• Lack of employee training — 36%
• Malicious websites / web ads — 12%
• Other — 5%
• Lack of security — 1%
Lots of quotes from experts and lots of advice starting with Michael Kaiser — the executive director of the non-profit National Cyber Security Alliance — who put what we all need to do now the best. "It is of utmost importance that cybersecurity ... be a top priority of businesses and organizations large and small," he said.
Kathy Brown the Internet Society's president and CEO added, "Law enforcement, IT professionals, consumers, business, and the public sector all have responsibility to act to keep enabling the good that the Internet brings. We have a shared responsibility to collaboratively get this under control."
How bad is it? Bad. Researchers say 6% of the people of the world have been impacted by this or other malware. Brown said most people are ill-equipped to deal with ransomware and whopping 25% say they have no idea what to do if their computer was attacked.
Fen Osler Hampson is the director of global security at CIGI. He said, "Ransomware attackers have discovered that they don't have to steal or destroy your data to enrich themselves, they just have to hold it hostage. Our survey data shows that many people are willing to pay to get their data back, which makes such attacks highly profitable."
Dan Burke heads Hiscox USA. His firm's Hiscox Cyber Readiness Report 2017 checked with 3,000 businesses in the United States, the United Kingdom and Germany. He said it found, "In the US alone, 63% of firms reported experiencing a cyber incident in the past year, and 47% said they had two or more."
And Burke and the report said those attacks and all cyber crime cost the global economy $450 billion last year. "Larger companies (250+ employees) had a somewhat higher risk, with 72% reporting one or more incidents, compared to 60% of smaller firms (less than 249 employees)."
Kaiser added, "When we see whole systems like the National Health System in the United Kingdom directly targeted, it reinforces how dependent we have become on our data-driven networks."
Back to Selzer. These are his wise words of wisdom:
• Set strong passwords and don't share them with anyone. Set them with at least eight characters, including letters, numbers and symbols.
• When using unfamiliar websites, be sure the URL begins with "https." The "s" at the end indicates it is a secure site.
• Keep your operating system, browser, and other critical software optimized by installing updates, including antivirus and anti-spyware updates.
• Maintain an open dialogue with your family, friends and community about Internet safety. Let them know you take it seriously.
• Limit the amount of personal information you post online, and use privacy settings to avoid sharing information widely.
• Be cautious about what you receive or read online — if it sounds too good to be true, it probably is. Also, if a message sounds out of character for the sender, or includes nothing but a link in the body of the email, it may be suspicious. Check with the person who purportedly sent you the message to make sure it is legitimate.
• Cyber attackers often take advantage of current events to conduct "phishing" attacks, where they will attempt to obtain personal information by posing as a trustworthy organization. Verify the legitimacy of the organization's request by contacting the company by another means.
• Limit the type of business you conduct on public Wi-Fi networks. Don't do your online shopping from an internet café. Do business with credible companies, and devote one credit card with a small credit line to online purchases.
• Password-protect your smart phone.
• Finally, and maybe most importantly, check your homeowners or identity theft insurance policies for the level of coverage you have in case of a cyberattack on your devices.
"The continual increase in cyber traffic means that home computer networks and smart devices are more vulnerable" than ever. We need to be vigilant in making sure our personal information is kept secure," Selzer said.
NAS chief underwriter Mike Palotay agreed and said the attack also points out how small and medium businesses are woefully short of cyber insurance. He says these businesses need to take note and get insured.
"This has been an indiscriminate attack. It's not targeted. You don't have a hacker behind each attack on each company — it's really more of an automated thing. It's basically just spray and pray, really. You've got small companies who are experiencing outages and disruptions and having to pay extortions. And then you've got FedEx and the National Health Service [in the UK] and a bunch of much larger organizations experiencing problems," he said.
But the bottom-line, Palotay said is, "Small and medium-sized business are very, very underinsured. The last figures I saw for small businesses that buy cyber insurance were in the single digits. This might be a wake-up call."
By the way, Microsoft has a malware link to keep you posted on WannaCry. You can access it here.
Source links: PropertyCasualty360.com, Insurance Business America
Tags: Cyber Breach Cyber Insurance Cyber Security Insurance Content Insurance Industry Insurance News Special Report: The WannaCry Virus Aftermath Weekly Industry News


KIU Library offers open access to its users. In open access, books, journals, and other reading material are kept open on shelves as this university library is basically research oriented. This allows direct access of readers to academic sources without any barrier.
Reference and Information services provided by Central Library aims to assist the users in the most effective use of the invaluable information about resources available in Reference Section of library situated at the front of the circulation desk. This section holds precious reference tools including encyclopedias, dictionaries, biographical dictionaries, yearbooks, research reports, guides, maps, etc. It provides reference service to fulfill the information needs of the faculty members, students, and researchers. The reference material can only be utilized inside the library premises and cannot be borrowed.
such as acquisition, technical section (classification & cataloging), reference section and library automation/ computer section are basically working behind the screen. General book collection including the oriental collection of the library is available to all categories of members for borrowing. Other library collections including reference, reserve and special collections are too available for study, browsing, and consultation. However, these are to be consulted within the library premises only as these are non-lendable collections.
library material. Special orientations sessions are organized for readers on using the library catalog and searching materials through OPAC etc.
Library subscribes 4 national dailies and 6 local leading dailies in order to enhance the current affairs knowledge of its readers. Archives of four leading newspapers are also maintained on monthly basis including The News, The Dawn, Jang, and daily K-2 a local newspaper.
KIU has established a number of computer labs equipped with latest Core 15 desktops, multimedia system, and internet facility. Three number of computer labs are located in the Computer Science and Management Department building, one lab located at 1FD section, and one at Mining Engineering Department. The basic aim of these Computer Labs is to cany out research across a broad range of subjects and facilitate the students with Modem IT related equipment.
A state-of-the-art computer laboratory in the main Library has been established for students equipped with the latest computers. Higher Education Commission (HEC) has provided access to online digital resources such as books & e-journals. Moreover, CD & DVDs of digital books are also available for students & faculty.
A state of the art video conferencing hall along-with core equipment of video conferencing facility has been established and operational. This facility offers the ability to hold video meetings with HEC and other Universities on a need basis and attending seminars and conferences nationwide as well as throughout the globe.
The KIU main campus offers wireless Internet facility for students, faculty and management staff. Now everyone at the campus can avail free internet access by connecting with university network from their own laptops and smartphones using wireless networking facility within the campus.
Health Section of KIU is providing free medical facilities at the main campus. The main objective is to provide routine checkups, emergency services, provision of services in sports events, during internal and external examinations and general consultation. The section helps to provide treatment in local hospitals of seriously ill patients. At present, the medical staff consists of one medical officer, one senior dispenser and one supporting staff. The existing equipment in the center is a stretcher, wheelchair, nebulizer machine, emergency trolley, dressing kit, first aid box, weight machine, oxygen cylinder, and all equipment used for emergency procedures.
Karakoram International University, which is galloping its pursuit of curricular and co-curricular activities, is magnificently in the hunt of a square development of its scholars. As co-curricular activities are an integral part of the curriculum of the students. Sports' Section of the University under the supervision of Mr. Aurangzeb Deputy Director Sports, celebrates the sports' week annually to infuse sports' zeal and zest into the students. In the whole week, the athletic charisma of the students worked for the wonder of the viewers.
KIU athletic facilities and resources are available to faculty, staff, students, alumni, and families residing on- campus.
Fitness center is designed to sustain physical fitness and mental health in order to meet individual needs including weight loss, stress management, cardiovascular endurance, and overall health.
The center aims to facilitate KIU students and alumni in terms of career counseling, career advisory services, job placements, higher education (admissions & scholarships), internships and redressal of day to day complaints of the students. Besides, CDC will do efforts to hone the professional skills of the graduating students and will also work as Placement Office for KIU students and alumni by sharing information regarding job opportunities.
Transport facilities are available within the municipal limits of Gilgit city on specific routes at prescribed charges. The university has limited transport facilities and students may be bussed on first come first served bases. Currently, KIU has 4 buses, 2 Coasters and 2 Hi-aces to transport students, faculty and staff to and from the University campus.
Two hostels of KIU accommodate around 250 girl students. Hostels are located within the campus and provide excellent boarding and lodging facilities within reasonable rates. Senior female professors supervise the hostel mothers.
HEC has provided full access to Microsoft genuine softwares in collaboration with Microsoft. So every student, faculty and staff member have full access to the e-academy Licensing Management System (eLMS) Portal to download the complete suite of Microsoft products for their home & personal use absolutely free.
KIU has a major computer lab with a capacity of more than 60 computers for general use of students with Internet facility.


CRUEFEMDOM . AmberCurtis. LexyCox. VioletteRoss.
DarkRomeoUrNikamagicGIRL7EvaBoobsy .CelestinaStarLizaluizochkaMathiasWKarunaSanders .SmallAndreaAmyGiselleXLizaluizochkaMathiasW .Your18CutiieAnnaSlimSexyChristinneDiorChristinneDior .AylinRayMathiasWOksanaRoseAmberKeny .madisonpornxxSmallAndreaLindaMorena28aalicemoon .MichelleBertolinAmberKenyCassiaPierceMichelleBertolin .Riribelle21PooterUrNikaAlbertChase .sweetClaudiScarlettVicciGiwenaAmberKeny .SunnyElliCharleenx19MrIncredible187AllesiaBoo .SunnyElliOhLadyTastyxDickAmberCurtis .
EvaItaliaYour18CutiiexxQueenLyANGELxxPooter .LindaMorena28TsAsianWILDCOCKCassiaPierceAliceGreys .OhLadyAlbertChaseRiribelle21EvaBoobsy .LucasTastyQueenHOTkeishaArdentJohn1CelestinaStar .teszPerfPBmsNaughtyNastyxxPooterCelestinaStar .PooterVioletteRossxxQueenLyANGELxxFinestPorn .Riribelle21ManHotColombian1AmberCurtisUdy321 .QueenHOTkeishaZaraxPleasureTSTastyBunAdorableHaven .SmallAndreaMollyPrettyGirlSPICYCATHYKateBecker .ChristinneDioriamtheonlypink1LATINARDIENTEAllyonaLove .KlaasKailyandJohsCharleenx19ArdentJohn1 .


Founders Federal Credit Union has a proud legacy of giving and service. Supporting our communities is a standard within Founders and a belief guiding many of our decisions. We believe donating our time, talent and resources is equally important as the monetary support we provide each year.
Founders Federal Credit Union has been open since 1983. It's the largest credit union in South Carolina with assets totaling $2.4 Billion and providing banking services to more than 220,000 members.
The investment products sold through LPL Financial are not insured Founders Federal Credit Union deposits and are not NCUA insured. These products are not obligations of Founders Federal Credit Union and are not endorsed, recommended or guaranteed by Founders Federal Credit Union or any government agency.
Apr 01, 2019 · Founders Federal Credit Union was originally known as Springs Employee Federal Credit Union. It began as one room inside a plant in Fort Mill, S.C., after the president of the company realized his laborers were being taken advantage of by predatory lenders.
Founders Federal Credit Union. 12 of 13. Other Photos from this Project. Save this Photo; Founders Federal Credit Union. 13 of 13. Other Photos from this Project.


text:
@interface ZZLayoutConstraintMaker : NSObject

@property (nonatomic, strong, readonly) ZZHelperConstraint *left;
@property (nonatomic, strong, readonly) ZZHelperConstraint *top;
@property (nonatomic, strong, readonly) ZZHelperConstraint *right;
@property (nonatomic, strong, readonly) ZZHelperConstraint *bottom;
@property (nonatomic, strong, readonly) ZZHelperConstraint *width;
@property (nonatomic, strong, readonly) ZZHelperConstraint *height;
@property (nonatomic, strong, readonly) ZZHelperConstraint *centerX;
@property (nonatomic, strong, readonly) ZZHelperConstraint *centerY;

@property (nonatomic, readonly) NSMutableArray *constraints;

- (instancetype)initWithItem:(ZZLayoutItem *)item;

- (void)install;

@end


Many travellers are searching for What To Do In Pattaya For Families, When I think about this city I think about the great beaches that it has, all the beautiful people that you will see, all the water sports that you can engage in. It is possible to go to the city and only focus only on those things. Those are pretty great things to focus on and you will have a wonderful time engaging in them. But the city has a little bit more to offer than just the typical beach city vibe that most other cities have. You can find What To Do In Pattaya For Families travel information.
What To Do In Pattaya For Families, A great amount of various things you can do. We are all aware that it city is known for its party and as well as its beaches however it is noted for a lot more than that too. There are a variety of things from the city that people miss simply because they only come here to party. Now, we notice no problem with partying and hanging on the beach all day long if that is what you only want to do but if you would like have a more memorable vacation and ingest everything that the city is offering look away from the typical tourist traps that are there for typical people to become involved in. Perhaps have a cultural vacation to, perhaps focus on learning your local people too, perhaps likely to seeing a lot of the natural resources this area has, visit a museum, visit a temple, go to a cave and meditate. There are so many different things you can do here which you will waste your time and energy just centering on one singular thing. Consume anything that the metropolis provides you while your on holiday to help you use a total experience.
This city has a lot for all to accomplish. Yet it is your decision to determine what sort of vacation you truly want. In case your goal is luxury and leisure you can definitely realize that here. You will discover some of the finest spas in the world which will pamper you like you happen to be king or queen. If you want to party around the beach into the early hours in the morning, you will discover no shortage of opportunities to achieve that daily of the week. If you want to possess a cultural vacation I found out about the religion from the background of the spot you will find many opportunities to achieve that. If you wish to have a more outdoors in general vacation you could do that within the mountains or about the water. This city has a lot for everyone. It will accommodate all vacation styles and all of desires. You could possibly even discover that there's a lot of to perform, which is actually a great dilemma to obtain. So no matter what sort of vacation you are searching for you are going to definitely determine what you're seeking within the city. Just come here and you will probably find what you need.
So you need to turn this dream in a reality. Many individuals never experienced their dream vacation because they never begin. They never solidified their dreams having an date that they know that they are going to carry on vacation. All of it is simply dream in their mind, something to speak about although not something they really do. Hopefully you simply will not be that sort of person and you may actually get to experience your ideal vacation. Hopefully you possess been planning all of this this time. Otherwise hopefully today is the day that you put a date to obtain your main goal. There exists a praoclaiming that the dream is really a wish but a target has a date. Hopefully you'll put an ambition has of the dream and you may select the dates that you can come here. It just takes some planning and you may find yourself here taking and all sorts of that this wonderful city provides. You'll be able to experience things that we talked about in this article firsthand. Reading it is something but experiencing this is a completely other thing, a wonderful thing.


text:
package org.apache.accumulo.manager.tableOps.tableImport;

import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;

import org.apache.accumulo.core.clientImpl.AcceptableThriftTableOperationException;
import org.apache.accumulo.core.clientImpl.thrift.TableOperation;
import org.apache.accumulo.core.clientImpl.thrift.TableOperationExceptionType;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.fate.FateTxId;
import org.apache.accumulo.fate.Repo;
import org.apache.accumulo.manager.Manager;
import org.apache.accumulo.manager.tableOps.ManagerRepo;
import org.apache.accumulo.server.fs.VolumeManager;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.Path;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.google.common.collect.Sets;

class MoveExportedFiles extends ManagerRepo {
  private static final Logger log = LoggerFactory.getLogger(MoveExportedFiles.class);

  private static final long serialVersionUID = 1L;

  private ImportedTableInfo tableInfo;

  MoveExportedFiles(ImportedTableInfo ti) {
    this.tableInfo = ti;
  }

  @Override
  public Repo<Manager> call(long tid, Manager manager) throws Exception {
    String fmtTid = FateTxId.formatTid(tid);

    int workerCount = manager.getConfiguration().getCount(Property.MANAGER_RENAME_THREADS);
    VolumeManager fs = manager.getVolumeManager();
    Map<Path,Path> oldToNewPaths = new HashMap<>();

    for (ImportedTableInfo.DirectoryMapping dm : tableInfo.directories) {
      Map<String,String> fileNameMappings = new HashMap<>();
      PopulateMetadataTable.readMappingFile(fs, tableInfo, dm.importDir, fileNameMappings);

      FileStatus[] exportedFiles = fs.listStatus(new Path(dm.exportDir));
      FileStatus[] importedFiles = fs.listStatus(new Path(dm.importDir));

      Function<FileStatus,String> fileStatusName = fstat -> fstat.getPath().getName();

      Set<String> importing = Arrays.stream(exportedFiles).map(fileStatusName)
          .map(fileNameMappings::get).collect(Collectors.toSet());

      Set<String> imported =
          Arrays.stream(importedFiles).map(fileStatusName).collect(Collectors.toSet());

      if (log.isDebugEnabled()) {
        log.debug("{} files already present in imported (target) directory: {}", fmtTid,
            String.join(",", imported));
      }

      Set<String> missingFiles = Sets.difference(new HashSet<>(fileNameMappings.values()),
          new HashSet<>(Sets.union(importing, imported)));

      if (!missingFiles.isEmpty()) {
        throw new AcceptableThriftTableOperationException(tableInfo.tableId.canonical(),
            tableInfo.tableName, TableOperation.IMPORT, TableOperationExceptionType.OTHER,
            "Missing source files corresponding to files " + String.join(",", missingFiles));
      }

      for (FileStatus fileStatus : exportedFiles) {
        Path originalPath = fileStatus.getPath();
        String newName = fileNameMappings.get(originalPath.getName());
        // Need to exclude any other files which may be present in the exported directory
        if (newName != null) {
          Path newPath = new Path(dm.importDir, newName);

          // No try-catch here, as we do not expect any "benign" exceptions. Prior code already
          // accounts for files which were already moved. So anything returned by the rename
          // operation would be truly unexpected
          oldToNewPaths.put(originalPath, newPath);
        } else {
          log.debug("{} not moving (unmapped) file {}", fmtTid, originalPath);
        }
      }
    }
    try {
      fs.bulkRename(oldToNewPaths, workerCount, "importtable rename", fmtTid);
    } catch (IOException ioe) {
      throw new AcceptableThriftTableOperationException(tableInfo.tableId.canonical(), null,
          TableOperation.IMPORT, TableOperationExceptionType.OTHER, ioe.getCause().getMessage());
    }

    return new FinishImportTable(tableInfo);
  }
}


text:
LaBahn Arena is the home ice of the Wisconsin Badgers women's ice hockey team.  It was the second arena to be purpose-built for a women's collegiate hockey team; the first was Minnesota's Ridder Arena. The arena is connected via a tunnel to the Kohl Center, which the women's team shared with the men's team from its inception in 1999 until 2012. The men's team also practices there. The facility also houses locker rooms for the swimming and diving teams.

Naming
The arena is named for longtime Badger boosters Chuck and Mary Ann LaBahn, its main fundraisers.

Background
Before 2012, the women's ice hockey team drove from its headquarters at the Camp Randall Memorial Sports Center to the Kohl Center. Whenever the Kohl Center was being readied for a basketball game, the women drove to a rink in nearby Verona for practice. The men often practiced at the Bob Johnson Hockey Facility three miles from campus or the Memorial Sports Center when the Kohl Center was being readied for basketball. Some questioned the safety of the players during these drives, especially during Madison's often snowy and icy winters.

In the 2020-21 season, the men's ice hockey team also played at LaBahn Arena for cost and league reasons.  As the Big Ten Conference mandated all conference games be played behind closed doors, and the cost of converting Kohl Center between basketball and hockey during the pandemic without attendance, the team played games at LaBahn, which also serves as the backup venue for men.

References

External links
Info page at UWBadgers.com

Indoor arenas in Wisconsin
College ice hockey venues in the United States
University of Wisconsin–Madison
Sports venues in Madison, Wisconsin
Indoor ice hockey venues in Wisconsin

redpajama_set_name: RedPajamaWikipedia