// Path: app/src/main/java/be/artoria/belfortapp/mixare/lib/marker/draw/ParcelableProperty.java
// public class ParcelableProperty implements Parcelable {
// 
// 	private String className;
// 	private Parcelable object;
// 
// 	public ParcelableProperty(String className, Parcelable object) {
// 		this.className = className;
// 		this.object = object;
// 	}
// 
// 	public static final Parcelable.Creator<ParcelableProperty> CREATOR = new Parcelable.Creator<ParcelableProperty>() {
// 		public ParcelableProperty createFromParcel(Parcel in) {
// 			return new ParcelableProperty(in);
// 		}
// 
// 		public ParcelableProperty[] newArray(int size) {
// 			return new ParcelableProperty[size];
// 		}
// 	};
// 
// 	private ParcelableProperty(Parcel in) {
// 		className = in.readString();
// 		object = in.readParcelable(getClassLoader());
// 	}
// 
// 	public ClassLoader getClassLoader() {
// 		try {
// 			return Class.forName(className).getClassLoader();
// 		} catch (ClassNotFoundException e) {
// 			throw new RuntimeException();
// 		}
// 	}
// 
// 	public Parcelable getObject() {
// 		return object;
// 	}
// 
// 	@Override
// 	public int describeContents() {
// 		return 0;
// 	}
// 
// 	@Override
// 	public void writeToParcel(Parcel dest, int flags) {
// 		dest.writeString(className);
// 		dest.writeParcelable(object, 0);
// 	}
// 
// }
// 
// Path: app/src/main/java/be/artoria/belfortapp/mixare/lib/marker/draw/PrimitiveProperty.java
// public class PrimitiveProperty implements Parcelable {
// 
// 	private String primitivename;
// 	private Object object;
// 
// 	public enum primitive {
// 		STRING, INT, DOUBLE, FLOAT, LONG, BYTE;
// 	}
// 
// 	public PrimitiveProperty(String primitivename, Object object) {
// 		this.primitivename = primitivename;
// 		this.object = object;
// 	}
// 
// 	public PrimitiveProperty(Parcel in) {
// 		primitivename = in.readString();
// 		if (primitivename.equals(primitive.STRING.name())) {
// 			object = in.readString();
// 		}
// 		else if (primitivename.equals(primitive.INT.name())) {
// 			object = in.readInt();
// 		}
// 		else if (primitivename.equals(primitive.DOUBLE.name())) {
// 			object = in.readDouble();
// 		}
// 		else if (primitivename.equals(primitive.FLOAT.name())) {
// 			object = in.readFloat();
// 		}
// 		else if (primitivename.equals(primitive.LONG.name())) {
// 			object = in.readLong();
// 		}
// 		else if (primitivename.equals(primitive.BYTE.name())) {
// 			in.readByteArray((byte[])object);
// 		}
// 	}
// 
// 	public static final Parcelable.Creator<PrimitiveProperty> CREATOR = new Parcelable.Creator<PrimitiveProperty>() {
// 		public PrimitiveProperty createFromParcel(Parcel in) {
// 			return new PrimitiveProperty(in);
// 		}
// 
// 		public PrimitiveProperty[] newArray(int size) {
// 			return new PrimitiveProperty[size];
// 		}
// 	};
// 
// 	public Object getObject() {
// 		return object;
// 	}
// 
// 	@Override
// 	public int describeContents() {
// 		return 0;
// 	}
// 
// 	@Override
// 	public void writeToParcel(Parcel dest, int flags) {
// 		dest.writeString(primitivename);
// 		if (primitivename.equals(primitive.STRING.name())) {
// 			dest.writeString((String)object);
// 		}
// 		else if (primitivename.equals(primitive.INT.name())) {
// 			dest.writeInt((Integer)object);
// 		}
// 		else if (primitivename.equals(primitive.DOUBLE.name())) {
// 			dest.writeDouble((Double)object);
// 		}
// 		else if (primitivename.equals(primitive.FLOAT.name())) {
// 			dest.writeFloat((Float)object);
// 		}
// 		else if (primitivename.equals(primitive.LONG.name())) {
// 			dest.writeLong((Long)object);
// 		}
// 		else if (primitivename.equals(primitive.BYTE.name())) {
// 			dest.writeByteArray((byte[])object);
// 		}
// 	}
// 
// }
// 
// Path: app/src/main/java/be/artoria/belfortapp/mixare/lib/marker/draw/PrimitiveProperty.java
// public enum primitive {
// 	STRING, INT, DOUBLE, FLOAT, LONG, BYTE;
// }


import java.util.HashMap;
import java.util.Map;
import be.artoria.belfortapp.mixare.lib.marker.draw.ParcelableProperty;
import be.artoria.belfortapp.mixare.lib.marker.draw.PrimitiveProperty;
import be.artoria.belfortapp.mixare.lib.marker.draw.PrimitiveProperty.primitive;
import android.os.Parcel;
import android.os.Parcelable;
		constr[7] = colour;
	}
	
	public InitialMarkerData(Parcel in) {
		readParcel(in);
	}
	
	public void setMarkerName(String markerName) {
		this.markerName = markerName;
	}
	
	public String getMarkerName() {
		return markerName;
	}
	
	public static final Parcelable.Creator<InitialMarkerData> CREATOR = new Parcelable.Creator<InitialMarkerData>() {
		public InitialMarkerData createFromParcel(Parcel in) {
			return new InitialMarkerData(in);
		}

		public InitialMarkerData[] newArray(int size) {
			return new InitialMarkerData[size];
		}
	};
	
	public void setExtras(String name, int value){
		extraPrimitives.put(name, new PrimitiveProperty(primitive.INT.name(), value));
	}
	
	public void setExtras(String name, String value){
// Path: app/src/main/java/be/artoria/belfortapp/mixare/lib/marker/draw/ParcelableProperty.java
// public class ParcelableProperty implements Parcelable {
// 
// 	private String className;
// 	private Parcelable object;
// 
// 	public ParcelableProperty(String className, Parcelable object) {
// 		this.className = className;
// 		this.object = object;
// 	}
// 
// 	public static final Parcelable.Creator<ParcelableProperty> CREATOR = new Parcelable.Creator<ParcelableProperty>() {
// 		public ParcelableProperty createFromParcel(Parcel in) {
// 			return new ParcelableProperty(in);
// 		}
// 
// 		public ParcelableProperty[] newArray(int size) {
// 			return new ParcelableProperty[size];
// 		}
// 	};
// 
// 	private ParcelableProperty(Parcel in) {
// 		className = in.readString();
// 		object = in.readParcelable(getClassLoader());
// 	}
// 
// 	public ClassLoader getClassLoader() {
// 		try {
// 			return Class.forName(className).getClassLoader();
// 		} catch (ClassNotFoundException e) {
// 			throw new RuntimeException();
// 		}
// 	}
// 
// 	public Parcelable getObject() {
// 		return object;
// 	}
// 
// 	@Override
// 	public int describeContents() {
// 		return 0;
// 	}
// 
// 	@Override
// 	public void writeToParcel(Parcel dest, int flags) {
// 		dest.writeString(className);
// 		dest.writeParcelable(object, 0);
// 	}
// 
// }
// 
// Path: app/src/main/java/be/artoria/belfortapp/mixare/lib/marker/draw/PrimitiveProperty.java
// public class PrimitiveProperty implements Parcelable {
// 
// 	private String primitivename;
// 	private Object object;
// 
// 	public enum primitive {
// 		STRING, INT, DOUBLE, FLOAT, LONG, BYTE;
// 	}
// 
// 	public PrimitiveProperty(String primitivename, Object object) {
// 		this.primitivename = primitivename;
// 		this.object = object;
// 	}
// 
// 	public PrimitiveProperty(Parcel in) {
// 		primitivename = in.readString();
// 		if (primitivename.equals(primitive.STRING.name())) {
// 			object = in.readString();
// 		}
// 		else if (primitivename.equals(primitive.INT.name())) {
// 			object = in.readInt();
// 		}
// 		else if (primitivename.equals(primitive.DOUBLE.name())) {
// 			object = in.readDouble();
// 		}
// 		else if (primitivename.equals(primitive.FLOAT.name())) {
// 			object = in.readFloat();
// 		}
// 		else if (primitivename.equals(primitive.LONG.name())) {
// 			object = in.readLong();
// 		}
// 		else if (primitivename.equals(primitive.BYTE.name())) {
// 			in.readByteArray((byte[])object);
// 		}
// 	}
// 
// 	public static final Parcelable.Creator<PrimitiveProperty> CREATOR = new Parcelable.Creator<PrimitiveProperty>() {
// 		public PrimitiveProperty createFromParcel(Parcel in) {
// 			return new PrimitiveProperty(in);
// 		}
// 
// 		public PrimitiveProperty[] newArray(int size) {
// 			return new PrimitiveProperty[size];
// 		}
// 	};
// 
// 	public Object getObject() {
// 		return object;
// 	}
// 
// 	@Override
// 	public int describeContents() {
// 		return 0;
// 	}
// 
// 	@Override
// 	public void writeToParcel(Parcel dest, int flags) {
// 		dest.writeString(primitivename);
// 		if (primitivename.equals(primitive.STRING.name())) {
// 			dest.writeString((String)object);
// 		}
// 		else if (primitivename.equals(primitive.INT.name())) {
// 			dest.writeInt((Integer)object);
// 		}
// 		else if (primitivename.equals(primitive.DOUBLE.name())) {
// 			dest.writeDouble((Double)object);
// 		}
// 		else if (primitivename.equals(primitive.FLOAT.name())) {
// 			dest.writeFloat((Float)object);
// 		}
// 		else if (primitivename.equals(primitive.LONG.name())) {
// 			dest.writeLong((Long)object);
// 		}
// 		else if (primitivename.equals(primitive.BYTE.name())) {
// 			dest.writeByteArray((byte[])object);
// 		}
// 	}
// 
// }
// 
// Path: app/src/main/java/be/artoria/belfortapp/mixare/lib/marker/draw/PrimitiveProperty.java
// public enum primitive {
// 	STRING, INT, DOUBLE, FLOAT, LONG, BYTE;
// }


// Path: app/src/main/java/be/artoria/belfortapp/mixare/lib/marker/InitialMarkerData.java
import java.util.HashMap;
import java.util.Map;
import be.artoria.belfortapp.mixare.lib.marker.draw.ParcelableProperty;
import be.artoria.belfortapp.mixare.lib.marker.draw.PrimitiveProperty;
import be.artoria.belfortapp.mixare.lib.marker.draw.PrimitiveProperty.primitive;
import android.os.Parcel;
import android.os.Parcelable;

		constr[7] = colour;
	}
	
	public InitialMarkerData(Parcel in) {
		readParcel(in);
	}
	
	public void setMarkerName(String markerName) {
		this.markerName = markerName;
	}
	
	public String getMarkerName() {
		return markerName;
	}
	
	public static final Parcelable.Creator<InitialMarkerData> CREATOR = new Parcelable.Creator<InitialMarkerData>() {
		public InitialMarkerData createFromParcel(Parcel in) {
			return new InitialMarkerData(in);
		}

		public InitialMarkerData[] newArray(int size) {
			return new InitialMarkerData[size];
		}
	};
	
	public void setExtras(String name, int value){
		extraPrimitives.put(name, new PrimitiveProperty(primitive.INT.name(), value));
	}
	
	public void setExtras(String name, String value){
		extraPrimitives.put(name, new PrimitiveProperty(primitive.STRING.name(), value));