Index: /applications/editors/josm/plugins/opendata/build.xml
===================================================================
--- /applications/editors/josm/plugins/opendata/build.xml	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/build.xml	(revision 30563)
@@ -8,11 +8,16 @@
     <property name="plugin.link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/OpenData"/>
     <property name="plugin.requires" value="jts;geotools;utilsplugin2"/>
+    <fileset id="plugin.requires.jars" dir="../../dist">
+        <include name="jts.jar"/>
+        <include name="geotools.jar"/>
+        <include name="opendata.jar"/>
+    </fileset>
 
     <!-- ** include targets that all plugins have in common ** -->
     <import file="../build-common.xml"/>
-	
+    
     <property name="jts" location="${plugin.dist.dir}/jts.jar"/>
     <property name="geotools" location="${plugin.dist.dir}/geotools.jar"/>
-	
+    
     <!--
     **********************************************************
@@ -50,8 +55,8 @@
         <echo message="compiling JOpenDocument ... "/>
         <javac srcdir="includes/org/jopendocument" debug="false" destdir="${plugin.build.dir}" includeAntRuntime="false" encoding="ISO-8859-1" >
-        	<classpath>
-        		<!-- JDOM is required and embededd in geotools jar -->
-        		<pathelement location="${geotools}"/>
-        	</classpath>
+            <classpath>
+                <!-- JDOM is required and embedded in geotools jar -->
+                <pathelement location="${geotools}"/>
+            </classpath>
         </javac>
     </target>
@@ -80,8 +85,8 @@
     -->
     <target name="compile" depends="init, compile_lang3, compile_poi, compile_jopendoc, compile_neptune, compile_j7zip">
-        <echo message="compiling sources for  ${plugin.jar} ... "/>
+        <echo message="compiling sources for ${plugin.jar} ... "/>
         <javac srcdir="src" debug="true" destdir="${plugin.build.dir}" includeAntRuntime="false" encoding="UTF-8">
             <classpath>
-        	    <pathelement path="${plugin.build.dir}"/>
+                <pathelement path="${plugin.build.dir}"/>
                 <pathelement location="${josm}"/>
                 <pathelement location="${jts}"/>
@@ -98,5 +103,5 @@
           </classpath>
     </taskdef>
-	
+    
     <target name="xjc_neptune">
         <xjc schema="resources/neptune/neptune.xsd" destdir="includes" package="neptune" target="2.1" />
Index: /applications/editors/josm/plugins/opendata/modules/be.bruxelles/src/org/openstreetmap/josm/plugins/opendata/modules/be/bruxelles/BruxellesConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/be.bruxelles/src/org/openstreetmap/josm/plugins/opendata/modules/be/bruxelles/BruxellesConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/be.bruxelles/src/org/openstreetmap/josm/plugins/opendata/modules/be/bruxelles/BruxellesConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.modules.be.bruxelles;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface BruxellesConstants extends OdConstants {
+public interface BruxellesConstants {
 	
 	/**
Index: /applications/editors/josm/plugins/opendata/modules/be.datagovbe/src/org/openstreetmap/josm/plugins/opendata/modules/be/datagovbe/DataGovBeConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/be.datagovbe/src/org/openstreetmap/josm/plugins/opendata/modules/be/datagovbe/DataGovBeConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/be.datagovbe/src/org/openstreetmap/josm/plugins/opendata/modules/be/datagovbe/DataGovBeConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.modules.be.datagovbe;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface DataGovBeConstants extends OdConstants {
+public interface DataGovBeConstants {
 	
 	/**
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/culture/BibliothequesHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/culture/BibliothequesHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/culture/BibliothequesHandler.java	(revision 30563)
@@ -4,4 +4,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.datagouvfr.datasets.DataGouvDataSetHandler;
 
@@ -12,5 +13,5 @@
 		setName("Bibliothèques municipales");
 		setDownloadFileName("lieux de lecture_geoloc.txt");
-		getCsvHandler().setCharset(ISO8859_15);
+		getCsvHandler().setCharset(OdConstants.ISO8859_15);
 	}
 
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/education/Etab1er2ndDegreHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/education/Etab1er2ndDegreHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/education/Etab1er2ndDegreHandler.java	(revision 30563)
@@ -6,4 +6,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.tabular.DefaultCsvHandler;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.datagouvfr.datasets.DataGouvDataSetHandler;
@@ -14,5 +15,5 @@
 		
 		public EtabCsvHandler() {
-			setCharset(ISO8859_15);
+			setCharset(OdConstants.ISO8859_15);
 			setHandlesProjection(true);
 		}
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/transport/PassageNiveauHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/transport/PassageNiveauHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/transport/PassageNiveauHandler.java	(revision 30563)
@@ -4,4 +4,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.datagouvfr.datasets.DataGouvDataSetHandler;
 
@@ -12,5 +13,5 @@
 		setName("Passages à niveau");
 		setDownloadFileName("passage_a_niveau.csv");
-		getCsvHandler().setCharset(ISO8859_15);
+		getCsvHandler().setCharset(OdConstants.ISO8859_15);
 	}
 
Index: /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/ParisConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/ParisConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/ParisConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.modules.fr.paris;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface ParisConstants extends OdConstants {
+public interface ParisConstants {
 		
 	/**
Index: /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/ParisShpHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/ParisShpHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/ParisShpHandler.java	(revision 30563)
@@ -14,9 +14,10 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.fr.FrenchShpHandler;
 
 public class ParisShpHandler extends FrenchShpHandler {
 	
-	public final Map<String, Node> nodeMap = new HashMap<String, Node>();
+	public final Map<String, Node> nodeMap = new HashMap<>();
 	
 	protected OsmPrimitive dataPrimitive;
@@ -26,5 +27,5 @@
 	
 	public ParisShpHandler() {
-		setDbfCharset(Charset.forName(CP850));
+		setDbfCharset(Charset.forName(OdConstants.CP850));
 	}
 	
@@ -55,6 +56,6 @@
 		dataPrimitive = null;
 		closedWay = null;
-		ways = new ArrayList<Way>();
-		nodes = new ArrayList<Node>();
+		ways = new ArrayList<>();
+		nodes = new ArrayList<>();
 		for (OsmPrimitive p : featurePrimitives) {
 			if (p.hasKeys()) {
Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ChantiersPonctuelsHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ChantiersPonctuelsHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ChantiersPonctuelsHandler.java	(revision 30563)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse.datasets.transport;
+
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
 public class ChantiersPonctuelsHandler extends ChantiersHandler {
@@ -6,5 +8,5 @@
     public ChantiersPonctuelsHandler() {
         super(14071, "Chantiers en cours (ponctuel)");
-        getCsvHandler().setCharset(ISO8859_15);
+        getCsvHandler().setCharset(OdConstants.ISO8859_15);
     }
 
Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ReseauTisseoHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ReseauTisseoHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ReseauTisseoHandler.java	(revision 30563)
@@ -8,4 +8,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.NeptuneReader;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse.datasets.ToulouseDataSetHandler;
@@ -25,10 +26,11 @@
     @Override
     public boolean acceptsFilename(String filename) {
-        return acceptsZipFilename(filename, "14022-reseau-tisseo-metro-bus-tram-") || filename.toLowerCase().endsWith(XML_EXT);
+        return acceptsZipFilename(filename, "14022-reseau-tisseo-metro-bus-tram-") || filename.toLowerCase().endsWith(OdConstants.XML_EXT);
     }
     
     @Override
     public boolean acceptsFile(File file) {
-        return acceptsFilename(file.getName()) && (file.getName().toLowerCase().endsWith(ZIP_EXT) || NeptuneReader.acceptsXmlNeptuneFile(file, neptuneSchemaUrl));
+        return acceptsFilename(file.getName()) 
+                && (file.getName().toLowerCase().endsWith(OdConstants.ZIP_EXT) || NeptuneReader.acceptsXmlNeptuneFile(file, neptuneSchemaUrl));
     }
 
Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/StationsAutoPartageHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/StationsAutoPartageHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/StationsAutoPartageHandler.java	(revision 30563)
@@ -4,4 +4,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse.datasets.ToulouseDataSetHandler;
 
@@ -12,5 +13,5 @@
         setName("Stations d'auto partage");
         setCategory(CAT_TRANSPORT);
-        getCsvHandler().setCharset(ISO8859_15);
+        getCsvHandler().setCharset(OdConstants.ISO8859_15);
     }
 
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/OdPlugin.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/OdPlugin.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/OdPlugin.java	(revision 30563)
@@ -22,5 +22,4 @@
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.plugins.PluginInformation;
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.actions.DownloadDataAction;
 import org.openstreetmap.josm.plugins.opendata.core.actions.DownloadDataTask;
@@ -47,5 +46,5 @@
 import org.openstreetmap.josm.tools.Pair;
 
-public final class OdPlugin extends Plugin implements OdConstants {
+public final class OdPlugin extends Plugin {
 
 	private static OdPlugin instance;
@@ -102,5 +101,5 @@
 	private void buildMenu() {
         for (Module module : ModuleHandler.moduleList) {
-        	Map<DataSetCategory, JMenu> catMenus = new HashMap<DataSetCategory, JMenu>();
+        	Map<DataSetCategory, JMenu> catMenus = new HashMap<>();
         	JMenu moduleMenu = null;
         	for (AbstractDataSetHandler handler: module.getNewlyInstanciatedHandlers()) {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/OdConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/OdConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/OdConstants.java	(revision 30563)
@@ -1,16 +1,13 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.opendata.core;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.projection.Projections;
 import org.openstreetmap.josm.plugins.opendata.core.io.LambertCC9ZonesProjectionPatterns;
 import org.openstreetmap.josm.plugins.opendata.core.io.ProjectionPatterns;
 
-public interface OdConstants {
+public abstract class OdConstants {
 	
 	/**
@@ -20,4 +17,5 @@
 	public static final String ISO8859_15 = "ISO-8859-15";
 	public static final String CP850 = "Cp850";
+    public static final String CP1251 = "Cp1251";
 	public static final String CP1252 = "Cp1252";
 	public static final String MAC_ROMAN = "MacRoman";
@@ -100,18 +98,4 @@
     
     /**
-     * File filter used in import/export dialogs.
-     */
-    public static final ExtensionFileFilter CSV_FILE_FILTER = new ExtensionFileFilter(CSV_EXT, CSV_EXT, tr("CSV files") + " (*."+CSV_EXT+")");
-    public static final ExtensionFileFilter XLS_FILE_FILTER = new ExtensionFileFilter(XLS_EXT, XLS_EXT, tr("XLS files") + " (*."+XLS_EXT+")");
-    public static final ExtensionFileFilter ODS_FILE_FILTER = new ExtensionFileFilter(ODS_EXT, ODS_EXT, tr("ODS files") + " (*."+ODS_EXT+")");
-    public static final ExtensionFileFilter SHP_FILE_FILTER = new ExtensionFileFilter(SHP_EXT, SHP_EXT, tr("Shapefiles") + " (*."+SHP_EXT+")");
-    public static final ExtensionFileFilter MIF_TAB_FILE_FILTER = new ExtensionFileFilter(MIF_EXT+","+TAB_EXT, MIF_EXT, tr("MapInfo files") + " (*."+MIF_EXT+",*."+TAB_EXT+")");
-    public static final ExtensionFileFilter KML_KMZ_FILE_FILTER = new ExtensionFileFilter(KML_EXT+","+KMZ_EXT, KMZ_EXT, tr("KML/KMZ files") + " (*."+KML_EXT+",*."+KMZ_EXT+")");
-    public static final ExtensionFileFilter GML_FILE_FILTER = new ExtensionFileFilter(GML_EXT, GML_EXT, tr("GML files") + " (*."+GML_EXT+")");
-    public static final ExtensionFileFilter ZIP_FILE_FILTER = new ExtensionFileFilter(ZIP_EXT, ZIP_EXT, tr("Zip Files") + " (*."+ZIP_EXT+")");
-    public static final ExtensionFileFilter SEVENZIP_FILE_FILTER = new ExtensionFileFilter(SEVENZIP_EXT, SEVENZIP_EXT, tr("7Zip Files") + " (*."+SEVENZIP_EXT+")");
-    public static final ExtensionFileFilter XML_FILE_FILTER = new ExtensionFileFilter(XML_EXT, XML_EXT, tr("OpenData XML files") + " (*."+XML_EXT+")");
-    
-    /**
      * Coordinates fields
      */
@@ -120,5 +104,5 @@
     
     // The list of all ProjectionPatterns (filled at each constructor call)
-    public static final Collection<ProjectionPatterns> PROJECTIONS = new ArrayList<ProjectionPatterns>();
+    public static final Collection<ProjectionPatterns> PROJECTIONS = new ArrayList<>();
     
     public static final ProjectionPatterns PRJ_WGS84 = new ProjectionPatterns("GPS|WGS84|°décimaux", Projections.getProjectionByCode("EPSG:4326"));
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/DownloadDataTask.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/DownloadDataTask.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/DownloadDataTask.java	(revision 30563)
@@ -16,5 +16,4 @@
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.DataSetUpdater;
@@ -26,5 +25,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.modules.ModuleHandler;
 
-public class DownloadDataTask extends DownloadOsmTask implements OdConstants {
+public class DownloadDataTask extends DownloadOsmTask {
 
 	private AbstractDataSetHandler handler;
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/OpenLinkAction.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/OpenLinkAction.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/OpenLinkAction.java	(revision 30563)
@@ -16,5 +16,5 @@
 
 @SuppressWarnings("serial")
-public class OpenLinkAction extends JosmAction implements OdConstants {
+public class OpenLinkAction extends JosmAction {
 
     private URL url;
@@ -37,5 +37,5 @@
 				if (index > -1) {
 					String s = url.toString().substring(index, index+1);
-					s = url.toString().replace(s, URLEncoder.encode(s, UTF8));
+					s = url.toString().replace(s, URLEncoder.encode(s, OdConstants.UTF8));
 					URI uri = new URI(s);
 		        	System.out.println("Opening "+uri);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/OpenPreferencesActions.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/OpenPreferencesActions.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/OpenPreferencesActions.java	(revision 30563)
@@ -13,10 +13,10 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 
-public class OpenPreferencesActions extends JosmAction implements OdConstants {
+public class OpenPreferencesActions extends JosmAction {
 	
     public OpenPreferencesActions() {
     	super(false);
         putValue(NAME, tr("OpenData preferences"));
-        putValue(SMALL_ICON, ImageProvider.get("dialogs", ICON_CORE_24));
+        putValue(SMALL_ICON, ImageProvider.get("dialogs", OdConstants.ICON_CORE_24));
 		putValue("toolbar", "opendata_open_preferences");
     }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/ViewLicenseAction.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/ViewLicenseAction.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/ViewLicenseAction.java	(revision 30563)
@@ -14,5 +14,5 @@
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 
-public class ViewLicenseAction extends JosmAction implements OdConstants {
+public class ViewLicenseAction extends JosmAction {
 
 	private final License license;
@@ -22,5 +22,5 @@
 		CheckParameterUtil.ensureParameterNotNull(license, "license");
 		this.license = license;
-        putValue(Action.SMALL_ICON, OdUtils.getImageIcon(ICON_AGREEMENT_24));
+        putValue(Action.SMALL_ICON, OdUtils.getImageIcon(OdConstants.ICON_AGREEMENT_24));
 	}
 
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/AbstractDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/AbstractDataSetHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/AbstractDataSetHandler.java	(revision 30563)
@@ -35,5 +35,5 @@
 import org.openstreetmap.josm.tools.Pair;
 
-public abstract class AbstractDataSetHandler implements OdConstants {
+public abstract class AbstractDataSetHandler {
 	
 	public abstract boolean acceptsFilename(String filename);
@@ -98,65 +98,65 @@
 	
 	protected final boolean acceptsCsvFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, CSV_EXT);
+		return acceptsFilename(filename, expected, OdConstants.CSV_EXT);
 	}
 
 	protected final boolean acceptsXlsFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, XLS_EXT);
+		return acceptsFilename(filename, expected, OdConstants.XLS_EXT);
 	}
 
 	protected final boolean acceptsOdsFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, ODS_EXT);
+		return acceptsFilename(filename, expected, OdConstants.ODS_EXT);
 	}
 
 	protected final boolean acceptsShpFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, SHP_EXT);
+		return acceptsFilename(filename, expected, OdConstants.SHP_EXT);
 	}
 
 	protected final boolean acceptsMifFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, MIF_EXT);
+		return acceptsFilename(filename, expected, OdConstants.MIF_EXT);
 	}
 
 	protected final boolean acceptsMifTabFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, MIF_EXT, TAB_EXT);
+		return acceptsFilename(filename, expected, OdConstants.MIF_EXT, OdConstants.TAB_EXT);
 	}
 
 	protected final boolean acceptsShpMifFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, SHP_EXT, MIF_EXT);
+		return acceptsFilename(filename, expected, OdConstants.SHP_EXT, OdConstants.MIF_EXT);
 	}
 
 	protected final boolean acceptsKmlFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, KML_EXT);
+		return acceptsFilename(filename, expected, OdConstants.KML_EXT);
 	}
 
 	protected final boolean acceptsKmzFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, KMZ_EXT);
+		return acceptsFilename(filename, expected, OdConstants.KMZ_EXT);
 	}
 
 	protected final boolean acceptsKmzShpFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, KMZ_EXT, SHP_EXT);
+		return acceptsFilename(filename, expected, OdConstants.KMZ_EXT, OdConstants.SHP_EXT);
 	}
 
 	protected final boolean acceptsKmzTabFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, KMZ_EXT, TAB_EXT);
+		return acceptsFilename(filename, expected, OdConstants.KMZ_EXT, OdConstants.TAB_EXT);
 	}
 
 	protected final boolean acceptsZipFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, ZIP_EXT);
+		return acceptsFilename(filename, expected, OdConstants.ZIP_EXT);
 	}
 
     protected final boolean accepts7ZipFilename(String filename, String ... expected) {
-        return acceptsFilename(filename, expected, SEVENZIP_EXT);
+        return acceptsFilename(filename, expected, OdConstants.SEVENZIP_EXT);
     }
 
 	protected final boolean acceptsCsvKmzFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, CSV_EXT, KMZ_EXT);
+		return acceptsFilename(filename, expected, OdConstants.CSV_EXT, OdConstants.KMZ_EXT);
 	}
 
 	protected final boolean acceptsCsvKmzTabFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, CSV_EXT, KMZ_EXT, TAB_EXT);
+		return acceptsFilename(filename, expected, OdConstants.CSV_EXT, OdConstants.KMZ_EXT, OdConstants.TAB_EXT);
 	}
 		
 	protected final boolean acceptsCsvXlsFilename(String filename, String ... expected) {
-		return acceptsFilename(filename, expected, CSV_EXT, XLS_EXT);
+		return acceptsFilename(filename, expected, OdConstants.CSV_EXT, OdConstants.XLS_EXT);
 	}
 	
@@ -276,5 +276,5 @@
 	
 	public final Collection<IPrimitive> extractRelevantPrimitives(DataSet ds) {
-		ArrayList<IPrimitive> result = new ArrayList<IPrimitive>();
+		ArrayList<IPrimitive> result = new ArrayList<>();
 		for (IPrimitive p : ds.allPrimitives()) {
 			if (isRelevant(p)) {
@@ -363,13 +363,13 @@
 
 	public String getLocalPortalIconName() {
-		return ICON_CORE_24;
+		return OdConstants.ICON_CORE_24;
 	}
 		
 	public String getNationalPortalIconName() {
-		return ICON_CORE_24;
+		return OdConstants.ICON_CORE_24;
 	}
 		
 	public String getDataLayerIconName() {
-		return ICON_CORE_16;
+		return OdConstants.ICON_CORE_16;
 	}
 	
@@ -387,7 +387,7 @@
 
 	protected final ExtendedSourceEntry getMapPaintStyle(String displayName, String fileNameWithoutExtension) {
-		return new ExtendedSourceEntry(displayName,	PROTO_RSRC+//"/"+
+		return new ExtendedSourceEntry(displayName,	OdConstants.PROTO_RSRC+//"/"+
 				this.getClass().getPackage().getName().replace(".", "/")+"/"+
-				fileNameWithoutExtension+"."+MAPCSS_EXT);
+				fileNameWithoutExtension+"."+OdConstants.MAPCSS_EXT);
 	}
 	
@@ -490,5 +490,5 @@
 	// Tools
 
-	private final Collection<JosmAction> tools = new ArrayList<JosmAction>();
+	private final Collection<JosmAction> tools = new ArrayList<>();
 	
 	public final Collection<JosmAction> getTools() {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/DataSetUpdater.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/DataSetUpdater.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/DataSetUpdater.java	(revision 30563)
@@ -14,5 +14,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public abstract class DataSetUpdater implements OdConstants {
+public abstract class DataSetUpdater {
 
 	public static final void updateDataSet(DataSet dataSet, AbstractDataSetHandler handler, File associatedFile) {
@@ -25,5 +25,5 @@
 				}
 			}
-			if (!Main.pref.getBoolean(PREF_RAWDATA)) {
+			if (!Main.pref.getBoolean(OdConstants.PREF_RAWDATA)) {
 				handler.updateDataSet(dataSet);
 			}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/SimpleDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/SimpleDataSetHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/SimpleDataSetHandler.java	(revision 30563)
@@ -19,12 +19,13 @@
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.gui.mappaint.MapPaintStyles;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.OverpassApi;
 
 public abstract class SimpleDataSetHandler extends AbstractDataSetHandler {
 
-	protected static final Projection wgs84 = PRJ_WGS84.getProjection();
-
-	private final List<Tag> relevantTags = new ArrayList<Tag>();
-	private final List<Tag> forbiddenTags = new ArrayList<Tag>();
+	protected static final Projection wgs84 = OdConstants.PRJ_WGS84.getProjection();
+
+	private final List<Tag> relevantTags = new ArrayList<>();
+	private final List<Tag> forbiddenTags = new ArrayList<>();
 	
 	private final boolean relevantUnion;
@@ -152,5 +153,5 @@
 
 	protected final String[] getOverpassApiConditions() {
-		List<String> conditions = new ArrayList<String>();
+		List<String> conditions = new ArrayList<>();
 		for (Tag tag : this.relevantTags) {
 			conditions.add(OverpassApi.hasKey(tag.getKey(), tag.getValue()));
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/at/AustrianConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/at/AustrianConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/at/AustrianConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.at;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface AustrianConstants extends OdConstants {
+public interface AustrianConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/au/AustralianConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/au/AustralianConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/au/AustralianConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.au;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface AustralianConstants extends OdConstants {
+public interface AustralianConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/be/BelgianConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/be/BelgianConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/be/BelgianConstants.java	(revision 30563)
@@ -4,10 +4,10 @@
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface BelgianConstants extends OdConstants {
+public interface BelgianConstants {
 
 	/**
 	 * Portal
 	 */
-	public static final String BELGIAN_PORTAL = "http://data.gov.be/"+PATTERN_LANG+"/dataset/";
+	public static final String BELGIAN_PORTAL = "http://data.gov.be/"+OdConstants.PATTERN_LANG+"/dataset/";
 	
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/be/BelgianDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/be/BelgianDataSetHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/be/BelgianDataSetHandler.java	(revision 30563)
@@ -11,4 +11,5 @@
 import org.openstreetmap.josm.data.osm.Tag;
 import org.openstreetmap.josm.data.projection.Projection;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.SimpleDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.io.tabular.DefaultCsvHandler;
@@ -23,6 +24,6 @@
 	private String nationalPortalPathNl;
 
-	protected static final Projection lambert1972 = PRJ_LAMBERT_1972.getProjection();
-	protected static final Projection lambert2008 = PRJ_LAMBERT_2008.getProjection();
+	protected static final Projection lambert1972 = OdConstants.PRJ_LAMBERT_1972.getProjection();
+	protected static final Projection lambert2008 = OdConstants.PRJ_LAMBERT_2008.getProjection();
 	
 	protected static final Projection[] projections = new Projection[]{
@@ -104,5 +105,5 @@
 				nationalPortalPath = nationalPortalPathEn;
 			}
-			return new URL(BELGIAN_PORTAL.replace(PATTERN_LANG, lang.substring(0, 2))+nationalPortalPath);//FIXME
+			return new URL(BELGIAN_PORTAL.replace(OdConstants.PATTERN_LANG, lang.substring(0, 2))+nationalPortalPath);//FIXME
 		} catch (MalformedURLException e) {
 			e.printStackTrace();
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/ca/CanadianConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/ca/CanadianConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/ca/CanadianConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.ca;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface CanadianConstants extends OdConstants {
+public interface CanadianConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/cl/ChileanConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/cl/ChileanConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/cl/ChileanConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.cl;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface ChileanConstants extends OdConstants {
+public interface ChileanConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/es/SpanishConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/es/SpanishConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/es/SpanishConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.es;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface SpanishConstants extends OdConstants {
+public interface SpanishConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.fr;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface FrenchConstants extends OdConstants {
+public interface FrenchConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchDataSetHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchDataSetHandler.java	(revision 30563)
@@ -15,4 +15,5 @@
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.data.projection.Projections;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.SimpleDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.io.tabular.DefaultCsvHandler;
@@ -24,5 +25,5 @@
 	private String nationalPortalPath;
 
-	protected static final Projection lambert93 = PRJ_LAMBERT_93.getProjection(); // France metropolitaine
+	protected static final Projection lambert93 = OdConstants.PRJ_LAMBERT_93.getProjection(); // France metropolitaine
 	protected static final Projection utm20 = Projections.getProjectionByCode("EPSG:32620"); // UTM 20 N - Guadeloupe, Martinique
 	protected static final Projection utm22 = Projections.getProjectionByCode("EPSG:32622"); // UTM 22 N - Guyane
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/it/ItalianConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/it/ItalianConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/it/ItalianConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.it;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface ItalianConstants extends OdConstants {
+public interface ItalianConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/ke/KenyanConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/ke/KenyanConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/ke/KenyanConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.ke;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface KenyanConstants extends OdConstants {
+public interface KenyanConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/nl/DutchConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/nl/DutchConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/nl/DutchConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.nl;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface DutchConstants extends OdConstants {
+public interface DutchConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/no/NorwegianConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/no/NorwegianConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/no/NorwegianConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.no;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface NorwegianConstants extends OdConstants {
+public interface NorwegianConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/nz/NewZealanderConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/nz/NewZealanderConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/nz/NewZealanderConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.nz;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface NewZealanderConstants extends OdConstants {
+public interface NewZealanderConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/pt/PortugueseConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/pt/PortugueseConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/pt/PortugueseConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.pt;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface PortugueseConstants extends OdConstants {
+public interface PortugueseConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/uk/BritishConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/uk/BritishConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/uk/BritishConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.uk;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface BritishConstants extends OdConstants {
+public interface BritishConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/us/AmericanConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/us/AmericanConstants.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/us/AmericanConstants.java	(revision 30563)
@@ -2,7 +2,6 @@
 package org.openstreetmap.josm.plugins.opendata.core.datasets.us;
 
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public interface AmericanConstants extends OdConstants {
+public interface AmericanConstants {
 
 	/**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/DialogPrompter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/DialogPrompter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/DialogPrompter.java	(revision 30563)
@@ -37,5 +37,5 @@
 	}
 	
-	public final DialogPrompter promptInEdt() {
+	public final DialogPrompter<T> promptInEdt() {
 		if (SwingUtilities.isEventDispatchThread()) {
 			run();
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreference.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreference.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreference.java	(revision 30563)
@@ -56,5 +56,5 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 
-public class ModulePreference implements SubPreferenceSetting, OdConstants {
+public class ModulePreference implements SubPreferenceSetting {
     /*public static class Factory implements PreferenceSettingFactory {
         public PreferenceSetting createPreferenceSetting() {
@@ -221,5 +221,5 @@
             LinkedList<String> l = new LinkedList<>(model.getSelectedModuleNames());
             Collections.sort(l);
-            Main.pref.putCollection(PREF_MODULES, l);
+            Main.pref.putCollection(OdConstants.PREF_MODULES, l);
             return true;
         }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreferencesModel.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreferencesModel.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/ModulePreferencesModel.java	(revision 30563)
@@ -20,5 +20,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.modules.ModuleInformation;
 
-public class ModulePreferencesModel extends Observable implements OdConstants {
+public class ModulePreferencesModel extends Observable {
     private final ArrayList<ModuleInformation> availableModules = new ArrayList<>();
     private final ArrayList<ModuleInformation> displayedModules = new ArrayList<>();
@@ -29,5 +29,5 @@
 
     protected Collection<String> getModules(Collection<String> def) {
-    	return Main.pref.getCollection(PREF_MODULES, def);
+    	return Main.pref.getCollection(OdConstants.PREF_MODULES, def);
     }
     
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdDialog.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdDialog.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdDialog.java	(revision 30563)
@@ -32,7 +32,7 @@
 
 @SuppressWarnings("serial")
-public class OdDialog extends ToggleDialog implements OdConstants, LayerChangeListener, EditLayerChangeListener {
+public class OdDialog extends ToggleDialog implements LayerChangeListener, EditLayerChangeListener {
 
-    private final SideButton selectButton;
+    //private final SideButton selectButton;
     private final SideButton downloadButton;
     private final SideButton diffButton;
@@ -91,10 +91,10 @@
 
 	public OdDialog() {
-		super("OpenData", ICON_CORE_24, tr("Open the OpenData window."), 
+		super("OpenData", OdConstants.ICON_CORE_24, tr("Open the OpenData window."), 
 				Shortcut.registerShortcut("subwindow:opendata", tr("Toggle: {0}", "OpenData"),
 						KeyEvent.VK_A, Shortcut.ALT_CTRL_SHIFT), 150, false, OdPreferenceSetting.class);
 		
 		this.buttons = Arrays.asList(new SideButton[] {
-				selectButton = new SideButton(new SelectAction()), 
+				/*selectButton =*/ new SideButton(new SelectAction()), 
 				downloadButton = new SideButton(new DownloadAction()), 
 				diffButton = new SideButton(new DiffAction()),
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdPreferenceSetting.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdPreferenceSetting.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdPreferenceSetting.java	(revision 30563)
@@ -30,5 +30,5 @@
 import org.openstreetmap.josm.tools.GBC;
 
-public class OdPreferenceSetting extends DefaultTabPreferenceSetting implements OdConstants {
+public class OdPreferenceSetting extends DefaultTabPreferenceSetting {
 
     //private final JRadioButton rbCC43 = new JRadioButton(tr("CC43"));
@@ -46,5 +46,5 @@
 
     public OdPreferenceSetting() {
-    	super(ICON_CORE_48, tr("OpenData Preferences"),
+    	super(OdConstants.ICON_CORE_48, tr("OpenData Preferences"),
                 tr("A special handler for various Open Data portals<br/><br/>"+
                         "Please read the Terms and Conditions of Use of each portal<br/>"+
@@ -58,5 +58,5 @@
      */
     public static final Collection<String> getModuleSites() {
-        return Main.pref.getCollection(PREF_MODULES_SITES, Arrays.asList(DEFAULT_MODULE_SITES));
+        return Main.pref.getCollection(OdConstants.PREF_MODULES_SITES, Arrays.asList(OdConstants.DEFAULT_MODULE_SITES));
     }
 
@@ -67,5 +67,5 @@
      */
 	public static void setModuleSites(List<String> sites) {
-		Main.pref.putCollection(PREF_MODULES_SITES, sites);
+		Main.pref.putCollection(OdConstants.PREF_MODULES_SITES, sites);
     }
     
@@ -87,5 +87,5 @@
 
         // option to enable raw data
-        rawData.setSelected(Main.pref.getBoolean(PREF_RAWDATA, DEFAULT_RAWDATA));
+        rawData.setSelected(Main.pref.getBoolean(OdConstants.PREF_RAWDATA, OdConstants.DEFAULT_RAWDATA));
         rawData.setToolTipText(tr("Import only raw data (i.e. do not add/delete tags or replace them by standard OSM tags)"));
         general.add(rawData, GBC.eop().insets(0, 0, 0, 0));
@@ -112,5 +112,5 @@
         // option to set the Overpass API server
         JLabel jLabelOapi = new JLabel(tr("Overpass API server:"));
-        oapi.setText(Main.pref.get(PREF_OAPI, DEFAULT_OAPI));
+        oapi.setText(Main.pref.get(OdConstants.PREF_OAPI, OdConstants.DEFAULT_OAPI));
         oapi.setToolTipText(tr("Overpass API server used to download OSM data"));
         general.add(jLabelOapi, GBC.std().insets(0, 5, 10, 0));
@@ -119,5 +119,5 @@
         // option to set the XAPI server
         JLabel jLabelXapi = new JLabel(tr("XAPI server:"));
-        xapi.setText(Main.pref.get(PREF_XAPI, DEFAULT_XAPI));
+        xapi.setText(Main.pref.get(OdConstants.PREF_XAPI, OdConstants.DEFAULT_XAPI));
         xapi.setToolTipText(tr("XAPI server used to download OSM data when Overpass API is not available"));
         general.add(jLabelXapi, GBC.std().insets(0, 5, 10, 0));
@@ -134,7 +134,7 @@
     	boolean result = modulePref.ok();
    		//Main.pref.put(PREF_COORDINATES, rbWGS84.isSelected() ? VALUE_WGS84 : VALUE_CC9ZONES);
-   		Main.pref.put(PREF_OAPI, oapi.getText());
-   		Main.pref.put(PREF_XAPI, xapi.getText());
-   		Main.pref.put(PREF_RAWDATA, rawData.isSelected());
+   		Main.pref.put(OdConstants.PREF_OAPI, oapi.getText());
+   		Main.pref.put(OdConstants.PREF_XAPI, xapi.getText());
+   		Main.pref.put(OdConstants.PREF_RAWDATA, rawData.isSelected());
         
         // create a task for downloading modules if the user has activated, yet not downloaded,
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/AbstractImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/AbstractImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/AbstractImporter.java	(revision 30563)
@@ -11,5 +11,4 @@
 import org.openstreetmap.josm.io.IllegalDataException;
 import org.openstreetmap.josm.io.OsmImporter;
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.DataSetUpdater;
@@ -18,5 +17,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.modules.ModuleHandler;
 
-public abstract class AbstractImporter extends OsmImporter implements OdConstants {
+public abstract class AbstractImporter extends OsmImporter {
 	
 	protected AbstractDataSetHandler handler;
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/NetworkReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/NetworkReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/NetworkReader.java	(revision 30563)
@@ -32,5 +32,5 @@
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 
-public class NetworkReader extends OsmServerReader implements OdConstants {
+public class NetworkReader extends OsmServerReader {
 
 	private final String url;
@@ -47,19 +47,19 @@
     public static final Map<String, Class<? extends AbstractReader>> FILE_READERS = new HashMap<>();
     static {
-        FILE_READERS.put(CSV_EXT, CsvReader.class);
-        FILE_READERS.put(KML_EXT, KmlReader.class);
-        FILE_READERS.put(KMZ_EXT, KmzReader.class);
-        FILE_READERS.put(GML_EXT, GmlReader.class);
-        FILE_READERS.put(XLS_EXT, XlsReader.class);
-        FILE_READERS.put(ODS_EXT, OdsReader.class);
-        FILE_READERS.put(SHP_EXT, ShpReader.class);
-        FILE_READERS.put(MIF_EXT, MifReader.class);
-        FILE_READERS.put(TAB_EXT, TabReader.class);
+        FILE_READERS.put(OdConstants.CSV_EXT, CsvReader.class);
+        FILE_READERS.put(OdConstants.KML_EXT, KmlReader.class);
+        FILE_READERS.put(OdConstants.KMZ_EXT, KmzReader.class);
+        FILE_READERS.put(OdConstants.GML_EXT, GmlReader.class);
+        FILE_READERS.put(OdConstants.XLS_EXT, XlsReader.class);
+        FILE_READERS.put(OdConstants.ODS_EXT, OdsReader.class);
+        FILE_READERS.put(OdConstants.SHP_EXT, ShpReader.class);
+        FILE_READERS.put(OdConstants.MIF_EXT, MifReader.class);
+        FILE_READERS.put(OdConstants.TAB_EXT, TabReader.class);
     }
     
     public static final Map<String, Class<? extends AbstractReader>> FILE_AND_ARCHIVE_READERS = new HashMap<>(FILE_READERS);
     static {
-        FILE_AND_ARCHIVE_READERS.put(ZIP_EXT, ZipReader.class);
-        FILE_AND_ARCHIVE_READERS.put(SEVENZIP_EXT, SevenZipReader.class);
+        FILE_AND_ARCHIVE_READERS.put(OdConstants.ZIP_EXT, ZipReader.class);
+        FILE_AND_ARCHIVE_READERS.put(OdConstants.SEVENZIP_EXT, SevenZipReader.class);
     }
 
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/OsmDownloader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/OsmDownloader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/OsmDownloader.java	(revision 30563)
@@ -9,12 +9,12 @@
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public class OsmDownloader implements OdConstants {
+public class OsmDownloader {
 	
 	public static final void downloadOapi(String oapiReq) {
 		if (oapiReq != null) {
 			try {
-				String oapiServer = Main.pref.get(PREF_OAPI, DEFAULT_OAPI);
+				String oapiServer = Main.pref.get(OdConstants.PREF_OAPI, OdConstants.DEFAULT_OAPI);
 				System.out.println(oapiReq);
-				String oapiReqEnc = URLEncoder.encode(oapiReq, UTF8);
+				String oapiReqEnc = URLEncoder.encode(oapiReq, OdConstants.UTF8);
 				Main.main.menu.openLocation.openUrl(false, oapiServer+"data="+oapiReqEnc);
 			} catch (UnsupportedEncodingException e) {
@@ -26,5 +26,5 @@
 	public static final void downloadXapi(Collection<String> xapiReqs) {
 		if (xapiReqs != null) {
-			String xapiServer = Main.pref.get(PREF_XAPI, DEFAULT_XAPI);
+			String xapiServer = Main.pref.get(OdConstants.PREF_XAPI, OdConstants.DEFAULT_XAPI);
 			for (String xapiReq : xapiReqs) {
 				Main.main.menu.openLocation.openUrl(false, xapiServer+xapiReq);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/ProjectionPatterns.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/ProjectionPatterns.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/ProjectionPatterns.java	(revision 30563)
@@ -7,5 +7,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public class ProjectionPatterns implements OdConstants {
+public class ProjectionPatterns {
 
 	private final Pattern xPattern;
@@ -17,5 +17,5 @@
 		this.yPattern = yPattern;
 		this.projection = projection;
-		PROJECTIONS.add(this);
+		OdConstants.PROJECTIONS.add(this);
 	}
 
@@ -25,9 +25,9 @@
 
 	public ProjectionPatterns(String proj, Projection projection) {
-		this(getCoordinatePattern(X_STRING, proj), getCoordinatePattern(Y_STRING, proj), projection);
+		this(getCoordinatePattern(OdConstants.X_STRING, proj), getCoordinatePattern(OdConstants.Y_STRING, proj), projection);
 	}
 
 	public ProjectionPatterns(String proj) {
-		this(getCoordinatePattern(X_STRING, proj), getCoordinatePattern(Y_STRING, proj), null);
+		this(getCoordinatePattern(OdConstants.X_STRING, proj), getCoordinatePattern(OdConstants.Y_STRING, proj), null);
 	}
 	
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/XmlImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/XmlImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/XmlImporter.java	(revision 30563)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.opendata.core.io;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.File;
@@ -8,9 +10,14 @@
 import javax.xml.bind.JAXBException;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
 public class XmlImporter extends AbstractImporter {
+
+    public static final ExtensionFileFilter XML_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.XML_EXT, OdConstants.XML_EXT, tr("OpenData XML files") + " (*."+OdConstants.XML_EXT+")");
 
 	public XmlImporter() {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ArchiveReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ArchiveReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ArchiveReader.java	(revision 30563)
@@ -23,4 +23,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.io.NeptuneReader;
 import org.openstreetmap.josm.plugins.opendata.core.io.NetworkReader;
+import org.openstreetmap.josm.plugins.opendata.core.io.XmlImporter;
 import org.openstreetmap.josm.plugins.opendata.core.io.geographic.GmlReader;
 import org.openstreetmap.josm.plugins.opendata.core.io.geographic.KmlReader;
@@ -34,5 +35,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;
 
-public abstract class ArchiveReader extends AbstractReader implements OdConstants {
+public abstract class ArchiveReader extends AbstractReader {
 
     protected final AbstractDataSetHandler handler;
@@ -113,23 +114,23 @@
                 instance = progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false);
             }
-            if (file.getName().toLowerCase().endsWith(CSV_EXT)) {
+            if (file.getName().toLowerCase().endsWith(OdConstants.CSV_EXT)) {
                 from = CsvReader.parseDataSet(in, handler, instance);
-            } else if (file.getName().toLowerCase().endsWith(KML_EXT)) {
+            } else if (file.getName().toLowerCase().endsWith(OdConstants.KML_EXT)) {
                 from = KmlReader.parseDataSet(in, instance);
-            } else if (file.getName().toLowerCase().endsWith(KMZ_EXT)) {
+            } else if (file.getName().toLowerCase().endsWith(OdConstants.KMZ_EXT)) {
                 from = KmzReader.parseDataSet(in, instance);
-            } else if (file.getName().toLowerCase().endsWith(XLS_EXT)) {
+            } else if (file.getName().toLowerCase().endsWith(OdConstants.XLS_EXT)) {
                 from = XlsReader.parseDataSet(in, handler, instance);
-            } else if (file.getName().toLowerCase().endsWith(ODS_EXT)) {
+            } else if (file.getName().toLowerCase().endsWith(OdConstants.ODS_EXT)) {
                 from = OdsReader.parseDataSet(in, handler, instance);
-            } else if (file.getName().toLowerCase().endsWith(SHP_EXT)) {
+            } else if (file.getName().toLowerCase().endsWith(OdConstants.SHP_EXT)) {
                 from = ShpReader.parseDataSet(in, file, handler, instance);
-            } else if (file.getName().toLowerCase().endsWith(MIF_EXT)) {
+            } else if (file.getName().toLowerCase().endsWith(OdConstants.MIF_EXT)) {
                 from = MifReader.parseDataSet(in, file, handler, instance);
-            } else if (file.getName().toLowerCase().endsWith(TAB_EXT)) {
+            } else if (file.getName().toLowerCase().endsWith(OdConstants.TAB_EXT)) {
                 from = TabReader.parseDataSet(in, file, handler, instance);
-            } else if (file.getName().toLowerCase().endsWith(GML_EXT)) {
+            } else if (file.getName().toLowerCase().endsWith(OdConstants.GML_EXT)) {
                 from = GmlReader.parseDataSet(in, handler, instance);
-            } else if (file.getName().toLowerCase().endsWith(XML_EXT)) {
+            } else if (file.getName().toLowerCase().endsWith(OdConstants.XML_EXT)) {
                 if (OdPlugin.getInstance().xmlImporter.acceptFile(file)) {
                     from = NeptuneReader.parseDataSet(in, handler, instance);
@@ -155,5 +156,5 @@
         }
         // Special treatment for XML files (check supported XSD), unless handler explicitely skip it
-        if (XML_FILE_FILTER.accept(file) && ((archiveHandler != null && archiveHandler.skipXsdValidation()) 
+        if (XmlImporter.XML_FILE_FILTER.accept(file) && ((archiveHandler != null && archiveHandler.skipXsdValidation()) 
                 || OdPlugin.getInstance().xmlImporter.acceptFile(file))) {
             candidates.add(file);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/SevenZipImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/SevenZipImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/SevenZipImporter.java	(revision 30563)
@@ -2,12 +2,19 @@
 package org.openstreetmap.josm.plugins.opendata.core.io.archive;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.io.InputStream;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
 
 public class SevenZipImporter extends AbstractImporter {
+
+    public static final ExtensionFileFilter SEVENZIP_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.SEVENZIP_EXT, OdConstants.SEVENZIP_EXT, tr("7Zip Files") + " (*."+OdConstants.SEVENZIP_EXT+")");
 
 	public SevenZipImporter() {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipImporter.java	(revision 30563)
@@ -1,14 +1,21 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.opendata.core.io.archive;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.File;
 import java.io.InputStream;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
 
 public class ZipImporter extends AbstractImporter {
+
+    public static final ExtensionFileFilter ZIP_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.ZIP_EXT, OdConstants.ZIP_EXT, tr("Zip Files") + " (*."+OdConstants.ZIP_EXT+")");
 
 	public ZipImporter() {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/AbstractMapInfoReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/AbstractMapInfoReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/AbstractMapInfoReader.java	(revision 30563)
@@ -15,5 +15,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public abstract class AbstractMapInfoReader extends AbstractReader implements OdConstants {
+public abstract class AbstractMapInfoReader extends AbstractReader {
 
 	protected static final String VERSION_1 = "1";
@@ -22,5 +22,6 @@
 	protected static final String VERSION_450 = "450";
 
-	protected static final String CHARSET_WINDOWS = "WindowsLatin1";
+	protected static final String CHARSET_WINDOWS_LATIN    = "WindowsLatin1";
+    protected static final String CHARSET_WINDOWS_CYRILLIC = "WindowsCyrillic";
 	protected static final String CHARSET_NEUTRAL = "Neutral";
 	protected static final String CHARSET_MAC     = "MacRoman";
@@ -46,6 +47,5 @@
 	}
 	
-	@SuppressWarnings("resource")
-    protected final BufferedReader getDataReader(File headerFile, String extension, Charset charset) throws FileNotFoundException {
+	protected final BufferedReader getDataReader(File headerFile, String extension, Charset charset) throws FileNotFoundException {
 		File dataFile = getDataFile(headerFile, extension);
 		return dataFile.exists() ? new BufferedReader(new InputStreamReader(new FileInputStream(dataFile), charset)) : null;
@@ -58,10 +58,12 @@
 	protected Charset parseCharset(String[] words, int index) {
 		words[index] = words[index].replace("\"", "");
-		if (words[index].equalsIgnoreCase(CHARSET_WINDOWS)) {
-			return Charset.forName(CP1252);
+		if (words[index].equalsIgnoreCase(CHARSET_WINDOWS_LATIN)) {
+			return Charset.forName(OdConstants.CP1252);
+        } else if (words[index].equalsIgnoreCase(CHARSET_WINDOWS_CYRILLIC)) {
+            return Charset.forName(OdConstants.CP1251);
 		} else if (words[index].equalsIgnoreCase(CHARSET_NEUTRAL)) {
-			return Charset.forName(ISO8859_15);
+			return Charset.forName(OdConstants.ISO8859_15);
 		} else if (words[index].equalsIgnoreCase(CHARSET_MAC)) {
-			return Charset.forName(MAC_ROMAN);
+			return Charset.forName(OdConstants.MAC_ROMAN);
 		} else {
 			System.err.println("Line "+lineNum+". Unknown charset detected: "+line);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/DefaultShpHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/DefaultShpHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/DefaultShpHandler.java	(revision 30563)
@@ -35,5 +35,5 @@
 import org.openstreetmap.josm.tools.Pair;
 
-public class DefaultShpHandler extends DefaultGeographicHandler implements ShpHandler, OdConstants {
+public class DefaultShpHandler extends DefaultGeographicHandler implements ShpHandler {
 
 	private static final List<Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid>> 
@@ -49,6 +49,6 @@
 	
 	private static final boolean equals(Double a, Double b) {
-		boolean res = Math.abs(a - b) <= Main.pref.getDouble(PREF_CRS_COMPARISON_TOLERANCE, DEFAULT_CRS_COMPARISON_TOLERANCE);
-		if (Main.pref.getBoolean(PREF_CRS_COMPARISON_DEBUG, false)) {
+		boolean res = Math.abs(a - b) <= Main.pref.getDouble(OdConstants.PREF_CRS_COMPARISON_TOLERANCE, OdConstants.DEFAULT_CRS_COMPARISON_TOLERANCE);
+		if (Main.pref.getBoolean(OdConstants.PREF_CRS_COMPARISON_DEBUG, false)) {
 			System.out.println("Comparing "+a+" and "+b+" -> "+res);
 		}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/GeographicReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/GeographicReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/GeographicReader.java	(revision 30563)
@@ -50,5 +50,5 @@
 import com.vividsolutions.jts.geom.Point;
 
-public abstract class GeographicReader extends AbstractReader implements OdConstants {
+public abstract class GeographicReader extends AbstractReader {
 
 	protected static CoordinateReferenceSystem wgs84;
@@ -172,5 +172,5 @@
      */
     protected static final boolean warnLenientMethod(final Component parent, final CoordinateReferenceSystem crs) {
-    	return new DialogPrompter() {
+    	return new DialogPrompter<ExtendedDialog>() {
 			@Override
 			protected ExtendedDialog buildDialog() {
@@ -265,9 +265,9 @@
     						
     						Hints.putSystemDefault(Hints.COMPARISON_TOLERANCE, 
-    								Main.pref.getDouble(PREF_CRS_COMPARISON_TOLERANCE, DEFAULT_CRS_COMPARISON_TOLERANCE));
+    								Main.pref.getDouble(OdConstants.PREF_CRS_COMPARISON_TOLERANCE, OdConstants.DEFAULT_CRS_COMPARISON_TOLERANCE));
     						if (((AbstractCRS)candidate).equals((AbstractIdentifiedObject)crs, false)) {
     							System.out.println("Found a potential CRS: "+candidate.getName());
     							candidates.add(candidate);
-    						} else if (Main.pref.getBoolean(PREF_CRS_COMPARISON_DEBUG, false)) {
+    						} else if (Main.pref.getBoolean(OdConstants.PREF_CRS_COMPARISON_DEBUG, false)) {
     							compareDebug(crs, candidate);
     						}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/GmlImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/GmlImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/GmlImporter.java	(revision 30563)
@@ -2,13 +2,20 @@
 package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.io.InputStream;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
 
 public class GmlImporter extends AbstractImporter {
 	
+    public static final ExtensionFileFilter GML_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.GML_EXT, OdConstants.GML_EXT, tr("GML files") + " (*."+OdConstants.GML_EXT+")");
+
     public GmlImporter() {
         super(GML_FILE_FILTER);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/GmlReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/GmlReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/GmlReader.java	(revision 30563)
@@ -30,4 +30,5 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.UTFInputStreamReader;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.NationalHandlers;
@@ -66,5 +67,5 @@
     }
 
-    private final Map<String, CrsData> crsDataMap = new HashMap<String, GmlReader.CrsData>();
+    private final Map<String, CrsData> crsDataMap = new HashMap<>();
     
     public GmlReader(XMLStreamReader parser, GmlHandler handler) {
@@ -75,5 +76,5 @@
 
 	public static DataSet parseDataSet(InputStream in, AbstractDataSetHandler handler, ProgressMonitor instance) throws IOException, XMLStreamException {
-        InputStreamReader ir = UTFInputStreamReader.create(in, UTF8);
+        InputStreamReader ir = UTFInputStreamReader.create(in, OdConstants.UTF8);
         XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(ir);
         try {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlKmzImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlKmzImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlKmzImporter.java	(revision 30563)
@@ -2,13 +2,20 @@
 package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.io.InputStream;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
 
 public class KmlKmzImporter extends AbstractImporter {
 	
+    public static final ExtensionFileFilter KML_KMZ_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.KML_EXT+","+OdConstants.KMZ_EXT, OdConstants.KMZ_EXT, tr("KML/KMZ files") + " (*."+OdConstants.KML_EXT+",*."+OdConstants.KMZ_EXT+")");
+
     public KmlKmzImporter() {
         super(KML_KMZ_FILE_FILTER);
@@ -19,5 +26,5 @@
 			throws IllegalDataException {
 		try {
-			if (file.getName().toLowerCase().endsWith(KML_EXT)) {
+			if (file.getName().toLowerCase().endsWith(OdConstants.KML_EXT)) {
 				return KmlReader.parseDataSet(in, instance);
 			} else {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlReader.java	(revision 30563)
@@ -29,5 +29,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.io.ProjectionPatterns;
 
-public class KmlReader extends AbstractReader implements OdConstants {
+public class KmlReader extends AbstractReader {
 
     public static final String KML_PLACEMARK   = "Placemark";
@@ -52,6 +52,7 @@
 
 	public static DataSet parseDataSet(InputStream in, ProgressMonitor instance) throws IOException, XMLStreamException, FactoryConfigurationError {
-        InputStreamReader ir = UTFInputStreamReader.create(in, UTF8);
+        InputStreamReader ir = UTFInputStreamReader.create(in);
         XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(ir);
+	    //XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(in, UTF8);
         return new KmlReader(parser).parseDoc();
 	}
@@ -71,5 +72,5 @@
 	
 	private static boolean keyIsIgnored(String key) {
-		for (ProjectionPatterns pp : PROJECTIONS) {
+		for (ProjectionPatterns pp : OdConstants.PROJECTIONS) {
 			if (pp.getXPattern().matcher(key).matches() || pp.getYPattern().matcher(key).matches()) {
 				return true;
@@ -80,10 +81,10 @@
 	
 	private void parsePlaceMark(DataSet ds) throws XMLStreamException {
-		List<OsmPrimitive> list = new ArrayList<OsmPrimitive>();
+		List<OsmPrimitive> list = new ArrayList<>();
 		Way way = null;
 		Node node = null;
 		Relation relation = null;
 		String role = "";
-		Map<String, String> tags = new HashMap<String, String>();
+		Map<String, String> tags = new HashMap<>();
 		while (parser.hasNext()) {
             int event = parser.next();
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmzReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmzReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmzReader.java	(revision 30563)
@@ -16,7 +16,6 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.AbstractReader;
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public class KmzReader extends AbstractReader implements OdConstants {
+public class KmzReader extends AbstractReader {
 
 	private ZipInputStream zis;
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/MifReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/MifReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/MifReader.java	(revision 30563)
@@ -14,5 +14,7 @@
 import java.io.UnsupportedEncodingException;
 import java.nio.charset.Charset;
-
+import java.util.Arrays;
+
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -25,451 +27,498 @@
 import org.openstreetmap.josm.data.projection.Projections;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;
 
 /**
- * MapInfo Interchange File (MIF) reader, based on this specification:
- * http://www.gissky.com/Download/Download/DataFormat/Mapinfo_Mif.pdf
- *
+ * MapInfo Interchange File (MIF) reader, based on these specifications:<ul>
+ * <li><a href="http://www.gissky.com/Download/Download/DataFormat/Mapinfo_Mif.pdf">Mapinfo_Mif.pdf (dead link)</a></li>
+ * <li><a href="http://resource.mapinfo.com/static/files/document/1074660800077/interchange_file.pdf">interchange_file.pdf</a></li>
+ * </ul>
  */
 public class MifReader extends AbstractMapInfoReader {
 
-	private enum State {
-		UNKNOWN,
-		READING_COLUMNS,
-		START_POLYGON,
-		READING_POINTS,
-		END_POLYGON,
-		START_POLYLINE,
-		END_POLYLINE
-	}
-
-	protected BufferedReader midReader;
-
-	private Character delimiter = '\t';
-	
-	private State state = State.UNKNOWN;
-	
-	private Projection josmProj;
-	private DataSet ds;
-	private Relation region;
-	private Way polygon;
-	private Node node;
-	private Way polyline;
-
-	// CoordSys clause
-	private MifProjection proj;
-	private MifDatum datum;
-	private String units;
-	private Double originLon;
-	private Double originLat;
-	private Double stdP1;
-	private Double stdP2;
-	private Double azimuth;
-	private Double scaleFactor;
-	private Double falseEasting;
-	private Double falseNorthing;
-	private Double range;
-	
-	// Region clause
-	private int numpolygons = -1;
-	private int numpts = -1;
-	
-	public static DataSet parseDataSet(InputStream in, File file,
-			AbstractDataSetHandler handler, ProgressMonitor instance) throws IOException {
-		return new MifReader().parse(in, file, instance, Charset.forName(ISO8859_15));
-	}
-
-	private void parseDelimiter(String[] words) {
-		delimiter = words[1].charAt(1);
-	}
-
-	private void parseUnique(String[] words) {
-		// TODO
-		System.err.println("TODO: "+line);
-	}
-
-	private void parseIndex(String[] words) {
-		// TODO
-		System.err.println("TODO: "+line);
-	}
-
-	private void parseCoordSys(String[] words) {
-		for (int i = 0; i<words.length; i++) {
-			words[i] = words[i].replace(",", "");
-		}
-		if (words[1].equalsIgnoreCase("Earth")) {
-			proj = MifProjection.forCode(Integer.parseInt(words[3]));
-			datum = MifDatum.forCode(Integer.parseInt(words[4]));
-
-			// Custom datum: TODO: use custom decalage values
-			int offset = datum == Custom ? 4 : 0;
-
-			if (proj == Longitude_Latitude) {
-				josmProj = Projections.getProjectionByCode("EPSG:4326"); // WGS 84
-				return;
-			}
-			
-			// Units
-			units = words[5+offset];
-			
-			// Origin, longitude
-			originLon = Double.parseDouble(words[6+offset]);
-			
-			// Origin, latitude
-			switch(proj) {
-			case Albers_Equal_Area_Conic:
-			case Azimuthal_Equidistant_polar_aspect_only:
-			case Equidistant_Conic_also_known_as_Simple_Conic:
-			case Hotine_Oblique_Mercator:
-			case Lambert_Azimuthal_Equal_Area_polar_aspect_only:
-			case Lambert_Conformal_Conic:
-			case Lambert_Conformal_Conic_modified_for_Belgium_1972:
-			case New_Zealand_Map_Grid:
-			case Stereographic:
-			case Swiss_Oblique_Mercator:
-			case Transverse_Mercator_also_known_as_Gauss_Kruger:
-			case Transverse_Mercator_modified_for_Danish_System_34_Jylland_Fyn:
-			case Transverse_Mercator_modified_for_Danish_System_45_Bornholm:
-			case Transverse_Mercator_modified_for_Finnish_KKJ:
-			case Transverse_Mercator_modified_for_Sjaelland:
-			case Polyconic:
-				originLat = Double.parseDouble(words[7+offset]);
-				break;
-			}
-			
-			// Standard Parallel 1
-			switch (proj) {
-			case Cylindrical_Equal_Area:
-			case Regional_Mercator:
-				stdP1 = Double.parseDouble(words[7+offset]);
-				break;
-			case Albers_Equal_Area_Conic:
-			case Equidistant_Conic_also_known_as_Simple_Conic:
-			case Lambert_Conformal_Conic:
-			case Lambert_Conformal_Conic_modified_for_Belgium_1972:
-				stdP1 = Double.parseDouble(words[8+offset]);
-				break;
-			}
-
-			// Standard Parallel 2
-			switch (proj) {
-			case Albers_Equal_Area_Conic:
-			case Equidistant_Conic_also_known_as_Simple_Conic:
-			case Lambert_Conformal_Conic:
-			case Lambert_Conformal_Conic_modified_for_Belgium_1972:
-				stdP2 = Double.parseDouble(words[9+offset]);
-				break;
-			}
-			
-			// Azimuth
-			if (proj == Hotine_Oblique_Mercator) {
-				azimuth = Double.parseDouble(words[8+offset]);
-			}
-
-			// Scale Factor
-			switch (proj) {
-			case Hotine_Oblique_Mercator:
-				scaleFactor = Double.parseDouble(words[9+offset]);
-				break;
-			case Stereographic:
-			case Transverse_Mercator_also_known_as_Gauss_Kruger:
-			case Transverse_Mercator_modified_for_Danish_System_34_Jylland_Fyn:
-			case Transverse_Mercator_modified_for_Danish_System_45_Bornholm:
-			case Transverse_Mercator_modified_for_Finnish_KKJ:
-			case Transverse_Mercator_modified_for_Sjaelland:
-				scaleFactor = Double.parseDouble(words[8+offset]);
-				break;
-			}
-			
-			// False Easting/Northing
-			switch (proj) {
-			case Albers_Equal_Area_Conic:
-			case Equidistant_Conic_also_known_as_Simple_Conic:
-			case Hotine_Oblique_Mercator:
-			case Lambert_Conformal_Conic:
-			case Lambert_Conformal_Conic_modified_for_Belgium_1972:
-				falseEasting = Double.parseDouble(words[10+offset]);
-				falseNorthing = Double.parseDouble(words[11+offset]);
-				break;
-			case Stereographic:
-			case Transverse_Mercator_also_known_as_Gauss_Kruger:
-			case Transverse_Mercator_modified_for_Danish_System_34_Jylland_Fyn:
-			case Transverse_Mercator_modified_for_Danish_System_45_Bornholm:
-			case Transverse_Mercator_modified_for_Finnish_KKJ:
-			case Transverse_Mercator_modified_for_Sjaelland:
-				falseEasting = Double.parseDouble(words[9+offset]);
-				falseNorthing = Double.parseDouble(words[10+offset]);
-				break;
-			case New_Zealand_Map_Grid:
-			case Swiss_Oblique_Mercator:
-			case Polyconic:
-				falseEasting = Double.parseDouble(words[8+offset]);
-				falseNorthing = Double.parseDouble(words[9+offset]);
-				break;
-			}
-										
-			// Range
-			switch (proj) {
-			case Azimuthal_Equidistant_polar_aspect_only:
-			case Lambert_Azimuthal_Equal_Area_polar_aspect_only:
-				range = Double.parseDouble(words[8+offset]);
-			}
-
-			switch (proj) {
-			case Lambert_Conformal_Conic:
-				if ((datum == Geodetic_Reference_System_1980_GRS_80 || datum == Custom) && equals(originLon, 3.0)) {
-					// This sounds good for Lambert 93 or Lambert CC 9
-					if (equals(originLat, 46.5) && equals(stdP1, 44.0) && equals(stdP2, 49.0) && equals(falseEasting, 700000.0) && equals(falseNorthing, 6600000.0)) {
-						josmProj = Projections.getProjectionByCode("EPSG:2154"); // Lambert 93
-					} else if (equals(falseEasting, 1700000.0)) {
-						for (int i=0; josmProj == null && i<9; i++) {
-							if (equals(originLat, 42.0+i) && equals(stdP1, 41.25+i) && equals(stdP2, 42.75+i) && equals(falseNorthing, (i+1)*1000000.0 + 200000.0)) {
-								josmProj = Projections.getProjectionByCode("EPSG:"+Integer.toString(3942 + i)); // LambertCC9Zones
-							}
-						}
-					}
-				}
-				break;
-			default:
-				// TODO
-				System.err.println("TODO: "+line);
-			}
-			
-		} else if (words[1].equalsIgnoreCase("Nonearth")) {
-			// TODO
-			System.err.println("TODO: "+line);
-		} else if (words[1].equalsIgnoreCase("Layout")) {
-			// TODO
-			System.err.println("TODO: "+line);
-		} else if (words[1].equalsIgnoreCase("Table")) {
-			// TODO
-			System.err.println("TODO: "+line);
-		} else if (words[1].equalsIgnoreCase("Window")) {
-			// TODO
-			System.err.println("TODO: "+line);
-		} else {
-			System.err.println("Line "+lineNum+". Invalid CoordSys clause: "+line);
-		}
-	}
-
-	private void parseTransform(String[] words) {
-		// TODO
-		System.err.println("TODO: "+line);
-	}
-
-	@Override
-	protected void parseColumns(String[] words) {
-		super.parseColumns(words);
-		state = State.READING_COLUMNS;
-	}
-
-	private void parseData(String[] words) {
-		if (ds == null) {
-			ds = new DataSet();
-		}
-	}
-	
-	private void parsePoint(String[] words) throws IOException {
-		readAttributes(createNode(words[1], words[2]));
-	}
-
-	private void parseLine(String[] words) {
-		// TODO
-		System.err.println("TODO: "+line);
-	}
-	
-	private void parsePLine(String[] words) throws IOException {
-		if (words.length > 2) {
-			// TODO: pline with multiple sections
-			polyline = new Way();
-			ds.addPrimitive(polyline);
-			readAttributes(polyline);
-			numpts = Integer.parseInt(words[1]); // Not described in PDF but found in real files: PLINE XX, with XX = numpoints
-			state = State.READING_POINTS;
-		} else {
-			numpts = -1;
-			state = State.START_POLYLINE;
-		}
-	}
-
-	private void parseRegion(String[] words) throws IOException {
-		region = new Relation();
-		region.put("type", "multipolygon");
-		ds.addPrimitive(region);
-		readAttributes(region);
-		numpolygons = Integer.parseInt(words[1]);
-		state = State.START_POLYGON;
-	}
-
-	private void parseArc(String[] words) {
-		// TODO
-		System.err.println("TODO: "+line);
-	}
-
-	private void parseText(String[] words) {
-		// TODO
-		System.err.println("TODO: "+line);
-	}
-
-	private void parseRect(String[] words) {
-		// TODO
-		System.err.println("TODO: "+line);
-	}
-
-	private void parseRoundRect(String[] words) {
-		// TODO
-		System.err.println("TODO: "+line);
-	}
-
-	private void parseEllipse(String[] words) {
-		// TODO
-		System.err.println("TODO: "+line);
-	}
-
-	private DataSet parse(InputStream in, File file, ProgressMonitor instance, Charset charset) throws IOException {
-		try {
-			headerReader = new BufferedReader(new InputStreamReader(in, charset));
-			midReader = getDataReader(file, ".mid", charset);
-			parseHeader();
-			if (midReader != null) {
-				midReader.close();
-			}
-			return ds;
-		} catch (UnsupportedEncodingException e) {
-			throw new IOException(e);
-		}
-	}
-
-	@Override
-	protected void parseHeaderLine(String[] words) throws IOException {
-		if (words[0].equalsIgnoreCase("Version")) {
-			parseVersion(words);
-		} else if (words[0].equalsIgnoreCase("Charset")) {
-			parseCharset(words);
-		} else if (words[0].equalsIgnoreCase("Delimiter")) {
-			parseDelimiter(words);
-		} else if (words[0].equalsIgnoreCase("Unique")) {
-			parseUnique(words);
-		} else if (words[0].equalsIgnoreCase("Index")) {
-			parseIndex(words);
-		} else if (words[0].equalsIgnoreCase("CoordSys")) {
-			parseCoordSys(words);
-		} else if (words[0].equalsIgnoreCase("Transform")) {
-			parseTransform(words);
-		} else if (words[0].equalsIgnoreCase("Columns")) {
-			parseColumns(words);
-		} else if (words[0].equalsIgnoreCase("Data")) {
-			parseData(words);
-		} else if (ds != null) {
-			if (state == State.START_POLYGON) {
-				numpts = Integer.parseInt(words[0]);
-				polygon = new Way();
-				ds.addPrimitive(polygon);
-				region.addMember(new RelationMember("outer", polygon));
-				state = State.READING_POINTS;
-				
-			} else if (state == State.START_POLYLINE) {
-				numpts = Integer.parseInt(words[0]);
-				polyline = new Way();
-				ds.addPrimitive(polyline);
-				readAttributes(polyline);
-				state = State.READING_POINTS;
-				
-			} else if (state == State.READING_POINTS && numpts > 0) {
-				if (josmProj != null) {
-					node = createNode(words[0], words[1]);
-					if (polygon != null) {
-						polygon.addNode(node);
-					} else if (polyline != null) {
-						polyline.addNode(node);
-					}
-				}
-				if (--numpts == 0) {
-					if (numpolygons > -1) {
-						if (--numpolygons > 0) {
-							state = State.START_POLYGON;
-						} else {
-							state = State.END_POLYGON;
-							polygon = null;
-						}
-					} else if (polyline != null) {
-						state = State.UNKNOWN;
-						polyline = null;
-					}
-				}
-			} else if (words[0].equalsIgnoreCase("Point")) {
-				parsePoint(words);
-			} else if (words[0].equalsIgnoreCase("Line")) {
-				parseLine(words);
-			} else if (words[0].equalsIgnoreCase("PLine")) {
-				parsePLine(words);
-			} else if (words[0].equalsIgnoreCase("Region")) {
-				parseRegion(words);
-			} else if (words[0].equalsIgnoreCase("Arc")) {
-				parseArc(words);
-			} else if (words[0].equalsIgnoreCase("Text")) {
-				parseText(words);
-			} else if (words[0].equalsIgnoreCase("Rect")) {
-				parseRect(words);
-			} else if (words[0].equalsIgnoreCase("RoundRect")) {
-				parseRoundRect(words);
-			} else if (words[0].equalsIgnoreCase("Ellipse")) {
-				parseEllipse(words);
-			} else if (words[0].equalsIgnoreCase("Pen")) {
-				// Do nothing
-			} else if (words[0].equalsIgnoreCase("Brush")) {
-				// Do nothing
-			} else if (words[0].equalsIgnoreCase("Center")) {
-				// Do nothing
-			} else if (words[0].equalsIgnoreCase("Symbol")) {
-				// Do nothing
-			} else if (words[0].equalsIgnoreCase("Font")) {
-				// Do nothing
-			} else if (!words[0].isEmpty()) {
-				System.err.println("Line "+lineNum+". Unknown clause in data section: "+line);
-			}
-		} else if (state == State.READING_COLUMNS && numcolumns > 0) {
-			columns.add(words[0]);
-			if (--numcolumns == 0) {
-				state = State.UNKNOWN;
-			}
-		} else if (!line.isEmpty()) {
-			System.err.println("Line "+lineNum+". Unknown clause in header: "+line);
-		}
-	}
-	
-	protected void readAttributes(OsmPrimitive p) throws IOException {
-		if (midReader != null) { 
-			String midLine = midReader.readLine();
-			if (midLine != null) {
-				String[] fields = OdUtils.stripQuotesAndExtraChars(midLine.split(delimiter.toString()), delimiter.toString());
-				if (columns.size() != fields.length) {
-					System.err.println("Error: Incoherence between MID and MIF files ("+columns.size()+" columns vs "+fields.length+" fields)");
-				}
-				for (int i=0; i<Math.min(columns.size(), fields.length); i++) {
-					String field = fields[i].trim();
-					/*if (field.startsWith("\"") && field.endsWith("\"")) {
-						field = fields[i].substring(fields[i].indexOf('"')+1, fields[i].lastIndexOf('"'));
-					}*/
-					if (!field.isEmpty()) {
-						p.put(columns.get(i), field);
-					}
-				}
-			}
-		}
-	}
-	
-	protected final Node createNode(String x, String y) {
-		Node node = new Node(josmProj.eastNorth2latlon(new EastNorth(Double.parseDouble(x), Double.parseDouble(y))));
-		ds.addPrimitive(node);
-		return node;
-	}
-	
-	/** Compare two doubles within a default epsilon */
-	public static boolean equals(Double a, Double b) {
-		if (a==b) return true;
-		// If the difference is less than epsilon, treat as equal.
-		return Math.abs(a - b) < 0.0000001;
-	}
+    private enum State {
+        UNKNOWN,
+        READING_COLUMNS,
+        START_POLYGON,
+        READING_POINTS,
+        END_POLYGON,
+        START_POLYLINE,
+        END_POLYLINE
+    }
+
+    protected BufferedReader midReader;
+
+    private Character delimiter = '\t';
+    
+    private State state = State.UNKNOWN;
+    
+    private Projection josmProj;
+    private DataSet ds;
+    private Relation region;
+    private Way polygon;
+    private Node node;
+    private Way polyline;
+
+    // CoordSys clause
+    private MifProjection proj;
+    private MifDatum datum;
+    private String units;
+    private Double originLon;
+    private Double originLat;
+    private Double stdP1;
+    private Double stdP2;
+    private Double azimuth;
+    private Double scaleFactor;
+    private Double falseEasting;
+    private Double falseNorthing;
+    private Double range;
+    private Double minx;
+    private Double miny;
+    private Double maxx;
+    private Double maxy;
+    
+    // Region clause
+    private int numpolygons = -1;
+    private int numpts = -1;
+    
+    public static DataSet parseDataSet(InputStream in, File file,
+            AbstractDataSetHandler handler, ProgressMonitor instance) throws IOException {
+        return new MifReader().parse(in, file, instance, Charset.forName(OdConstants.ISO8859_15));
+    }
+
+    private void parseDelimiter(String[] words) {
+        delimiter = words[1].charAt(1);
+    }
+
+    private void parseUnique(String[] words) {
+        // TODO
+        Main.warn("TODO Unique: "+line);
+    }
+
+    private void parseIndex(String[] words) {
+        // TODO
+        Main.warn("TODO Index: "+line);
+    }
+
+    private void parseCoordSysSyntax1(String[] words) {
+        proj = MifProjection.forCode(Integer.parseInt(words[3]));
+        datum = MifDatum.forCode(Integer.parseInt(words[4]));
+
+        // Custom datum: TODO: use custom decalage values
+        int offset = datum == Custom ? 4 : 0;
+
+        if (proj == Longitude_Latitude) {
+            josmProj = Projections.getProjectionByCode("EPSG:4326"); // WGS 84
+            return;
+        }
+        
+        // Units
+        units = words[5+offset];
+        
+        // Origin, longitude
+        originLon = Double.parseDouble(words[6+offset]);
+        
+        // Origin, latitude
+        switch(proj) {
+        case Albers_Equal_Area_Conic:
+        case Azimuthal_Equidistant_polar_aspect_only:
+        case Equidistant_Conic_also_known_as_Simple_Conic:
+        case Hotine_Oblique_Mercator:
+        case Lambert_Azimuthal_Equal_Area_polar_aspect_only:
+        case Lambert_Conformal_Conic:
+        case Lambert_Conformal_Conic_modified_for_Belgium_1972:
+        case New_Zealand_Map_Grid:
+        case Stereographic:
+        case Swiss_Oblique_Mercator:
+        case Transverse_Mercator_also_known_as_Gauss_Kruger:
+        case Transverse_Mercator_modified_for_Danish_System_34_Jylland_Fyn:
+        case Transverse_Mercator_modified_for_Danish_System_45_Bornholm:
+        case Transverse_Mercator_modified_for_Finnish_KKJ:
+        case Transverse_Mercator_modified_for_Sjaelland:
+        case Polyconic:
+            originLat = Double.parseDouble(words[7+offset]);
+            break;
+        }
+        
+        // Standard Parallel 1
+        switch (proj) {
+        case Cylindrical_Equal_Area:
+        case Regional_Mercator:
+            stdP1 = Double.parseDouble(words[7+offset]);
+            break;
+        case Albers_Equal_Area_Conic:
+        case Equidistant_Conic_also_known_as_Simple_Conic:
+        case Lambert_Conformal_Conic:
+        case Lambert_Conformal_Conic_modified_for_Belgium_1972:
+            stdP1 = Double.parseDouble(words[8+offset]);
+            break;
+        }
+
+        // Standard Parallel 2
+        switch (proj) {
+        case Albers_Equal_Area_Conic:
+        case Equidistant_Conic_also_known_as_Simple_Conic:
+        case Lambert_Conformal_Conic:
+        case Lambert_Conformal_Conic_modified_for_Belgium_1972:
+            stdP2 = Double.parseDouble(words[9+offset]);
+            break;
+        }
+        
+        // Azimuth
+        if (proj == Hotine_Oblique_Mercator) {
+            azimuth = Double.parseDouble(words[8+offset]);
+        }
+
+        // Scale Factor
+        switch (proj) {
+        case Hotine_Oblique_Mercator:
+            scaleFactor = Double.parseDouble(words[9+offset]);
+            break;
+        case Stereographic:
+        case Transverse_Mercator_also_known_as_Gauss_Kruger:
+        case Transverse_Mercator_modified_for_Danish_System_34_Jylland_Fyn:
+        case Transverse_Mercator_modified_for_Danish_System_45_Bornholm:
+        case Transverse_Mercator_modified_for_Finnish_KKJ:
+        case Transverse_Mercator_modified_for_Sjaelland:
+            scaleFactor = Double.parseDouble(words[8+offset]);
+            break;
+        }
+        
+        // False Easting/Northing
+        switch (proj) {
+        case Albers_Equal_Area_Conic:
+        case Equidistant_Conic_also_known_as_Simple_Conic:
+        case Hotine_Oblique_Mercator:
+        case Lambert_Conformal_Conic:
+        case Lambert_Conformal_Conic_modified_for_Belgium_1972:
+            falseEasting = Double.parseDouble(words[10+offset]);
+            falseNorthing = Double.parseDouble(words[11+offset]);
+            break;
+        case Stereographic:
+        case Transverse_Mercator_also_known_as_Gauss_Kruger:
+        case Transverse_Mercator_modified_for_Danish_System_34_Jylland_Fyn:
+        case Transverse_Mercator_modified_for_Danish_System_45_Bornholm:
+        case Transverse_Mercator_modified_for_Finnish_KKJ:
+        case Transverse_Mercator_modified_for_Sjaelland:
+            falseEasting = Double.parseDouble(words[9+offset]);
+            falseNorthing = Double.parseDouble(words[10+offset]);
+            break;
+        case New_Zealand_Map_Grid:
+        case Swiss_Oblique_Mercator:
+        case Polyconic:
+            falseEasting = Double.parseDouble(words[8+offset]);
+            falseNorthing = Double.parseDouble(words[9+offset]);
+            break;
+        }
+                                    
+        // Range
+        switch (proj) {
+        case Azimuthal_Equidistant_polar_aspect_only:
+        case Lambert_Azimuthal_Equal_Area_polar_aspect_only:
+            range = Double.parseDouble(words[8+offset]);
+        }
+
+        switch (proj) {
+        case Lambert_Conformal_Conic:
+            if ((datum == Geodetic_Reference_System_1980_GRS_80 || datum == Custom) && equals(originLon, 3.0)) {
+                // This sounds good for Lambert 93 or Lambert CC 9
+                if (equals(originLat, 46.5) && equals(stdP1, 44.0) && equals(stdP2, 49.0) && equals(falseEasting, 700000.0) && equals(falseNorthing, 6600000.0)) {
+                    josmProj = Projections.getProjectionByCode("EPSG:2154"); // Lambert 93
+                } else if (equals(falseEasting, 1700000.0)) {
+                    for (int i=0; josmProj == null && i<9; i++) {
+                        if (equals(originLat, 42.0+i) && equals(stdP1, 41.25+i) && equals(stdP2, 42.75+i) && equals(falseNorthing, (i+1)*1000000.0 + 200000.0)) {
+                            josmProj = Projections.getProjectionByCode("EPSG:"+Integer.toString(3942 + i)); // LambertCC9Zones
+                        }
+                    }
+                }
+            }
+            break;
+        default:
+            // TODO
+            Main.warn("TODO proj: "+line);
+        }
+        
+        // TODO: handle cases with Affine declaration
+        int index = parseAffineUnits(words);
+
+        // handle cases with Bounds declaration
+        parseBounds(words, index);
+    }
+
+    private void parseCoordSysSyntax2(String[] words) {
+        // handle cases with Affine declaration
+        int index = parseAffineUnits(words);
+        
+        // FIXME: no idea what projection has to be used for real with "non-earth" mode...
+        josmProj = Projections.getProjectionByCode("EPSG:4326"); // WGS 84
+        
+        units = words[index+1];
+        
+        parseBounds(words, index+2);
+    }
+    
+    private int parseAffineUnits(String[] words) {
+        // TODO: handle affine units
+        return 2+0;
+    }
+
+    private void parseBounds(String[] words, int index) {
+        if (index < words.length && "Bounds".equals(words[index])) {
+            // Useless parenthesis... "(minx, miny) (maxx, maxy)"
+            minx = Double.parseDouble(words[index+1].substring(1));
+            miny = Double.parseDouble(words[index+2].substring(0, words[index+2].length()-1));
+            maxx = Double.parseDouble(words[index+3].substring(1));
+            maxy = Double.parseDouble(words[index+4].substring(0, words[index+4].length()-1));
+            if (Main.isTraceEnabled()) {
+                Main.trace(Arrays.toString(words) + " -> "+minx+","+miny+","+maxx+","+maxy);
+            }
+        }
+    }
+
+    private void parseCoordSys(String[] words) {
+        for (int i = 0; i<words.length; i++) {
+            words[i] = words[i].replace(",", "");
+        }
+        switch (words[1].toLowerCase()) {
+        case "earth":
+            parseCoordSysSyntax1(words);
+            break;
+        case "nonearth":
+            parseCoordSysSyntax2(words);
+            break;
+        case "layout":
+        case "table":
+        case "window":
+            // TODO: support Layout, Table, Window clauses 
+            Main.warn("TODO: "+line);
+            break;
+        default:
+            Main.warn("Line "+lineNum+". Invalid CoordSys clause: "+line);
+        }
+    }
+
+    private void parseTransform(String[] words) {
+        // TODO
+        Main.warn("TODO Transform: "+line);
+    }
+
+    @Override
+    protected void parseColumns(String[] words) {
+        super.parseColumns(words);
+        state = State.READING_COLUMNS;
+    }
+
+    private void parseData(String[] words) {
+        if (ds == null) {
+            ds = new DataSet();
+        }
+    }
+    
+    private void parsePoint(String[] words) throws IOException {
+        readAttributes(createNode(words[1], words[2]));
+    }
+
+    private void parseLine(String[] words) throws IOException {
+        Way line = new Way();
+        ds.addPrimitive(line);
+        readAttributes(line);
+        line.addNode(createNode(words[1], words[2]));
+        line.addNode(createNode(words[3], words[4]));
+    }
+    
+    private void parsePLine(String[] words) throws IOException {
+        if (words.length > 2) {
+            // TODO: pline with multiple sections
+            polyline = new Way();
+            ds.addPrimitive(polyline);
+            readAttributes(polyline);
+            numpts = Integer.parseInt(words[1]); // Not described in PDF but found in real files: PLINE XX, with XX = numpoints
+            state = State.READING_POINTS;
+        } else {
+            numpts = -1;
+            state = State.START_POLYLINE;
+        }
+    }
+
+    private void parseRegion(String[] words) throws IOException {
+        region = new Relation();
+        region.put("type", "multipolygon");
+        ds.addPrimitive(region);
+        readAttributes(region);
+        numpolygons = Integer.parseInt(words[1]);
+        state = State.START_POLYGON;
+    }
+
+    private void parseArc(String[] words) {
+        // TODO
+        Main.warn("TODO Arc: "+line);
+    }
+
+    private void parseText(String[] words) {
+        // TODO
+        Main.warn("TODO Text: "+line);
+    }
+
+    private void parseRect(String[] words) {
+        // TODO
+        Main.warn("TODO Rect: "+line);
+    }
+
+    private void parseRoundRect(String[] words) {
+        // TODO
+        Main.warn("TODO RoundRect: "+line);
+    }
+
+    private void parseEllipse(String[] words) {
+        // TODO
+        Main.warn("TODO Ellipse: "+line);
+    }
+
+    private DataSet parse(InputStream in, File file, ProgressMonitor instance, Charset charset) throws IOException {
+        try {
+            headerReader = new BufferedReader(new InputStreamReader(in, charset));
+            midReader = getDataReader(file, ".mid", charset);
+            parseHeader();
+            if (midReader != null) {
+                midReader.close();
+            }
+            return ds;
+        } catch (UnsupportedEncodingException e) {
+            throw new IOException(e);
+        }
+    }
+
+    @Override
+    protected void parseHeaderLine(String[] words) throws IOException {
+        if (words[0].equalsIgnoreCase("Version")) {
+            parseVersion(words);
+        } else if (words[0].equalsIgnoreCase("Charset")) {
+            parseCharset(words);
+        } else if (words[0].equalsIgnoreCase("Delimiter")) {
+            parseDelimiter(words);
+        } else if (words[0].equalsIgnoreCase("Unique")) {
+            parseUnique(words);
+        } else if (words[0].equalsIgnoreCase("Index")) {
+            parseIndex(words);
+        } else if (words[0].equalsIgnoreCase("CoordSys")) {
+            parseCoordSys(words);
+        } else if (words[0].equalsIgnoreCase("Transform")) {
+            parseTransform(words);
+        } else if (words[0].equalsIgnoreCase("Columns")) {
+            parseColumns(words);
+        } else if (words[0].equalsIgnoreCase("Data")) {
+            parseData(words);
+        } else if (ds != null) {
+            if (state == State.START_POLYGON) {
+                numpts = Integer.parseInt(words[0]);
+                polygon = new Way();
+                ds.addPrimitive(polygon);
+                region.addMember(new RelationMember("outer", polygon));
+                state = State.READING_POINTS;
+                
+            } else if (state == State.START_POLYLINE) {
+                numpts = Integer.parseInt(words[0]);
+                polyline = new Way();
+                ds.addPrimitive(polyline);
+                readAttributes(polyline);
+                state = State.READING_POINTS;
+                
+            } else if (state == State.READING_POINTS && numpts > 0) {
+                if (josmProj != null) {
+                    node = createNode(words[0], words[1]);
+                    if (polygon != null) {
+                        polygon.addNode(node);
+                    } else if (polyline != null) {
+                        polyline.addNode(node);
+                    }
+                }
+                if (--numpts == 0) {
+                    if (numpolygons > -1) {
+                        if (--numpolygons > 0) {
+                            state = State.START_POLYGON;
+                        } else {
+                            state = State.END_POLYGON;
+                            polygon = null;
+                        }
+                    } else if (polyline != null) {
+                        state = State.UNKNOWN;
+                        polyline = null;
+                    }
+                }
+            } else if (words[0].equalsIgnoreCase("Point")) {
+                parsePoint(words);
+            } else if (words[0].equalsIgnoreCase("Line")) {
+                parseLine(words);
+            } else if (words[0].equalsIgnoreCase("PLine")) {
+                parsePLine(words);
+            } else if (words[0].equalsIgnoreCase("Region")) {
+                parseRegion(words);
+            } else if (words[0].equalsIgnoreCase("Arc")) {
+                parseArc(words);
+            } else if (words[0].equalsIgnoreCase("Text")) {
+                parseText(words);
+            } else if (words[0].equalsIgnoreCase("Rect")) {
+                parseRect(words);
+            } else if (words[0].equalsIgnoreCase("RoundRect")) {
+                parseRoundRect(words);
+            } else if (words[0].equalsIgnoreCase("Ellipse")) {
+                parseEllipse(words);
+            } else if (words[0].equalsIgnoreCase("Pen")) {
+                // Do nothing
+            } else if (words[0].equalsIgnoreCase("Brush")) {
+                // Do nothing
+            } else if (words[0].equalsIgnoreCase("Center")) {
+                // Do nothing
+            } else if (words[0].equalsIgnoreCase("Symbol")) {
+                // Do nothing
+            } else if (words[0].equalsIgnoreCase("Font")) {
+                // Do nothing
+            } else if (!words[0].isEmpty()) {
+                Main.warn("Line "+lineNum+". Unknown clause in data section: "+line);
+            }
+        } else if (state == State.READING_COLUMNS && numcolumns > 0) {
+            columns.add(words[0]);
+            if (--numcolumns == 0) {
+                state = State.UNKNOWN;
+            }
+        } else if (!line.isEmpty()) {
+            Main.warn("Line "+lineNum+". Unknown clause in header: "+line);
+        }
+    }
+    
+    protected void readAttributes(OsmPrimitive p) throws IOException {
+        if (midReader != null) { 
+            String midLine = midReader.readLine();
+            if (midLine != null) {
+                String[] fields = OdUtils.stripQuotesAndExtraChars(midLine.split(delimiter.toString()), delimiter.toString());
+                if (columns.size() != fields.length) {
+                    Main.error("Incoherence between MID and MIF files ("+columns.size()+" columns vs "+fields.length+" fields)");
+                }
+                for (int i=0; i<Math.min(columns.size(), fields.length); i++) {
+                    String field = fields[i].trim();
+                    /*if (field.startsWith("\"") && field.endsWith("\"")) {
+                        field = fields[i].substring(fields[i].indexOf('"')+1, fields[i].lastIndexOf('"'));
+                    }*/
+                    if (!field.isEmpty()) {
+                        p.put(columns.get(i), field);
+                    }
+                }
+            }
+        }
+    }
+    
+    protected final Node createNode(String x, String y) {
+        Node node = new Node(josmProj.eastNorth2latlon(new EastNorth(Double.parseDouble(x), Double.parseDouble(y))));
+        ds.addPrimitive(node);
+        return node;
+    }
+    
+    /** Compare two doubles within a default epsilon */
+    public static boolean equals(Double a, Double b) {
+        if (a==b) return true;
+        // If the difference is less than epsilon, treat as equal.
+        return Math.abs(a - b) < 0.0000001;
+    }
 }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/MifTabImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/MifTabImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/MifTabImporter.java	(revision 30563)
@@ -1,15 +1,22 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
 
 public class MifTabImporter extends AbstractImporter {
 	
+    public static final ExtensionFileFilter MIF_TAB_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.MIF_EXT+","+OdConstants.TAB_EXT, OdConstants.MIF_EXT, tr("MapInfo files") + " (*."+OdConstants.MIF_EXT+",*."+OdConstants.TAB_EXT+")");
+
     public MifTabImporter() {
         super(MIF_TAB_FILE_FILTER);
@@ -20,5 +27,5 @@
 			throws IllegalDataException {
 		try {
-			if (file.getName().toLowerCase().endsWith(MIF_EXT)) {
+			if (file.getName().toLowerCase().endsWith(OdConstants.MIF_EXT)) {
 				return MifReader.parseDataSet(in, file, handler, instance);
 			} else {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpImporter.java	(revision 30563)
@@ -1,15 +1,22 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
 
 public class ShpImporter extends AbstractImporter {
 	
+    public static final ExtensionFileFilter SHP_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.SHP_EXT, OdConstants.SHP_EXT, tr("Shapefiles") + " (*."+OdConstants.SHP_EXT+")");
+
     public ShpImporter() {
         super(SHP_FILE_FILTER);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/TabReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/TabReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/TabReader.java	(revision 30563)
@@ -16,4 +16,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.io.tabular.SpreadSheetHandler;
@@ -35,5 +36,5 @@
 	public static DataSet parseDataSet(InputStream in, File file,
 			AbstractDataSetHandler handler, ProgressMonitor instance) throws IOException {
-		return new TabReader(handler).parse(in, file, instance, Charset.forName(ISO8859_15));
+		return new TabReader(handler).parse(in, file, instance, Charset.forName(OdConstants.ISO8859_15));
 	}
 		
@@ -57,5 +58,5 @@
 				return null;
 			}
-        	List<String> result = new ArrayList<String>();
+        	List<String> result = new ArrayList<>();
 			Row row = dbfReader.readRow();
         	for (int i=0; i<columns.size(); i++) {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvImporter.java	(revision 30563)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.opendata.core.io.tabular;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.BufferedReader;
@@ -8,10 +10,15 @@
 import java.io.InputStream;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
 
 public class CsvImporter extends AbstractImporter {
+    
+    public static final ExtensionFileFilter CSV_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.CSV_EXT, OdConstants.CSV_EXT, tr("CSV files") + " (*."+OdConstants.CSV_EXT+")");
     
     public static final String COLOMBUS_HEADER = "INDEX,TAG,DATE,TIME,LATITUDE N/S,LONGITUDE E/W,HEIGHT,SPEED,HEADING,FIX MODE,VALID,PDOP,HDOP,VDOP,VOX";
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReader.java	(revision 30563)
@@ -10,4 +10,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;
@@ -27,5 +28,5 @@
 	public CsvReader(CsvHandler handler, String defaultSep) {
 		super(handler);
-		this.charset = handler != null && handler.getCharset() != null ? handler.getCharset() : Charset.forName(UTF8);
+		this.charset = handler != null && handler.getCharset() != null ? handler.getCharset() : Charset.forName(OdConstants.UTF8);
 		this.sep = handler != null && handler.getSeparator() != null ? handler.getSeparator() : defaultSep;
 	}
@@ -40,5 +41,5 @@
 			return csvReader.parse(in, instance);
 		} catch (IllegalArgumentException e) {
-			if (csvHandler == null || (csvHandler.getSeparator() != null && csvHandler.getSeparator().equals(";"))) {
+			if (csvHandler == null || csvHandler.getSeparator() == null || ";".equals(csvHandler.getSeparator())) {
 				// If default sep has been used, try comma
 				System.out.println(e.getMessage());
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsDocument.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsDocument.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsDocument.java	(revision 30563)
@@ -11,10 +11,9 @@
 import org.jopendocument.io.SaxContentUnmarshaller;
 import org.jopendocument.model.OpenDocument;
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.XMLReaderFactory;
 
-public class OdsDocument extends OpenDocument implements OdConstants {
+public class OdsDocument extends OpenDocument {
 
 	public OdsDocument(InputStream in) {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsImporter.java	(revision 30563)
@@ -1,15 +1,22 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.opendata.core.io.tabular;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
 
 public class OdsImporter extends AbstractImporter {
 	
+    public static final ExtensionFileFilter ODS_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.ODS_EXT, OdConstants.ODS_EXT, tr("ODS files") + " (*."+OdConstants.ODS_EXT+")");
+    
     public OdsImporter() {
         super(ODS_FILE_FILTER);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetReader.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetReader.java	(revision 30563)
@@ -4,4 +4,6 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.awt.Component;
+import java.awt.GraphicsEnvironment;
 import java.io.IOException;
 import java.io.InputStream;
@@ -27,5 +29,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.io.ProjectionPatterns;
 
-public abstract class SpreadSheetReader extends AbstractReader implements OdConstants {
+public abstract class SpreadSheetReader extends AbstractReader {
 	
 	private static final NumberFormat formatFrance = NumberFormat.getInstance(Locale.FRANCE);
@@ -65,5 +67,6 @@
 			return xCol > -1 && yCol > -1;
 		}
-        @Override public String toString() {
+        @Override
+        public String toString() {
             return "CoordinateColumns [proj=" + proj + ", xCol=" + xCol + ", yCol=" + yCol + "]";
         }
@@ -86,6 +89,8 @@
         }
 
-        @Override public void run() {
-            ProjectionChooser dialog = (ProjectionChooser) new ProjectionChooser(progressMonitor.getWindowParent()).showDialog();
+        @Override
+        public void run() {
+            Component parent = progressMonitor == null ? Main.parent : progressMonitor.getWindowParent();
+            ProjectionChooser dialog = (ProjectionChooser) new ProjectionChooser(parent).showDialog();
             if (dialog.getValue() == 1) {
                 proj = dialog.getProjection();
@@ -100,5 +105,5 @@
 		
 		for (int i = 0; i<header.length; i++) {
-			for (ProjectionPatterns pp : PROJECTIONS) {
+			for (ProjectionPatterns pp : OdConstants.PROJECTIONS) {
 			    List<CoordinateColumns> columns = projColumns.get(pp);
 			    if (columns == null) {
@@ -144,4 +149,7 @@
 		} else if (!columns.isEmpty()) {
 			if (!handlerOK) {
+                if (GraphicsEnvironment.isHeadless()) {
+                    throw new IllegalArgumentException("No valid coordinates have been found and cannot prompt user in headless mode.");
+			    }
 				// TODO: filter proposed projections with min/max values ?
 			    ChooserLauncher launcher = new ChooserLauncher(progressMonitor);
@@ -233,5 +241,5 @@
     			        firstNode = n;
     			    }
-    			    if (n == firstNode || n.getCoor().greatCircleDistance(firstNode.getCoor()) > Main.pref.getDouble(PREF_TOLERANCE, DEFAULT_TOLERANCE)) {
+    			    if (n == firstNode || n.getCoor().greatCircleDistance(firstNode.getCoor()) > Main.pref.getDouble(OdConstants.PREF_TOLERANCE, OdConstants.DEFAULT_TOLERANCE)) {
     			        ds.addPrimitive(n);
     			    } else {
@@ -240,5 +248,5 @@
     			}
 			}
-			if (handler != null && !Main.pref.getBoolean(PREF_RAWDATA)) {
+			if (handler != null && !Main.pref.getBoolean(OdConstants.PREF_RAWDATA)) {
 			    handler.nodesAdded(ds, nodes, header, lineNumber);
 			}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/XlsImporter.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/XlsImporter.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/XlsImporter.java	(revision 30563)
@@ -1,15 +1,22 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.plugins.opendata.core.io.tabular;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.openstreetmap.josm.actions.ExtensionFileFilter;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.IllegalDataException;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.io.AbstractImporter;
 
 public class XlsImporter extends AbstractImporter {
 	
+    public static final ExtensionFileFilter XLS_FILE_FILTER = new ExtensionFileFilter(
+            OdConstants.XLS_EXT, OdConstants.XLS_EXT, tr("XLS files") + " (*."+OdConstants.XLS_EXT+")");
+    
     public XlsImporter() {
         super(XLS_FILE_FILTER);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDataLayer.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDataLayer.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDataLayer.java	(revision 30563)
@@ -28,5 +28,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;
 
-public class OdDataLayer extends OsmDataLayer implements OdConstants, OdLayer, LayerChangeListener {
+public class OdDataLayer extends OsmDataLayer implements OdLayer, LayerChangeListener {
 
 	public OdDiffLayer diffLayer;
@@ -52,5 +52,5 @@
 	
     @Override public Icon getBaseIcon() {
-    	return OdUtils.getImageIcon(handler != null ? handler.getDataLayerIconName() : ICON_CORE_16);
+    	return OdUtils.getImageIcon(handler != null ? handler.getDataLayerIconName() : OdConstants.ICON_CORE_16);
     }
 
@@ -133,5 +133,5 @@
 			}
 			if (this.handler.getWikiURL() != null) { 
-				result.add(new OpenLinkAction(this.handler.getWikiURL(), ICON_OSM_24, 
+				result.add(new OpenLinkAction(this.handler.getWikiURL(), OdConstants.ICON_OSM_24, 
 						tr("View OSM Wiki page"), tr("Launch browser to the OSM Wiki page of the selected data set")));
 			}
@@ -147,9 +147,9 @@
 				License lic = this.handler.getLicense();
 				if (lic.getURL() != null && lic.getURL().getProtocol().startsWith("http")) {
-					result.add(new OpenLinkAction(lic.getURL(), ICON_AGREEMENT_24, 
+					result.add(new OpenLinkAction(lic.getURL(), OdConstants.ICON_AGREEMENT_24, 
 							tr("View License"), tr("Launch browser to the license page of the selected data set")));
 				}
 				if (lic.getSummaryURL() != null && lic.getSummaryURL().getProtocol().startsWith("http")) {
-					result.add(new OpenLinkAction(lic.getSummaryURL(), ICON_AGREEMENT_24, 
+					result.add(new OpenLinkAction(lic.getSummaryURL(), OdConstants.ICON_AGREEMENT_24, 
 							tr("View License (summary)"), tr("Launch browser to the summary license page of the selected data set")));
 				}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDiffLayer.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDiffLayer.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDiffLayer.java	(revision 30563)
@@ -20,5 +20,5 @@
 import org.openstreetmap.josm.tools.Pair;
 
-public class OdDiffLayer extends Layer implements OdLayer, OdConstants {
+public class OdDiffLayer extends Layer implements OdLayer {
 
 	private final OdDataLayer dataLayer;
@@ -62,5 +62,5 @@
 	
 	private OsmPrimitive findPrimitiveAt(DataSet dataSet, OsmPrimitive source) {
-		double maxDistance = Main.pref.getDouble(PREF_MAXDISTANCE, DEFAULT_MAXDISTANCE);
+		double maxDistance = Main.pref.getDouble(OdConstants.PREF_MAXDISTANCE, OdConstants.DEFAULT_MAXDISTANCE);
 		//List<OsmPrimitive> samePrimitives = new ArrayList<OsmPrimitive>();
 		OsmPrimitive nearestSamePrimitive = null;
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/LOOL.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/LOOL.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/LOOL.java	(revision 30563)
@@ -5,12 +5,12 @@
 import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;
 
-public class LOOL extends License implements OdConstants {
+public class LOOL extends License {
 	
     //public static final String URL_FR = "http://www.data.gouv.fr/Licence-Ouverte-Open-Licence";
     
 	public LOOL() {
-		setIcon(OdUtils.getImageIcon(ICON_LOOL_48, true));
-		setURL(LOOL.class.getResource(RESOURCE_PATH+"Licence-Ouverte-Open-Licence-ENG.rtf"), "en");
-		setURL(LOOL.class.getResource(RESOURCE_PATH+"Licence-Ouverte-Open-Licence.rtf"), "fr");
+		setIcon(OdUtils.getImageIcon(OdConstants.ICON_LOOL_48, true));
+		setURL(LOOL.class.getResource(OdConstants.RESOURCE_PATH+"Licence-Ouverte-Open-Licence-ENG.rtf"), "en");
+		setURL(LOOL.class.getResource(OdConstants.RESOURCE_PATH+"Licence-Ouverte-Open-Licence.rtf"), "fr");
 	}
 }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/ODbL.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/ODbL.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/ODbL.java	(revision 30563)
@@ -4,5 +4,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 
-public class ODbL extends License implements OdConstants {
+public class ODbL extends License {
 	
     //public static final String URL            = "http://opendatacommons.org/licenses/odbl/1-0";
@@ -14,9 +14,9 @@
 		for (String lang : new String[]{"", "fr"}) {
 			if (lang.isEmpty()) {
-				setURL(ODbL.class.getResource(RESOURCE_PATH+"odbl-1.0.htm"));
-				setSummaryURL(ODbL.class.getResource(RESOURCE_PATH+"odbl-summary-1.0.htm"));
+				setURL(ODbL.class.getResource(OdConstants.RESOURCE_PATH+"odbl-1.0.htm"));
+				setSummaryURL(ODbL.class.getResource(OdConstants.RESOURCE_PATH+"odbl-summary-1.0.htm"));
 			} else {
-				setURL(ODbL.class.getResource(RESOURCE_PATH+"odbl-1.0-"+lang+".htm"), lang);
-				setSummaryURL(ODbL.class.getResource(RESOURCE_PATH+"odbl-summary-1.0-"+lang+".htm"), lang);
+				setURL(ODbL.class.getResource(OdConstants.RESOURCE_PATH+"odbl-1.0-"+lang+".htm"), lang);
+				setSummaryURL(ODbL.class.getResource(OdConstants.RESOURCE_PATH+"odbl-summary-1.0-"+lang+".htm"), lang);
 			}
 		}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/AbstractModule.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/AbstractModule.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/AbstractModule.java	(revision 30563)
@@ -17,5 +17,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 
-public abstract class AbstractModule implements Module, OdConstants {
+public abstract class AbstractModule implements Module {
 
 	protected final List<Class<? extends AbstractDataSetHandler>> handlers = new ArrayList<>();
@@ -52,9 +52,9 @@
 				try {
 					// Copy style sheet to disk to allow JOSM to load it at startup (even making the plugin "early" does not allow it)
-					String path = OdPlugin.getInstance().getResourcesDirectory()+File.separator+src.url.replace(PROTO_RSRC, "").replace('/', File.separatorChar);
+					String path = OdPlugin.getInstance().getResourcesDirectory()+File.separator+src.url.replace(OdConstants.PROTO_RSRC, "").replace('/', File.separatorChar);
 					
 					int n = 0;
 					byte[] buffer = new byte[4096];
-					InputStream in = getClass().getResourceAsStream(src.url.substring(PROTO_RSRC.length()-1));
+					InputStream in = getClass().getResourceAsStream(src.url.substring(OdConstants.PROTO_RSRC.length()-1));
 					new File(path.substring(0, path.lastIndexOf(File.separatorChar))).mkdirs();
 					FileOutputStream out = new FileOutputStream(path);
@@ -66,5 +66,5 @@
 
 					// Add source pointing to the local file
-					src.url = PROTO_FILE+path;
+					src.url = OdConstants.PROTO_FILE+path;
 					sources.add(src);
 				} catch (IOException e) {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleHandler.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleHandler.java	(revision 30563)
@@ -56,5 +56,5 @@
  *
  */
-public class ModuleHandler implements OdConstants {
+public class ModuleHandler {
 
     /**
@@ -251,5 +251,5 @@
         }
         if (msg != null && confirmDisableModule(parent, msg, module.name)) {
-            Main.pref.removeFromCollection(PREF_MODULES, module.name);
+            Main.pref.removeFromCollection(OdConstants.PREF_MODULES, module.name);
         }
     }
@@ -359,7 +359,7 @@
     public static List<ModuleInformation> buildListOfModulesToLoad(Component parent) {
         Set<String> modules = new HashSet<>();
-        modules.addAll(Main.pref.getCollection(PREF_MODULES,  new LinkedList<String>()));
-        if (System.getProperty("josm."+PREF_MODULES) != null) {
-            modules.addAll(Arrays.asList(System.getProperty("josm."+PREF_MODULES).split(",")));
+        modules.addAll(Main.pref.getCollection(OdConstants.PREF_MODULES,  new LinkedList<String>()));
+        if (System.getProperty("josm."+OdConstants.PREF_MODULES) != null) {
+            modules.addAll(Arrays.asList(System.getProperty("josm."+OdConstants.PREF_MODULES).split(",")));
         }
         Map<String, ModuleInformation> infos = loadLocallyAvailableModuleInformation(null);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleInformation.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleInformation.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ModuleInformation.java	(revision 30563)
@@ -34,5 +34,5 @@
  * without the need of loading any class from the module jar file.
  */
-public class ModuleInformation implements OdConstants {
+public class ModuleInformation {
     public File file = null;
     public String name = null;
@@ -218,5 +218,5 @@
             sb.append(" <a href=\"").append(link).append("\">").append(tr("More info...")).append("</a>");
         }
-        if (downloadlink != null && !downloadlink.startsWith(OSM_SITE+"dist/")) {
+        if (downloadlink != null && !downloadlink.startsWith(OdConstants.OSM_SITE+"dist/")) {
             sb.append("<p>&nbsp;</p><p>"+tr("<b>Module provided by an external source:</b> {0}", downloadlink)+"</p>");
         }
@@ -347,5 +347,5 @@
     public ImageIcon getScaledIcon() {
         if (icon == null)
-            return OdUtils.getImageIcon(ICON_EMPTY_24);
+            return OdUtils.getImageIcon(OdConstants.ICON_EMPTY_24);
         return new ImageIcon(icon.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH));
     }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ReadRemoteModuleInformationTask.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ReadRemoteModuleInformationTask.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/modules/ReadRemoteModuleInformationTask.java	(revision 30563)
@@ -31,5 +31,4 @@
 import org.openstreetmap.josm.io.OsmTransferException;
 import org.openstreetmap.josm.plugins.opendata.OdPlugin;
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.xml.sax.SAXException;
@@ -39,5 +38,5 @@
  *
  */
-public class ReadRemoteModuleInformationTask extends PleaseWaitRunnable implements OdConstants {
+public class ReadRemoteModuleInformationTask extends PleaseWaitRunnable {
 
     private Collection<String> sites;
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/util/NamesFrUtils.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/util/NamesFrUtils.java	(revision 30562)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/util/NamesFrUtils.java	(revision 30563)
@@ -15,5 +15,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.datasets.SimpleDataSetHandler;
 
-public abstract class NamesFrUtils implements OdConstants {
+public abstract class NamesFrUtils {
 	
 	private static Map<String, String> dictionary = initDictionary();
@@ -34,5 +34,5 @@
 		try {
 			BufferedReader reader = new BufferedReader(new InputStreamReader(
-					SimpleDataSetHandler.class.getResourceAsStream(DICTIONARY_FR), UTF8));
+					SimpleDataSetHandler.class.getResourceAsStream(OdConstants.DICTIONARY_FR), OdConstants.UTF8));
 			String line = reader.readLine(); // Skip first line
 			while ((line = reader.readLine()) != null) {
Index: /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.cpg
===================================================================
--- /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.cpg	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.cpg	(revision 30563)
@@ -0,0 +1,1 @@
+UTF-8
Index: /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.csv
===================================================================
--- /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.csv	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.csv	(revision 30563)
@@ -0,0 +1,6 @@
+X,Y,id,some_text
+13.605861338605969,45.804139637452899,1,à as italian località
+13.605861338605969,45.760093009107536,5,ù
+13.605183698169887,45.771612896520935,4,ò
+13.605183698169887,45.783132783934342,3,ì
+13.605861338605969,45.79397503091166,2,è
Index: /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.kml
===================================================================
--- /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.kml	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.kml	(revision 30563)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<kml xmlns="http://www.opengis.net/kml/2.2">
+<Document id="root_doc">
+<Schema name="utf8_test" id="utf8_test">
+	<SimpleField name="id" type="int"></SimpleField>
+	<SimpleField name="some_text" type="string"></SimpleField>
+</Schema>
+<Folder><name>utf8_test</name>
+  <Placemark>
+	<ExtendedData><SchemaData schemaUrl="#utf8_test">
+		<SimpleData name="id">1</SimpleData>
+		<SimpleData name="some_text">à as italian località</SimpleData>
+	</SchemaData></ExtendedData>
+      <Point><coordinates>13.605861338605969,45.804139637452899</coordinates></Point>
+  </Placemark>
+  <Placemark>
+	<ExtendedData><SchemaData schemaUrl="#utf8_test">
+		<SimpleData name="id">5</SimpleData>
+		<SimpleData name="some_text">ù</SimpleData>
+	</SchemaData></ExtendedData>
+      <Point><coordinates>13.605861338605969,45.760093009107536</coordinates></Point>
+  </Placemark>
+  <Placemark>
+	<ExtendedData><SchemaData schemaUrl="#utf8_test">
+		<SimpleData name="id">4</SimpleData>
+		<SimpleData name="some_text">ò</SimpleData>
+	</SchemaData></ExtendedData>
+      <Point><coordinates>13.605183698169887,45.771612896520935</coordinates></Point>
+  </Placemark>
+  <Placemark>
+	<ExtendedData><SchemaData schemaUrl="#utf8_test">
+		<SimpleData name="id">3</SimpleData>
+		<SimpleData name="some_text">ì</SimpleData>
+	</SchemaData></ExtendedData>
+      <Point><coordinates>13.605183698169887,45.783132783934342</coordinates></Point>
+  </Placemark>
+  <Placemark>
+	<ExtendedData><SchemaData schemaUrl="#utf8_test">
+		<SimpleData name="id">2</SimpleData>
+		<SimpleData name="some_text">è</SimpleData>
+	</SchemaData></ExtendedData>
+      <Point><coordinates>13.605861338605969,45.79397503091166</coordinates></Point>
+  </Placemark>
+</Folder>
+</Document></kml>
Index: /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.prj
===================================================================
--- /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.prj	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.prj	(revision 30563)
@@ -0,0 +1,1 @@
+GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
Index: /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.qpj
===================================================================
--- /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.qpj	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test.qpj	(revision 30563)
@@ -0,0 +1,1 @@
+GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
Index: /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test_qgis_24.qgs
===================================================================
--- /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test_qgis_24.qgs	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/data/regress/10214/utf8_test_qgis_24.qgs	(revision 30563)
@@ -0,0 +1,332 @@
+<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
+<qgis projectname="" version="2.4.0-Chugiak">
+    <title></title>
+    <layer-tree-group expanded="1" checked="Qt::Checked" name="">
+        <customproperties/>
+        <layer-tree-layer expanded="1" checked="Qt::Checked" id="utf8_test20140701014950994" name="utf8_test">
+            <customproperties/>
+        </layer-tree-layer>
+    </layer-tree-group>
+    <relations/>
+    <mapcanvas>
+        <units>degrees</units>
+        <extent>
+            <xmin>13.57621456952735706</xmin>
+            <ymin>45.72434747610418526</ymin>
+            <xmax>13.75375636378098854</xmax>
+            <ymax>45.83158407511425025</ymax>
+        </extent>
+        <projections>1</projections>
+        <destinationsrs>
+            <spatialrefsys>
+                <proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
+                <srsid>3452</srsid>
+                <srid>4326</srid>
+                <authid>EPSG:4326</authid>
+                <description>WGS 84</description>
+                <projectionacronym>longlat</projectionacronym>
+                <ellipsoidacronym>WGS84</ellipsoidacronym>
+                <geographicflag>true</geographicflag>
+            </spatialrefsys>
+        </destinationsrs>
+        <layer_coordinate_transform_info>
+            <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:3006" srcDatumTransform="-1" destDatumTransform="-1" layerid="civici_no_match_qgis20140701014814780"/>
+            <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="utf8_test20140701014723074"/>
+            <layer_coordinate_transform destAuthId="EPSG:4326" srcAuthId="EPSG:4326" srcDatumTransform="-1" destDatumTransform="-1" layerid="utf8_test20140701014950994"/>
+        </layer_coordinate_transform_info>
+    </mapcanvas>
+    <layer-tree-canvas>
+        <custom-order enabled="0">
+            <item>utf8_test20140701014950994</item>
+        </custom-order>
+    </layer-tree-canvas>
+    <legend updateDrawingOrder="true">
+        <legendlayer drawingOrder="-1" open="true" checked="Qt::Checked" name="utf8_test" showFeatureCount="0">
+            <filegroup open="true" hidden="false">
+                <legendlayerfile isInOverview="0" layerid="utf8_test20140701014950994" visible="1"/>
+            </filegroup>
+        </legendlayer>
+    </legend>
+    <projectlayers layercount="1">
+        <maplayer minimumScale="-4.65661e-10" maximumScale="1e+08" simplifyDrawingHints="0" minLabelScale="0" maxLabelScale="1e+08" simplifyDrawingTol="1" geometry="Point" simplifyMaxScale="1" type="vector" hasScaleBasedVisibilityFlag="0" simplifyLocal="1" scaleBasedLabelVisibilityFlag="0">
+            <id>utf8_test20140701014950994</id>
+            <datasource>./utf8_test.shp</datasource>
+            <title></title>
+            <abstract></abstract>
+            <keywordList>
+                <value></value>
+            </keywordList>
+            <layername>utf8_test</layername>
+            <srs>
+                <spatialrefsys>
+                    <proj4>+proj=longlat +datum=WGS84 +no_defs</proj4>
+                    <srsid>3452</srsid>
+                    <srid>4326</srid>
+                    <authid>EPSG:4326</authid>
+                    <description>WGS 84</description>
+                    <projectionacronym>longlat</projectionacronym>
+                    <ellipsoidacronym>WGS84</ellipsoidacronym>
+                    <geographicflag>true</geographicflag>
+                </spatialrefsys>
+            </srs>
+            <provider encoding="UTF-8">ogr</provider>
+            <previewExpression></previewExpression>
+            <vectorjoins/>
+            <renderer-v2 symbollevels="0" type="singleSymbol">
+                <symbols>
+                    <symbol alpha="1" type="marker" name="0">
+                        <layer pass="0" class="SimpleMarker" locked="0">
+                            <prop k="angle" v="0"/>
+                            <prop k="color" v="182,24,56,255"/>
+                            <prop k="color_border" v="0,0,0,255"/>
+                            <prop k="horizontal_anchor_point" v="1"/>
+                            <prop k="name" v="circle"/>
+                            <prop k="offset" v="0,0"/>
+                            <prop k="offset_map_unit_scale" v="0,0"/>
+                            <prop k="offset_unit" v="MM"/>
+                            <prop k="outline_style" v="solid"/>
+                            <prop k="outline_width" v="0"/>
+                            <prop k="outline_width_map_unit_scale" v="0,0"/>
+                            <prop k="outline_width_unit" v="MM"/>
+                            <prop k="scale_method" v="area"/>
+                            <prop k="size" v="2"/>
+                            <prop k="size_map_unit_scale" v="0,0"/>
+                            <prop k="size_unit" v="MM"/>
+                            <prop k="vertical_anchor_point" v="1"/>
+                        </layer>
+                    </symbol>
+                </symbols>
+                <rotation/>
+                <sizescale scalemethod="area"/>
+            </renderer-v2>
+            <customproperties>
+                <property key="labeling" value="pal"/>
+                <property key="labeling/addDirectionSymbol" value="false"/>
+                <property key="labeling/angleOffset" value="0"/>
+                <property key="labeling/blendMode" value="0"/>
+                <property key="labeling/bufferBlendMode" value="0"/>
+                <property key="labeling/bufferColorA" value="255"/>
+                <property key="labeling/bufferColorB" value="255"/>
+                <property key="labeling/bufferColorG" value="255"/>
+                <property key="labeling/bufferColorR" value="255"/>
+                <property key="labeling/bufferDraw" value="false"/>
+                <property key="labeling/bufferJoinStyle" value="64"/>
+                <property key="labeling/bufferNoFill" value="false"/>
+                <property key="labeling/bufferSize" value="1"/>
+                <property key="labeling/bufferSizeInMapUnits" value="false"/>
+                <property key="labeling/bufferSizeMapUnitMaxScale" value="0"/>
+                <property key="labeling/bufferSizeMapUnitMinScale" value="0"/>
+                <property key="labeling/bufferTransp" value="0"/>
+                <property key="labeling/centroidInside" value="false"/>
+                <property key="labeling/centroidWhole" value="false"/>
+                <property key="labeling/decimals" value="3"/>
+                <property key="labeling/displayAll" value="false"/>
+                <property key="labeling/dist" value="0"/>
+                <property key="labeling/distInMapUnits" value="false"/>
+                <property key="labeling/distMapUnitMaxScale" value="0"/>
+                <property key="labeling/distMapUnitMinScale" value="0"/>
+                <property key="labeling/enabled" value="true"/>
+                <property key="labeling/fieldName" value="some_text"/>
+                <property key="labeling/fontBold" value="false"/>
+                <property key="labeling/fontCapitals" value="0"/>
+                <property key="labeling/fontFamily" value="Ubuntu"/>
+                <property key="labeling/fontItalic" value="false"/>
+                <property key="labeling/fontLetterSpacing" value="0"/>
+                <property key="labeling/fontLimitPixelSize" value="false"/>
+                <property key="labeling/fontMaxPixelSize" value="10000"/>
+                <property key="labeling/fontMinPixelSize" value="3"/>
+                <property key="labeling/fontSize" value="10"/>
+                <property key="labeling/fontSizeInMapUnits" value="false"/>
+                <property key="labeling/fontSizeMapUnitMaxScale" value="0"/>
+                <property key="labeling/fontSizeMapUnitMinScale" value="0"/>
+                <property key="labeling/fontStrikeout" value="false"/>
+                <property key="labeling/fontUnderline" value="false"/>
+                <property key="labeling/fontWeight" value="50"/>
+                <property key="labeling/fontWordSpacing" value="0"/>
+                <property key="labeling/formatNumbers" value="false"/>
+                <property key="labeling/isExpression" value="false"/>
+                <property key="labeling/labelOffsetInMapUnits" value="true"/>
+                <property key="labeling/labelOffsetMapUnitMaxScale" value="0"/>
+                <property key="labeling/labelOffsetMapUnitMinScale" value="0"/>
+                <property key="labeling/labelPerPart" value="false"/>
+                <property key="labeling/leftDirectionSymbol" value="&lt;"/>
+                <property key="labeling/limitNumLabels" value="false"/>
+                <property key="labeling/maxCurvedCharAngleIn" value="20"/>
+                <property key="labeling/maxCurvedCharAngleOut" value="-20"/>
+                <property key="labeling/maxNumLabels" value="2000"/>
+                <property key="labeling/mergeLines" value="false"/>
+                <property key="labeling/minFeatureSize" value="0"/>
+                <property key="labeling/multilineAlign" value="0"/>
+                <property key="labeling/multilineHeight" value="1"/>
+                <property key="labeling/namedStyle" value="Medium"/>
+                <property key="labeling/obstacle" value="true"/>
+                <property key="labeling/placeDirectionSymbol" value="0"/>
+                <property key="labeling/placement" value="0"/>
+                <property key="labeling/placementFlags" value="0"/>
+                <property key="labeling/plussign" value="false"/>
+                <property key="labeling/preserveRotation" value="true"/>
+                <property key="labeling/previewBkgrdColor" value="#ffffff"/>
+                <property key="labeling/priority" value="5"/>
+                <property key="labeling/quadOffset" value="4"/>
+                <property key="labeling/repeatDistance" value="0"/>
+                <property key="labeling/repeatDistanceMapUnitMaxScale" value="0"/>
+                <property key="labeling/repeatDistanceMapUnitMinScale" value="0"/>
+                <property key="labeling/repeatDistanceUnit" value="1"/>
+                <property key="labeling/reverseDirectionSymbol" value="false"/>
+                <property key="labeling/rightDirectionSymbol" value=">"/>
+                <property key="labeling/scaleMax" value="10000000"/>
+                <property key="labeling/scaleMin" value="1"/>
+                <property key="labeling/scaleVisibility" value="false"/>
+                <property key="labeling/shadowBlendMode" value="6"/>
+                <property key="labeling/shadowColorB" value="0"/>
+                <property key="labeling/shadowColorG" value="0"/>
+                <property key="labeling/shadowColorR" value="0"/>
+                <property key="labeling/shadowDraw" value="false"/>
+                <property key="labeling/shadowOffsetAngle" value="135"/>
+                <property key="labeling/shadowOffsetDist" value="1"/>
+                <property key="labeling/shadowOffsetGlobal" value="true"/>
+                <property key="labeling/shadowOffsetMapUnitMaxScale" value="0"/>
+                <property key="labeling/shadowOffsetMapUnitMinScale" value="0"/>
+                <property key="labeling/shadowOffsetUnits" value="1"/>
+                <property key="labeling/shadowRadius" value="1.5"/>
+                <property key="labeling/shadowRadiusAlphaOnly" value="false"/>
+                <property key="labeling/shadowRadiusMapUnitMaxScale" value="0"/>
+                <property key="labeling/shadowRadiusMapUnitMinScale" value="0"/>
+                <property key="labeling/shadowRadiusUnits" value="1"/>
+                <property key="labeling/shadowScale" value="100"/>
+                <property key="labeling/shadowTransparency" value="30"/>
+                <property key="labeling/shadowUnder" value="0"/>
+                <property key="labeling/shapeBlendMode" value="0"/>
+                <property key="labeling/shapeBorderColorA" value="255"/>
+                <property key="labeling/shapeBorderColorB" value="128"/>
+                <property key="labeling/shapeBorderColorG" value="128"/>
+                <property key="labeling/shapeBorderColorR" value="128"/>
+                <property key="labeling/shapeBorderWidth" value="0"/>
+                <property key="labeling/shapeBorderWidthMapUnitMaxScale" value="0"/>
+                <property key="labeling/shapeBorderWidthMapUnitMinScale" value="0"/>
+                <property key="labeling/shapeBorderWidthUnits" value="1"/>
+                <property key="labeling/shapeDraw" value="false"/>
+                <property key="labeling/shapeFillColorA" value="255"/>
+                <property key="labeling/shapeFillColorB" value="255"/>
+                <property key="labeling/shapeFillColorG" value="255"/>
+                <property key="labeling/shapeFillColorR" value="255"/>
+                <property key="labeling/shapeJoinStyle" value="64"/>
+                <property key="labeling/shapeOffsetMapUnitMaxScale" value="0"/>
+                <property key="labeling/shapeOffsetMapUnitMinScale" value="0"/>
+                <property key="labeling/shapeOffsetUnits" value="1"/>
+                <property key="labeling/shapeOffsetX" value="0"/>
+                <property key="labeling/shapeOffsetY" value="0"/>
+                <property key="labeling/shapeRadiiMapUnitMaxScale" value="0"/>
+                <property key="labeling/shapeRadiiMapUnitMinScale" value="0"/>
+                <property key="labeling/shapeRadiiUnits" value="1"/>
+                <property key="labeling/shapeRadiiX" value="0"/>
+                <property key="labeling/shapeRadiiY" value="0"/>
+                <property key="labeling/shapeRotation" value="0"/>
+                <property key="labeling/shapeRotationType" value="0"/>
+                <property key="labeling/shapeSVGFile" value=""/>
+                <property key="labeling/shapeSizeMapUnitMaxScale" value="0"/>
+                <property key="labeling/shapeSizeMapUnitMinScale" value="0"/>
+                <property key="labeling/shapeSizeType" value="0"/>
+                <property key="labeling/shapeSizeUnits" value="1"/>
+                <property key="labeling/shapeSizeX" value="0"/>
+                <property key="labeling/shapeSizeY" value="0"/>
+                <property key="labeling/shapeTransparency" value="0"/>
+                <property key="labeling/shapeType" value="0"/>
+                <property key="labeling/textColorA" value="255"/>
+                <property key="labeling/textColorB" value="0"/>
+                <property key="labeling/textColorG" value="0"/>
+                <property key="labeling/textColorR" value="0"/>
+                <property key="labeling/textTransp" value="0"/>
+                <property key="labeling/upsidedownLabels" value="0"/>
+                <property key="labeling/wrapChar" value=""/>
+                <property key="labeling/xOffset" value="0"/>
+                <property key="labeling/yOffset" value="0"/>
+            </customproperties>
+            <blendMode>0</blendMode>
+            <featureBlendMode>0</featureBlendMode>
+            <layerTransparency>0</layerTransparency>
+            <displayfield>id</displayfield>
+            <label>0</label>
+            <labelattributes>
+                <label fieldname="" text="Etichetta"/>
+                <family fieldname="" name="Ubuntu"/>
+                <size fieldname="" units="pt" value="12"/>
+                <bold fieldname="" on="0"/>
+                <italic fieldname="" on="0"/>
+                <underline fieldname="" on="0"/>
+                <strikeout fieldname="" on="0"/>
+                <color fieldname="" red="0" blue="0" green="0"/>
+                <x fieldname=""/>
+                <y fieldname=""/>
+                <offset x="0" y="0" units="pt" yfieldname="" xfieldname=""/>
+                <angle fieldname="" value="0" auto="0"/>
+                <alignment fieldname="" value="center"/>
+                <buffercolor fieldname="" red="255" blue="255" green="255"/>
+                <buffersize fieldname="" units="pt" value="1"/>
+                <bufferenabled fieldname="" on=""/>
+                <multilineenabled fieldname="" on=""/>
+                <selectedonly on=""/>
+            </labelattributes>
+            <edittypes>
+                <edittype labelontop="0" editable="1" widgetv2type="TextEdit" name="id">
+                    <widgetv2config IsMultiline="0" fieldEditable="1" UseHtml="0" labelOnTop="0"/>
+                </edittype>
+                <edittype labelontop="0" editable="1" widgetv2type="TextEdit" name="some_text">
+                    <widgetv2config IsMultiline="0" fieldEditable="1" UseHtml="0" labelOnTop="0"/>
+                </edittype>
+            </edittypes>
+            <editform></editform>
+            <editforminit></editforminit>
+            <featformsuppress>0</featformsuppress>
+            <annotationform></annotationform>
+            <editorlayout>generatedlayout</editorlayout>
+            <excludeAttributesWMS/>
+            <excludeAttributesWFS/>
+            <attributeactions/>
+        </maplayer>
+    </projectlayers>
+    <properties>
+        <SpatialRefSys>
+            <ProjectCRSProj4String type="QString">+proj=longlat +datum=WGS84 +no_defs</ProjectCRSProj4String>
+            <ProjectCrs type="QString">EPSG:4326</ProjectCrs>
+            <ProjectCRSID type="int">3452</ProjectCRSID>
+            <ProjectionsEnabled type="int">1</ProjectionsEnabled>
+        </SpatialRefSys>
+        <Paths>
+            <Absolute type="bool">false</Absolute>
+        </Paths>
+        <Gui>
+            <SelectionColorBluePart type="int">0</SelectionColorBluePart>
+            <CanvasColorGreenPart type="int">255</CanvasColorGreenPart>
+            <CanvasColorRedPart type="int">255</CanvasColorRedPart>
+            <SelectionColorRedPart type="int">255</SelectionColorRedPart>
+            <SelectionColorAlphaPart type="int">255</SelectionColorAlphaPart>
+            <SelectionColorGreenPart type="int">255</SelectionColorGreenPart>
+            <CanvasColorBluePart type="int">255</CanvasColorBluePart>
+        </Gui>
+        <EventLayer>
+            <OffsetScales type="QStringList"/>
+            <FromFields type="QStringList"/>
+            <MemoryLayers type="QStringList"/>
+            <LineFields type="QStringList"/>
+            <ToFields type="QStringList"/>
+            <ForceSingleGeometries type="QStringList"/>
+            <EventLayers type="QStringList"/>
+            <LineLayers type="QStringList"/>
+            <EventFields type="QStringList"/>
+            <OffsetFields type="QStringList"/>
+        </EventLayer>
+        <Digitizing>
+            <LayerSnappingList type="QStringList"/>
+            <LayerSnappingEnabledList type="QStringList"/>
+            <AvoidIntersectionsList type="QStringList"/>
+            <LayerSnappingToleranceUnitList type="QStringList"/>
+            <LayerSnapToList type="QStringList"/>
+            <LayerSnappingToleranceList type="QStringList"/>
+        </Digitizing>
+        <PositionPrecision>
+            <DecimalPlaces type="int">2</DecimalPlaces>
+            <Automatic type="bool">true</Automatic>
+        </PositionPrecision>
+    </properties>
+</qgis>
Index: /applications/editors/josm/plugins/opendata/test/data/regress/7714/doc.kml
===================================================================
--- /applications/editors/josm/plugins/opendata/test/data/regress/7714/doc.kml	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/data/regress/7714/doc.kml	(revision 30563)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.opengis.net/kml/2.2 http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd http://www.google.com/kml/ext/2.2 http://code.google.com/apis/kml/schema/kml22gx.xsd">
+<Document id="Query Sites">
+  <name>Query Sites</name>
+  <Snippet></Snippet>
+  <Folder id="FeatureLayer0">
+    <name>Query Sites</name>
+    <Snippet></Snippet>
+    <Placemark id="ID_00000">
+      <name>MUNŢII ŢARCU </name>
+      <Snippet></Snippet>
+      <description><![CDATA[<html><body><table border="1"><tr><th>Field Name</th><th>Field Value</th></tr><tr><td>SITENAME</td><td>MUNŢII ŢARCU</td></tr></table></body></html>]]></description>
+      <styleUrl>#PolyStyle00</styleUrl>
+      <MultiGeometry>
+        <Polygon>
+          <extrude>0</extrude><altitudeMode>clampToGround</altitudeMode><tessellate>1</tessellate>
+          <outerBoundaryIs><LinearRing><coordinates> 22.536651,45.450658,0.000000 22.534786,45.451034,0.000000 22.532346,45.451281,0.000000 22.530639,45.451334,0.000000 22.529275,45.451335,0.000000 22.527774,45.451542,0.000000 22.526903,45.451973,0.000000 22.526198,45.452498,0.000000 22.525660,45.453116,0.000000 22.525041,45.453612,0.000000 22.523995,45.454129,0.000000 22.522903,45.454736,0.000000 22.521802,45.455552,0.000000 22.521263,45.456170,0.000000 22.520815,45.456670,0.000000 22.520618,45.457266,0.000000 22.520468,45.457772,0.000000 22.519972,45.458391,0.000000 22.519736,45.458896,0.000000 22.519627,45.459434,0.000000 22.519279,45.460566,0.000000 22.518986,45.461400,0.000000 22.518752,45.461875,0.000000 22.518124,45.462581,0.000000 22.517366,45.463344,0.000000 22.516212,45.464369,0.000000 22.515455,45.465102,0.000000 22.515004,45.465662,0.000000 22.514451,45.466610,0.000000 22.514162,45.467354,0.000000 22.513808,45.467646,0.000000 22.512941,45.467987,0.000000 22.512235,45.468512,0.000000 22.511140,45.469178,0.000000 22.510262,45.469758,0.000000 22.509337,45.470428,0.000000 22.508896,45.470748,0.000000 22.508485,45.471369,0.000000 22.508363,45.472207,0.000000 22.508031,45.472949,0.000000 22.507190,45.473651,0.000000 22.506655,45.474179,0.000000 22.506288,45.474771,0.000000 22.506167,45.475578,0.000000 22.505793,45.476320,0.000000 22.505212,45.476907,0.000000 22.504555,45.477313,0.000000 22.503820,45.477537,0.000000 22.502825,45.477845,0.000000 22.501573,45.478207,0.000000 22.501185,45.478289,0.000000 22.500538,45.478454,0.000000 22.499893,45.478590,0.000000 22.498892,45.479048,0.000000 22.498112,45.479331,0.000000 22.497425,45.479436,0.000000 22.496871,45.479424,0.000000 22.495118,45.479535,0.000000 22.494045,45.479691,0.000000 22.493006,45.480028,0.000000 22.492095,45.480368,0.000000 22.490676,45.480637,0.000000 22.489557,45.480882,0.000000 22.488739,45.481044,0.000000 22.487915,45.481356,0.000000 22.487390,45.481644,0.000000 22.486829,45.481812,0.000000 22.486143,45.481887,0.000000 22.485119,45.481894,0.000000 22.484055,45.481840,0.000000 22.483159,45.481851,0.000000 22.482090,45.481917,0.000000 22.481067,45.481924,0.000000 22.479914,45.481959,0.000000 22.479317,45.481946,0.000000 22.478770,45.481783,0.000000 22.477796,45.481642,0.000000 22.476816,45.481620,0.000000 22.475795,45.481567,0.000000 22.475245,45.481465,0.000000 22.474445,45.481237,0.000000 22.473821,45.480894,0.000000 22.473162,45.480369,0.000000 22.472581,45.480026,0.000000 22.471999,45.479683,0.000000 22.470388,45.479467,0.000000 22.468646,45.479339,0.000000 22.467670,45.479227,0.000000 22.467114,45.479274,0.000000 22.466755,45.479291,0.000000 22.466420,45.479350,0.000000 22.466180,45.479428,0.000000 22.465890,45.479539,0.000000 22.465651,45.479600,0.000000 22.465037,45.479536,0.000000 22.464525,45.479341,0.000000 22.463711,45.478990,0.000000 22.463152,45.478777,0.000000 22.462233,45.478140,0.000000 22.461265,45.477552,0.000000 22.460056,45.477160,0.000000 22.459552,45.477101,0.000000 22.459206,45.476977,0.000000 22.459048,45.477031,0.000000 22.458852,45.477112,0.000000 22.458716,45.477130,0.000000 22.458574,45.477189,0.000000 22.458354,45.477253,0.000000 22.458170,45.477292,0.000000 22.457881,45.477388,0.000000 22.457702,45.477453,0.000000 22.457514,45.477573,0.000000 22.457353,45.477687,0.000000 22.457254,45.477783,0.000000 22.457139,45.477844,0.000000 22.457043,45.477883,0.000000 22.456885,45.477934,0.000000 22.456706,45.478001,0.000000 22.456555,45.478032,0.000000 22.456436,45.478060,0.000000 22.456332,45.478095,0.000000 22.456243,45.478136,0.000000 22.456102,45.478176,0.000000 22.455946,45.478185,0.000000 22.455777,45.478178,0.000000 22.455550,45.478183,0.000000 22.455366,45.478193,0.000000 22.455213,45.478220,0.000000 22.455049,45.478250,0.000000 22.454904,45.478314,0.000000 22.454775,45.478315,0.000000 22.454644,45.478305,0.000000 22.454625,45.478298,0.000000 22.454560,45.478273,0.000000 22.454511,45.478243,0.000000 22.454492,45.478232,0.000000 22.454435,45.478201,0.000000 22.454329,45.478160,0.000000 22.454178,45.478119,0.000000 22.454043,45.478106,0.000000 22.453930,45.478068,0.000000 22.453816,45.478042,0.000000 22.453687,45.477984,0.000000 22.453508,45.477894,0.000000 22.453322,45.477807,0.000000 22.453221,45.477716,0.000000 22.453066,45.477639,0.000000 22.452920,45.477567,0.000000 22.452766,45.477532,0.000000 22.452610,45.477536,0.000000 22.452534,45.477570,0.000000 22.452440,45.477613,0.000000 22.452322,45.477622,0.000000 22.452135,45.477630,0.000000 22.451940,45.477671,0.000000 22.451808,45.477682,0.000000 22.451786,45.477684,0.000000 22.451772,45.477651,0.000000 22.451681,45.477634,0.000000 22.451556,45.477639,0.000000 22.451391,45.477618,0.000000 22.451249,45.477617,0.000000 22.451111,45.477583,0.000000 22.450944,45.477546,0.000000 22.450800,45.477503,0.000000 22.450719,45.477432,0.000000 22.450671,45.477359,0.000000 22.450595,45.477238,0.000000 22.450525,45.477151,0.000000 22.450395,45.477101,0.000000 22.450278,45.477079,0.000000 22.450119,45.477061,0.000000 22.449965,45.477027,0.000000 22.449846,45.476976,0.000000 22.449759,45.476939,0.000000 22.449710,45.476897,0.000000 22.449650,45.476817,0.000000 22.449643,45.476744,0.000000 22.449605,45.476683,0.000000 22.449645,45.476625,0.000000 22.449713,45.476548,0.000000 22.449740,45.476460,0.000000 22.449758,45.476363,0.000000 22.449820,45.476269,0.000000 22.449844,45.476181,0.000000 22.449813,45.476124,0.000000 22.449775,45.476108,0.000000 22.449815,45.476065,0.000000 22.450034,45.475858,0.000000 22.450138,45.475743,0.000000 22.450301,45.475779,0.000000 22.450514,45.475777,0.000000 22.450832,45.475709,0.000000 22.451098,45.475665,0.000000 22.451375,45.475603,0.000000 22.451683,45.475528,0.000000 22.451942,45.475434,0.000000 22.452245,45.475244,0.000000 22.452512,45.475057,0.000000 22.452760,45.474876,0.000000 22.452843,45.474814,0.000000 22.453017,45.474675,0.000000 22.453261,45.474449,0.000000 22.453407,45.474252,0.000000 22.453551,45.474157,0.000000 22.453663,45.474083,0.000000 22.453853,45.473926,0.000000 22.453945,45.473703,0.000000 22.454154,45.473452,0.000000 22.454378,45.473218,0.000000 22.454540,45.472993,0.000000 22.454731,45.472590,0.000000 22.454830,45.472311,0.000000 22.454980,45.471914,0.000000 22.455115,45.471403,0.000000 22.455234,45.471246,0.000000 22.455388,45.471214,0.000000 22.455576,45.471204,0.000000 22.455712,45.471228,0.000000 22.455768,45.471219,0.000000 22.455913,45.471165,0.000000 22.456014,45.471053,0.000000 22.456029,45.470943,0.000000 22.455849,45.470885,0.000000 22.455707,45.470885,0.000000 22.455514,45.470881,0.000000 22.455337,45.470881,0.000000 22.455363,45.470749,0.000000 22.455416,45.470475,0.000000 22.455355,45.469682,0.000000 22.455282,45.469513,0.000000 22.455164,45.469410,0.000000 22.455066,45.469222,0.000000 22.454907,45.469043,0.000000 22.454494,45.468849,0.000000 22.454343,45.468834,0.000000 22.454253,45.468907,0.000000 22.454170,45.469063,0.000000 22.453957,45.469169,0.000000 22.453793,45.469190,0.000000 22.453621,45.469186,0.000000 22.453412,45.469099,0.000000 22.453268,45.469014,0.000000 22.453212,45.468898,0.000000 22.453183,45.468772,0.000000 22.453156,45.468683,0.000000 22.453083,45.468613,0.000000 22.452988,45.468586,0.000000 22.452855,45.468615,0.000000 22.452797,45.468642,0.000000 22.452684,45.468694,0.000000 22.452701,45.468851,0.000000 22.452700,45.468908,0.000000 22.452540,45.468895,0.000000 22.452574,45.468933,0.000000 22.452544,45.469207,0.000000 22.452489,45.469445,0.000000 22.452322,45.469433,0.000000 22.452113,45.469428,0.000000 22.451899,45.469435,0.000000 22.451842,45.469461,0.000000 22.451792,45.469483,0.000000 22.451720,45.469536,0.000000 22.451683,45.469564,0.000000 22.451613,45.469691,0.000000 22.451602,45.469857,0.000000 22.451633,45.469977,0.000000 22.451643,45.470015,0.000000 22.451677,45.470152,0.000000 22.451699,45.470267,0.000000 22.451728,45.470375,0.000000 22.451713,45.470477,0.000000 22.451688,45.470579,0.000000 22.451636,45.470680,0.000000 22.451581,45.470771,0.000000 22.451584,45.470857,0.000000 22.451599,45.470869,0.000000 22.451606,45.470890,0.000000 22.451643,45.470986,0.000000 22.451642,45.471087,0.000000 22.451630,45.471270,0.000000 22.451591,45.471454,0.000000 22.451580,45.471544,0.000000 22.451552,45.471653,0.000000 22.451538,45.471802,0.000000 22.451545,45.471946,0.000000 22.451565,45.472018,0.000000 22.451558,45.472120,0.000000 22.451523,45.472219,0.000000 22.451461,45.472299,0.000000 22.451405,45.472338,0.000000 22.451328,45.472404,0.000000 22.451302,45.472456,0.000000 22.451296,45.472584,0.000000 22.451326,45.472671,0.000000 22.451333,45.472754,0.000000 22.451347,45.472807,0.000000 22.451285,45.472820,0.000000 22.451159,45.472843,0.000000 22.451041,45.472917,0.000000 22.450972,45.472951,0.000000 22.450831,45.472953,0.000000 22.450897,45.473028,0.000000 22.450898,45.473049,0.000000 22.450908,45.473084,0.000000 22.450903,45.473189,0.000000 22.450893,45.473410,0.000000 22.450892,45.473479,0.000000 22.450892,45.473501,0.000000 22.450831,45.473501,0.000000 22.450740,45.473575,0.000000 22.450606,45.473617,0.000000 22.450481,45.473619,0.000000 22.450340,45.473654,0.000000 22.450353,45.473745,0.000000 22.450430,45.473848,0.000000 22.450387,45.473897,0.000000 22.450283,45.473950,0.000000 22.450277,45.474012,0.000000 22.450389,45.474069,0.000000 22.450395,45.474099,0.000000 22.450382,45.474144,0.000000 22.450380,45.474153,0.000000 22.450362,45.474168,0.000000 22.450337,45.474189,0.000000 22.450315,45.474209,0.000000 22.450282,45.474226,0.000000 22.450222,45.474257,0.000000 22.450026,45.474297,0.000000 22.449916,45.474314,0.000000 22.449752,45.474359,0.000000 22.449628,45.474387,0.000000 22.449559,45.474399,0.000000 22.449479,45.474412,0.000000 22.449468,45.474414,0.000000 22.449181,45.474503,0.000000 22.448913,45.474609,0.000000 22.448664,45.474641,0.000000 22.448555,45.474720,0.000000 22.448513,45.474838,0.000000 22.448556,45.474951,0.000000 22.448514,45.474960,0.000000 22.448362,45.474962,0.000000 22.448228,45.474925,0.000000 22.447997,45.474880,0.000000 22.447810,45.474875,0.000000 22.447595,45.474911,0.000000 22.447308,45.474993,0.000000 22.447232,45.474927,0.000000 22.447050,45.474987,0.000000 22.447098,45.475064,0.000000 22.446992,45.475088,0.000000 22.446571,45.475186,0.000000 22.446297,45.475258,0.000000 22.446164,45.475272,0.000000 22.446142,45.475257,0.000000 22.446035,45.475158,0.000000 22.446138,45.475091,0.000000 22.446330,45.475041,0.000000 22.446502,45.474995,0.000000 22.446575,45.474948,0.000000 22.446527,45.474871,0.000000 22.446510,45.474809,0.000000 22.446591,45.474727,0.000000 22.446712,45.474682,0.000000 22.446796,45.474618,0.000000 22.446874,45.474553,0.000000 22.447042,45.474504,0.000000 22.447227,45.474515,0.000000 22.447381,45.474478,0.000000 22.447524,45.474452,0.000000 22.447509,45.474431,0.000000 22.447619,45.474395,0.000000 22.447624,45.474360,0.000000 22.447635,45.474270,0.000000 22.447719,45.474205,0.000000 22.447828,45.474195,0.000000 22.447867,45.474156,0.000000 22.447897,45.474090,0.000000 22.447926,45.474043,0.000000 22.447983,45.473973,0.000000 22.447969,45.473920,0.000000 22.448045,45.473872,0.000000 22.448142,45.473838,0.000000 22.448261,45.473814,0.000000 22.448357,45.473795,0.000000 22.448481,45.473753,0.000000 22.448468,45.473731,0.000000 22.448417,45.473663,0.000000 22.448442,45.473633,0.000000 22.448502,45.473577,0.000000 22.448492,45.473523,0.000000 22.448461,45.473430,0.000000 22.448294,45.473456,0.000000 22.448054,45.473468,0.000000 22.447858,45.473452,0.000000 22.447738,45.473413,0.000000 22.447603,45.473403,0.000000 22.447531,45.473400,0.000000 22.448110,45.473338,0.000000 22.448771,45.473241,0.000000 22.449113,45.473168,0.000000 22.449419,45.473077,0.000000 22.449595,45.473005,0.000000 22.449779,45.472886,0.000000 22.449945,45.472733,0.000000 22.449865,45.472689,0.000000 22.449801,45.472243,0.000000 22.448687,45.470796,0.000000 22.447585,45.470030,0.000000 22.446264,45.469438,0.000000 22.445076,45.468700,0.000000 22.443934,45.467874,0.000000 22.443741,45.467484,0.000000 22.443639,45.466949,0.000000 22.443650,45.466712,0.000000 22.443625,45.466326,0.000000 22.443060,45.465780,0.000000 22.442133,45.464870,0.000000 22.441130,45.463781,0.000000 22.440611,45.463147,0.000000 22.440015,45.462363,0.000000 22.439465,45.461491,0.000000 22.439153,45.460950,0.000000 22.438800,45.460379,0.000000 22.438485,45.459898,0.000000 22.438016,45.459087,0.000000 22.437425,45.458215,0.000000 22.436826,45.457490,0.000000 22.436138,45.456882,0.000000 22.435291,45.456062,0.000000 22.434392,45.455449,0.000000 22.433741,45.454961,0.000000 22.432864,45.453874,0.000000 22.432016,45.453084,0.000000 22.431533,45.452599,0.000000 22.431009,45.452084,0.000000 22.430443,45.451567,0.000000 22.429702,45.451195,0.000000 22.428629,45.450726,0.000000 22.427349,45.450163,0.000000 22.426695,45.449734,0.000000 22.426378,45.449312,0.000000 22.425984,45.448710,0.000000 22.425717,45.448111,0.000000 22.425622,45.447428,0.000000 22.425640,45.447043,0.000000 22.425557,45.446092,0.000000 22.425532,45.445707,0.000000 22.425340,45.445317,0.000000 22.424900,45.444803,0.000000 22.425004,45.443442,0.000000 22.424992,45.442790,0.000000 22.424729,45.442103,0.000000 22.424452,45.441711,0.000000 22.424183,45.441142,0.000000 22.424128,45.440518,0.000000 22.424581,45.439817,0.000000 22.424887,45.439558,0.000000 22.425375,45.439006,0.000000 22.425869,45.438335,0.000000 22.426241,45.437573,0.000000 22.426622,45.436604,0.000000 22.426605,45.436040,0.000000 22.426501,45.435564,0.000000 22.425772,45.434925,0.000000 22.425081,45.434406,0.000000 22.425013,45.434048,0.000000 22.425458,45.432606,0.000000 22.425430,45.431361,0.000000 22.424738,45.429923,0.000000 22.424698,45.428974,0.000000 22.424038,45.427744,0.000000 22.423561,45.426858,0.000000 22.422480,45.426167,0.000000 22.421499,45.425221,0.000000 22.421059,45.424737,0.000000 22.420991,45.424380,0.000000 22.421290,45.424268,0.000000 22.422070,45.423782,0.000000 22.422816,45.423117,0.000000 22.423762,45.421746,0.000000 22.424165,45.421221,0.000000 22.424359,45.420663,0.000000 22.424927,45.420201,0.000000 22.425449,45.419828,0.000000 22.425722,45.419390,0.000000 22.425754,45.418679,0.000000 22.425940,45.418298,0.000000 22.426164,45.418007,0.000000 22.426261,45.417713,0.000000 22.426334,45.417033,0.000000 22.425975,45.416610,0.000000 22.425805,45.415717,0.000000 22.425573,45.415267,0.000000 22.425590,45.414912,0.000000 22.425960,45.414179,0.000000 22.426106,45.413738,0.000000 22.426000,45.413291,0.000000 22.425979,45.412846,0.000000 22.426048,45.412255,0.000000 22.426117,45.411664,0.000000 22.426165,45.410598,0.000000 22.426234,45.410007,0.000000 22.425763,45.410204,0.000000 22.424830,45.410360,0.000000 22.423347,45.410594,0.000000 22.421655,45.410792,0.000000 22.420898,45.410775,0.000000 22.419931,45.410753,0.000000 22.419263,45.410649,0.000000 22.418312,45.410272,0.000000 22.417555,45.410284,0.000000 22.416714,45.410265,0.000000 22.415720,45.409916,0.000000 22.415227,45.409668,0.000000 22.414790,45.409095,0.000000 22.414340,45.408818,0.000000 22.413296,45.408646,0.000000 22.412591,45.408423,0.000000 22.411691,45.407869,0.000000 22.411172,45.407264,0.000000 22.411021,45.406876,0.000000 22.410838,45.406279,0.000000 22.410651,45.405771,0.000000 22.410172,45.405226,0.000000 22.409052,45.404875,0.000000 22.408519,45.404566,0.000000 22.408114,45.404231,0.000000 22.407877,45.403900,0.000000 22.407851,45.403543,0.000000 22.407619,45.403094,0.000000 22.406741,45.402985,0.000000 22.406121,45.402733,0.000000 22.405423,45.402362,0.000000 22.404587,45.402254,0.000000 22.403790,45.402206,0.000000 22.403242,45.402223,0.000000 22.403004,45.401921,0.000000 22.402813,45.401502,0.000000 22.402246,45.401015,0.000000 22.401342,45.400550,0.000000 22.400605,45.400118,0.000000 22.399458,45.399440,0.000000 22.398527,45.398648,0.000000 22.397918,45.398189,0.000000 22.397636,45.397916,0.000000 22.397527,45.397529,0.000000 22.397419,45.397141,0.000000 22.397392,45.396814,0.000000 22.396831,45.396209,0.000000 22.396285,45.395277,0.000000 22.396013,45.394797,0.000000 22.395608,45.394462,0.000000 22.395207,45.394038,0.000000 22.395012,45.393707,0.000000 22.394875,45.393022,0.000000 22.394851,45.392637,0.000000 22.394660,45.392217,0.000000 22.394175,45.391791,0.000000 22.393407,45.391122,0.000000 22.392846,45.390516,0.000000 22.392654,45.390127,0.000000 22.392016,45.389371,0.000000 22.390868,45.388722,0.000000 22.390513,45.388210,0.000000 22.390405,45.387823,0.000000 22.390675,45.387444,0.000000 22.392135,45.386795,0.000000 22.392653,45.386511,0.000000 22.393449,45.385670,0.000000 22.394151,45.385034,0.000000 22.394569,45.384184,0.000000 22.395145,45.383545,0.000000 22.396511,45.383103,0.000000 22.397464,45.382502,0.000000 22.398032,45.382041,0.000000 22.398655,45.381285,0.000000 22.398847,45.380785,0.000000 22.398862,45.380460,0.000000 22.399190,45.379726,0.000000 22.399254,45.379254,0.000000 22.399037,45.378478,0.000000 22.398490,45.377577,0.000000 22.397859,45.376673,0.000000 22.397564,45.375777,0.000000 22.397574,45.374651,0.000000 22.397465,45.373437,0.000000 22.397322,45.373229,0.000000 22.397065,45.372600,0.000000 22.397015,45.372306,0.000000 22.396876,45.372154,0.000000 22.396634,45.371986,0.000000 22.396493,45.371912,0.000000 22.396148,45.371774,0.000000 22.395688,45.371642,0.000000 22.395575,45.371581,0.000000 22.395370,45.371435,0.000000 22.395188,45.371353,0.000000 22.395051,45.371314,0.000000 22.394880,45.371296,0.000000 22.394730,45.371327,0.000000 22.394653,45.371378,0.000000 22.394543,45.371544,0.000000 22.394471,45.371574,0.000000 22.394365,45.371573,0.000000 22.394238,45.371537,0.000000 22.393906,45.371361,0.000000 22.393515,45.371182,0.000000 22.392545,45.370949,0.000000 22.392418,45.370959,0.000000 22.392328,45.370994,0.000000 22.392229,45.371068,0.000000 22.392132,45.371173,0.000000 22.392074,45.371207,0.000000 22.391969,45.371224,0.000000 22.391822,45.371210,0.000000 22.391497,45.371139,0.000000 22.391327,45.371081,0.000000 22.391179,45.370994,0.000000 22.390962,45.370824,0.000000 22.390571,45.370644,0.000000 22.390181,45.370520,0.000000 22.389878,45.370467,0.000000 22.389718,45.370475,0.000000 22.389593,45.370517,0.000000 22.389463,45.370590,0.000000 22.389203,45.370783,0.000000 22.389008,45.370875,0.000000 22.388736,45.370947,0.000000 22.388505,45.370972,0.000000 22.388186,45.370960,0.000000 22.388018,45.370936,0.000000 22.387402,45.370728,0.000000 22.386971,45.370638,0.000000 22.386612,45.370545,0.000000 22.386113,45.370363,0.000000 22.385792,45.370316,0.000000 22.385566,45.370331,0.000000 22.385248,45.370416,0.000000 22.384980,45.370431,0.000000 22.384773,45.370459,0.000000 22.384667,45.370489,0.000000 22.384423,45.370606,0.000000 22.384254,45.370661,0.000000 22.384094,45.370686,0.000000 22.383905,45.370678,0.000000 22.383717,45.370625,0.000000 22.383312,45.370284,0.000000 22.383177,45.370206,0.000000 22.383056,45.370164,0.000000 22.382998,45.370157,0.000000 22.382933,45.370171,0.000000 22.382798,45.370288,0.000000 22.382717,45.370324,0.000000 22.382624,45.370334,0.000000 22.382478,45.370322,0.000000 22.382301,45.370280,0.000000 22.381625,45.370050,0.000000 22.381225,45.369888,0.000000 22.381045,45.369860,0.000000 22.380788,45.369867,0.000000 22.380319,45.369959,0.000000 22.379918,45.370014,0.000000 22.379707,45.370015,0.000000 22.379394,45.369977,0.000000 22.379083,45.369910,0.000000 22.378472,45.369678,0.000000 22.378247,45.369616,0.000000 22.377264,45.369548,0.000000 22.376918,45.369559,0.000000 22.376750,45.369531,0.000000 22.376652,45.369485,0.000000 22.376567,45.369421,0.000000 22.376404,45.369230,0.000000 22.376266,45.369109,0.000000 22.376120,45.369023,0.000000 22.375993,45.368980,0.000000 22.375805,45.368955,0.000000 22.375409,45.368964,0.000000 22.374815,45.369060,0.000000 22.374345,45.369085,0.000000 22.374204,45.369080,0.000000 22.373893,45.368961,0.000000 22.373744,45.368879,0.000000 22.373492,45.368825,0.000000 22.373249,45.368706,0.000000 22.372848,45.368622,0.000000 22.372428,45.368511,0.000000 22.372261,45.368453,0.000000 22.371926,45.368281,0.000000 22.371488,45.367864,0.000000 22.371549,45.367832,0.000000 22.371606,45.367500,0.000000 22.371581,45.367144,0.000000 22.371589,45.366966,0.000000 22.371637,45.366612,0.000000 22.371709,45.366413,0.000000 22.372059,45.366355,0.000000 22.372599,45.366278,0.000000 22.373151,45.365936,0.000000 22.373517,45.365522,0.000000 22.373697,45.365037,0.000000 22.373765,45.364638,0.000000 22.374283,45.365042,0.000000 22.375185,45.365036,0.000000 22.375796,45.364672,0.000000 22.376226,45.364087,0.000000 22.376645,45.363745,0.000000 22.377152,45.363568,0.000000 22.377695,45.363418,0.000000 22.377742,45.363401,0.000000 22.377889,45.363347,0.000000 22.378281,45.363202,0.000000 22.378679,45.362886,0.000000 22.379233,45.362521,0.000000 22.379649,45.362233,0.000000 22.380274,45.361991,0.000000 22.380967,45.361925,0.000000 22.381605,45.361763,0.000000 22.381837,45.361294,0.000000 22.381904,45.360763,0.000000 22.382017,45.360143,0.000000 22.382250,45.359644,0.000000 22.382691,45.359210,0.000000 22.383135,45.358687,0.000000 22.383700,45.358285,0.000000 22.384433,45.357887,0.000000 22.384958,45.357455,0.000000 22.385401,45.356961,0.000000 22.386089,45.356621,0.000000 22.386730,45.356399,0.000000 22.388074,45.356430,0.000000 22.389683,45.357089,0.000000 22.390677,45.357408,0.000000 22.391379,45.357662,0.000000 22.392131,45.357768,0.000000 22.393307,45.357795,0.000000 22.394660,45.357618,0.000000 22.395008,45.357360,0.000000 22.394696,45.356849,0.000000 22.394049,45.356300,0.000000 22.393483,45.355813,0.000000 22.392628,45.355201,0.000000 22.391748,45.354232,0.000000 22.391153,45.353478,0.000000 22.390837,45.353026,0.000000 22.390867,45.352375,0.000000 22.390842,45.352018,0.000000 22.390269,45.351679,0.000000 22.389773,45.351490,0.000000 22.388870,45.351025,0.000000 22.388078,45.350888,0.000000 22.387492,45.350845,0.000000 22.386820,45.350829,0.000000 22.386240,45.350638,0.000000 22.385749,45.350360,0.000000 22.384884,45.349985,0.000000 22.384136,45.349790,0.000000 22.383504,45.349834,0.000000 22.382940,45.350207,0.000000 22.382669,45.350615,0.000000 22.382441,45.350471,0.000000 22.382119,45.350168,0.000000 22.381467,45.349708,0.000000 22.380437,45.349269,0.000000 22.379156,45.348795,0.000000 22.377951,45.348501,0.000000 22.377044,45.348124,0.000000 22.376683,45.347760,0.000000 22.376380,45.347931,0.000000 22.375647,45.348329,0.000000 22.374875,45.348667,0.000000 22.374184,45.349066,0.000000 22.373485,45.349642,0.000000 22.372783,45.350278,0.000000 22.372173,45.350738,0.000000 22.371830,45.350878,0.000000 22.371405,45.350987,0.000000 22.370992,45.350829,0.000000 22.370127,45.350454,0.000000 22.368888,45.349980,0.000000 22.368227,45.349728,0.000000 22.367358,45.349441,0.000000 22.366821,45.349251,0.000000 22.366093,45.348641,0.000000 22.365061,45.348232,0.000000 22.364241,45.347798,0.000000 22.363244,45.347538,0.000000 22.362446,45.347519,0.000000 22.361496,45.347171,0.000000 22.360830,45.347037,0.000000 22.359468,45.346502,0.000000 22.357726,45.346017,0.000000 22.356602,45.345783,0.000000 22.355175,45.345750,0.000000 22.354174,45.345578,0.000000 22.353809,45.345303,0.000000 22.353825,45.344948,0.000000 22.354469,45.344666,0.000000 22.356071,45.344556,0.000000 22.357130,45.344373,0.000000 22.359565,45.344429,0.000000 22.360698,45.344456,0.000000 22.361871,45.344542,0.000000 22.363416,45.344756,0.000000 22.364488,45.345196,0.000000 22.366024,45.346506,0.000000 22.366837,45.347088,0.000000 22.367333,45.347277,0.000000 22.367886,45.347142,0.000000 22.368610,45.346921,0.000000 22.369217,45.346521,0.000000 22.369451,45.346022,0.000000 22.369930,45.345648,0.000000 22.370275,45.345478,0.000000 22.370781,45.345431,0.000000 22.371461,45.345269,0.000000 22.372467,45.345322,0.000000 22.373430,45.345403,0.000000 22.374319,45.345275,0.000000 22.375424,45.345005,0.000000 22.376654,45.344766,0.000000 22.377289,45.344662,0.000000 22.378139,45.344445,0.000000 22.379698,45.344362,0.000000 22.381024,45.343860,0.000000 22.381461,45.343514,0.000000 22.381483,45.343040,0.000000 22.381078,45.342705,0.000000 22.380032,45.342592,0.000000 22.379155,45.342483,0.000000 22.378602,45.341729,0.000000 22.377763,45.340791,0.000000 22.377247,45.340127,0.000000 22.376900,45.339467,0.000000 22.377040,45.338255,0.000000 22.377456,45.336546,0.000000 22.377734,45.335990,0.000000 22.377714,45.335515,0.000000 22.377351,45.335181,0.000000 22.376712,45.334455,0.000000 22.376186,45.334028,0.000000 22.375871,45.333576,0.000000 22.375928,45.333251,0.000000 22.376168,45.332605,0.000000 22.376611,45.332111,0.000000 22.377629,45.331008,0.000000 22.378153,45.330576,0.000000 22.378799,45.330236,0.000000 22.379698,45.329872,0.000000 22.381235,45.329344,0.000000 22.381958,45.329154,0.000000 22.382697,45.328637,0.000000 22.383056,45.328142,0.000000 22.383079,45.327638,0.000000 22.383140,45.327225,0.000000 22.383702,45.326882,0.000000 22.384604,45.326458,0.000000 22.385222,45.325821,0.000000 22.384990,45.325371,0.000000 22.384545,45.325005,0.000000 22.383102,45.324409,0.000000 22.381734,45.324021,0.000000 22.380706,45.323553,0.000000 22.380137,45.323125,0.000000 22.379653,45.322699,0.000000 22.379339,45.322218,0.000000 22.379233,45.321800,0.000000 22.379249,45.321445,0.000000 22.379428,45.321212,0.000000 22.379734,45.320952,0.000000 22.379715,45.320448,0.000000 22.379036,45.319692,0.000000 22.377786,45.318566,0.000000 22.377382,45.318231,0.000000 22.376896,45.317834,0.000000 22.376825,45.317566,0.000000 22.377093,45.317217,0.000000 22.377446,45.316840,0.000000 22.378222,45.316413,0.000000 22.379055,45.315662,0.000000 22.378739,45.315239,0.000000 22.378000,45.314867,0.000000 22.377182,45.314403,0.000000 22.376493,45.313854,0.000000 22.376351,45.313288,0.000000 22.376723,45.312526,0.000000 22.377000,45.311969,0.000000 22.377364,45.311385,0.000000 22.377468,45.310943,0.000000 22.377527,45.310588,0.000000 22.377333,45.310228,0.000000 22.377057,45.309837,0.000000 22.376569,45.309499,0.000000 22.375623,45.309063,0.000000 22.374973,45.308603,0.000000 22.374628,45.307884,0.000000 22.374357,45.307403,0.000000 22.373951,45.307098,0.000000 22.373851,45.306532,0.000000 22.373738,45.306263,0.000000 22.373377,45.305899,0.000000 22.373317,45.305364,0.000000 22.373342,45.304831,0.000000 22.373113,45.304352,0.000000 22.372961,45.303951,0.000000 22.372737,45.303679,0.000000 22.372723,45.303462,0.000000 22.372976,45.303101,0.000000 22.373057,45.302903,0.000000 22.373090,45.302687,0.000000 22.373059,45.302336,0.000000 22.373017,45.301718,0.000000 22.372936,45.301433,0.000000 22.372502,45.301106,0.000000 22.371980,45.300661,0.000000 22.371943,45.300443,0.000000 22.371902,45.300309,0.000000 22.371748,45.300055,0.000000 22.371784,45.299790,0.000000 22.371815,45.299624,0.000000 22.371681,45.299470,0.000000 22.371452,45.299315,0.000000 22.371434,45.299181,0.000000 22.371683,45.298920,0.000000 22.371887,45.298592,0.000000 22.372133,45.298381,0.000000 22.372052,45.298079,0.000000 22.371551,45.297684,0.000000 22.371328,45.297395,0.000000 22.371342,45.297095,0.000000 22.371246,45.296626,0.000000 22.370962,45.296136,0.000000 22.370698,45.295714,0.000000 22.370233,45.295383,0.000000 22.369767,45.294572,0.000000 22.369459,45.293743,0.000000 22.369246,45.292915,0.000000 22.369174,45.292425,0.000000 22.369321,45.291984,0.000000 22.369654,45.291591,0.000000 22.370274,45.291117,0.000000 22.371114,45.290669,0.000000 22.372418,45.290388,0.000000 22.373848,45.290110,0.000000 22.374170,45.289962,0.000000 22.374400,45.289745,0.000000 22.374445,45.289457,0.000000 22.374428,45.289146,0.000000 22.374038,45.288384,0.000000 22.374000,45.287683,0.000000 22.373769,45.287061,0.000000 22.373789,45.286111,0.000000 22.373567,45.285822,0.000000 22.373813,45.285595,0.000000 22.374462,45.285360,0.000000 22.375348,45.285097,0.000000 22.375929,45.284794,0.000000 22.376466,45.284406,0.000000 22.376887,45.283982,0.000000 22.376996,45.283685,0.000000 22.376871,45.283315,0.000000 22.376614,45.282742,0.000000 22.376303,45.282335,0.000000 22.376008,45.282078,0.000000 22.375830,45.281824,0.000000 22.375306,45.281428,0.000000 22.375031,45.281239,0.000000 22.374926,45.280970,0.000000 22.374840,45.280768,0.000000 22.374542,45.280577,0.000000 22.374011,45.280315,0.000000 22.373812,45.280044,0.000000 22.373967,45.279747,0.000000 22.374285,45.279505,0.000000 22.374750,45.279149,0.000000 22.375007,45.278704,0.000000 22.375094,45.278356,0.000000 22.375134,45.278007,0.000000 22.375142,45.277841,0.000000 22.375175,45.277625,0.000000 22.375284,45.277327,0.000000 22.375701,45.276987,0.000000 22.376188,45.276665,0.000000 22.376651,45.276342,0.000000 22.377538,45.276062,0.000000 22.378090,45.275875,0.000000 22.378920,45.275794,0.000000 22.379606,45.275760,0.000000 22.380441,45.275579,0.000000 22.381793,45.274927,0.000000 22.382326,45.274639,0.000000 22.382760,45.274449,0.000000 22.383193,45.274276,0.000000 22.383597,45.274219,0.000000 22.383694,45.274154,0.000000 22.383706,45.273888,0.000000 22.383480,45.273682,0.000000 22.382970,45.273471,0.000000 22.382216,45.273437,0.000000 22.381443,45.273302,0.000000 22.380700,45.273051,0.000000 22.380034,45.272636,0.000000 22.379623,45.272343,0.000000 22.378872,45.271726,0.000000 22.378464,45.271366,0.000000 22.377742,45.271149,0.000000 22.377044,45.270933,0.000000 22.376618,45.270811,0.000000 22.376613,45.270557,0.000000 22.376501,45.270421,0.000000 22.376300,45.270166,0.000000 22.376149,45.269862,0.000000 22.375813,45.269471,0.000000 22.375776,45.269254,0.000000 22.375910,45.268931,0.000000 22.376012,45.268759,0.000000 22.376235,45.268531,0.000000 22.376614,45.268167,0.000000 22.377089,45.267417,0.000000 22.377598,45.266303,0.000000 22.377652,45.265963,0.000000 22.377815,45.265659,0.000000 22.377894,45.265318,0.000000 22.378002,45.265038,0.000000 22.378020,45.264638,0.000000 22.378103,45.264390,0.000000 22.378377,45.264079,0.000000 22.378800,45.263703,0.000000 22.379312,45.263535,0.000000 22.379921,45.263356,0.000000 22.380786,45.263376,0.000000 22.381382,45.263415,0.000000 22.382940,45.263418,0.000000 22.383795,45.263304,0.000000 22.385319,45.263006,0.000000 22.386107,45.262824,0.000000 22.387468,45.262472,0.000000 22.388135,45.262354,0.000000 22.389037,45.262241,0.000000 22.389719,45.262291,0.000000 22.389958,45.262229,0.000000 22.390223,45.262119,0.000000 22.391288,45.262043,0.000000 22.392780,45.261944,0.000000 22.394851,45.261609,0.000000 22.395170,45.261535,0.000000 22.395986,45.261267,0.000000 22.396115,45.261159,0.000000 22.396473,45.261156,0.000000 22.397113,45.261192,0.000000 22.397401,45.261347,0.000000 22.397585,45.261373,0.000000 22.397802,45.261358,0.000000 22.398057,45.261433,0.000000 22.398390,45.261557,0.000000 22.398422,45.261787,0.000000 22.398407,45.261903,0.000000 22.398552,45.261929,0.000000 22.398523,45.262144,0.000000 22.398566,45.262357,0.000000 22.398719,45.262511,0.000000 22.398818,45.262663,0.000000 22.398968,45.262781,0.000000 22.399216,45.262876,0.000000 22.399300,45.262895,0.000000 22.399449,45.262907,0.000000 22.399542,45.263042,0.000000 22.399689,45.263346,0.000000 22.399671,45.263498,0.000000 22.399874,45.263785,0.000000 22.399901,45.263910,0.000000 22.400268,45.264130,0.000000 22.400652,45.264334,0.000000 22.401519,45.264851,0.000000 22.401789,45.264889,0.000000 22.401963,45.264971,0.000000 22.402085,45.265087,0.000000 22.402225,45.265278,0.000000 22.402276,45.265323,0.000000 22.402352,45.265409,0.000000 22.402413,45.265523,0.000000 22.402501,45.265628,0.000000 22.402532,45.265835,0.000000 22.402524,45.265994,0.000000 22.402620,45.266221,0.000000 22.402768,45.266469,0.000000 22.402984,45.266680,0.000000 22.403214,45.266882,0.000000 22.403457,45.267075,0.000000 22.403530,45.267227,0.000000 22.403658,45.267342,0.000000 22.403789,45.267383,0.000000 22.403955,45.267518,0.000000 22.404044,45.267614,0.000000 22.404106,45.267699,0.000000 22.404165,45.267860,0.000000 22.404255,45.267928,0.000000 22.404374,45.267931,0.000000 22.404461,45.267782,0.000000 22.404530,45.267728,0.000000 22.404626,45.267646,0.000000 22.404930,45.267690,0.000000 22.405115,45.267704,0.000000 22.405198,45.267621,0.000000 22.405243,45.267519,0.000000 22.405167,45.267442,0.000000 22.404932,45.267353,0.000000 22.404911,45.267240,0.000000 22.404979,45.267194,0.000000 22.404998,45.267063,0.000000 22.404858,45.266948,0.000000 22.404778,45.266936,0.000000 22.404536,45.267015,0.000000 22.404276,45.267169,0.000000 22.404100,45.267249,0.000000 22.403929,45.267217,0.000000 22.403775,45.267101,0.000000 22.403635,45.266976,0.000000 22.403602,45.266816,0.000000 22.403462,45.266691,0.000000 22.402985,45.266380,0.000000 22.402746,45.266120,0.000000 22.402677,45.265729,0.000000 22.402590,45.265431,0.000000 22.402620,45.265373,0.000000 22.402503,45.265269,0.000000 22.402352,45.265062,0.000000 22.402347,45.264917,0.000000 22.402268,45.264825,0.000000 22.401994,45.264760,0.000000 22.401891,45.264594,0.000000 22.401846,45.264487,0.000000 22.401756,45.264415,0.000000 22.401545,45.264304,0.000000 22.401372,45.264328,0.000000 22.401050,45.264222,0.000000 22.400779,45.263970,0.000000 22.400728,45.263628,0.000000 22.400437,45.263453,0.000000 22.400036,45.263393,0.000000 22.399873,45.263323,0.000000 22.399716,45.263007,0.000000 22.399712,45.262854,0.000000 22.399679,45.262728,0.000000 22.399526,45.262545,0.000000 22.399282,45.262449,0.000000 22.399010,45.262459,0.000000 22.398867,45.262242,0.000000 22.398808,45.262126,0.000000 22.398865,45.261967,0.000000 22.398896,45.261918,0.000000 22.398844,45.261820,0.000000 22.398820,45.261727,0.000000 22.398483,45.261178,0.000000 22.398571,45.260997,0.000000 22.398515,45.260793,0.000000 22.398576,45.260578,0.000000 22.398562,45.260385,0.000000 22.398283,45.260303,0.000000 22.398105,45.260298,0.000000 22.397951,45.260471,0.000000 22.397904,45.260576,0.000000 22.397682,45.260598,0.000000 22.397381,45.260375,0.000000 22.396941,45.259676,0.000000 22.396551,45.258578,0.000000 22.396238,45.257859,0.000000 22.395627,45.257467,0.000000 22.394288,45.257148,0.000000 22.393010,45.256980,0.000000 22.392257,45.256819,0.000000 22.391534,45.256591,0.000000 22.390447,45.256504,0.000000 22.389358,45.256234,0.000000 22.388275,45.255832,0.000000 22.387784,45.255553,0.000000 22.387271,45.255097,0.000000 22.386881,45.254666,0.000000 22.386596,45.254037,0.000000 22.386470,45.253036,0.000000 22.386382,45.252521,0.000000 22.386257,45.251829,0.000000 22.386034,45.251201,0.000000 22.385989,45.250693,0.000000 22.385994,45.250029,0.000000 22.386186,45.249390,0.000000 22.386823,45.248441,0.000000 22.386910,45.247910,0.000000 22.387220,45.247339,0.000000 22.387598,45.246636,0.000000 22.387971,45.246067,0.000000 22.388568,45.245392,0.000000 22.389701,45.244491,0.000000 22.389926,45.244426,0.000000 22.390376,45.244262,0.000000 22.390793,45.244046,0.000000 22.391228,45.243819,0.000000 22.391434,45.243586,0.000000 22.391286,45.243345,0.000000 22.391240,45.243194,0.000000 22.391192,45.243080,0.000000 22.391400,45.242785,0.000000 22.391625,45.242502,0.000000 22.391896,45.242238,0.000000 22.391944,45.242244,0.000000 22.391974,45.242258,0.000000 22.392084,45.242306,0.000000 22.392199,45.242338,0.000000 22.392291,45.242443,0.000000 22.392402,45.242625,0.000000 22.392613,45.242818,0.000000 22.392933,45.242929,0.000000 22.393391,45.242986,0.000000 22.393618,45.243000,0.000000 22.393681,45.243065,0.000000 22.393863,45.243160,0.000000 22.393946,45.243230,0.000000 22.393979,45.243280,0.000000 22.394148,45.243410,0.000000 22.394157,45.243418,0.000000 22.394401,45.243573,0.000000 22.394503,45.243617,0.000000 22.394557,45.243650,0.000000 22.394640,45.243652,0.000000 22.394683,45.243609,0.000000 22.394702,45.243416,0.000000 22.394757,45.243363,0.000000 22.394876,45.243334,0.000000 22.395122,45.243328,0.000000 22.395206,45.243303,0.000000 22.395422,45.243195,0.000000 22.395494,45.243129,0.000000 22.395494,45.243032,0.000000 22.395494,45.242987,0.000000 22.395559,45.242952,0.000000 22.395639,45.242910,0.000000 22.395645,45.242846,0.000000 22.395625,45.242781,0.000000 22.395618,45.242760,0.000000 22.395431,45.242387,0.000000 22.395378,45.242259,0.000000 22.395369,45.242197,0.000000 22.395364,45.242164,0.000000 22.395428,45.242113,0.000000 22.395456,45.242107,0.000000 22.395622,45.242070,0.000000 22.395690,45.242107,0.000000 22.395837,45.242283,0.000000 22.395868,45.242315,0.000000 22.395887,45.242363,0.000000 22.395963,45.242412,0.000000 22.396013,45.242464,0.000000 22.396059,45.242475,0.000000 22.396167,45.242546,0.000000 22.396337,45.242566,0.000000 22.396426,45.242560,0.000000 22.396431,45.242551,0.000000 22.396482,45.242467,0.000000 22.396513,45.242447,0.000000 22.396572,45.242448,0.000000 22.396612,45.242582,0.000000 22.396624,45.242620,0.000000 22.396669,45.242694,0.000000 22.396814,45.242831,0.000000 22.396892,45.242922,0.000000 22.396994,45.242948,0.000000 22.397060,45.242943,0.000000 22.397102,45.242940,0.000000 22.397182,45.242894,0.000000 22.397282,45.242855,0.000000 22.397304,45.242804,0.000000 22.397384,45.242769,0.000000 22.397413,45.242756,0.000000 22.397511,45.242778,0.000000 22.397608,45.242822,0.000000 22.397614,45.242837,0.000000 22.397620,45.242849,0.000000 22.397622,45.242939,0.000000 22.397718,45.243075,0.000000 22.397801,45.243164,0.000000 22.397818,45.243214,0.000000 22.397966,45.243346,0.000000 22.398056,45.243362,0.000000 22.398188,45.243340,0.000000 22.398332,45.243293,0.000000 22.398485,45.243254,0.000000 22.398585,45.243110,0.000000 22.398599,45.243129,0.000000 22.398803,45.243201,0.000000 22.398979,45.243234,0.000000 22.399105,45.243250,0.000000 22.399589,45.243289,0.000000 22.399607,45.243291,0.000000 22.399838,45.243359,0.000000 22.400045,45.243450,0.000000 22.400242,45.243558,0.000000 22.401818,45.244423,0.000000 22.402055,45.244540,0.000000 22.402242,45.244676,0.000000 22.402381,45.244729,0.000000 22.402613,45.244783,0.000000 22.403161,45.245119,0.000000 22.403462,45.245282,0.000000 22.403519,45.245313,0.000000 22.403860,45.245484,0.000000 22.403943,45.245554,0.000000 22.404063,45.245656,0.000000 22.404203,45.245761,0.000000 22.404315,45.245827,0.000000 22.404483,45.245893,0.000000 22.404590,45.245917,0.000000 22.404692,45.245940,0.000000 22.404815,45.245931,0.000000 22.404767,45.246007,0.000000 22.404788,45.246032,0.000000 22.405067,45.246193,0.000000 22.405213,45.246312,0.000000 22.405310,45.246259,0.000000 22.405350,45.246227,0.000000 22.405507,45.246360,0.000000 22.405850,45.246697,0.000000 22.406068,45.246881,0.000000 22.406633,45.247239,0.000000 22.407143,45.247453,0.000000 22.407085,45.247494,0.000000 22.407087,45.247527,0.000000 22.407227,45.247629,0.000000 22.407295,45.247700,0.000000 22.407399,45.247765,0.000000 22.407526,45.247880,0.000000 22.407565,45.247956,0.000000 22.407864,45.248132,0.000000 22.407932,45.248150,0.000000 22.407960,45.248207,0.000000 22.407939,45.248254,0.000000 22.407844,45.248255,0.000000 22.407754,45.248213,0.000000 22.407663,45.248219,0.000000 22.407610,45.248209,0.000000 22.407501,45.248182,0.000000 22.407456,45.248171,0.000000 22.407397,45.248145,0.000000 22.407297,45.248157,0.000000 22.407230,45.248225,0.000000 22.407257,45.248370,0.000000 22.407264,45.248464,0.000000 22.407318,45.248527,0.000000 22.407382,45.248550,0.000000 22.407533,45.248575,0.000000 22.407646,45.248583,0.000000 22.407734,45.248577,0.000000 22.407764,45.248570,0.000000 22.407860,45.248550,0.000000 22.407895,45.248582,0.000000 22.408032,45.248704,0.000000 22.408219,45.248856,0.000000 22.408415,45.249043,0.000000 22.409075,45.249729,0.000000 22.409181,45.249814,0.000000 22.409260,45.249840,0.000000 22.409375,45.249816,0.000000 22.409438,45.249756,0.000000 22.409453,45.249711,0.000000 22.409478,45.249630,0.000000 22.409541,45.249589,0.000000 22.409851,45.249545,0.000000 22.409934,45.249544,0.000000 22.409986,45.249578,0.000000 22.410003,45.249600,0.000000 22.410033,45.249638,0.000000 22.410132,45.249715,0.000000 22.410230,45.249814,0.000000 22.410321,45.249886,0.000000 22.410455,45.249943,0.000000 22.410550,45.250020,0.000000 22.410679,45.250028,0.000000 22.410959,45.250032,0.000000 22.411100,45.249988,0.000000 22.411379,45.249899,0.000000 22.411408,45.249898,0.000000 22.411688,45.249890,0.000000 22.411765,45.249868,0.000000 22.411816,45.249834,0.000000 22.411757,45.249790,0.000000 22.411638,45.249726,0.000000 22.411612,45.249711,0.000000 22.411565,45.249654,0.000000 22.411624,45.249620,0.000000 22.411686,45.249600,0.000000 22.411843,45.249631,0.000000 22.412002,45.249661,0.000000 22.412187,45.249674,0.000000 22.412449,45.249776,0.000000 22.412543,45.249767,0.000000 22.412578,45.249763,0.000000 22.412644,45.249740,0.000000 22.412733,45.249694,0.000000 22.412868,45.249579,0.000000 22.413017,45.249400,0.000000 22.413112,45.249303,0.000000 22.413170,45.249197,0.000000 22.413229,45.248984,0.000000 22.413403,45.248838,0.000000 22.413462,45.248802,0.000000 22.413610,45.248620,0.000000 22.413666,45.248570,0.000000 22.413649,45.248516,0.000000 22.413064,45.248269,0.000000 22.412945,45.248235,0.000000 22.412861,45.248225,0.000000 22.412777,45.248249,0.000000 22.412602,45.248339,0.000000 22.412567,45.248344,0.000000 22.412537,45.248333,0.000000 22.412539,45.248306,0.000000 22.412785,45.248059,0.000000 22.412858,45.247970,0.000000 22.412916,45.247866,0.000000 22.413034,45.247764,0.000000 22.413081,45.247741,0.000000 22.413177,45.247714,0.000000 22.413349,45.247683,0.000000 22.413502,45.247673,0.000000 22.413708,45.247643,0.000000 22.413801,45.247621,0.000000 22.413957,45.247606,0.000000 22.414002,45.247612,0.000000 22.414076,45.247667,0.000000 22.414144,45.247752,0.000000 22.414234,45.247939,0.000000 22.414300,45.247989,0.000000 22.414386,45.248013,0.000000 22.414561,45.248110,0.000000 22.414712,45.248127,0.000000 22.414781,45.248110,0.000000 22.414802,45.248070,0.000000 22.414794,45.247979,0.000000 22.414846,45.247929,0.000000 22.415079,45.247811,0.000000 22.415153,45.247783,0.000000 22.415262,45.247719,0.000000 22.415335,45.247710,0.000000 22.415443,45.247825,0.000000 22.415881,45.248102,0.000000 22.415706,45.248205,0.000000 22.415672,45.248243,0.000000 22.415670,45.248276,0.000000 22.415809,45.248405,0.000000 22.415823,45.248436,0.000000 22.415959,45.248454,0.000000 22.416020,45.248484,0.000000 22.416155,45.248530,0.000000 22.416176,45.248554,0.000000 22.416450,45.248737,0.000000 22.416634,45.248833,0.000000 22.416707,45.248888,0.000000 22.416760,45.248915,0.000000 22.416879,45.248936,0.000000 22.417110,45.248959,0.000000 22.417191,45.248925,0.000000 22.417227,45.248762,0.000000 22.417289,45.248692,0.000000 22.417344,45.248657,0.000000 22.417447,45.248639,0.000000 22.417486,45.248661,0.000000 22.417510,45.248692,0.000000 22.417508,45.248727,0.000000 22.417392,45.248817,0.000000 22.417346,45.248862,0.000000 22.417326,45.248910,0.000000 22.417324,45.248943,0.000000 22.417373,45.248980,0.000000 22.417428,45.248969,0.000000 22.417526,45.248966,0.000000 22.417536,45.248984,0.000000 22.417497,45.249050,0.000000 22.417502,45.249088,0.000000 22.417573,45.249120,0.000000 22.417624,45.249119,0.000000 22.417720,45.249073,0.000000 22.417812,45.249041,0.000000 22.417833,45.249060,0.000000 22.417746,45.249296,0.000000 22.417826,45.249366,0.000000 22.417875,45.249411,0.000000 22.418072,45.249380,0.000000 22.418201,45.249368,0.000000 22.418250,45.249364,0.000000 22.418701,45.249374,0.000000 22.418728,45.249377,0.000000 22.418916,45.249367,0.000000 22.419048,45.249338,0.000000 22.419062,45.249335,0.000000 22.419175,45.249311,0.000000 22.419483,45.249232,0.000000 22.419574,45.249244,0.000000 22.419621,45.249251,0.000000 22.419759,45.249278,0.000000 22.419945,45.249282,0.000000 22.420001,45.249207,0.000000 22.420048,45.249122,0.000000 22.420061,45.249051,0.000000 22.420066,45.249024,0.000000 22.420125,45.248958,0.000000 22.420168,45.248793,0.000000 22.420177,45.248683,0.000000 22.420111,45.248602,0.000000 22.420118,45.248540,0.000000 22.420175,45.248447,0.000000 22.420181,45.248398,0.000000 22.420237,45.248344,0.000000 22.420363,45.248293,0.000000 22.420420,45.248233,0.000000 22.420424,45.248154,0.000000 22.420365,45.248009,0.000000 22.420300,45.247997,0.000000 22.420248,45.248027,0.000000 22.420188,45.248079,0.000000 22.420158,45.248025,0.000000 22.420190,45.247949,0.000000 22.420184,45.247854,0.000000 22.420115,45.247778,0.000000 22.419972,45.247657,0.000000 22.419965,45.247565,0.000000 22.420200,45.247264,0.000000 22.420083,45.247191,0.000000 22.419959,45.247148,0.000000 22.419779,45.247098,0.000000 22.419830,45.247064,0.000000 22.419860,45.247020,0.000000 22.419982,45.246910,0.000000 22.420023,45.246859,0.000000 22.420027,45.246828,0.000000 22.420036,45.246809,0.000000 22.420034,45.246697,0.000000 22.420050,45.246650,0.000000 22.420231,45.246544,0.000000 22.420257,45.246512,0.000000 22.420170,45.246338,0.000000 22.419979,45.246122,0.000000 22.419969,45.246022,0.000000 22.419905,45.245963,0.000000 22.419888,45.245933,0.000000 22.419888,45.245855,0.000000 22.419914,45.245843,0.000000 22.420030,45.245851,0.000000 22.420305,45.246012,0.000000 22.420358,45.246081,0.000000 22.420447,45.246145,0.000000 22.420592,45.246298,0.000000 22.420600,45.246351,0.000000 22.420701,45.246380,0.000000 22.420807,45.246383,0.000000 22.420896,45.246372,0.000000 22.421058,45.246376,0.000000 22.421188,45.246389,0.000000 22.421187,45.246494,0.000000 22.421235,45.246517,0.000000 22.421289,45.246498,0.000000 22.421340,45.246465,0.000000 22.421370,45.246428,0.000000 22.421425,45.246384,0.000000 22.421544,45.246335,0.000000 22.421620,45.246286,0.000000 22.421656,45.246287,0.000000 22.421771,45.246320,0.000000 22.421799,45.246328,0.000000 22.421789,45.246380,0.000000 22.421719,45.246446,0.000000 22.421796,45.246532,0.000000 22.421918,45.246563,0.000000 22.421995,45.246592,0.000000 22.422043,45.246630,0.000000 22.422033,45.246690,0.000000 22.422003,45.246714,0.000000 22.421980,45.246756,0.000000 22.421942,45.246753,0.000000 22.421907,45.246730,0.000000 22.421877,45.246694,0.000000 22.421871,45.246666,0.000000 22.421819,45.246655,0.000000 22.421635,45.246527,0.000000 22.421544,45.246580,0.000000 22.421446,45.246677,0.000000 22.421346,45.246756,0.000000 22.421273,45.246789,0.000000 22.421153,45.246779,0.000000 22.421037,45.246781,0.000000 22.420987,45.246817,0.000000 22.420987,45.246901,0.000000 22.421014,45.246982,0.000000 22.421012,45.247095,0.000000 22.421082,45.247145,0.000000 22.421189,45.247206,0.000000 22.421231,45.247248,0.000000 22.421229,45.247304,0.000000 22.421220,45.247352,0.000000 22.421027,45.247531,0.000000 22.420932,45.247660,0.000000 22.421015,45.247780,0.000000 22.421060,45.247929,0.000000 22.421063,45.248023,0.000000 22.421039,45.248173,0.000000 22.421043,45.248233,0.000000 22.421128,45.248327,0.000000 22.421182,45.248416,0.000000 22.421182,45.248479,0.000000 22.421163,45.248515,0.000000 22.421084,45.248612,0.000000 22.421080,45.248692,0.000000 22.421095,45.248731,0.000000 22.421111,45.248756,0.000000 22.421139,45.248761,0.000000 22.421240,45.248783,0.000000 22.421267,45.248805,0.000000 22.421330,45.248920,0.000000 22.421357,45.248935,0.000000 22.421439,45.248935,0.000000 22.421483,45.248948,0.000000 22.421488,45.248977,0.000000 22.421474,45.249061,0.000000 22.421584,45.249219,0.000000 22.421718,45.249348,0.000000 22.421771,45.249383,0.000000 22.421793,45.249427,0.000000 22.421810,45.249514,0.000000 22.421723,45.249602,0.000000 22.421703,45.249681,0.000000 22.421713,45.249752,0.000000 22.421698,45.249872,0.000000 22.421584,45.249957,0.000000 22.421562,45.250000,0.000000 22.421560,45.250109,0.000000 22.421607,45.250139,0.000000 22.421670,45.250142,0.000000 22.421778,45.250128,0.000000 22.421883,45.250087,0.000000 22.422027,45.250018,0.000000 22.422111,45.249966,0.000000 22.422317,45.249879,0.000000 22.422415,45.249850,0.000000 22.422586,45.249851,0.000000 22.422654,45.249858,0.000000 22.422701,45.249873,0.000000 22.422759,45.249875,0.000000 22.422939,45.249842,0.000000 22.423163,45.249741,0.000000 22.423275,45.249753,0.000000 22.423353,45.249772,0.000000 22.423452,45.249774,0.000000 22.423642,45.249742,0.000000 22.424226,45.249559,0.000000 22.424368,45.249536,0.000000 22.424444,45.249509,0.000000 22.424518,45.249457,0.000000 22.424558,45.249410,0.000000 22.424581,45.249362,0.000000 22.424544,45.249189,0.000000 22.424630,45.249106,0.000000 22.424760,45.249051,0.000000 22.424809,45.249016,0.000000 22.424844,45.248930,0.000000 22.424946,45.248864,0.000000 22.425042,45.248862,0.000000 22.425062,45.248870,0.000000 22.425061,45.248906,0.000000 22.425035,45.248946,0.000000 22.424993,45.248977,0.000000 22.424956,45.249017,0.000000 22.424912,45.249093,0.000000 22.424924,45.249125,0.000000 22.424989,45.249134,0.000000 22.425085,45.249134,0.000000 22.425291,45.249049,0.000000 22.425384,45.249020,0.000000 22.425408,45.249022,0.000000 22.425403,45.249068,0.000000 22.425335,45.249125,0.000000 22.425309,45.249165,0.000000 22.425318,45.249202,0.000000 22.425364,45.249237,0.000000 22.425453,45.249251,0.000000 22.425560,45.249220,0.000000 22.425927,45.248911,0.000000 22.426000,45.248806,0.000000 22.426010,45.248743,0.000000 22.426078,45.248677,0.000000 22.426152,45.248645,0.000000 22.426220,45.248647,0.000000 22.426269,45.248694,0.000000 22.426274,45.248749,0.000000 22.426239,45.248824,0.000000 22.426102,45.249050,0.000000 22.426031,45.249102,0.000000 22.425910,45.249138,0.000000 22.425894,45.249179,0.000000 22.425892,45.249227,0.000000 22.425925,45.249269,0.000000 22.425977,45.249314,0.000000 22.426195,45.249413,0.000000 22.426277,45.249432,0.000000 22.426354,45.249460,0.000000 22.426440,45.249452,0.000000 22.426430,45.249370,0.000000 22.426379,45.249219,0.000000 22.426385,45.249011,0.000000 22.426424,45.248765,0.000000 22.426501,45.248650,0.000000 22.426572,45.248584,0.000000 22.426695,45.248517,0.000000 22.426876,45.248381,0.000000 22.426982,45.248311,0.000000 22.427066,45.248279,0.000000 22.427213,45.248280,0.000000 22.427280,45.248305,0.000000 22.427336,45.248355,0.000000 22.427333,45.248418,0.000000 22.427295,45.248464,0.000000 22.427250,45.248517,0.000000 22.427171,45.248533,0.000000 22.427106,45.248531,0.000000 22.427050,45.248549,0.000000 22.427000,45.248584,0.000000 22.426923,45.248694,0.000000 22.426875,45.248861,0.000000 22.426879,45.249133,0.000000 22.426970,45.249362,0.000000 22.426986,45.249525,0.000000 22.427027,45.249667,0.000000 22.427121,45.249707,0.000000 22.427633,45.249647,0.000000 22.427739,45.249652,0.000000 22.427850,45.249699,0.000000 22.427924,45.249775,0.000000 22.427949,45.249831,0.000000 22.427960,45.249931,0.000000 22.427911,45.249990,0.000000 22.427809,45.250076,0.000000 22.427754,45.250177,0.000000 22.427688,45.250242,0.000000 22.427708,45.250325,0.000000 22.427754,45.250431,0.000000 22.427804,45.250513,0.000000 22.427792,45.250541,0.000000 22.427749,45.250628,0.000000 22.427817,45.250730,0.000000 22.427932,45.250821,0.000000 22.428001,45.250899,0.000000 22.428064,45.250943,0.000000 22.428090,45.251028,0.000000 22.428033,45.251110,0.000000 22.428035,45.251145,0.000000 22.428122,45.251166,0.000000 22.428281,45.251126,0.000000 22.428367,45.251088,0.000000 22.428550,45.251092,0.000000 22.428757,45.251151,0.000000 22.428828,45.251179,0.000000 22.428904,45.251186,0.000000 22.429135,45.251235,0.000000 22.429208,45.251156,0.000000 22.429229,45.251102,0.000000 22.429121,45.250965,0.000000 22.429083,45.250877,0.000000 22.429088,45.250769,0.000000 22.429150,45.250744,0.000000 22.429289,45.250712,0.000000 22.429363,45.250754,0.000000 22.429440,45.250910,0.000000 22.429527,45.250949,0.000000 22.429557,45.251022,0.000000 22.429585,45.251089,0.000000 22.429765,45.251160,0.000000 22.429784,45.251161,0.000000 22.429953,45.251164,0.000000 22.430059,45.251188,0.000000 22.430098,45.251204,0.000000 22.430145,45.251223,0.000000 22.430233,45.251243,0.000000 22.430251,45.251247,0.000000 22.430361,45.251257,0.000000 22.430425,45.251280,0.000000 22.430491,45.251344,0.000000 22.430466,45.251398,0.000000 22.430472,45.251408,0.000000 22.430502,45.251437,0.000000 22.430511,45.251485,0.000000 22.430429,45.251527,0.000000 22.430411,45.251625,0.000000 22.430422,45.251688,0.000000 22.430985,45.252090,0.000000 22.431185,45.252138,0.000000 22.431300,45.252135,0.000000 22.431318,45.252073,0.000000 22.431297,45.252032,0.000000 22.431212,45.252005,0.000000 22.431180,45.251995,0.000000 22.430960,45.251968,0.000000 22.430919,45.251927,0.000000 22.430942,45.251854,0.000000 22.430957,45.251697,0.000000 22.430951,45.251651,0.000000 22.430913,45.251572,0.000000 22.430912,45.251502,0.000000 22.430892,45.251431,0.000000 22.430898,45.251388,0.000000 22.430934,45.251359,0.000000 22.431006,45.251358,0.000000 22.431069,45.251406,0.000000 22.431127,45.251486,0.000000 22.431142,45.251653,0.000000 22.431185,45.251800,0.000000 22.431206,45.251836,0.000000 22.431306,45.251911,0.000000 22.431518,45.251951,0.000000 22.431577,45.251968,0.000000 22.431911,45.252097,0.000000 22.432060,45.252155,0.000000 22.432174,45.252174,0.000000 22.432212,45.252247,0.000000 22.432236,45.252399,0.000000 22.432231,45.252447,0.000000 22.432221,45.252541,0.000000 22.432609,45.252657,0.000000 22.432649,45.252669,0.000000 22.432663,45.252761,0.000000 22.432668,45.252774,0.000000 22.432690,45.252940,0.000000 22.432723,45.252985,0.000000 22.432818,45.253115,0.000000 22.433439,45.253051,0.000000 22.433981,45.253043,0.000000 22.434250,45.253050,0.000000 22.434349,45.253084,0.000000 22.434477,45.253128,0.000000 22.434673,45.253180,0.000000 22.434792,45.253211,0.000000 22.434892,45.253185,0.000000 22.434942,45.253081,0.000000 22.435057,45.252983,0.000000 22.435130,45.252754,0.000000 22.435247,45.252659,0.000000 22.435441,45.252624,0.000000 22.435500,45.252539,0.000000 22.435503,45.252485,0.000000 22.435637,45.252432,0.000000 22.435780,45.252354,0.000000 22.435872,45.252264,0.000000 22.435929,45.252103,0.000000 22.436227,45.251919,0.000000 22.436252,45.251899,0.000000 22.436266,45.251879,0.000000 22.436272,45.251847,0.000000 22.436248,45.251839,0.000000 22.436220,45.251779,0.000000 22.436250,45.251490,0.000000 22.436236,45.251439,0.000000 22.436225,45.251433,0.000000 22.436193,45.251414,0.000000 22.436206,45.251354,0.000000 22.436233,45.251334,0.000000 22.436262,45.251312,0.000000 22.436313,45.251237,0.000000 22.436309,45.251164,0.000000 22.436234,45.251091,0.000000 22.435955,45.250903,0.000000 22.435870,45.250831,0.000000 22.435798,45.250760,0.000000 22.435728,45.250658,0.000000 22.435686,45.250552,0.000000 22.435680,45.250461,0.000000 22.435731,45.250385,0.000000 22.435906,45.250339,0.000000 22.435985,45.250297,0.000000 22.436116,45.250161,0.000000 22.436146,45.250131,0.000000 22.436163,45.250055,0.000000 22.436285,45.249896,0.000000 22.436233,45.249850,0.000000 22.436045,45.249740,0.000000 22.435663,45.249480,0.000000 22.435559,45.249300,0.000000 22.435545,45.249238,0.000000 22.435547,45.249190,0.000000 22.435498,45.249069,0.000000 22.435456,45.249027,0.000000 22.435399,45.248947,0.000000 22.435353,45.248903,0.000000 22.435268,45.248841,0.000000 22.435232,45.248732,0.000000 22.435193,45.248700,0.000000 22.435126,45.248677,0.000000 22.435068,45.248623,0.000000 22.435097,45.248511,0.000000 22.435194,45.248405,0.000000 22.435260,45.248354,0.000000 22.435340,45.248313,0.000000 22.435523,45.248248,0.000000 22.435585,45.248218,0.000000 22.435625,45.248168,0.000000 22.435620,45.248116,0.000000 22.435595,45.248089,0.000000 22.435466,45.248076,0.000000 22.435342,45.248054,0.000000 22.435255,45.248021,0.000000 22.435180,45.247952,0.000000 22.435100,45.247976,0.000000 22.434965,45.248057,0.000000 22.434870,45.248055,0.000000 22.434760,45.248063,0.000000 22.434608,45.248100,0.000000 22.434460,45.248107,0.000000 22.434404,45.248082,0.000000 22.434432,45.247890,0.000000 22.434415,45.247847,0.000000 22.434319,45.247725,0.000000 22.434228,45.247725,0.000000 22.434167,45.247809,0.000000 22.434084,45.247810,0.000000 22.434062,45.247794,0.000000 22.433977,45.247765,0.000000 22.433803,45.247593,0.000000 22.433671,45.247513,0.000000 22.433547,45.247494,0.000000 22.433471,45.247492,0.000000 22.433303,45.247462,0.000000 22.433198,45.247404,0.000000 22.433167,45.247413,0.000000 22.433116,45.247415,0.000000 22.433086,45.247402,0.000000 22.433091,45.247356,0.000000 22.433151,45.247305,0.000000 22.433146,45.247276,0.000000 22.433119,45.247266,0.000000 22.432824,45.247269,0.000000 22.432710,45.247302,0.000000 22.432672,45.247333,0.000000 22.432620,45.247346,0.000000 22.432354,45.247237,0.000000 22.432183,45.247190,0.000000 22.432090,45.247154,0.000000 22.431969,45.247060,0.000000 22.431796,45.246975,0.000000 22.431711,45.246972,0.000000 22.431261,45.247033,0.000000 22.431141,45.246909,0.000000 22.430978,45.246831,0.000000 22.430828,45.246792,0.000000 22.430631,45.246577,0.000000 22.430479,45.246378,0.000000 22.430409,45.246261,0.000000 22.430334,45.246017,0.000000 22.430320,45.245984,0.000000 22.430260,45.245863,0.000000 22.430274,45.245718,0.000000 22.430308,45.245631,0.000000 22.430435,45.245453,0.000000 22.430441,45.245389,0.000000 22.430481,45.245325,0.000000 22.430491,45.245270,0.000000 22.430601,45.245148,0.000000 22.430682,45.245018,0.000000 22.430731,45.244986,0.000000 22.430886,45.244853,0.000000 22.430947,45.244770,0.000000 22.430961,45.244706,0.000000 22.430948,45.244605,0.000000 22.430885,45.244508,0.000000 22.430718,45.244367,0.000000 22.430623,45.244224,0.000000 22.430558,45.244170,0.000000 22.430385,45.244159,0.000000 22.430320,45.244100,0.000000 22.430250,45.244007,0.000000 22.430065,45.243885,0.000000 22.430075,45.243816,0.000000 22.430064,45.243619,0.000000 22.430038,45.243513,0.000000 22.429956,45.243387,0.000000 22.429953,45.243231,0.000000 22.429914,45.243175,0.000000 22.429854,45.243157,0.000000 22.429716,45.243139,0.000000 22.429630,45.243089,0.000000 22.429448,45.242915,0.000000 22.429308,45.242801,0.000000 22.429403,45.242601,0.000000 22.429553,45.242519,0.000000 22.429797,45.242436,0.000000 22.429969,45.242431,0.000000 22.429977,45.242400,0.000000 22.430040,45.242356,0.000000 22.430095,45.242259,0.000000 22.430098,45.242122,0.000000 22.430093,45.242089,0.000000 22.430029,45.241989,0.000000 22.429948,45.241903,0.000000 22.429844,45.241820,0.000000 22.429795,45.241768,0.000000 22.429761,45.241712,0.000000 22.429695,45.241660,0.000000 22.429586,45.241521,0.000000 22.429577,45.241413,0.000000 22.429594,45.241275,0.000000 22.429607,45.240992,0.000000 22.429556,45.240907,0.000000 22.429495,45.240767,0.000000 22.429489,45.240661,0.000000 22.429421,45.240644,0.000000 22.429317,45.240652,0.000000 22.429244,45.240608,0.000000 22.429171,45.240580,0.000000 22.429031,45.240545,0.000000 22.428810,45.240472,0.000000 22.428721,45.240465,0.000000 22.428442,45.240369,0.000000 22.428332,45.240340,0.000000 22.428222,45.240295,0.000000 22.428066,45.240276,0.000000 22.427919,45.240241,0.000000 22.427787,45.240191,0.000000 22.427632,45.240156,0.000000 22.427552,45.240122,0.000000 22.427525,45.240053,0.000000 22.427433,45.239941,0.000000 22.427378,45.239844,0.000000 22.427292,45.239769,0.000000 22.427283,45.239569,0.000000 22.427249,45.239398,0.000000 22.427363,45.239357,0.000000 22.427542,45.239210,0.000000 22.427688,45.239137,0.000000 22.427846,45.239078,0.000000 22.427942,45.239064,0.000000 22.428115,45.239063,0.000000 22.428245,45.239044,0.000000 22.428283,45.239024,0.000000 22.428258,45.238980,0.000000 22.428126,45.238896,0.000000 22.428017,45.238747,0.000000 22.427672,45.238601,0.000000 22.427574,45.238554,0.000000 22.427253,45.238486,0.000000 22.426664,45.238332,0.000000 22.426116,45.238262,0.000000 22.426147,45.238130,0.000000 22.426214,45.238078,0.000000 22.426378,45.238128,0.000000 22.426660,45.238095,0.000000 22.426888,45.238182,0.000000 22.427157,45.238211,0.000000 22.427199,45.238117,0.000000 22.427138,45.237971,0.000000 22.427159,45.237877,0.000000 22.427060,45.237810,0.000000 22.427020,45.237790,0.000000 22.426863,45.237582,0.000000 22.426814,45.237543,0.000000 22.426754,45.237520,0.000000 22.426619,45.237503,0.000000 22.426412,45.237369,0.000000 22.426344,45.237369,0.000000 22.426340,45.237386,0.000000 22.426438,45.237467,0.000000 22.426444,45.237494,0.000000 22.426425,45.237529,0.000000 22.426419,45.237584,0.000000 22.426454,45.237643,0.000000 22.426496,45.237682,0.000000 22.426498,45.237723,0.000000 22.426486,45.237756,0.000000 22.426431,45.237774,0.000000 22.426395,45.237754,0.000000 22.426311,45.237575,0.000000 22.426244,45.237480,0.000000 22.426192,45.237366,0.000000 22.426078,45.237260,0.000000 22.426066,45.237283,0.000000 22.425987,45.237329,0.000000 22.425884,45.237414,0.000000 22.425805,45.237450,0.000000 22.425714,45.237440,0.000000 22.425607,45.237440,0.000000 22.425334,45.237458,0.000000 22.425063,45.237530,0.000000 22.424643,45.237256,0.000000 22.424364,45.237043,0.000000 22.424153,45.236981,0.000000 22.423914,45.236919,0.000000 22.423793,45.236914,0.000000 22.423706,45.236934,0.000000 22.423653,45.236893,0.000000 22.423598,45.236905,0.000000 22.423481,45.236900,0.000000 22.423445,45.236888,0.000000 22.423420,45.236864,0.000000 22.423418,45.236823,0.000000 22.423469,45.236765,0.000000 22.423631,45.236718,0.000000 22.423808,45.236622,0.000000 22.423820,45.236529,0.000000 22.423884,45.236454,0.000000 22.423807,45.236365,0.000000 22.423676,45.236316,0.000000 22.423545,45.236292,0.000000 22.423417,45.236295,0.000000 22.423266,45.236312,0.000000 22.423068,45.236348,0.000000 22.422884,45.236335,0.000000 22.422904,45.236037,0.000000 22.422965,45.235919,0.000000 22.422984,45.235816,0.000000 22.423144,45.235607,0.000000 22.423192,45.235204,0.000000 22.423205,45.235155,0.000000 22.423225,45.235104,0.000000 22.423283,45.235043,0.000000 22.423339,45.234933,0.000000 22.423348,45.234656,0.000000 22.423369,45.234610,0.000000 22.423551,45.234479,0.000000 22.423584,45.234467,0.000000 22.423657,45.234389,0.000000 22.423681,45.234275,0.000000 22.423708,45.233926,0.000000 22.423721,45.233869,0.000000 22.423749,45.233820,0.000000 22.423906,45.233689,0.000000 22.423936,45.233654,0.000000 22.424001,45.233614,0.000000 22.424050,45.233568,0.000000 22.424104,45.233443,0.000000 22.424117,45.233384,0.000000 22.424186,45.233243,0.000000 22.424183,45.232986,0.000000 22.424125,45.232897,0.000000 22.424053,45.232862,0.000000 22.423932,45.232856,0.000000 22.423891,45.232884,0.000000 22.423745,45.232945,0.000000 22.423624,45.233025,0.000000 22.423598,45.233030,0.000000 22.423563,45.233011,0.000000 22.423525,45.232953,0.000000 22.423539,45.232921,0.000000 22.423683,45.232821,0.000000 22.423767,45.232716,0.000000 22.423796,45.232666,0.000000 22.423813,45.232544,0.000000 22.423790,45.232466,0.000000 22.423766,45.232407,0.000000 22.423671,45.232268,0.000000 22.423616,45.232233,0.000000 22.423474,45.232203,0.000000 22.423346,45.232114,0.000000 22.423322,45.232066,0.000000 22.423271,45.232017,0.000000 22.423166,45.231998,0.000000 22.423039,45.231961,0.000000 22.422988,45.231936,0.000000 22.422853,45.231839,0.000000 22.422680,45.231811,0.000000 22.422595,45.231780,0.000000 22.422546,45.231771,0.000000 22.422509,45.231754,0.000000 22.422456,45.231700,0.000000 22.422344,45.231670,0.000000 22.422140,45.231668,0.000000 22.421732,45.231683,0.000000 22.421689,45.231717,0.000000 22.421682,45.231791,0.000000 22.421412,45.232078,0.000000 22.421311,45.232068,0.000000 22.421380,45.231952,0.000000 22.421426,45.231852,0.000000 22.421483,45.231768,0.000000 22.421510,45.231670,0.000000 22.421426,45.231601,0.000000 22.421398,45.231558,0.000000 22.421462,45.231482,0.000000 22.421462,45.231402,0.000000 22.421429,45.231386,0.000000 22.421271,45.231355,0.000000 22.421187,45.231305,0.000000 22.421017,45.231386,0.000000 22.420686,45.231652,0.000000 22.420388,45.231870,0.000000 22.420301,45.231903,0.000000 22.420188,45.231990,0.000000 22.420186,45.232032,0.000000 22.420157,45.232095,0.000000 22.420068,45.232164,0.000000 22.419984,45.232194,0.000000 22.419840,45.232305,0.000000 22.419773,45.232452,0.000000 22.419535,45.232663,0.000000 22.419448,45.232754,0.000000 22.419419,45.232822,0.000000 22.419122,45.233078,0.000000 22.419080,45.233096,0.000000 22.419055,45.233084,0.000000 22.419039,45.233026,0.000000 22.419063,45.232984,0.000000 22.419129,45.232927,0.000000 22.419210,45.232881,0.000000 22.419319,45.232799,0.000000 22.419336,45.232762,0.000000 22.419322,45.232738,0.000000 22.419215,45.232683,0.000000 22.419205,45.232656,0.000000 22.419209,45.232569,0.000000 22.419242,45.232429,0.000000 22.419177,45.232372,0.000000 22.419095,45.232275,0.000000 22.419099,45.232196,0.000000 22.419216,45.232182,0.000000 22.419407,45.232187,0.000000 22.419503,45.232197,0.000000 22.419638,45.232123,0.000000 22.419747,45.232020,0.000000 22.419657,45.231941,0.000000 22.419743,45.231863,0.000000 22.420142,45.231576,0.000000 22.420416,45.231402,0.000000 22.420644,45.231267,0.000000 22.420935,45.231116,0.000000 22.420733,45.230919,0.000000 22.420553,45.230814,0.000000 22.420371,45.230748,0.000000 22.420265,45.230671,0.000000 22.420200,45.230606,0.000000 22.420249,45.230518,0.000000 22.420079,45.230520,0.000000 22.419984,45.230536,0.000000 22.419866,45.230571,0.000000 22.419842,45.230602,0.000000 22.419859,45.230891,0.000000 22.419835,45.230917,0.000000 22.419657,45.231011,0.000000 22.419507,45.230989,0.000000 22.419441,45.230937,0.000000 22.419342,45.230882,0.000000 22.419280,45.230829,0.000000 22.419272,45.230757,0.000000 22.419385,45.230688,0.000000 22.419479,45.230607,0.000000 22.419543,45.230531,0.000000 22.419577,45.230444,0.000000 22.419537,45.230323,0.000000 22.419470,45.230226,0.000000 22.419371,45.230170,0.000000 22.419288,45.230166,0.000000 22.419114,45.230162,0.000000 22.418875,45.230194,0.000000 22.418793,45.230170,0.000000 22.418731,45.230126,0.000000 22.418424,45.229983,0.000000 22.418371,45.229985,0.000000 22.418285,45.230052,0.000000 22.418205,45.230077,0.000000 22.418184,45.230047,0.000000 22.418258,45.229985,0.000000 22.418314,45.229925,0.000000 22.418310,45.229842,0.000000 22.418260,45.229774,0.000000 22.418213,45.229744,0.000000 22.418122,45.229752,0.000000 22.417892,45.229902,0.000000 22.417649,45.230024,0.000000 22.417628,45.230069,0.000000 22.417634,45.230109,0.000000 22.417688,45.230151,0.000000 22.417884,45.230238,0.000000 22.418059,45.230303,0.000000 22.418124,45.230355,0.000000 22.418205,45.230402,0.000000 22.418237,45.230446,0.000000 22.418217,45.230469,0.000000 22.418097,45.230531,0.000000 22.418007,45.230531,0.000000 22.417906,45.230518,0.000000 22.417605,45.230399,0.000000 22.417440,45.230388,0.000000 22.417043,45.230480,0.000000 22.416893,45.230551,0.000000 22.416740,45.230668,0.000000 22.416629,45.230708,0.000000 22.416600,45.230678,0.000000 22.416622,45.230617,0.000000 22.416673,45.230573,0.000000 22.416682,45.230538,0.000000 22.416653,45.230511,0.000000 22.416583,45.230472,0.000000 22.416497,45.230457,0.000000 22.416446,45.230421,0.000000 22.416388,45.230372,0.000000 22.416395,45.230305,0.000000 22.416496,45.230241,0.000000 22.416662,45.230157,0.000000 22.416915,45.230072,0.000000 22.417111,45.230073,0.000000 22.417255,45.230053,0.000000 22.417322,45.229985,0.000000 22.417371,45.229914,0.000000 22.417500,45.229810,0.000000 22.417636,45.229723,0.000000 22.417689,45.229641,0.000000 22.417930,45.229489,0.000000 22.417943,45.229119,0.000000 22.417920,45.229052,0.000000 22.417803,45.228961,0.000000 22.417800,45.228865,0.000000 22.417827,45.228764,0.000000 22.417889,45.228731,0.000000 22.417961,45.228719,0.000000 22.418042,45.228777,0.000000 22.418158,45.228785,0.000000 22.418395,45.228649,0.000000 22.418400,45.228522,0.000000 22.418357,45.228478,0.000000 22.418360,45.228417,0.000000 22.418324,45.228386,0.000000 22.418260,45.228366,0.000000 22.418235,45.228331,0.000000 22.418319,45.228237,0.000000 22.418417,45.228151,0.000000 22.418557,45.227976,0.000000 22.418618,45.227977,0.000000 22.418739,45.228132,0.000000 22.418793,45.228184,0.000000 22.418856,45.228220,0.000000 22.418927,45.228235,0.000000 22.418995,45.228231,0.000000 22.419057,45.228182,0.000000 22.419113,45.228122,0.000000 22.419134,45.228072,0.000000 22.419208,45.227999,0.000000 22.419264,45.227817,0.000000 22.419267,45.227764,0.000000 22.419340,45.227584,0.000000 22.419364,45.227353,0.000000 22.419497,45.227068,0.000000 22.419505,45.227029,0.000000 22.419494,45.226978,0.000000 22.419462,45.226929,0.000000 22.419429,45.226829,0.000000 22.419422,45.226761,0.000000 22.419434,45.226564,0.000000 22.419225,45.226281,0.000000 22.419073,45.226161,0.000000 22.419064,45.226064,0.000000 22.419142,45.225921,0.000000 22.419244,45.225928,0.000000 22.419320,45.225993,0.000000 22.419371,45.226067,0.000000 22.419437,45.226136,0.000000 22.419456,45.226170,0.000000 22.419582,45.226253,0.000000 22.419701,45.226260,0.000000 22.419718,45.226195,0.000000 22.419663,45.226126,0.000000 22.419660,45.226049,0.000000 22.419614,45.225930,0.000000 22.419633,45.225889,0.000000 22.419697,45.225905,0.000000 22.419740,45.225935,0.000000 22.419745,45.225966,0.000000 22.419802,45.226076,0.000000 22.419814,45.226120,0.000000 22.419866,45.226162,0.000000 22.419933,45.226191,0.000000 22.420002,45.226197,0.000000 22.420221,45.226185,0.000000 22.420353,45.226149,0.000000 22.420457,45.226106,0.000000 22.420544,45.226086,0.000000 22.420636,45.226086,0.000000 22.420888,45.226038,0.000000 22.421054,45.225989,0.000000 22.421104,45.225939,0.000000 22.421104,45.225864,0.000000 22.420963,45.225278,0.000000 22.420941,45.225107,0.000000 22.420936,45.225063,0.000000 22.420942,45.224915,0.000000 22.421087,45.224822,0.000000 22.421287,45.224783,0.000000 22.421446,45.224741,0.000000 22.421547,45.224699,0.000000 22.421571,45.224627,0.000000 22.421501,45.224519,0.000000 22.421503,45.224466,0.000000 22.421529,45.224416,0.000000 22.421495,45.224190,0.000000 22.421462,45.224100,0.000000 22.421504,45.224009,0.000000 22.421521,45.223935,0.000000 22.421525,45.223836,0.000000 22.421556,45.223759,0.000000 22.421592,45.223578,0.000000 22.421594,45.223418,0.000000 22.421802,45.223380,0.000000 22.421972,45.223326,0.000000 22.422258,45.223272,0.000000 22.422303,45.223352,0.000000 22.422270,45.223393,0.000000 22.422096,45.223536,0.000000 22.422024,45.223607,0.000000 22.421969,45.223695,0.000000 22.421948,45.223782,0.000000 22.421941,45.223861,0.000000 22.421900,45.223945,0.000000 22.421831,45.224018,0.000000 22.421783,45.224250,0.000000 22.421803,45.224347,0.000000 22.421839,45.224386,0.000000 22.421913,45.224398,0.000000 22.422013,45.224381,0.000000 22.422093,45.224356,0.000000 22.422272,45.224263,0.000000 22.422403,45.224160,0.000000 22.422458,45.224007,0.000000 22.422796,45.223852,0.000000 22.422846,45.223812,0.000000 22.423010,45.223736,0.000000 22.423167,45.223602,0.000000 22.423176,45.223554,0.000000 22.423122,45.223531,0.000000 22.423064,45.223524,0.000000 22.422990,45.223506,0.000000 22.422916,45.223475,0.000000 22.422595,45.223388,0.000000 22.422492,45.223321,0.000000 22.422385,45.223267,0.000000 22.422334,45.223259,0.000000 22.422311,45.223246,0.000000 22.422398,45.223212,0.000000 22.422546,45.223116,0.000000 22.422804,45.223018,0.000000 22.422965,45.223003,0.000000 22.423136,45.223004,0.000000 22.423486,45.223046,0.000000 22.423834,45.223068,0.000000 22.424163,45.223131,0.000000 22.424296,45.223149,0.000000 22.424547,45.223244,0.000000 22.424774,45.223360,0.000000 22.424834,45.223383,0.000000 22.424933,45.223407,0.000000 22.425035,45.223412,0.000000 22.425118,45.223407,0.000000 22.425256,45.223381,0.000000 22.425374,45.223338,0.000000 22.425481,45.223311,0.000000 22.425613,45.223266,0.000000 22.425812,45.223246,0.000000 22.426103,45.223245,0.000000 22.426309,45.223231,0.000000 22.426538,45.223161,0.000000 22.426898,45.222983,0.000000 22.427054,45.222929,0.000000 22.427222,45.222845,0.000000 22.427399,45.222789,0.000000 22.427562,45.222822,0.000000 22.427628,45.222874,0.000000 22.427672,45.222962,0.000000 22.427695,45.222989,0.000000 22.427811,45.222997,0.000000 22.427900,45.222979,0.000000 22.427962,45.222978,0.000000 22.427991,45.223015,0.000000 22.428003,45.223059,0.000000 22.428001,45.223095,0.000000 22.427986,45.223126,0.000000 22.427942,45.223200,0.000000 22.427863,45.223271,0.000000 22.427822,45.223277,0.000000 22.427665,45.223274,0.000000 22.427582,45.223279,0.000000 22.427513,45.223307,0.000000 22.427486,45.223359,0.000000 22.427444,45.223380,0.000000 22.427298,45.223377,0.000000 22.427249,45.223387,0.000000 22.427207,45.223413,0.000000 22.427195,45.223442,0.000000 22.427200,45.223485,0.000000 22.427288,45.223509,0.000000 22.427603,45.223512,0.000000 22.427823,45.223468,0.000000 22.427844,45.223473,0.000000 22.427849,45.223517,0.000000 22.427813,45.223543,0.000000 22.427757,45.223566,0.000000 22.427454,45.223627,0.000000 22.427321,45.223679,0.000000 22.427277,45.223758,0.000000 22.427334,45.223844,0.000000 22.427396,45.223913,0.000000 22.427415,45.223952,0.000000 22.427527,45.224044,0.000000 22.427588,45.224058,0.000000 22.427817,45.224058,0.000000 22.427951,45.224042,0.000000 22.428041,45.224022,0.000000 22.428118,45.223983,0.000000 22.428171,45.223936,0.000000 22.428191,45.223883,0.000000 22.428206,45.223712,0.000000 22.428346,45.223630,0.000000 22.428428,45.223567,0.000000 22.428487,45.223537,0.000000 22.428509,45.223513,0.000000 22.428543,45.223434,0.000000 22.428515,45.223380,0.000000 22.428517,45.223339,0.000000 22.428583,45.223307,0.000000 22.428624,45.223300,0.000000 22.428705,45.223338,0.000000 22.428770,45.223340,0.000000 22.428870,45.223306,0.000000 22.428936,45.223295,0.000000 22.428987,45.223296,0.000000 22.429035,45.223302,0.000000 22.429196,45.223369,0.000000 22.429247,45.223447,0.000000 22.429335,45.223473,0.000000 22.429465,45.223544,0.000000 22.429598,45.223634,0.000000 22.429677,45.223699,0.000000 22.429673,45.223774,0.000000 22.429624,45.223811,0.000000 22.429609,45.223833,0.000000 22.429617,45.223884,0.000000 22.429664,45.223895,0.000000 22.430133,45.223900,0.000000 22.430171,45.223889,0.000000 22.430193,45.223856,0.000000 22.430294,45.223863,0.000000 22.430521,45.223846,0.000000 22.430704,45.223817,0.000000 22.430773,45.223794,0.000000 22.430836,45.223767,0.000000 22.430868,45.223736,0.000000 22.430977,45.223671,0.000000 22.431026,45.223565,0.000000 22.431138,45.223594,0.000000 22.431467,45.223575,0.000000 22.431676,45.223493,0.000000 22.431933,45.223329,0.000000 22.432040,45.223221,0.000000 22.432131,45.223099,0.000000 22.432148,45.222964,0.000000 22.432144,45.222909,0.000000 22.432101,45.222869,0.000000 22.432047,45.222856,0.000000 22.431866,45.222852,0.000000 22.431742,45.222856,0.000000 22.431694,45.222865,0.000000 22.431631,45.222892,0.000000 22.431599,45.222930,0.000000 22.431595,45.223010,0.000000 22.431574,45.223029,0.000000 22.431476,45.223068,0.000000 22.431162,45.223058,0.000000 22.430866,45.223095,0.000000 22.430648,45.223080,0.000000 22.430601,45.223060,0.000000 22.430578,45.223038,0.000000 22.430540,45.222974,0.000000 22.430525,45.222937,0.000000 22.430509,45.222833,0.000000 22.430599,45.222804,0.000000 22.430643,45.222749,0.000000 22.430720,45.222693,0.000000 22.430811,45.222663,0.000000 22.430909,45.222675,0.000000 22.430974,45.222670,0.000000 22.431020,45.222639,0.000000 22.431063,45.222594,0.000000 22.431136,45.222581,0.000000 22.431197,45.222600,0.000000 22.431239,45.222642,0.000000 22.431302,45.222684,0.000000 22.431343,45.222683,0.000000 22.431674,45.222625,0.000000 22.431777,45.222620,0.000000 22.431882,45.222560,0.000000 22.431969,45.222462,0.000000 22.432043,45.222418,0.000000 22.432031,45.222365,0.000000 22.431995,45.222325,0.000000 22.432001,45.222207,0.000000 22.432229,45.222084,0.000000 22.432441,45.221929,0.000000 22.432620,45.221827,0.000000 22.432784,45.221756,0.000000 22.432908,45.221744,0.000000 22.432965,45.221762,0.000000 22.433023,45.221754,0.000000 22.433355,45.221609,0.000000 22.433588,45.221523,0.000000 22.433740,45.221483,0.000000 22.433877,45.221411,0.000000 22.434148,45.221306,0.000000 22.434262,45.221214,0.000000 22.434479,45.220873,0.000000 22.434586,45.220774,0.000000 22.434807,45.220726,0.000000 22.434974,45.220732,0.000000 22.435008,45.220757,0.000000 22.435008,45.220829,0.000000 22.434987,45.220974,0.000000 22.435007,45.221378,0.000000 22.434999,45.221624,0.000000 22.434935,45.221674,0.000000 22.434935,45.221829,0.000000 22.434989,45.221854,0.000000 22.435155,45.221882,0.000000 22.435735,45.221898,0.000000 22.435859,45.221951,0.000000 22.436004,45.221993,0.000000 22.436195,45.222082,0.000000 22.436239,45.222090,0.000000 22.436519,45.222097,0.000000 22.436591,45.222091,0.000000 22.436608,45.222101,0.000000 22.436617,45.222125,0.000000 22.436656,45.222170,0.000000 22.436704,45.222183,0.000000 22.436758,45.222187,0.000000 22.436803,45.222178,0.000000 22.436911,45.222122,0.000000 22.437014,45.222120,0.000000 22.437207,45.222168,0.000000 22.437406,45.222160,0.000000 22.437509,45.222223,0.000000 22.437560,45.222289,0.000000 22.437581,45.222369,0.000000 22.437619,45.222421,0.000000 22.437667,45.222429,0.000000 22.437999,45.222432,0.000000 22.438019,45.222445,0.000000 22.438025,45.222534,0.000000 22.438074,45.222591,0.000000 22.438104,45.222599,0.000000 22.438152,45.222590,0.000000 22.438177,45.222571,0.000000 22.438179,45.222528,0.000000 22.438197,45.222495,0.000000 22.438244,45.222445,0.000000 22.438304,45.222405,0.000000 22.438455,45.222387,0.000000 22.438472,45.222397,0.000000 22.438470,45.222450,0.000000 22.438451,45.222486,0.000000 22.438352,45.222561,0.000000 22.438341,45.222582,0.000000 22.438342,45.222619,0.000000 22.438359,45.222634,0.000000 22.438399,45.222642,0.000000 22.438475,45.222631,0.000000 22.438548,45.222609,0.000000 22.438550,45.222643,0.000000 22.438566,45.222677,0.000000 22.438557,45.222715,0.000000 22.438475,45.222791,0.000000 22.438447,45.222875,0.000000 22.438414,45.222927,0.000000 22.438464,45.222948,0.000000 22.438632,45.222939,0.000000 22.438681,45.222926,0.000000 22.438684,45.222938,0.000000 22.438475,45.223020,0.000000 22.438429,45.223048,0.000000 22.438418,45.223072,0.000000 22.438444,45.223092,0.000000 22.438475,45.223098,0.000000 22.438570,45.223100,0.000000 22.438643,45.223087,0.000000 22.438689,45.223132,0.000000 22.438690,45.223165,0.000000 22.438675,45.223195,0.000000 22.438532,45.223199,0.000000 22.438466,45.223217,0.000000 22.438463,45.223272,0.000000 22.438516,45.223312,0.000000 22.438583,45.223345,0.000000 22.438668,45.223356,0.000000 22.438734,45.223343,0.000000 22.438980,45.223272,0.000000 22.439067,45.223225,0.000000 22.439184,45.223206,0.000000 22.439280,45.223206,0.000000 22.439361,45.223217,0.000000 22.439414,45.223255,0.000000 22.439435,45.223316,0.000000 22.439429,45.223446,0.000000 22.439442,45.223548,0.000000 22.439375,45.223600,0.000000 22.439321,45.223656,0.000000 22.439303,45.223753,0.000000 22.439323,45.223826,0.000000 22.439375,45.223892,0.000000 22.439489,45.223967,0.000000 22.439583,45.223978,0.000000 22.439658,45.223961,0.000000 22.439711,45.223850,0.000000 22.439760,45.223592,0.000000 22.439789,45.223516,0.000000 22.439914,45.223462,0.000000 22.440065,45.223468,0.000000 22.440223,45.223503,0.000000 22.440267,45.223519,0.000000 22.440340,45.223531,0.000000 22.440431,45.223575,0.000000 22.440466,45.223613,0.000000 22.440413,45.223735,0.000000 22.440366,45.223794,0.000000 22.440262,45.223862,0.000000 22.440225,45.223931,0.000000 22.440389,45.224062,0.000000 22.440559,45.224167,0.000000 22.440407,45.224236,0.000000 22.440383,45.224282,0.000000 22.440471,45.224303,0.000000 22.440549,45.224332,0.000000 22.440581,45.224374,0.000000 22.440571,45.224530,0.000000 22.440598,45.224608,0.000000 22.440691,45.224737,0.000000 22.440713,45.224783,0.000000 22.440700,45.224913,0.000000 22.440669,45.224930,0.000000 22.440614,45.224933,0.000000 22.440529,45.224924,0.000000 22.440401,45.224870,0.000000 22.440418,45.224656,0.000000 22.440378,45.224556,0.000000 22.440322,45.224499,0.000000 22.440189,45.224498,0.000000 22.440090,45.224559,0.000000 22.439909,45.224560,0.000000 22.439798,45.224528,0.000000 22.439667,45.224477,0.000000 22.439559,45.224428,0.000000 22.439510,45.224389,0.000000 22.439478,45.224404,0.000000 22.439341,45.224423,0.000000 22.439301,45.224470,0.000000 22.439295,45.224521,0.000000 22.439310,45.224577,0.000000 22.439496,45.224693,0.000000 22.439510,45.224693,0.000000 22.439509,45.224712,0.000000 22.439487,45.224739,0.000000 22.439456,45.224743,0.000000 22.439327,45.224725,0.000000 22.439243,45.224690,0.000000 22.439161,45.224705,0.000000 22.439102,45.224778,0.000000 22.439075,45.225005,0.000000 22.439090,45.225056,0.000000 22.439202,45.225150,0.000000 22.439376,45.225244,0.000000 22.439772,45.225255,0.000000 22.440021,45.225253,0.000000 22.440236,45.225200,0.000000 22.440401,45.225177,0.000000 22.440688,45.225184,0.000000 22.440897,45.225176,0.000000 22.441009,45.225203,0.000000 22.441234,45.225290,0.000000 22.441394,45.225386,0.000000 22.441418,45.225452,0.000000 22.441416,45.225500,0.000000 22.441371,45.225579,0.000000 22.441212,45.225628,0.000000 22.441025,45.225672,0.000000 22.440924,45.225713,0.000000 22.440871,45.225753,0.000000 22.440849,45.225782,0.000000 22.440818,45.225931,0.000000 22.440872,45.226022,0.000000 22.440956,45.226070,0.000000 22.441332,45.226076,0.000000 22.441649,45.226029,0.000000 22.441737,45.226041,0.000000 22.441808,45.226065,0.000000 22.441908,45.226185,0.000000 22.442079,45.226180,0.000000 22.442189,45.226325,0.000000 22.442330,45.226398,0.000000 22.442414,45.226395,0.000000 22.442581,45.226351,0.000000 22.442675,45.226297,0.000000 22.442704,45.226266,0.000000 22.442699,45.226225,0.000000 22.442606,45.226163,0.000000 22.442509,45.226132,0.000000 22.442447,45.226130,0.000000 22.442333,45.226145,0.000000 22.442217,45.226142,0.000000 22.442161,45.226109,0.000000 22.442149,45.226058,0.000000 22.442238,45.225981,0.000000 22.442333,45.225922,0.000000 22.442407,45.225888,0.000000 22.442453,45.225848,0.000000 22.442527,45.225861,0.000000 22.442640,45.225863,0.000000 22.442969,45.225859,0.000000 22.443142,45.225809,0.000000 22.443542,45.225669,0.000000 22.443824,45.225634,0.000000 22.443935,45.225593,0.000000 22.444051,45.225525,0.000000 22.444081,45.225463,0.000000 22.444012,45.225411,0.000000 22.443945,45.225376,0.000000 22.443875,45.225321,0.000000 22.443746,45.225154,0.000000 22.443513,45.224779,0.000000 22.443519,45.224655,0.000000 22.443538,45.224612,0.000000 22.443610,45.224537,0.000000 22.443654,45.224468,0.000000 22.443648,45.224363,0.000000 22.443618,45.224275,0.000000 22.443628,45.224063,0.000000 22.443607,45.223910,0.000000 22.443611,45.223833,0.000000 22.443616,45.223799,0.000000 22.443645,45.223766,0.000000 22.443661,45.223718,0.000000 22.443662,45.223675,0.000000 22.443707,45.223596,0.000000 22.443660,45.223571,0.000000 22.443631,45.223538,0.000000 22.443631,45.223459,0.000000 22.443698,45.223429,0.000000 22.443778,45.223457,0.000000 22.443827,45.223449,0.000000 22.443941,45.223330,0.000000 22.444006,45.223196,0.000000 22.444014,45.223059,0.000000 22.443861,45.223013,0.000000 22.443705,45.223031,0.000000 22.443572,45.223031,0.000000 22.443311,45.223212,0.000000 22.443204,45.223251,0.000000 22.443011,45.223291,0.000000 22.442931,45.223336,0.000000 22.442830,45.223347,0.000000 22.442662,45.223352,0.000000 22.442585,45.223322,0.000000 22.442529,45.223280,0.000000 22.442486,45.223199,0.000000 22.442372,45.223133,0.000000 22.442271,45.223117,0.000000 22.442145,45.222988,0.000000 22.442147,45.222938,0.000000 22.442185,45.222867,0.000000 22.442160,45.222817,0.000000 22.442096,45.222775,0.000000 22.442116,45.222687,0.000000 22.442453,45.222538,0.000000 22.442607,45.222500,0.000000 22.442822,45.222474,0.000000 22.442838,45.222467,0.000000 22.442909,45.222355,0.000000 22.443006,45.222289,0.000000 22.443305,45.222125,0.000000 22.443408,45.222091,0.000000 22.443537,45.222086,0.000000 22.443633,45.222116,0.000000 22.443693,45.222172,0.000000 22.443783,45.222249,0.000000 22.443830,45.222381,0.000000 22.443940,45.222505,0.000000 22.444379,45.222530,0.000000 22.444812,45.222600,0.000000 22.444839,45.222476,0.000000 22.444541,45.222222,0.000000 22.444441,45.222077,0.000000 22.444467,45.221981,0.000000 22.444510,45.221861,0.000000 22.444583,45.221778,0.000000 22.444627,45.221767,0.000000 22.444720,45.221769,0.000000 22.444762,45.221751,0.000000 22.444795,45.221696,0.000000 22.444718,45.221569,0.000000 22.444721,45.221518,0.000000 22.444680,45.221439,0.000000 22.444686,45.221379,0.000000 22.444701,45.221355,0.000000 22.444735,45.221344,0.000000 22.444733,45.221317,0.000000 22.444608,45.221213,0.000000 22.444566,45.221149,0.000000 22.444542,45.221091,0.000000 22.444543,45.221059,0.000000 22.444602,45.221039,0.000000 22.444690,45.221053,0.000000 22.444751,45.221071,0.000000 22.444819,45.221075,0.000000 22.444880,45.221088,0.000000 22.444948,45.221114,0.000000 22.445074,45.221187,0.000000 22.445155,45.221213,0.000000 22.445244,45.221225,0.000000 22.445285,45.221223,0.000000 22.445378,45.221191,0.000000 22.445536,45.221103,0.000000 22.445722,45.221013,0.000000 22.445825,45.220928,0.000000 22.445944,45.220849,0.000000 22.446017,45.220756,0.000000 22.446132,45.220554,0.000000 22.446234,45.220488,0.000000 22.446354,45.220464,0.000000 22.446468,45.220532,0.000000 22.446528,45.220555,0.000000 22.446611,45.220543,0.000000 22.446643,45.220432,0.000000 22.446738,45.220376,0.000000 22.446812,45.220392,0.000000 22.446802,45.220467,0.000000 22.446772,45.220539,0.000000 22.446793,45.220597,0.000000 22.446894,45.220641,0.000000 22.447029,45.220661,0.000000 22.447194,45.220655,0.000000 22.447270,45.220628,0.000000 22.447600,45.220451,0.000000 22.447661,45.220378,0.000000 22.447678,45.220301,0.000000 22.447566,45.220214,0.000000 22.447451,45.220192,0.000000 22.447346,45.220230,0.000000 22.447278,45.220226,0.000000 22.447202,45.220172,0.000000 22.447158,45.220078,0.000000 22.447226,45.219949,0.000000 22.447239,45.219872,0.000000 22.447304,45.219736,0.000000 22.447332,45.219323,0.000000 22.447241,45.219242,0.000000 22.447012,45.219142,0.000000 22.446896,45.219077,0.000000 22.446618,45.218942,0.000000 22.446525,45.218887,0.000000 22.446407,45.218773,0.000000 22.446345,45.218692,0.000000 22.446322,45.218592,0.000000 22.446284,45.218304,0.000000 22.446316,45.218203,0.000000 22.446464,45.217885,0.000000 22.446606,45.217760,0.000000 22.446751,45.217649,0.000000 22.446983,45.217524,0.000000 22.446947,45.217400,0.000000 22.446901,45.217300,0.000000 22.446784,45.217150,0.000000 22.446760,45.217069,0.000000 22.446851,45.216815,0.000000 22.446848,45.216725,0.000000 22.446646,45.216503,0.000000 22.446360,45.216101,0.000000 22.446331,45.216044,0.000000 22.446201,45.215908,0.000000 22.446087,45.215853,0.000000 22.445718,45.215830,0.000000 22.445667,45.215809,0.000000 22.445602,45.215754,0.000000 22.445591,45.215719,0.000000 22.445597,45.215677,0.000000 22.445631,45.215641,0.000000 22.445680,45.215603,0.000000 22.445826,45.215553,0.000000 22.445963,45.215522,0.000000 22.446074,45.215527,0.000000 22.446483,45.215329,0.000000 22.446685,45.215333,0.000000 22.447434,45.215307,0.000000 22.447744,45.215157,0.000000 22.448387,45.214800,0.000000 22.448949,45.214441,0.000000 22.449501,45.213854,0.000000 22.450232,45.213327,0.000000 22.451086,45.212761,0.000000 22.451502,45.212513,0.000000 22.451766,45.212490,0.000000 22.451974,45.212352,0.000000 22.452210,45.212043,0.000000 22.452419,45.211890,0.000000 22.452818,45.211557,0.000000 22.453152,45.211321,0.000000 22.453670,45.211047,0.000000 22.454127,45.210772,0.000000 22.454462,45.210508,0.000000 22.454824,45.210116,0.000000 22.455120,45.209822,0.000000 22.455481,45.209430,0.000000 22.455532,45.209189,0.000000 22.455735,45.208871,0.000000 22.456109,45.208346,0.000000 22.456441,45.208144,0.000000 22.456866,45.207696,0.000000 22.457344,45.207250,0.000000 22.457220,45.206999,0.000000 22.457036,45.206309,0.000000 22.456905,45.205621,0.000000 22.456496,45.204526,0.000000 22.455442,45.202807,0.000000 22.454883,45.202032,0.000000 22.454309,45.201028,0.000000 22.453686,45.199891,0.000000 22.453021,45.199114,0.000000 22.452894,45.198939,0.000000 22.453303,45.198225,0.000000 22.453567,45.197754,0.000000 22.454071,45.197327,0.000000 22.454735,45.196942,0.000000 22.455484,45.196513,0.000000 22.456341,45.195969,0.000000 22.456705,45.195672,0.000000 22.456884,45.195276,0.000000 22.456851,45.194818,0.000000 22.456718,45.194167,0.000000 22.456185,45.193451,0.000000 22.455950,45.193274,0.000000 22.455455,45.192901,0.000000 22.455253,45.192610,0.000000 22.454785,45.192219,0.000000 22.454238,45.191807,0.000000 22.453716,45.191433,0.000000 22.452554,45.190912,0.000000 22.451789,45.190670,0.000000 22.451101,45.190436,0.000000 22.450613,45.190438,0.000000 22.449960,45.190393,0.000000 22.449417,45.190353,0.000000 22.449568,45.190216,0.000000 22.449603,45.190026,0.000000 22.449619,45.189683,0.000000 22.449450,45.189241,0.000000 22.449269,45.188475,0.000000 22.449293,45.187636,0.000000 22.449260,45.187182,0.000000 22.449264,45.187093,0.000000 22.449357,45.186391,0.000000 22.449512,45.185802,0.000000 22.449548,45.185172,0.000000 22.449651,45.184858,0.000000 22.449748,45.184371,0.000000 22.449725,45.184085,0.000000 22.449453,45.183691,0.000000 22.449271,45.183522,0.000000 22.449147,45.183452,0.000000 22.449072,45.183409,0.000000 22.448957,45.183333,0.000000 22.448515,45.182986,0.000000 22.447746,45.182270,0.000000 22.446941,45.181614,0.000000 22.446773,45.181369,0.000000 22.446559,45.180888,0.000000 22.446339,45.180589,0.000000 22.446193,45.180490,0.000000 22.446040,45.180398,0.000000 22.445645,45.180265,0.000000 22.445064,45.179996,0.000000 22.444708,45.179699,0.000000 22.444394,45.179370,0.000000 22.444338,45.179326,0.000000 22.444119,45.179189,0.000000 22.443977,45.179087,0.000000 22.443744,45.178862,0.000000 22.443593,45.178782,0.000000 22.443466,45.178737,0.000000 22.443174,45.178550,0.000000 22.443013,45.178468,0.000000 22.442855,45.178401,0.000000 22.442451,45.178321,0.000000 22.442313,45.178275,0.000000 22.442235,45.178261,0.000000 22.441989,45.178235,0.000000 22.441691,45.178193,0.000000 22.440998,45.178164,0.000000 22.440791,45.178150,0.000000 22.440224,45.178020,0.000000 22.439493,45.177958,0.000000 22.439273,45.178004,0.000000 22.439027,45.178044,0.000000 22.438929,45.178070,0.000000 22.438548,45.178279,0.000000 22.438446,45.178317,0.000000 22.438235,45.178378,0.000000 22.438080,45.178349,0.000000 22.437983,45.178344,0.000000 22.437429,45.178266,0.000000 22.436567,45.177995,0.000000 22.435943,45.177789,0.000000 22.435582,45.177530,0.000000 22.435538,45.177483,0.000000 22.435103,45.177291,0.000000 22.434902,45.177148,0.000000 22.434401,45.176764,0.000000 22.433962,45.176407,0.000000 22.433787,45.176322,0.000000 22.433543,45.176187,0.000000 22.433310,45.176103,0.000000 22.432883,45.175975,0.000000 22.432476,45.175955,0.000000 22.432192,45.175901,0.000000 22.432046,45.175882,0.000000 22.431678,45.175859,0.000000 22.431418,45.175833,0.000000 22.431160,45.175923,0.000000 22.430849,45.176012,0.000000 22.430191,45.176221,0.000000 22.429916,45.176283,0.000000 22.429786,45.176323,0.000000 22.429418,45.176527,0.000000 22.429278,45.176549,0.000000 22.428046,45.176797,0.000000 22.427782,45.176862,0.000000 22.427540,45.176910,0.000000 22.427141,45.176951,0.000000 22.426202,45.176831,0.000000 22.425647,45.176831,0.000000 22.424969,45.176862,0.000000 22.424662,45.176837,0.000000 22.423744,45.176664,0.000000 22.423495,45.176615,0.000000 22.423037,45.176539,0.000000 22.422621,45.176542,0.000000 22.422345,45.176473,0.000000 22.422270,45.176469,0.000000 22.421396,45.176322,0.000000 22.421276,45.176290,0.000000 22.421208,45.176275,0.000000 22.420941,45.176186,0.000000 22.420750,45.176112,0.000000 22.420407,45.176026,0.000000 22.420208,45.175991,0.000000 22.419391,45.175889,0.000000 22.419287,45.175865,0.000000 22.419188,45.175800,0.000000 22.419132,45.175742,0.000000 22.419107,45.175617,0.000000 22.419044,45.175119,0.000000 22.418966,45.174790,0.000000 22.418895,45.174251,0.000000 22.418801,45.173828,0.000000 22.418640,45.173717,0.000000 22.418502,45.173686,0.000000 22.418294,45.173527,0.000000 22.418071,45.173493,0.000000 22.417786,45.173258,0.000000 22.417640,45.173235,0.000000 22.417607,45.173219,0.000000 22.417003,45.173079,0.000000 22.416615,45.172876,0.000000 22.416254,45.172759,0.000000 22.416004,45.172693,0.000000 22.415914,45.172669,0.000000 22.414882,45.172263,0.000000 22.414533,45.172149,0.000000 22.414321,45.172090,0.000000 22.414109,45.172004,0.000000 22.413938,45.171915,0.000000 22.412873,45.171767,0.000000 22.412802,45.171704,0.000000 22.412613,45.171473,0.000000 22.412466,45.171180,0.000000 22.412136,45.171112,0.000000 22.411854,45.171033,0.000000 22.411538,45.170935,0.000000 22.410484,45.170834,0.000000 22.409459,45.170898,0.000000 22.409185,45.171023,0.000000 22.408951,45.171104,0.000000 22.408514,45.171166,0.000000 22.408464,45.171180,0.000000 22.408338,45.171239,0.000000 22.408152,45.171278,0.000000 22.407947,45.171249,0.000000 22.407869,45.171271,0.000000 22.407462,45.171354,0.000000 22.406896,45.171404,0.000000 22.406539,45.171406,0.000000 22.406069,45.171454,0.000000 22.405502,45.171465,0.000000 22.404693,45.171578,0.000000 22.402694,45.171464,0.000000 22.401992,45.171413,0.000000 22.401735,45.171384,0.000000 22.401251,45.171246,0.000000 22.401154,45.171233,0.000000 22.400607,45.171194,0.000000 22.400415,45.171149,0.000000 22.400092,45.171091,0.000000 22.399994,45.171063,0.000000 22.399496,45.170853,0.000000 22.399777,45.170589,0.000000 22.399985,45.170513,0.000000 22.400339,45.170423,0.000000 22.400869,45.170418,0.000000 22.401021,45.170479,0.000000 22.401172,45.170575,0.000000 22.401375,45.170591,0.000000 22.401637,45.170568,0.000000 22.402438,45.170356,0.000000 22.402549,45.170237,0.000000 22.402817,45.170076,0.000000 22.402906,45.169923,0.000000 22.402828,45.169834,0.000000 22.402616,45.169835,0.000000 22.402406,45.169807,0.000000 22.402035,45.169522,0.000000 22.401857,45.169495,0.000000 22.400870,45.169692,0.000000 22.400507,45.169781,0.000000 22.400204,45.169815,0.000000 22.399887,45.169790,0.000000 22.399686,45.169728,0.000000 22.399610,45.169622,0.000000 22.399431,45.169439,0.000000 22.399355,45.169299,0.000000 22.399344,45.169195,0.000000 22.399356,45.168936,0.000000 22.399537,45.168900,0.000000 22.399704,45.168990,0.000000 22.399757,45.169066,0.000000 22.399928,45.169070,0.000000 22.400137,45.168971,0.000000 22.400553,45.168952,0.000000 22.400810,45.168865,0.000000 22.400927,45.168799,0.000000 22.400989,45.168691,0.000000 22.400879,45.168619,0.000000 22.400890,45.168544,0.000000 22.401095,45.168520,0.000000 22.401287,45.168432,0.000000 22.401349,45.168324,0.000000 22.401111,45.168175,0.000000 22.401040,45.168110,0.000000 22.400862,45.168082,0.000000 22.400659,45.168078,0.000000 22.400518,45.168121,0.000000 22.400380,45.168117,0.000000 22.400351,45.168025,0.000000 22.400333,45.167891,0.000000 22.400222,45.167831,0.000000 22.400198,45.167810,0.000000 22.400195,45.167776,0.000000 22.400219,45.167770,0.000000 22.400402,45.167744,0.000000 22.400580,45.167611,0.000000 22.400654,45.167567,0.000000 22.400704,45.167487,0.000000 22.400718,45.167400,0.000000 22.400757,45.167302,0.000000 22.400907,45.167253,0.000000 22.400972,45.167281,0.000000 22.401035,45.167402,0.000000 22.401060,45.167568,0.000000 22.401012,45.167649,0.000000 22.401042,45.167684,0.000000 22.401151,45.167716,0.000000 22.401164,45.167755,0.000000 22.401123,45.167799,0.000000 22.400797,45.167877,0.000000 22.400746,45.167916,0.000000 22.400826,45.167984,0.000000 22.400870,45.167992,0.000000 22.400987,45.167967,0.000000 22.401361,45.167866,0.000000 22.401432,45.167817,0.000000 22.401605,45.167746,0.000000 22.401661,45.167700,0.000000 22.401832,45.167506,0.000000 22.401737,45.167340,0.000000 22.401740,45.167267,0.000000 22.401794,45.167219,0.000000 22.401823,45.167220,0.000000 22.401887,45.167277,0.000000 22.401924,45.167393,0.000000 22.401973,45.167444,0.000000 22.402111,45.167437,0.000000 22.402228,45.167407,0.000000 22.402364,45.167344,0.000000 22.402483,45.167263,0.000000 22.402567,45.167160,0.000000 22.402895,45.166926,0.000000 22.403320,45.166783,0.000000 22.403589,45.166704,0.000000 22.403523,45.166636,0.000000 22.403506,45.166587,0.000000 22.403583,45.166562,0.000000 22.403663,45.166596,0.000000 22.403864,45.166544,0.000000 22.404518,45.166291,0.000000 22.404836,45.166119,0.000000 22.404893,45.166060,0.000000 22.404910,45.165961,0.000000 22.404890,45.165905,0.000000 22.404856,45.165854,0.000000 22.404756,45.165773,0.000000 22.404671,45.165634,0.000000 22.404595,45.165571,0.000000 22.404547,45.165561,0.000000 22.404516,45.165595,0.000000 22.404545,45.165695,0.000000 22.404536,45.165747,0.000000 22.404515,45.165771,0.000000 22.404426,45.165720,0.000000 22.404367,45.165665,0.000000 22.404355,45.165619,0.000000 22.404376,45.165536,0.000000 22.404461,45.165390,0.000000 22.404613,45.165192,0.000000 22.404651,45.165106,0.000000 22.404685,45.165016,0.000000 22.404628,45.164966,0.000000 22.404553,45.164949,0.000000 22.404447,45.164955,0.000000 22.404397,45.164971,0.000000 22.404355,45.165017,0.000000 22.404302,45.165106,0.000000 22.404266,45.165144,0.000000 22.404199,45.165259,0.000000 22.404140,45.165313,0.000000 22.404105,45.165332,0.000000 22.403957,45.165337,0.000000 22.403901,45.165270,0.000000 22.403857,45.165197,0.000000 22.403785,45.165161,0.000000 22.403613,45.165153,0.000000 22.403579,45.165210,0.000000 22.403530,45.165242,0.000000 22.403418,45.165220,0.000000 22.403256,45.165166,0.000000 22.403233,45.165127,0.000000 22.403226,45.165059,0.000000 22.403254,45.164994,0.000000 22.403326,45.164934,0.000000 22.403504,45.164907,0.000000 22.403585,45.164916,0.000000 22.403715,45.164980,0.000000 22.403815,45.164994,0.000000 22.403937,45.164961,0.000000 22.404011,45.164898,0.000000 22.404078,45.164840,0.000000 22.404117,45.164735,0.000000 22.404342,45.164719,0.000000 22.404383,45.164835,0.000000 22.404667,45.164916,0.000000 22.404726,45.164920,0.000000 22.404789,45.164900,0.000000 22.404796,45.164846,0.000000 22.404732,45.164746,0.000000 22.404739,45.164695,0.000000 22.404772,45.164663,0.000000 22.404841,45.164659,0.000000 22.404896,45.164697,0.000000 22.404992,45.164851,0.000000 22.405029,45.164958,0.000000 22.405038,45.165029,0.000000 22.405067,45.165101,0.000000 22.405107,45.165139,0.000000 22.405136,45.165146,0.000000 22.405227,45.165157,0.000000 22.405301,45.165148,0.000000 22.405350,45.165101,0.000000 22.405347,45.165054,0.000000 22.405302,45.164962,0.000000 22.405368,45.164870,0.000000 22.405462,45.164804,0.000000 22.405468,45.164729,0.000000 22.405381,45.164637,0.000000 22.405284,45.164567,0.000000 22.405168,45.164501,0.000000 22.405062,45.164461,0.000000 22.404641,45.164519,0.000000 22.404501,45.164524,0.000000 22.404264,45.164481,0.000000 22.404192,45.164495,0.000000 22.403959,45.164576,0.000000 22.403922,45.164581,0.000000 22.403852,45.164560,0.000000 22.403626,45.164443,0.000000 22.403586,45.164401,0.000000 22.403569,45.164202,0.000000 22.403485,45.164007,0.000000 22.403484,45.163963,0.000000 22.403467,45.163627,0.000000 22.403638,45.163441,0.000000 22.403777,45.163329,0.000000 22.404164,45.163110,0.000000 22.404438,45.162902,0.000000 22.404538,45.162839,0.000000 22.404541,45.162773,0.000000 22.404564,45.162684,0.000000 22.404613,45.162625,0.000000 22.404714,45.162537,0.000000 22.404806,45.162536,0.000000 22.404836,45.162556,0.000000 22.404824,45.162649,0.000000 22.404890,45.162719,0.000000 22.405134,45.162705,0.000000 22.405222,45.162721,0.000000 22.405308,45.162783,0.000000 22.405421,45.162919,0.000000 22.405510,45.162916,0.000000 22.405566,45.162783,0.000000 22.405583,45.162677,0.000000 22.405629,45.162585,0.000000 22.405723,45.162566,0.000000 22.405821,45.162603,0.000000 22.405869,45.162662,0.000000 22.405968,45.162691,0.000000 22.406131,45.162662,0.000000 22.406458,45.162585,0.000000 22.406557,45.162631,0.000000 22.406891,45.162581,0.000000 22.406992,45.162467,0.000000 22.407049,45.162312,0.000000 22.406893,45.162200,0.000000 22.406756,45.162071,0.000000 22.406636,45.161984,0.000000 22.406601,45.161917,0.000000 22.406642,45.161779,0.000000 22.406671,45.161556,0.000000 22.406725,45.161388,0.000000 22.406810,45.161305,0.000000 22.406826,45.161208,0.000000 22.406823,45.161112,0.000000 22.406765,45.161029,0.000000 22.406662,45.161007,0.000000 22.406538,45.160931,0.000000 22.406473,45.160744,0.000000 22.406396,45.160655,0.000000 22.406272,45.160597,0.000000 22.406126,45.160569,0.000000 22.406017,45.160523,0.000000 22.405834,45.160544,0.000000 22.405795,45.160480,0.000000 22.405825,45.160403,0.000000 22.405814,45.160400,0.000000 22.405936,45.160293,0.000000 22.405970,45.160122,0.000000 22.405784,45.160080,0.000000 22.405597,45.160037,0.000000 22.405494,45.159940,0.000000 22.405447,45.159786,0.000000 22.405457,45.159577,0.000000 22.405492,45.159406,0.000000 22.405195,45.159418,0.000000 22.405084,45.159492,0.000000 22.405047,45.159701,0.000000 22.404960,45.159832,0.000000 22.404823,45.159886,0.000000 22.404690,45.159864,0.000000 22.404582,45.159862,0.000000 22.404482,45.159707,0.000000 22.404296,45.159646,0.000000 22.404115,45.159470,0.000000 22.404069,45.159297,0.000000 22.403969,45.159143,0.000000 22.403781,45.159119,0.000000 22.403670,45.159193,0.000000 22.403509,45.159189,0.000000 22.403247,45.159031,0.000000 22.403282,45.158860,0.000000 22.403291,45.158651,0.000000 22.403084,45.158475,0.000000 22.402381,45.158535,0.000000 22.400692,45.158953,0.000000 22.400147,45.159112,0.000000 22.399852,45.159086,0.000000 22.399651,45.158758,0.000000 22.399366,45.157932,0.000000 22.399069,45.157373,0.000000 22.398966,45.156685,0.000000 22.398711,45.156374,0.000000 22.398344,45.156137,0.000000 22.398312,45.155679,0.000000 22.398105,45.155484,0.000000 22.398014,45.155120,0.000000 22.398126,45.155027,0.000000 22.398135,45.154837,0.000000 22.398006,45.154701,0.000000 22.398013,45.154567,0.000000 22.398103,45.154360,0.000000 22.398354,45.154156,0.000000 22.398417,45.153967,0.000000 22.398424,45.153815,0.000000 22.398094,45.153369,0.000000 22.397952,45.152947,0.000000 22.397858,45.152659,0.000000 22.398008,45.152319,0.000000 22.398132,45.151960,0.000000 22.398151,45.151542,0.000000 22.398268,45.151335,0.000000 22.398522,45.151093,0.000000 22.398751,45.150793,0.000000 22.398768,45.150413,0.000000 22.398847,45.149881,0.000000 22.399170,45.149279,0.000000 22.399356,45.148750,0.000000 22.399078,45.148362,0.000000 22.398365,45.148060,0.000000 22.398021,45.148169,0.000000 22.397671,45.148210,0.000000 22.397490,45.148181,0.000000 22.396947,45.147879,0.000000 22.396544,45.147581,0.000000 22.395989,45.146965,0.000000 22.395776,45.146874,0.000000 22.395603,45.146858,0.000000 22.395375,45.146896,0.000000 22.395245,45.146905,0.000000 22.395108,45.146859,0.000000 22.394864,45.146692,0.000000 22.394754,45.146617,0.000000 22.394440,45.146450,0.000000 22.394223,45.146233,0.000000 22.393976,45.145973,0.000000 22.393720,45.145762,0.000000 22.393280,45.145587,0.000000 22.393010,45.145408,0.000000 22.392823,45.145185,0.000000 22.392806,45.145170,0.000000 22.392644,45.145038,0.000000 22.392575,45.144981,0.000000 22.392449,45.144924,0.000000 22.392248,45.144834,0.000000 22.391998,45.144721,0.000000 22.391794,45.144680,0.000000 22.391514,45.144625,0.000000 22.390950,45.144527,0.000000 22.390467,45.144403,0.000000 22.390408,45.144388,0.000000 22.390339,45.144386,0.000000 22.390293,45.144385,0.000000 22.389960,45.144434,0.000000 22.389743,45.144429,0.000000 22.389561,45.144406,0.000000 22.389468,45.144348,0.000000 22.389343,45.144241,0.000000 22.389159,45.144089,0.000000 22.389121,45.143941,0.000000 22.389108,45.143800,0.000000 22.389185,45.143581,0.000000 22.389314,45.143212,0.000000 22.389578,45.142250,0.000000 22.389656,45.141864,0.000000 22.389574,45.141686,0.000000 22.389361,45.141547,0.000000 22.389193,45.141475,0.000000 22.388940,45.141367,0.000000 22.388123,45.140918,0.000000 22.387695,45.140675,0.000000 22.387618,45.140631,0.000000 22.387011,45.140377,0.000000 22.386972,45.140371,0.000000 22.386877,45.140357,0.000000 22.387299,45.139320,0.000000 22.387496,45.138944,0.000000 22.388088,45.138551,0.000000 22.389310,45.137741,0.000000 22.390160,45.137202,0.000000 22.390822,45.136861,0.000000 22.391419,45.136367,0.000000 22.391683,45.136068,0.000000 22.391733,45.135765,0.000000 22.391890,45.135489,0.000000 22.392117,45.135215,0.000000 22.392271,45.134990,0.000000 22.392286,45.134660,0.000000 22.392304,45.134279,0.000000 22.392279,45.134050,0.000000 22.392435,45.133774,0.000000 22.392630,45.133423,0.000000 22.392648,45.133042,0.000000 22.392553,45.132761,0.000000 22.392612,45.132254,0.000000 22.392909,45.131270,0.000000 22.393211,45.130160,0.000000 22.393659,45.129002,0.000000 22.393703,45.128037,0.000000 22.393754,45.126921,0.000000 22.393780,45.126363,0.000000 22.393947,45.125859,0.000000 22.394365,45.125335,0.000000 22.394280,45.124927,0.000000 22.394270,45.124529,0.000000 22.394119,45.124147,0.000000 22.393474,45.123516,0.000000 22.393151,45.123210,0.000000 22.392972,45.122828,0.000000 22.392064,45.121792,0.000000 22.391718,45.121367,0.000000 22.392126,45.121058,0.000000 22.392903,45.120658,0.000000 22.393922,45.119866,0.000000 22.394731,45.118770,0.000000 22.394744,45.118492,0.000000 22.394757,45.118214,0.000000 22.394968,45.117900,0.000000 22.395211,45.117508,0.000000 22.395135,45.117327,0.000000 22.394808,45.117101,0.000000 22.394284,45.116890,0.000000 22.394011,45.116705,0.000000 22.393774,45.116361,0.000000 22.393111,45.115510,0.000000 22.392234,45.114416,0.000000 22.391997,45.114060,0.000000 22.391999,45.114011,0.000000 22.392008,45.113945,0.000000 22.391968,45.113840,0.000000 22.391952,45.113777,0.000000 22.391964,45.113710,0.000000 22.392002,45.113656,0.000000 22.392051,45.113597,0.000000 22.392095,45.113536,0.000000 22.392120,45.113462,0.000000 22.392091,45.113388,0.000000 22.392035,45.113340,0.000000 22.391966,45.113299,0.000000 22.391916,45.113257,0.000000 22.391898,45.113228,0.000000 22.391881,45.113173,0.000000 22.391895,45.113102,0.000000 22.391876,45.113045,0.000000 22.391820,45.113003,0.000000 22.391734,45.112974,0.000000 22.391630,45.112950,0.000000 22.391557,45.112934,0.000000 22.391499,45.112927,0.000000 22.391456,45.112917,0.000000 22.391414,45.112879,0.000000 22.391378,45.112817,0.000000 22.391349,45.112745,0.000000 22.391336,45.112726,0.000000 22.391308,45.112609,0.000000 22.391272,45.112546,0.000000 22.391242,45.112485,0.000000 22.391218,45.112408,0.000000 22.391200,45.112322,0.000000 22.391187,45.112246,0.000000 22.391189,45.112145,0.000000 22.391218,45.112052,0.000000 22.391210,45.111980,0.000000 22.391211,45.111918,0.000000 22.391256,45.111887,0.000000 22.391305,45.111845,0.000000 22.391355,45.111817,0.000000 22.391428,45.111796,0.000000 22.391495,45.111760,0.000000 22.391503,45.111702,0.000000 22.391478,45.111668,0.000000 22.391440,45.111650,0.000000 22.391402,45.111635,0.000000 22.391367,45.111615,0.000000 22.391353,45.111568,0.000000 22.391341,45.111525,0.000000 22.391327,45.111474,0.000000 22.391309,45.111439,0.000000 22.391264,45.111414,0.000000 22.391204,45.111401,0.000000 22.391155,45.111391,0.000000 22.391128,45.111354,0.000000 22.391098,45.111304,0.000000 22.391090,45.111250,0.000000 22.391158,45.111167,0.000000 22.391254,45.111077,0.000000 22.391257,45.111020,0.000000 22.391232,45.110981,0.000000 22.391180,45.110930,0.000000 22.391129,45.110864,0.000000 22.391050,45.110809,0.000000 22.390943,45.110791,0.000000 22.390852,45.110785,0.000000 22.390781,45.110799,0.000000 22.390726,45.110820,0.000000 22.390654,45.110849,0.000000 22.390588,45.110871,0.000000 22.390532,45.110919,0.000000 22.390395,45.110954,0.000000 22.390291,45.110983,0.000000 22.390167,45.110984,0.000000 22.390065,45.110962,0.000000 22.389972,45.110876,0.000000 22.389905,45.110794,0.000000 22.389846,45.110682,0.000000 22.389761,45.110534,0.000000 22.389686,45.110513,0.000000 22.389616,45.110496,0.000000 22.389576,45.110438,0.000000 22.389548,45.110330,0.000000 22.389542,45.110234,0.000000 22.389457,45.110198,0.000000 22.389376,45.110196,0.000000 22.389214,45.110189,0.000000 22.389173,45.110157,0.000000 22.389159,45.110111,0.000000 22.389237,45.110055,0.000000 22.389378,45.109917,0.000000 22.389337,45.109874,0.000000 22.389245,45.109876,0.000000 22.389169,45.109874,0.000000 22.388984,45.109805,0.000000 22.388883,45.109749,0.000000 22.388782,45.109716,0.000000 22.388696,45.109702,0.000000 22.388604,45.109715,0.000000 22.388544,45.109729,0.000000 22.388478,45.109751,0.000000 22.388423,45.109772,0.000000 22.388363,45.109779,0.000000 22.388299,45.109758,0.000000 22.388258,45.109723,0.000000 22.388244,45.109669,0.000000 22.388224,45.109626,0.000000 22.388158,45.109531,0.000000 22.388087,45.109445,0.000000 22.388020,45.109371,0.000000 22.387964,45.109297,0.000000 22.387941,45.109212,0.000000 22.387934,45.109128,0.000000 22.387933,45.109028,0.000000 22.387876,45.108977,0.000000 22.387807,45.108949,0.000000 22.387700,45.108927,0.000000 22.387582,45.108917,0.000000 22.387490,45.108899,0.000000 22.387432,45.108875,0.000000 22.387358,45.108835,0.000000 22.387295,45.108811,0.000000 22.387131,45.108731,0.000000 22.387095,45.108676,0.000000 22.387093,45.108611,0.000000 22.387102,45.108539,0.000000 22.387122,45.108462,0.000000 22.387179,45.108380,0.000000 22.387232,45.108298,0.000000 22.387321,45.108243,0.000000 22.387458,45.108196,0.000000 22.387546,45.108164,0.000000 22.387667,45.108113,0.000000 22.387799,45.108070,0.000000 22.387833,45.108029,0.000000 22.387792,45.107986,0.000000 22.387729,45.107935,0.000000 22.387651,45.107875,0.000000 22.387611,45.107798,0.000000 22.387605,45.107694,0.000000 22.387587,45.107621,0.000000 22.387616,45.107576,0.000000 22.387671,45.107554,0.000000 22.387764,45.107537,0.000000 22.387851,45.107532,0.000000 22.387923,45.107484,0.000000 22.387916,45.107411,0.000000 22.387842,45.107359,0.000000 22.387789,45.107335,0.000000 22.387694,45.107287,0.000000 22.387632,45.107224,0.000000 22.387587,45.107151,0.000000 22.387581,45.107051,0.000000 22.387611,45.106991,0.000000 22.387550,45.106895,0.000000 22.387503,45.106859,0.000000 22.387456,45.106820,0.000000 22.387448,45.106778,0.000000 22.387499,45.106710,0.000000 22.387587,45.106678,0.000000 22.387713,45.106638,0.000000 22.387833,45.106611,0.000000 22.387969,45.106591,0.000000 22.388098,45.106491,0.000000 22.388063,45.106325,0.000000 22.388011,45.106266,0.000000 22.387959,45.106235,0.000000 22.387895,45.106218,0.000000 22.387714,45.106271,0.000000 22.387568,45.106272,0.000000 22.387422,45.106268,0.000000 22.387337,45.106247,0.000000 22.387273,45.106215,0.000000 22.387212,45.106149,0.000000 22.387188,45.106072,0.000000 22.387177,45.105964,0.000000 22.387138,45.105868,0.000000 22.387093,45.105794,0.000000 22.387095,45.105740,0.000000 22.387188,45.105716,0.000000 22.387340,45.105715,0.000000 22.387555,45.105728,0.000000 22.387706,45.105751,0.000000 22.387782,45.105737,0.000000 22.387872,45.105666,0.000000 22.387897,45.105579,0.000000 22.387927,45.105507,0.000000 22.387980,45.105432,0.000000 22.388062,45.105403,0.000000 22.388169,45.105417,0.000000 22.388314,45.105436,0.000000 22.388497,45.105470,0.000000 22.388643,45.105466,0.000000 22.388773,45.105454,0.000000 22.388914,45.105446,0.000000 22.388994,45.105470,0.000000 22.389101,45.105477,0.000000 22.389229,45.105395,0.000000 22.389237,45.105382,0.000000 22.389339,45.105464,0.000000 22.389402,45.105533,0.000000 22.389538,45.105566,0.000000 22.389617,45.105538,0.000000 22.390085,45.105468,0.000000 22.390115,45.105509,0.000000 22.390149,45.105559,0.000000 22.390183,45.105614,0.000000 22.390210,45.105674,0.000000 22.390235,45.105741,0.000000 22.390272,45.105841,0.000000 22.390445,45.106244,0.000000 22.390538,45.106594,0.000000 22.390645,45.106826,0.000000 22.390712,45.106950,0.000000 22.390748,45.107086,0.000000 22.390818,45.107416,0.000000 22.390923,45.107691,0.000000 22.390977,45.107829,0.000000 22.391364,45.108635,0.000000 22.391534,45.109035,0.000000 22.391739,45.109707,0.000000 22.391860,45.110045,0.000000 22.391949,45.110221,0.000000 22.392069,45.110430,0.000000 22.392080,45.110456,0.000000 22.392096,45.110510,0.000000 22.392106,45.110555,0.000000 22.392116,45.110598,0.000000 22.392140,45.110646,0.000000 22.392096,45.110674,0.000000 22.392082,45.110721,0.000000 22.392073,45.110800,0.000000 22.392109,45.110842,0.000000 22.392151,45.110872,0.000000 22.392198,45.110906,0.000000 22.392246,45.110948,0.000000 22.392279,45.110985,0.000000 22.392320,45.111029,0.000000 22.392382,45.111060,0.000000 22.392454,45.111078,0.000000 22.392512,45.111075,0.000000 22.392588,45.111070,0.000000 22.392704,45.111063,0.000000 22.392783,45.111046,0.000000 22.392850,45.111036,0.000000 22.392920,45.111017,0.000000 22.392979,45.110997,0.000000 22.393078,45.110983,0.000000 22.393113,45.110984,0.000000 22.393154,45.110975,0.000000 22.393203,45.110974,0.000000 22.393243,45.110983,0.000000 22.393297,45.111001,0.000000 22.393360,45.111031,0.000000 22.393420,45.111042,0.000000 22.393517,45.111063,0.000000 22.393584,45.111071,0.000000 22.393644,45.111084,0.000000 22.393684,45.111100,0.000000 22.393755,45.111128,0.000000 22.393797,45.111141,0.000000 22.393846,45.111149,0.000000 22.393901,45.111156,0.000000 22.393956,45.111157,0.000000 22.394019,45.111171,0.000000 22.394053,45.111186,0.000000 22.394073,45.111199,0.000000 22.394105,45.111249,0.000000 22.394121,45.111290,0.000000 22.394151,45.111326,0.000000 22.394190,45.111368,0.000000 22.394220,45.111407,0.000000 22.394258,45.111449,0.000000 22.394283,45.111474,0.000000 22.394331,45.111502,0.000000 22.394361,45.111536,0.000000 22.394392,45.111571,0.000000 22.394434,45.111605,0.000000 22.394484,45.111633,0.000000 22.394567,45.111663,0.000000 22.394663,45.111705,0.000000 22.394714,45.111739,0.000000 22.394787,45.111787,0.000000 22.394849,45.111824,0.000000 22.394895,45.111841,0.000000 22.394957,45.111863,0.000000 22.395015,45.111879,0.000000 22.395080,45.111897,0.000000 22.395140,45.111915,0.000000 22.395180,45.111938,0.000000 22.395163,45.111997,0.000000 22.395162,45.112013,0.000000 22.395172,45.112046,0.000000 22.395239,45.112095,0.000000 22.395258,45.112120,0.000000 22.395259,45.112173,0.000000 22.395274,45.112225,0.000000 22.395288,45.112285,0.000000 22.395283,45.112344,0.000000 22.395259,45.112411,0.000000 22.395178,45.112475,0.000000 22.395080,45.112503,0.000000 22.394985,45.112524,0.000000 22.394810,45.112554,0.000000 22.394624,45.112590,0.000000 22.394479,45.112619,0.000000 22.394266,45.112978,0.000000 22.394333,45.113300,0.000000 22.394618,45.113521,0.000000 22.394944,45.113837,0.000000 22.395092,45.113984,0.000000 22.395617,45.114162,0.000000 22.396175,45.114235,0.000000 22.397227,45.114577,0.000000 22.398024,45.114974,0.000000 22.398268,45.115158,0.000000 22.398509,45.115422,0.000000 22.398937,45.115890,0.000000 22.399521,45.116639,0.000000 22.400031,45.117168,0.000000 22.400411,45.117455,0.000000 22.400661,45.117521,0.000000 22.401050,45.117609,0.000000 22.401602,45.117821,0.000000 22.401732,45.118043,0.000000 22.401813,45.118741,0.000000 22.401983,45.119321,0.000000 22.402266,45.119885,0.000000 22.402478,45.120785,0.000000 22.402729,45.121578,0.000000 22.403088,45.122348,0.000000 22.403321,45.122760,0.000000 22.403658,45.123225,0.000000 22.404168,45.123846,0.000000 22.405064,45.124654,0.000000 22.406079,45.125211,0.000000 22.407042,45.125669,0.000000 22.407291,45.126181,0.000000 22.407407,45.126584,0.000000 22.407577,45.126988,0.000000 22.407589,45.127312,0.000000 22.407825,45.128041,0.000000 22.408629,45.128689,0.000000 22.409022,45.128926,0.000000 22.410004,45.129234,0.000000 22.410487,45.129264,0.000000 22.410921,45.129198,0.000000 22.413252,45.128832,0.000000 22.414844,45.128735,0.000000 22.416909,45.128736,0.000000 22.417652,45.128726,0.000000 22.418331,45.128793,0.000000 22.418833,45.128804,0.000000 22.419102,45.128714,0.000000 22.419383,45.128681,0.000000 22.420099,45.128690,0.000000 22.420559,45.128643,0.000000 22.420873,45.128547,0.000000 22.420886,45.128581,0.000000 22.420906,45.128610,0.000000 22.420963,45.128639,0.000000 22.421027,45.128664,0.000000 22.421070,45.128680,0.000000 22.421124,45.128692,0.000000 22.421185,45.128701,0.000000 22.421244,45.128697,0.000000 22.421328,45.128684,0.000000 22.421438,45.128658,0.000000 22.421530,45.128629,0.000000 22.421597,45.128600,0.000000 22.421677,45.128581,0.000000 22.421830,45.128590,0.000000 22.421938,45.128600,0.000000 22.422054,45.128607,0.000000 22.422123,45.128609,0.000000 22.422231,45.128614,0.000000 22.422322,45.128616,0.000000 22.422417,45.128603,0.000000 22.422636,45.128585,0.000000 22.422674,45.128614,0.000000 22.422724,45.128646,0.000000 22.422810,45.128656,0.000000 22.422876,45.128662,0.000000 22.422980,45.128677,0.000000 22.423064,45.128674,0.000000 22.423134,45.128650,0.000000 22.423173,45.128597,0.000000 22.423216,45.128529,0.000000 22.423297,45.128492,0.000000 22.423366,45.128496,0.000000 22.423453,45.128501,0.000000 22.423521,45.128528,0.000000 22.423544,45.128575,0.000000 22.423567,45.128632,0.000000 22.423572,45.128675,0.000000 22.423596,45.128704,0.000000 22.423693,45.128727,0.000000 22.423771,45.128732,0.000000 22.423831,45.128704,0.000000 22.423880,45.128691,0.000000 22.423946,45.128687,0.000000 22.424043,45.128693,0.000000 22.424109,45.128697,0.000000 22.424151,45.128706,0.000000 22.424215,45.128713,0.000000 22.424287,45.128730,0.000000 22.424587,45.128826,0.000000 22.424946,45.128922,0.000000 22.425216,45.128977,0.000000 22.425493,45.128993,0.000000 22.425603,45.129011,0.000000 22.425632,45.129026,0.000000 22.425661,45.129041,0.000000 22.425699,45.129057,0.000000 22.425741,45.129077,0.000000 22.425765,45.129089,0.000000 22.425802,45.129096,0.000000 22.425831,45.129097,0.000000 22.425875,45.129085,0.000000 22.425949,45.129061,0.000000 22.426068,45.128982,0.000000 22.426253,45.128862,0.000000 22.426420,45.128739,0.000000 22.426459,45.128715,0.000000 22.426504,45.128691,0.000000 22.426562,45.128669,0.000000 22.426637,45.128649,0.000000 22.426725,45.128626,0.000000 22.426897,45.128598,0.000000 22.427261,45.128531,0.000000 22.427502,45.128475,0.000000 22.427825,45.128376,0.000000 22.428066,45.128317,0.000000 22.428131,45.128293,0.000000 22.428161,45.128267,0.000000 22.428175,45.128250,0.000000 22.428493,45.128240,0.000000 22.428735,45.128246,0.000000 22.428954,45.128322,0.000000 22.429253,45.128400,0.000000 22.429455,45.128405,0.000000 22.429846,45.128242,0.000000 22.430358,45.128068,0.000000 22.430811,45.127879,0.000000 22.430999,45.127740,0.000000 22.431093,45.127442,0.000000 22.431246,45.127188,0.000000 22.431576,45.127024,0.000000 22.431822,45.126930,0.000000 22.432148,45.126866,0.000000 22.432395,45.126757,0.000000 22.432887,45.126597,0.000000 22.433169,45.126618,0.000000 22.433656,45.127008,0.000000 22.433969,45.127221,0.000000 22.434364,45.127402,0.000000 22.434863,45.127527,0.000000 22.435428,45.127526,0.000000 22.435813,45.127492,0.000000 22.436174,45.127557,0.000000 22.436755,45.128057,0.000000 22.437118,45.128471,0.000000 22.437595,45.128704,0.000000 22.438057,45.128771,0.000000 22.438498,45.128838,0.000000 22.439337,45.128959,0.000000 22.440380,45.129084,0.000000 22.441442,45.129070,0.000000 22.442198,45.128961,0.000000 22.443129,45.128931,0.000000 22.444402,45.128454,0.000000 22.444842,45.128210,0.000000 22.445305,45.128246,0.000000 22.447313,45.128924,0.000000 22.449416,45.129883,0.000000 22.450197,45.130196,0.000000 22.450421,45.130025,0.000000 22.451000,45.129266,0.000000 22.451557,45.128628,0.000000 22.452236,45.127735,0.000000 22.452408,45.127646,0.000000 22.452649,45.127518,0.000000 22.452885,45.127214,0.000000 22.453148,45.126989,0.000000 22.453340,45.126833,0.000000 22.453573,45.126731,0.000000 22.453766,45.126610,0.000000 22.454068,45.126327,0.000000 22.454356,45.126283,0.000000 22.454749,45.126292,0.000000 22.455092,45.126530,0.000000 22.455405,45.126813,0.000000 22.455991,45.127307,0.000000 22.456408,45.127570,0.000000 22.456939,45.127683,0.000000 22.457285,45.127944,0.000000 22.457975,45.128516,0.000000 22.458769,45.129141,0.000000 22.459533,45.129665,0.000000 22.460302,45.130062,0.000000 22.460725,45.130198,0.000000 22.461498,45.130494,0.000000 22.462444,45.130945,0.000000 22.463162,45.131670,0.000000 22.463785,45.132140,0.000000 22.465011,45.132724,0.000000 22.465609,45.132940,0.000000 22.466246,45.132663,0.000000 22.466962,45.132261,0.000000 22.467878,45.131776,0.000000 22.468912,45.131173,0.000000 22.469005,45.131109,0.000000 22.469425,45.131001,0.000000 22.470057,45.130839,0.000000 22.471338,45.130392,0.000000 22.472671,45.130023,0.000000 22.473755,45.130011,0.000000 22.473998,45.129984,0.000000 22.474528,45.129923,0.000000 22.474793,45.129893,0.000000 22.474820,45.129881,0.000000 22.474860,45.129863,0.000000 22.474990,45.129804,0.000000 22.475224,45.129697,0.000000 22.475307,45.129659,0.000000 22.475474,45.129548,0.000000 22.475957,45.129227,0.000000 22.475992,45.129204,0.000000 22.476707,45.129211,0.000000 22.477022,45.129170,0.000000 22.477083,45.129048,0.000000 22.477206,45.128850,0.000000 22.477294,45.128745,0.000000 22.477600,45.128380,0.000000 22.477810,45.128130,0.000000 22.478806,45.127812,0.000000 22.479511,45.127587,0.000000 22.479986,45.127435,0.000000 22.480767,45.127299,0.000000 22.480949,45.127277,0.000000 22.482148,45.127127,0.000000 22.482951,45.127027,0.000000 22.484352,45.126911,0.000000 22.484433,45.126904,0.000000 22.485361,45.126802,0.000000 22.485407,45.126789,0.000000 22.486244,45.126552,0.000000 22.486797,45.126511,0.000000 22.487496,45.126460,0.000000 22.488349,45.126521,0.000000 22.488727,45.126649,0.000000 22.488745,45.126655,0.000000 22.488986,45.126696,0.000000 22.489020,45.126700,0.000000 22.489085,45.126712,0.000000 22.489232,45.126736,0.000000 22.489349,45.126756,0.000000 22.489444,45.126771,0.000000 22.489520,45.126759,0.000000 22.489861,45.126706,0.000000 22.490611,45.126575,0.000000 22.490734,45.126554,0.000000 22.490985,45.126560,0.000000 22.491143,45.126564,0.000000 22.491239,45.126566,0.000000 22.491380,45.126514,0.000000 22.491542,45.126454,0.000000 22.491707,45.126457,0.000000 22.492081,45.126465,0.000000 22.493442,45.126492,0.000000 22.493955,45.126226,0.000000 22.494196,45.125987,0.000000 22.494402,45.125218,0.000000 22.494663,45.125020,0.000000 22.494933,45.124815,0.000000 22.495180,45.124730,0.000000 22.495458,45.124635,0.000000 22.495924,45.124464,0.000000 22.496877,45.123955,0.000000 22.496942,45.123920,0.000000 22.497214,45.123476,0.000000 22.498603,45.123104,0.000000 22.501698,45.123200,0.000000 22.505283,45.123198,0.000000 22.505423,45.123198,0.000000 22.506581,45.123197,0.000000 22.510408,45.122866,0.000000 22.512604,45.122677,0.000000 22.517359,45.122030,0.000000 22.517687,45.121986,0.000000 22.517780,45.121973,0.000000 22.517827,45.121967,0.000000 22.518200,45.121916,0.000000 22.519608,45.121727,0.000000 22.519943,45.121683,0.000000 22.520209,45.121647,0.000000 22.520283,45.121637,0.000000 22.522822,45.121297,0.000000 22.524313,45.121376,0.000000 22.525175,45.121326,0.000000 22.525927,45.121292,0.000000 22.526786,45.121285,0.000000 22.528863,45.121204,0.000000 22.529437,45.121166,0.000000 22.529455,45.121164,0.000000 22.531579,45.121716,0.000000 22.533384,45.122677,0.000000 22.535351,45.123739,0.000000 22.536822,45.126225,0.000000 22.537701,45.128413,0.000000 22.539260,45.129904,0.000000 22.539234,45.131043,0.000000 22.538741,45.132359,0.000000 22.539152,45.133451,0.000000 22.539746,45.133794,0.000000 22.540894,45.133940,0.000000 22.541698,45.134532,0.000000 22.542758,45.135886,0.000000 22.543410,45.137204,0.000000 22.544986,45.139068,0.000000 22.546105,45.140483,0.000000 22.546470,45.141059,0.000000 22.546921,45.141511,0.000000 22.547243,45.142375,0.000000 22.547724,45.142990,0.000000 22.547870,45.145084,0.000000 22.548196,45.148436,0.000000 22.548502,45.151064,0.000000 22.549371,45.154703,0.000000 22.550896,45.155157,0.000000 22.553009,45.155250,0.000000 22.555800,45.155689,0.000000 22.557599,45.156141,0.000000 22.558744,45.157309,0.000000 22.561180,45.158495,0.000000 22.561312,45.158732,0.000000 22.561542,45.159191,0.000000 22.561533,45.159251,0.000000 22.561238,45.160285,0.000000 22.560640,45.161132,0.000000 22.560372,45.161655,0.000000 22.560443,45.162173,0.000000 22.560676,45.162450,0.000000 22.561471,45.162599,0.000000 22.562491,45.163603,0.000000 22.562780,45.164465,0.000000 22.563926,45.165651,0.000000 22.565425,45.167929,0.000000 22.566305,45.168948,0.000000 22.567514,45.170348,0.000000 22.571480,45.173942,0.000000 22.572414,45.174482,0.000000 22.573343,45.175342,0.000000 22.574237,45.176837,0.000000 22.574694,45.177938,0.000000 22.575471,45.179277,0.000000 22.575971,45.180651,0.000000 22.575508,45.182093,0.000000 22.575904,45.183518,0.000000 22.577239,45.184161,0.000000 22.577876,45.184868,0.000000 22.577901,45.184908,0.000000 22.579015,45.186371,0.000000 22.579389,45.186735,0.000000 22.579542,45.186928,0.000000 22.580106,45.187432,0.000000 22.580724,45.188033,0.000000 22.581746,45.189322,0.000000 22.583772,45.190329,0.000000 22.584733,45.191269,0.000000 22.586068,45.193527,0.000000 22.586145,45.195146,0.000000 22.586420,45.196096,0.000000 22.586244,45.197115,0.000000 22.587136,45.198749,0.000000 22.587640,45.200734,0.000000 22.588246,45.202001,0.000000 22.588635,45.204453,0.000000 22.589816,45.206688,0.000000 22.589867,45.208377,0.000000 22.587366,45.210098,0.000000 22.587418,45.210743,0.000000 22.587463,45.211302,0.000000 22.587508,45.211846,0.000000 22.587387,45.213480,0.000000 22.587515,45.214734,0.000000 22.587532,45.214901,0.000000 22.583888,45.219514,0.000000 22.582634,45.222396,0.000000 22.580215,45.224817,0.000000 22.578279,45.226775,0.000000 22.577478,45.228140,0.000000 22.577302,45.230835,0.000000 22.577090,45.232924,0.000000 22.576140,45.234436,0.000000 22.576065,45.235380,0.000000 22.576479,45.235592,0.000000 22.576628,45.235904,0.000000 22.576643,45.235933,0.000000 22.576686,45.236019,0.000000 22.576840,45.236343,0.000000 22.576909,45.236488,0.000000 22.577006,45.236699,0.000000 22.577199,45.237124,0.000000 22.577286,45.237585,0.000000 22.577804,45.239003,0.000000 22.578085,45.239760,0.000000 22.578920,45.241344,0.000000 22.579124,45.241725,0.000000 22.581385,45.243558,0.000000 22.582787,45.245698,0.000000 22.583956,45.247482,0.000000 22.584460,45.248251,0.000000 22.585177,45.249063,0.000000 22.585888,45.249868,0.000000 22.586949,45.250221,0.000000 22.588320,45.249887,0.000000 22.590902,45.252982,0.000000 22.592863,45.254180,0.000000 22.594047,45.254297,0.000000 22.594734,45.254366,0.000000 22.594982,45.254389,0.000000 22.595007,45.254391,0.000000 22.597146,45.254701,0.000000 22.599421,45.255146,0.000000 22.600121,45.256284,0.000000 22.599962,45.257254,0.000000 22.599932,45.257437,0.000000 22.599072,45.258939,0.000000 22.599640,45.261000,0.000000 22.601020,45.264594,0.000000 22.601073,45.264733,0.000000 22.600690,45.266047,0.000000 22.600734,45.267204,0.000000 22.602043,45.268356,0.000000 22.602333,45.269593,0.000000 22.602479,45.270216,0.000000 22.602047,45.275315,0.000000 22.602010,45.275758,0.000000 22.600083,45.278130,0.000000 22.600147,45.279950,0.000000 22.599636,45.282054,0.000000 22.599473,45.283970,0.000000 22.599263,45.286442,0.000000 22.599305,45.286750,0.000000 22.599373,45.287237,0.000000 22.599383,45.287309,0.000000 22.599456,45.287834,0.000000 22.599621,45.289028,0.000000 22.599207,45.289934,0.000000 22.598675,45.291098,0.000000 22.598640,45.291172,0.000000 22.597659,45.293316,0.000000 22.596781,45.294088,0.000000 22.596103,45.294685,0.000000 22.595475,45.295238,0.000000 22.595190,45.295488,0.000000 22.594905,45.295739,0.000000 22.594311,45.296261,0.000000 22.594273,45.296349,0.000000 22.594209,45.296550,0.000000 22.594191,45.296730,0.000000 22.594195,45.296886,0.000000 22.594222,45.297043,0.000000 22.594260,45.297184,0.000000 22.594312,45.297569,0.000000 22.594306,45.297583,0.000000 22.594239,45.297654,0.000000 22.594207,45.297688,0.000000 22.594118,45.297792,0.000000 22.594066,45.297904,0.000000 22.594051,45.298036,0.000000 22.594052,45.298082,0.000000 22.594055,45.298169,0.000000 22.594077,45.298316,0.000000 22.594081,45.298435,0.000000 22.594067,45.298573,0.000000 22.594065,45.298588,0.000000 22.594060,45.298608,0.000000 22.594031,45.298733,0.000000 22.593985,45.298902,0.000000 22.593967,45.298921,0.000000 22.593907,45.298994,0.000000 22.593896,45.299089,0.000000 22.593849,45.299309,0.000000 22.593827,45.299518,0.000000 22.593811,45.299741,0.000000 22.593825,45.299892,0.000000 22.593887,45.300017,0.000000 22.593996,45.300148,0.000000 22.594187,45.300422,0.000000 22.594314,45.300603,0.000000 22.594430,45.300803,0.000000 22.594548,45.300963,0.000000 22.594674,45.301102,0.000000 22.594838,45.301224,0.000000 22.595009,45.301323,0.000000 22.595124,45.301404,0.000000 22.595222,45.301475,0.000000 22.595260,45.301521,0.000000 22.595337,45.301625,0.000000 22.595421,45.301718,0.000000 22.595493,45.301777,0.000000 22.595608,45.301837,0.000000 22.595717,45.301904,0.000000 22.595858,45.302007,0.000000 22.595952,45.302090,0.000000 22.596082,45.302195,0.000000 22.596220,45.302281,0.000000 22.596359,45.302351,0.000000 22.596519,45.302404,0.000000 22.596615,45.302437,0.000000 22.596741,45.302504,0.000000 22.596781,45.302596,0.000000 22.596822,45.302725,0.000000 22.596849,45.302807,0.000000 22.596892,45.302848,0.000000 22.596961,45.302873,0.000000 22.597065,45.302904,0.000000 22.597175,45.302930,0.000000 22.597225,45.302950,0.000000 22.597256,45.302996,0.000000 22.597267,45.303020,0.000000 22.597281,45.303049,0.000000 22.597377,45.303106,0.000000 22.597483,45.303153,0.000000 22.597554,45.303210,0.000000 22.597592,45.303253,0.000000 22.597580,45.303556,0.000000 22.597967,45.303804,0.000000 22.598523,45.304056,0.000000 22.599355,45.304473,0.000000 22.600299,45.304933,0.000000 22.602306,45.305736,0.000000 22.603141,45.306073,0.000000 22.604484,45.306502,0.000000 22.605208,45.306797,0.000000 22.605812,45.307250,0.000000 22.606368,45.307501,0.000000 22.607045,45.307596,0.000000 22.607894,45.307613,0.000000 22.608184,45.307460,0.000000 22.608657,45.306990,0.000000 22.609332,45.307124,0.000000 22.609943,45.307417,0.000000 22.610449,45.307507,0.000000 22.610799,45.307275,0.000000 22.611470,45.307489,0.000000 22.611891,45.308258,0.000000 22.611986,45.308700,0.000000 22.613097,45.309243,0.000000 22.614329,45.309589,0.000000 22.615383,45.310131,0.000000 22.616705,45.311039,0.000000 22.616742,45.311519,0.000000 22.617070,45.311806,0.000000 22.617323,45.312531,0.000000 22.617301,45.313051,0.000000 22.617062,45.313326,0.000000 22.617105,45.313647,0.000000 22.616630,45.314157,0.000000 22.616497,45.314634,0.000000 22.616708,45.314998,0.000000 22.617134,45.315647,0.000000 22.617962,45.316185,0.000000 22.618680,45.316640,0.000000 22.619854,45.317024,0.000000 22.621033,45.317762,0.000000 22.622207,45.318587,0.000000 22.623306,45.319416,0.000000 22.625298,45.320578,0.000000 22.626727,45.321648,0.000000 22.628043,45.322715,0.000000 22.628971,45.323574,0.000000 22.630059,45.324677,0.000000 22.630993,45.325377,0.000000 22.631320,45.325703,0.000000 22.631255,45.325902,0.000000 22.631246,45.326102,0.000000 22.631466,45.326266,0.000000 22.632308,45.326484,0.000000 22.634224,45.326764,0.000000 22.635467,45.326870,0.000000 22.636715,45.326856,0.000000 22.637734,45.326877,0.000000 22.638754,45.326898,0.000000 22.639376,45.326951,0.000000 22.639766,45.327119,0.000000 22.639970,45.327643,0.000000 22.640174,45.328208,0.000000 22.640827,45.328861,0.000000 22.641258,45.329390,0.000000 22.642386,45.330893,0.000000 22.643788,45.332642,0.000000 22.645047,45.333708,0.000000 22.646645,45.334288,0.000000 22.647617,45.334641,0.000000 22.649802,45.335287,0.000000 22.652430,45.336181,0.000000 22.655215,45.337398,0.000000 22.656830,45.338112,0.000000 22.657658,45.338649,0.000000 22.658082,45.339032,0.000000 22.659090,45.340373,0.000000 22.660296,45.342048,0.000000 22.661054,45.343263,0.000000 22.661576,45.344024,0.000000 22.662063,45.344574,0.000000 22.663493,45.346013,0.000000 22.664820,45.347870,0.000000 22.666019,45.349725,0.000000 22.666531,45.350725,0.000000 22.666666,45.351568,0.000000 22.666789,45.351984,0.000000 22.666835,45.352117,0.000000 22.666869,45.352205,0.000000 22.667093,45.352869,0.000000 22.668727,45.353967,0.000000 22.668996,45.354416,0.000000 22.668670,45.355118,0.000000 22.668428,45.356568,0.000000 22.668086,45.357240,0.000000 22.668606,45.358689,0.000000 22.668948,45.360352,0.000000 22.668764,45.361356,0.000000 22.664878,45.362889,0.000000 22.662375,45.365287,0.000000 22.662048,45.365806,0.000000 22.660146,45.367520,0.000000 22.658074,45.368898,0.000000 22.656637,45.371186,0.000000 22.659071,45.373076,0.000000 22.661756,45.375368,0.000000 22.662411,45.376556,0.000000 22.662479,45.377961,0.000000 22.663204,45.379135,0.000000 22.664092,45.379829,0.000000 22.666905,45.381266,0.000000 22.667305,45.382136,0.000000 22.668336,45.382663,0.000000 22.668210,45.382845,0.000000 22.668370,45.383089,0.000000 22.668405,45.383269,0.000000 22.668093,45.383623,0.000000 22.667515,45.384211,0.000000 22.667199,45.384654,0.000000 22.667125,45.385403,0.000000 22.666890,45.385938,0.000000 22.666837,45.386207,0.000000 22.666997,45.386450,0.000000 22.666978,45.386900,0.000000 22.666695,45.387584,0.000000 22.666595,45.387942,0.000000 22.666670,45.388183,0.000000 22.666614,45.388512,0.000000 22.666636,45.388992,0.000000 22.666700,45.389504,0.000000 22.666849,45.390017,0.000000 22.666753,45.390285,0.000000 22.666448,45.390458,0.000000 22.666222,45.390784,0.000000 22.666074,45.391261,0.000000 22.666064,45.391500,0.000000 22.666223,45.391774,0.000000 22.666366,45.392437,0.000000 22.666335,45.393186,0.000000 22.666235,45.393544,0.000000 22.666118,45.394321,0.000000 22.666089,45.395011,0.000000 22.666325,45.395495,0.000000 22.666648,45.395922,0.000000 22.667184,45.396323,0.000000 22.667202,45.396923,0.000000 22.667189,45.397253,0.000000 22.666778,45.397904,0.000000 22.666065,45.398670,0.000000 22.664972,45.399367,0.000000 22.663376,45.399874,0.000000 22.662387,45.400094,0.000000 22.661483,45.400345,0.000000 22.659334,45.400811,0.000000 22.657746,45.401108,0.000000 22.657233,45.401158,0.000000 22.656715,45.401327,0.000000 22.655706,45.402056,0.000000 22.654529,45.402692,0.000000 22.653206,45.403804,0.000000 22.651615,45.405181,0.000000 22.650386,45.405759,0.000000 22.649844,45.406135,0.000000 22.648626,45.406371,0.000000 22.646861,45.406335,0.000000 22.644039,45.407127,0.000000 22.642103,45.407872,0.000000 22.639710,45.409523,0.000000 22.639277,45.410275,0.000000 22.638407,45.411786,0.000000 22.636364,45.414738,0.000000 22.635257,45.416339,0.000000 22.635242,45.416364,0.000000 22.633460,45.417291,0.000000 22.631979,45.418047,0.000000 22.630508,45.418736,0.000000 22.629261,45.419313,0.000000 22.628529,45.420454,0.000000 22.627955,45.421012,0.000000 22.626839,45.421727,0.000000 22.626483,45.422043,0.000000 22.626257,45.422414,0.000000 22.626089,45.422719,0.000000 22.625131,45.423261,0.000000 22.624313,45.423751,0.000000 22.623435,45.424210,0.000000 22.623378,45.424265,0.000000 22.623247,45.424380,0.000000 22.623139,45.424521,0.000000 22.623011,45.424845,0.000000 22.622911,45.424998,0.000000 22.622787,45.425198,0.000000 22.622774,45.425219,0.000000 22.622560,45.425558,0.000000 22.622466,45.425841,0.000000 22.622428,45.426358,0.000000 22.622407,45.427078,0.000000 22.622394,45.427751,0.000000 22.622352,45.428462,0.000000 22.622427,45.428713,0.000000 22.622482,45.429147,0.000000 22.622476,45.429388,0.000000 22.622436,45.429943,0.000000 22.622337,45.430632,0.000000 22.622249,45.430995,0.000000 22.622180,45.431280,0.000000 22.622066,45.431705,0.000000 22.622049,45.432109,0.000000 22.622062,45.432560,0.000000 22.622044,45.432987,0.000000 22.621594,45.433067,0.000000 22.619449,45.433157,0.000000 22.618428,45.433113,0.000000 22.617248,45.433066,0.000000 22.615946,45.432881,0.000000 22.614233,45.432575,0.000000 22.612773,45.432342,0.000000 22.611629,45.432183,0.000000 22.610453,45.432046,0.000000 22.609528,45.432004,0.000000 22.608952,45.432014,0.000000 22.608180,45.432156,0.000000 22.607151,45.432292,0.000000 22.606255,45.432318,0.000000 22.605551,45.432348,0.000000 22.604783,45.432377,0.000000 22.604272,45.432366,0.000000 22.603827,45.432311,0.000000 22.603508,45.432305,0.000000 22.602960,45.432406,0.000000 22.602511,45.432464,0.000000 22.601875,45.432383,0.000000 22.601145,45.432277,0.000000 22.599642,45.432291,0.000000 22.598197,45.432463,0.000000 22.597136,45.432620,0.000000 22.596551,45.432833,0.000000 22.596064,45.433025,0.000000 22.594953,45.433609,0.000000 22.593646,45.434279,0.000000 22.591885,45.435096,0.000000 22.591070,45.435484,0.000000 22.589907,45.435774,0.000000 22.588551,45.436105,0.000000 22.587357,45.436373,0.000000 22.586680,45.436516,0.000000 22.585461,45.436625,0.000000 22.584630,45.436607,0.000000 22.583896,45.436592,0.000000 22.583007,45.436460,0.000000 22.581940,45.436270,0.000000 22.581792,45.436276,0.000000 22.581778,45.436272,0.000000 22.581749,45.436262,0.000000 22.581365,45.436135,0.000000 22.580960,45.435968,0.000000 22.580348,45.435691,0.000000 22.579754,45.435433,0.000000 22.579284,45.435281,0.000000 22.578749,45.435144,0.000000 22.577994,45.434992,0.000000 22.577547,45.434944,0.000000 22.577253,45.434963,0.000000 22.576344,45.435199,0.000000 22.575798,45.435151,0.000000 22.575237,45.435063,0.000000 22.574203,45.434708,0.000000 22.572962,45.434426,0.000000 22.571597,45.434236,0.000000 22.570881,45.434190,0.000000 22.570371,45.434141,0.000000 22.570260,45.434122,0.000000 22.569733,45.434031,0.000000 22.569081,45.433919,0.000000 22.568842,45.433900,0.000000 22.568302,45.433858,0.000000 22.568249,45.433847,0.000000 22.568249,45.433847,0.000000 22.568151,45.433867,0.000000 22.567949,45.433982,0.000000 22.567733,45.434023,0.000000 22.567236,45.433976,0.000000 22.567048,45.433972,0.000000 22.567048,45.433972,0.000000 22.566910,45.433873,0.000000 22.566909,45.433873,0.000000 22.566717,45.433823,0.000000 22.566469,45.433848,0.000000 22.566313,45.433863,0.000000 22.566313,45.433863,0.000000 22.565727,45.433599,0.000000 22.565516,45.433544,0.000000 22.565365,45.433578,0.000000 22.565046,45.433600,0.000000 22.564850,45.433642,0.000000 22.564637,45.433774,0.000000 22.564430,45.433884,0.000000 22.564134,45.434005,0.000000 22.563855,45.434020,0.000000 22.563853,45.434021,0.000000 22.563839,45.434024,0.000000 22.563634,45.434165,0.000000 22.563449,45.434540,0.000000 22.563286,45.434715,0.000000 22.563241,45.434754,0.000000 22.562965,45.434993,0.000000 22.562662,45.435194,0.000000 22.562312,45.435326,0.000000 22.561816,45.435384,0.000000 22.561072,45.435354,0.000000 22.560552,45.435359,0.000000 22.560068,45.435463,0.000000 22.559556,45.435589,0.000000 22.559073,45.435672,0.000000 22.558182,45.435717,0.000000 22.557984,45.435782,0.000000 22.557405,45.435974,0.000000 22.557110,45.436211,0.000000 22.556764,45.436400,0.000000 22.556217,45.436749,0.000000 22.555290,45.437758,0.000000 22.554534,45.438492,0.000000 22.553695,45.439164,0.000000 22.552682,45.439922,0.000000 22.551322,45.441170,0.000000 22.551283,45.441170,0.000000 22.551229,45.441194,0.000000 22.551170,45.441219,0.000000 22.551001,45.441398,0.000000 22.549989,45.442238,0.000000 22.549076,45.442859,0.000000 22.547930,45.443748,0.000000 22.547310,45.444243,0.000000 22.545890,45.445392,0.000000 22.545147,45.445889,0.000000 22.544626,45.446357,0.000000 22.543998,45.446842,0.000000 22.543566,45.447335,0.000000 22.542942,45.448293,0.000000 22.542603,45.448719,0.000000 22.542198,45.448981,0.000000 22.540958,45.449586,0.000000 22.540141,45.449874,0.000000 22.539201,45.449989,0.000000 22.538657,45.450058,0.000000 22.538426,45.450088,0.000000 22.536813,45.450586,0.000000 22.536652,45.450625,0.000000 22.536651,45.450658,0.000000</coordinates></LinearRing></outerBoundaryIs>
+        </Polygon>
+      </MultiGeometry>
+    </Placemark>
+  </Folder>
+  <Style id="PolyStyle00">
+    <LabelStyle>
+      <color>00000000</color>
+      <scale>0.000000</scale>
+    </LabelStyle>
+    <LineStyle>
+      <color>ffe65c50</color>
+      <width>3.000000</width>
+    </LineStyle>
+    <PolyStyle>
+      <color>00000000</color>
+      <outline>1</outline>
+    </PolyStyle>
+  </Style>
+</Document>
+</kml>
Index: /applications/editors/josm/plugins/opendata/test/data/regress/8805/XXX.csv
===================================================================
--- /applications/editors/josm/plugins/opendata/test/data/regress/8805/XXX.csv	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/data/regress/8805/XXX.csv	(revision 30563)
@@ -0,0 +1,44 @@
+Address,longitude,latitude,geo_accuracy
+"1422 PERALTA AVE BERKELEY, CA 94702 ",-122.2877712,37.8809038,residential
+"1578 HOPKINS ST KENSINGTON, CA 94707 ",-122.2816511,37.8816759,coffee
+"1302 VIRGINIA ST BERKELEY, CA 94702 ",-122.288276419623,37.874054643623,house
+"1730 SACRAMENTO ST BERKELEY, CA 94702 ",-122.282544929719,37.8737807859987,house
+"1700 CEDAR ST BERKELEY, CA 94703 ",-122.278162,37.877142,house
+"1531 SAN PABLO AVE BERKELEY, CA 94702 ",-122.29447624018,37.8761862318796,house
+"1801 MCGEE AVE BERKELEY, CA 94703 ",-122.277717,37.873523,house
+"1049 GILMAN ST BERKELEY, CA 94710 ",-122.296760929751,37.8803253385051,house
+"1401 MARTIN LUTHER KING JR WAY BERKELEY, CA 94709 ",-122.273943,37.881357,hairdresser
+"1600 UNIVERSITY AVE BERKELEY, CA 94703 ",-122.279628,37.870571,house
+"1395 9TH ST BERKELEY, CA 94710 ",-122.297549947799,37.8784373622749,house
+"1320 ADDISON ST BERKELEY, CA 94702 ",-122.28568375591,37.8688779046362,house
+"1201 UNIVERSITY AVE BERKELEY, CA 94702 ",-122.2893359,37.8696598,house
+"1700 UNIVERSITY AVE BERKELEY, CA 94703 ",-122.277367,37.870874,house
+"1901 HEARST AVE BERKELEY, CA 94709 ",-122.272833449721,37.8736994,social_facility
+"2000 ROSE ST BERKELEY, CA 94709 ",-122.271693,37.881655,house
+"851 JONES ST BERKELEY, CA 94710 ",-122.299799688829,37.8753660593564,house
+"2111 SAN PABLO AVE BERKELEY, CA 94702 ",-122.2914467,37.8677942,post_office
+"2031 MARTIN LUTHER KING JR WAY BERKELEY, CA 94704 ",-122.272927337493,37.871186338688,house
+"1550 SHATTUCK AVE BERKELEY, CA 94709 ",-122.269422,37.879635,house
+"2005 HEARST AVE BERKELEY, CA 94709 ",-122.2706593,37.8738035,house
+"1485 SOLANO AVE BERKELEY, CA 94706 ",,,
+"1481 SHATTUCK AVE BERKELEY, CA 94709 ",-122.269257045455,37.8805560454545,house
+"1533 SOLANO AVE KENSINGTON, CA 94707 ",-122.2794483,37.8913579,secondary
+"1521 SHATTUCK AVE BERKELEY, CA 94709 ",-122.269226616732,37.8798153467965,house
+"1615 SOLANO AVE KENSINGTON, CA 94707 ",-122.28432,37.891153,house
+"1395 SOLANO AVE BERKELEY, CA 94706 ",,,
+"1995 UNIVERSITY AVE BERKELEY, CA 94704 ",-122.271629,37.871929,bank
+"2134 MARTIN LUTHER KING JR WAY BERKELEY, CA 94704 ",-122.273322241504,37.86922535,townhall
+"1741 SOLANO AVE KENSINGTON, CA 94707 ",-122.281586,37.891297,house
+"1798 SHATTUCK AVE BERKELEY, CA 94709 ",-122.268863,37.874913,house
+"1301 SOLANO AVE BERKELEY, CA 94706 ",,,
+"1799 SOLANO AVE KENSINGTON, CA 94707 ",-122.28005,37.891383,house
+"1831 SOLANO AVE KENSINGTON, CA 94707 ",-122.279041611649,37.8914479610457,house
+"1313 B GILMAN ST BERKELEY, CA 94706 ",,,
+"2054 UNIVERSITY AVE BERKELEY, CA 94704 ",-122.270128903423,37.871815725621,house
+"2120 MILVIA ST BERKELEY, CA 94704 ",-122.270758,37.870117,government
+"725 GILMAN ST BERKELEY, CA 94710 ",-122.303816268082,37.8788946273532,house
+"1898 SOLANO AVE KENSINGTON, CA 94707 ",-122.277303,37.891376,house
+"1694 OXFORD ST BERKELEY, CA 94709 ",-122.266803512621,37.8770373669912,house
+"2000 SHATTUCK AVE BERKELEY, CA 94704 ",-122.268574,37.871941,bank
+"1191 SOLANO AVE BERKELEY, CA 94706 ",,,
+"1011 FOUNTAIN WALK AT M.C.  KENSINGTON, CA 94707 ",,,
Index: /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/NonRegFunctionalTests.java
===================================================================
--- /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/NonRegFunctionalTests.java	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/NonRegFunctionalTests.java	(revision 30563)
@@ -0,0 +1,42 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.plugins.opendata.core.io;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Collection;
+
+import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.tools.CheckParameterUtil;
+
+public abstract class NonRegFunctionalTests {
+    
+    /**
+     * Non-regression generic test.
+     */
+    public static void testGeneric(DataSet ds) {
+        CheckParameterUtil.ensureParameterNotNull(ds, "ds");
+        Collection<OsmPrimitive> prims = ds.allPrimitives();
+        assertFalse(prims.isEmpty());
+    }
+    
+    /**
+     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/10214">#10214</a>
+     */
+    public static void testTicket10214(DataSet ds) {
+        testGeneric(ds);
+        boolean found = false;
+        for (Node n : ds.getNodes()) {
+            if (n.hasTag("id", "1")) {
+                found = true;
+                String expected = "à as italian località";
+                String actual = n.get("some_text");
+                assertEquals(expected, actual);
+            }
+        }
+        assertTrue(found);
+    }
+}
Index: /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlReaderTest.java
===================================================================
--- /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlReaderTest.java	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/KmlReaderTest.java	(revision 30563)
@@ -0,0 +1,54 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLStreamException;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.TestUtils;
+import org.openstreetmap.josm.plugins.opendata.core.io.NonRegFunctionalTests;
+
+/**
+ * Unit tests of {@link KmlReader} class.
+ */
+public class KmlReaderTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUp() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+    
+    /**
+     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/10214">#10214</a>
+     * @throws IOException if an error occurs during reading
+     */
+    @Test
+    public void testTicket10214() throws IOException, XMLStreamException, FactoryConfigurationError {
+        File file = new File(TestUtils.getRegressionDataFile(10214, "utf8_test.kml"));
+        try (InputStream is = new FileInputStream(file)) {
+            NonRegFunctionalTests.testTicket10214(KmlReader.parseDataSet(is, null));
+        }
+    }
+    
+    /**
+     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/7714">#7714</a>
+     * @throws IOException if an error occurs during reading
+     */
+    @Test
+    public void testTicket7714() throws IOException, XMLStreamException, FactoryConfigurationError {
+        File file = new File(TestUtils.getRegressionDataFile(7714, "doc.kml"));
+        try (InputStream is = new FileInputStream(file)) {
+            NonRegFunctionalTests.testGeneric(KmlReader.parseDataSet(is, null));
+        }
+    }
+}
Index: /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReaderTest.java
===================================================================
--- /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReaderTest.java	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReaderTest.java	(revision 30563)
@@ -0,0 +1,54 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLStreamException;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.TestUtils;
+import org.openstreetmap.josm.plugins.opendata.core.io.NonRegFunctionalTests;
+
+/**
+ * Unit tests of {@link ShpReader} class.
+ */
+public class ShpReaderTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUp() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+    
+    /**
+     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/10214">#10214</a>
+     * @throws IOException if an error occurs during reading
+     */
+    @Test
+    public void testTicket10214() throws IOException, XMLStreamException, FactoryConfigurationError {
+        File file = new File(TestUtils.getRegressionDataFile(10214, "utf8_test.shp"));
+        try (InputStream is = new FileInputStream(file)) {
+            NonRegFunctionalTests.testTicket10214(ShpReader.parseDataSet(is, file, null, null));
+        }
+    }
+    
+    /**
+     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/8309">#8309</a>
+     * @throws IOException if an error occurs during reading
+     */
+    @Test
+    public void testTicket8309() throws IOException, XMLStreamException, FactoryConfigurationError {
+        File file = new File(TestUtils.getRegressionDataFile(8309, "new_ti_declarada.shp"));
+        try (InputStream is = new FileInputStream(file)) {
+            NonRegFunctionalTests.testGeneric(ShpReader.parseDataSet(is, file, null, null));
+        }
+    }
+}
Index: /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReaderTest.java
===================================================================
--- /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReaderTest.java	(revision 30563)
+++ /applications/editors/josm/plugins/opendata/test/unit/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReaderTest.java	(revision 30563)
@@ -0,0 +1,82 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.plugins.opendata.core.io.tabular;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLStreamException;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.TestUtils;
+import org.openstreetmap.josm.data.coor.EastNorth;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.projection.Projections;
+import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.NonRegFunctionalTests;
+
+/**
+ * Unit tests of {@link CsvReader} class.
+ */
+public class CsvReaderTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUp() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
+    
+    private static AbstractDataSetHandler newHandler(final String epsgCode) {
+        AbstractDataSetHandler handler = new AbstractDataSetHandler() {
+            @Override
+            public boolean acceptsFilename(String filename) {
+                return true;
+            }
+            @Override
+            public void updateDataSet(DataSet ds) {
+            }
+        };
+        handler.setSpreadSheetHandler(new DefaultCsvHandler() {
+            @Override
+            public boolean handlesProjection() {
+                return true;
+            }
+            @Override
+            public LatLon getCoor(EastNorth en, String[] fields) {
+                return Projections.getProjectionByCode(epsgCode).eastNorth2latlon(en);
+            }
+        });
+        return handler;
+    }
+    
+    /**
+     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/10214">#10214</a>
+     * @throws IOException if an error occurs during reading
+     */
+    @Test
+    public void testTicket10214() throws IOException, XMLStreamException, FactoryConfigurationError {
+        File file = new File(TestUtils.getRegressionDataFile(10214, "utf8_test.csv"));
+        try (InputStream is = new FileInputStream(file)) {
+            NonRegFunctionalTests.testTicket10214(CsvReader.parseDataSet(is, newHandler("EPSG:4326"), null));
+        }
+    }
+    
+    /**
+     * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/8805">#8805</a>
+     * @throws IOException if an error occurs during reading
+     */
+    @Test
+    public void testTicket8805() throws IOException, XMLStreamException, FactoryConfigurationError {
+        File file = new File(TestUtils.getRegressionDataFile(8805, "XXX.csv"));
+        try (InputStream is = new FileInputStream(file)) {
+            NonRegFunctionalTests.testGeneric(CsvReader.parseDataSet(is, newHandler("EPSG:4326"), null));
+        }
+    }
+}
