Index: /applications/editors/josm/plugins/indoorhelper/.classpath
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.classpath	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.classpath	(revision 32122)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="test/src"/>
+	<classpathentry kind="src" path="/JOSM"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/JOSM-piclayer"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
Index: /applications/editors/josm/plugins/indoorhelper/.git/COMMIT_EDITMSG
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/COMMIT_EDITMSG	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/COMMIT_EDITMSG	(revision 32122)
@@ -0,0 +1,1 @@
+>adds license information >code cleaning
Index: /applications/editors/josm/plugins/indoorhelper/.git/HEAD
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/HEAD	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/HEAD	(revision 32122)
@@ -0,0 +1,1 @@
+ref: refs/heads/master
Index: /applications/editors/josm/plugins/indoorhelper/.git/ORIG_HEAD
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/ORIG_HEAD	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/ORIG_HEAD	(revision 32122)
@@ -0,0 +1,1 @@
+aacd50baa32220335c0434acdf90658d702509b4
Index: /applications/editors/josm/plugins/indoorhelper/.git/config
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/config	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/config	(revision 32122)
@@ -0,0 +1,17 @@
+[core]
+	repositoryformatversion = 0
+	filemode = true
+	bare = false
+	logallrefupdates = true
+[user]
+	name = Erik Gruschka
+	email = erik.gruschka@s2011.tu-chemnitz.de
+[remote "origin"]
+	url = ssh://lamia.hrz.tu-chemnitz.de:/afs/tu-chemnitz.de/home/urz/e/egru/Bachelorarbeit/indoorhelper.git
+	fetch = +refs/heads/*:refs/remotes/origin/*
+[remote "grait"]
+	url = ssh://lamia.hrz.tu-chemnitz.de:/afs/tu-chemnitz.de/home/urz/g/grait/public_html/ginko/indoorPluginJosm.git
+	fetch = +refs/heads/*:refs/remotes/grait/*
+[remote "gitlab"]
+	url = git@gitlab.hrz.tu-chemnitz.de:egru--tu-chemnitz.de/indoorHelperJosm.git
+	fetch = +refs/heads/*:refs/remotes/gitlab/*
Index: /applications/editors/josm/plugins/indoorhelper/.git/description
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/description	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/description	(revision 32122)
@@ -0,0 +1,1 @@
+Unnamed repository; edit this file 'description' to name the repository.
Index: /applications/editors/josm/plugins/indoorhelper/.git/hooks/applypatch-msg.sample
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/hooks/applypatch-msg.sample	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/hooks/applypatch-msg.sample	(revision 32122)
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message taken by
+# applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.  The hook is
+# allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "applypatch-msg".
+
+. git-sh-setup
+test -x "$GIT_DIR/hooks/commit-msg" &&
+	exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
+:
Index: /applications/editors/josm/plugins/indoorhelper/.git/hooks/commit-msg.sample
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/hooks/commit-msg.sample	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/hooks/commit-msg.sample	(revision 32122)
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message.
+# Called by "git commit" with one argument, the name of the file
+# that has the commit message.  The hook should exit with non-zero
+# status after issuing an appropriate message if it wants to stop the
+# commit.  The hook is allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "commit-msg".
+
+# Uncomment the below to add a Signed-off-by line to the message.
+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
+# hook is more suited to it.
+#
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+	 sort | uniq -c | sed -e '/^[ 	]*1[ 	]/d')" || {
+	echo >&2 Duplicate Signed-off-by lines.
+	exit 1
+}
Index: /applications/editors/josm/plugins/indoorhelper/.git/hooks/post-update.sample
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/hooks/post-update.sample	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/hooks/post-update.sample	(revision 32122)
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# An example hook script to prepare a packed repository for use over
+# dumb transports.
+#
+# To enable this hook, rename this file to "post-update".
+
+exec git update-server-info
Index: /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-applypatch.sample
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-applypatch.sample	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-applypatch.sample	(revision 32122)
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed
+# by applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-applypatch".
+
+. git-sh-setup
+test -x "$GIT_DIR/hooks/pre-commit" &&
+	exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}
+:
Index: /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-commit.sample
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-commit.sample	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-commit.sample	(revision 32122)
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git commit" with no arguments.  The hook should
+# exit with non-zero status after issuing an appropriate message if
+# it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-commit".
+
+if git rev-parse --verify HEAD >/dev/null 2>&1
+then
+	against=HEAD
+else
+	# Initial commit: diff against an empty tree object
+	against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+fi
+
+# If you want to allow non-ASCII filenames set this variable to true.
+allownonascii=$(git config --bool hooks.allownonascii)
+
+# Redirect output to stderr.
+exec 1>&2
+
+# Cross platform projects tend to avoid non-ASCII filenames; prevent
+# them from being added to the repository. We exploit the fact that the
+# printable range starts at the space character and ends with tilde.
+if [ "$allownonascii" != "true" ] &&
+	# Note that the use of brackets around a tr range is ok here, (it's
+	# even required, for portability to Solaris 10's /usr/bin/tr), since
+	# the square bracket bytes happen to fall in the designated range.
+	test $(git diff --cached --name-only --diff-filter=A -z $against |
+	  LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
+then
+	cat <<\EOF
+Error: Attempt to add a non-ASCII file name.
+
+This can cause problems if you want to work with people on other platforms.
+
+To be portable it is advisable to rename the file.
+
+If you know what you are doing you can disable this check using:
+
+  git config hooks.allownonascii true
+EOF
+	exit 1
+fi
+
+# If there are whitespace errors, print the offending file names and fail.
+exec git diff-index --check --cached $against --
Index: /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-push.sample
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-push.sample	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-push.sample	(revision 32122)
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# An example hook script to verify what is about to be pushed.  Called by "git
+# push" after it has checked the remote status, but before anything has been
+# pushed.  If this script exits with a non-zero status nothing will be pushed.
+#
+# This hook is called with the following parameters:
+#
+# $1 -- Name of the remote to which the push is being done
+# $2 -- URL to which the push is being done
+#
+# If pushing without using a named remote those arguments will be equal.
+#
+# Information about the commits which are being pushed is supplied as lines to
+# the standard input in the form:
+#
+#   <local ref> <local sha1> <remote ref> <remote sha1>
+#
+# This sample shows how to prevent push of commits where the log message starts
+# with "WIP" (work in progress).
+
+remote="$1"
+url="$2"
+
+z40=0000000000000000000000000000000000000000
+
+IFS=' '
+while read local_ref local_sha remote_ref remote_sha
+do
+	if [ "$local_sha" = $z40 ]
+	then
+		# Handle delete
+		:
+	else
+		if [ "$remote_sha" = $z40 ]
+		then
+			# New branch, examine all commits
+			range="$local_sha"
+		else
+			# Update to existing branch, examine new commits
+			range="$remote_sha..$local_sha"
+		fi
+
+		# Check for WIP commit
+		commit=`git rev-list -n 1 --grep '^WIP' "$range"`
+		if [ -n "$commit" ]
+		then
+			echo "Found WIP commit in $local_ref, not pushing"
+			exit 1
+		fi
+	fi
+done
+
+exit 0
Index: /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-rebase.sample
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-rebase.sample	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/hooks/pre-rebase.sample	(revision 32122)
@@ -0,0 +1,169 @@
+#!/bin/sh
+#
+# Copyright (c) 2006, 2008 Junio C Hamano
+#
+# The "pre-rebase" hook is run just before "git rebase" starts doing
+# its job, and can prevent the command from running by exiting with
+# non-zero status.
+#
+# The hook is called with the following parameters:
+#
+# $1 -- the upstream the series was forked from.
+# $2 -- the branch being rebased (or empty when rebasing the current branch).
+#
+# This sample shows how to prevent topic branches that are already
+# merged to 'next' branch from getting rebased, because allowing it
+# would result in rebasing already published history.
+
+publish=next
+basebranch="$1"
+if test "$#" = 2
+then
+	topic="refs/heads/$2"
+else
+	topic=`git symbolic-ref HEAD` ||
+	exit 0 ;# we do not interrupt rebasing detached HEAD
+fi
+
+case "$topic" in
+refs/heads/??/*)
+	;;
+*)
+	exit 0 ;# we do not interrupt others.
+	;;
+esac
+
+# Now we are dealing with a topic branch being rebased
+# on top of master.  Is it OK to rebase it?
+
+# Does the topic really exist?
+git show-ref -q "$topic" || {
+	echo >&2 "No such branch $topic"
+	exit 1
+}
+
+# Is topic fully merged to master?
+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
+if test -z "$not_in_master"
+then
+	echo >&2 "$topic is fully merged to master; better remove it."
+	exit 1 ;# we could allow it, but there is no point.
+fi
+
+# Is topic ever merged to next?  If so you should not be rebasing it.
+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
+only_next_2=`git rev-list ^master           ${publish} | sort`
+if test "$only_next_1" = "$only_next_2"
+then
+	not_in_topic=`git rev-list "^$topic" master`
+	if test -z "$not_in_topic"
+	then
+		echo >&2 "$topic is already up-to-date with master"
+		exit 1 ;# we could allow it, but there is no point.
+	else
+		exit 0
+	fi
+else
+	not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
+	/usr/bin/perl -e '
+		my $topic = $ARGV[0];
+		my $msg = "* $topic has commits already merged to public branch:\n";
+		my (%not_in_next) = map {
+			/^([0-9a-f]+) /;
+			($1 => 1);
+		} split(/\n/, $ARGV[1]);
+		for my $elem (map {
+				/^([0-9a-f]+) (.*)$/;
+				[$1 => $2];
+			} split(/\n/, $ARGV[2])) {
+			if (!exists $not_in_next{$elem->[0]}) {
+				if ($msg) {
+					print STDERR $msg;
+					undef $msg;
+				}
+				print STDERR " $elem->[1]\n";
+			}
+		}
+	' "$topic" "$not_in_next" "$not_in_master"
+	exit 1
+fi
+
+<<\DOC_END
+
+This sample hook safeguards topic branches that have been
+published from being rewound.
+
+The workflow assumed here is:
+
+ * Once a topic branch forks from "master", "master" is never
+   merged into it again (either directly or indirectly).
+
+ * Once a topic branch is fully cooked and merged into "master",
+   it is deleted.  If you need to build on top of it to correct
+   earlier mistakes, a new topic branch is created by forking at
+   the tip of the "master".  This is not strictly necessary, but
+   it makes it easier to keep your history simple.
+
+ * Whenever you need to test or publish your changes to topic
+   branches, merge them into "next" branch.
+
+The script, being an example, hardcodes the publish branch name
+to be "next", but it is trivial to make it configurable via
+$GIT_DIR/config mechanism.
+
+With this workflow, you would want to know:
+
+(1) ... if a topic branch has ever been merged to "next".  Young
+    topic branches can have stupid mistakes you would rather
+    clean up before publishing, and things that have not been
+    merged into other branches can be easily rebased without
+    affecting other people.  But once it is published, you would
+    not want to rewind it.
+
+(2) ... if a topic branch has been fully merged to "master".
+    Then you can delete it.  More importantly, you should not
+    build on top of it -- other people may already want to
+    change things related to the topic as patches against your
+    "master", so if you need further changes, it is better to
+    fork the topic (perhaps with the same name) afresh from the
+    tip of "master".
+
+Let's look at this example:
+
+		   o---o---o---o---o---o---o---o---o---o "next"
+		  /       /           /           /
+		 /   a---a---b A     /           /
+		/   /               /           /
+	       /   /   c---c---c---c B         /
+	      /   /   /             \         /
+	     /   /   /   b---b C     \       /
+	    /   /   /   /             \     /
+    ---o---o---o---o---o---o---o---o---o---o---o "master"
+
+
+A, B and C are topic branches.
+
+ * A has one fix since it was merged up to "next".
+
+ * B has finished.  It has been fully merged up to "master" and "next",
+   and is ready to be deleted.
+
+ * C has not merged to "next" at all.
+
+We would want to allow C to be rebased, refuse A, and encourage
+B to be deleted.
+
+To compute (1):
+
+	git rev-list ^master ^topic next
+	git rev-list ^master        next
+
+	if these match, topic has not merged in next at all.
+
+To compute (2):
+
+	git rev-list master..topic
+
+	if this is empty, it is fully merged to "master".
+
+DOC_END
Index: /applications/editors/josm/plugins/indoorhelper/.git/hooks/prepare-commit-msg.sample
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/hooks/prepare-commit-msg.sample	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/hooks/prepare-commit-msg.sample	(revision 32122)
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# An example hook script to prepare the commit log message.
+# Called by "git commit" with the name of the file that has the
+# commit message, followed by the description of the commit
+# message's source.  The hook's purpose is to edit the commit
+# message file.  If the hook fails with a non-zero status,
+# the commit is aborted.
+#
+# To enable this hook, rename this file to "prepare-commit-msg".
+
+# This hook includes three examples.  The first comments out the
+# "Conflicts:" part of a merge commit.
+#
+# The second includes the output of "git diff --name-status -r"
+# into the message, just before the "git status" output.  It is
+# commented because it doesn't cope with --amend or with squashed
+# commits.
+#
+# The third example adds a Signed-off-by line to the message, that can
+# still be edited.  This is rarely a good idea.
+
+case "$2,$3" in
+  merge,)
+    /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
+
+# ,|template,)
+#   /usr/bin/perl -i.bak -pe '
+#      print "\n" . `git diff --cached --name-status -r`
+#	 if /^#/ && $first++ == 0' "$1" ;;
+
+  *) ;;
+esac
+
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
Index: /applications/editors/josm/plugins/indoorhelper/.git/hooks/update.sample
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/hooks/update.sample	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/hooks/update.sample	(revision 32122)
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# An example hook script to blocks unannotated tags from entering.
+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
+#
+# To enable this hook, rename this file to "update".
+#
+# Config
+# ------
+# hooks.allowunannotated
+#   This boolean sets whether unannotated tags will be allowed into the
+#   repository.  By default they won't be.
+# hooks.allowdeletetag
+#   This boolean sets whether deleting tags will be allowed in the
+#   repository.  By default they won't be.
+# hooks.allowmodifytag
+#   This boolean sets whether a tag may be modified after creation. By default
+#   it won't be.
+# hooks.allowdeletebranch
+#   This boolean sets whether deleting branches will be allowed in the
+#   repository.  By default they won't be.
+# hooks.denycreatebranch
+#   This boolean sets whether remotely creating branches will be denied
+#   in the repository.  By default this is allowed.
+#
+
+# --- Command line
+refname="$1"
+oldrev="$2"
+newrev="$3"
+
+# --- Safety check
+if [ -z "$GIT_DIR" ]; then
+	echo "Don't run this script from the command line." >&2
+	echo " (if you want, you could supply GIT_DIR then run" >&2
+	echo "  $0 <ref> <oldrev> <newrev>)" >&2
+	exit 1
+fi
+
+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+	echo "usage: $0 <ref> <oldrev> <newrev>" >&2
+	exit 1
+fi
+
+# --- Config
+allowunannotated=$(git config --bool hooks.allowunannotated)
+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
+denycreatebranch=$(git config --bool hooks.denycreatebranch)
+allowdeletetag=$(git config --bool hooks.allowdeletetag)
+allowmodifytag=$(git config --bool hooks.allowmodifytag)
+
+# check for no description
+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
+case "$projectdesc" in
+"Unnamed repository"* | "")
+	echo "*** Project description file hasn't been set" >&2
+	exit 1
+	;;
+esac
+
+# --- Check types
+# if $newrev is 0000...0000, it's a commit to delete a ref.
+zero="0000000000000000000000000000000000000000"
+if [ "$newrev" = "$zero" ]; then
+	newrev_type=delete
+else
+	newrev_type=$(git cat-file -t $newrev)
+fi
+
+case "$refname","$newrev_type" in
+	refs/tags/*,commit)
+		# un-annotated tag
+		short_refname=${refname##refs/tags/}
+		if [ "$allowunannotated" != "true" ]; then
+			echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
+			echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
+			exit 1
+		fi
+		;;
+	refs/tags/*,delete)
+		# delete tag
+		if [ "$allowdeletetag" != "true" ]; then
+			echo "*** Deleting a tag is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/tags/*,tag)
+		# annotated tag
+		if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
+		then
+			echo "*** Tag '$refname' already exists." >&2
+			echo "*** Modifying a tag is not allowed in this repository." >&2
+			exit 1
+		fi
+		;;
+	refs/heads/*,commit)
+		# branch
+		if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
+			echo "*** Creating a branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/heads/*,delete)
+		# delete branch
+		if [ "$allowdeletebranch" != "true" ]; then
+			echo "*** Deleting a branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/remotes/*,commit)
+		# tracking branch
+		;;
+	refs/remotes/*,delete)
+		# delete tracking branch
+		if [ "$allowdeletebranch" != "true" ]; then
+			echo "*** Deleting a tracking branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	*)
+		# Anything else (is there anything else?)
+		echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
+		exit 1
+		;;
+esac
+
+# --- Finished
+exit 0
Index: /applications/editors/josm/plugins/indoorhelper/.git/info/exclude
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/info/exclude	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/info/exclude	(revision 32122)
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
Index: /applications/editors/josm/plugins/indoorhelper/.git/logs/HEAD
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/logs/HEAD	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/logs/HEAD	(revision 32122)
@@ -0,0 +1,41 @@
+0000000000000000000000000000000000000000 6a8d0b34ce4bb041eabc791828c941d43820ad02 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1426599358 +0100	commit (initial): initial commit
+6a8d0b34ce4bb041eabc791828c941d43820ad02 b6fa0b44c8d4c06438629312919de066fb3389e0 egru <erik.gruschka@s2011.tu-chemnitz.de> 1429175580 +0200	commit:- update readme
+b6fa0b44c8d4c06438629312919de066fb3389e0 895bedbb9233b0b57ab974ac10fa4148a9f9bd59 egru <erik.gruschka@s2011.tu-chemnitz.de> 1429176223 +0200	commit:- add gitignore
+895bedbb9233b0b57ab974ac10fa4148a9f9bd59 afb900835d78f6055b3f4142f23943a974903303 egru <erik.gruschka@s2011.tu-chemnitz.de> 1429189247 +0200	commit:- implements toggle dialog for the indoorhelper toolbox (not working yet)
+afb900835d78f6055b3f4142f23943a974903303 a0a2379c740b85c7e54db46011306ecd02435e0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1429608478 +0200	commit: -implements on/off button to toggle the plugin
+a0a2379c740b85c7e54db46011306ecd02435e0a 1a8b19e8cfc2a1e0a765de9eb42059113ee1f5f2 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1429617693 +0200	commit: -implements popup for level selection - adds javadocs -adds build bash script
+1a8b19e8cfc2a1e0a765de9eb42059113ee1f5f2 3b6ce783cb2f77471fe02fff2b5943eccca1f8e5 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430144694 +0200	commit: -adds own icon -introduces MVC pattern
+3b6ce783cb2f77471fe02fff2b5943eccca1f8e5 0f70907a8a41b6b3a653cb0cee8a7a1655bf9e0d Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430220628 +0200	commit: -adds more methods to the IndoorLevel class
+0f70907a8a41b6b3a653cb0cee8a7a1655bf9e0d 3b839371273632b47426a33d94197eb4807d52a7 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430230305 +0200	commit: -adds new functions to the model -adds TagCatalogue class -adds FittingView
+3b839371273632b47426a33d94197eb4807d52a7 2d241d50a8b7cb23354ad06989cbabb65d6d076a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430744205 +0200	commit: -extends model -work on the view
+2d241d50a8b7cb23354ad06989cbabb65d6d076a 7ae73507acafc969878442acc19df9944762b6bb Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430820364 +0200	commit: -some work on model -creates ToolBoxView with JFormDesigner
+7ae73507acafc969878442acc19df9944762b6bb 114deb0d52e51c732847de1fbb0ac6ffe679daed Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430831117 +0200	commit: -creates the different views and adds methods to them
+114deb0d52e51c732847de1fbb0ac6ffe679daed b6d5d1fe99a17b5ea3f007a5000d1c55f86ca408 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1431348169 +0200	commit: -implements some of the button listeners -includes filter generation
+b6d5d1fe99a17b5ea3f007a5000d1c55f86ca408 b8dcfb0bc14116920035ab43e54aac498afd20a4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1431882236 +0200	commit: >implements some button listners >some bugfixing
+b8dcfb0bc14116920035ab43e54aac498afd20a4 5475ed734a68a35ae47b4fa0d9e7c7e23b1959f7 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1431968912 +0200	commit: >fixes some bugs >implements filter creation
+5475ed734a68a35ae47b4fa0d9e7c7e23b1959f7 44c8ece9f62efa09662384c7f1b4050e749df168 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1432043994 +0200	commit: >fixes shortcut bug >fixes textfield bugs
+44c8ece9f62efa09662384c7f1b4050e749df168 11fe104eefbdf458469ad2599d5ff28c6cdab3c8 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1432902605 +0200	commit: >fixes the bug that texts aren't reset when textfields are disabled
+11fe104eefbdf458469ad2599d5ff28c6cdab3c8 ca9e8369ad145a315e6da0ea985ce448604033ec Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1432912045 +0200	commit: >removes level renaming feature (not working this way)
+ca9e8369ad145a315e6da0ea985ce448604033ec 2bb604f065924fb018943fcf7d6b008e607d79f1 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433155659 +0200	commit: >adds the activation of filters when a new working level is selected
+2bb604f065924fb018943fcf7d6b008e607d79f1 dfea6bc38281acbcf53b87e073604f4a7cc9e4bb Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433247581 +0200	commit: >implements name tagging for levels >Edits plug-in description >implements tooltips
+dfea6bc38281acbcf53b87e073604f4a7cc9e4bb 72452b46de53449317bd8cfff7639e6e34a02101 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433930696 +0200	commit: >fixes the filter bug which activates also filter which are not for the levels >adds some javadocs
+72452b46de53449317bd8cfff7639e6e34a02101 bafd440f32ff4fb4b9a5f34be9c707769b4d5759 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433940495 +0200	commit: >adds string translation
+bafd440f32ff4fb4b9a5f34be9c707769b4d5759 be05e8047b7abd62b65acdf7ad6640534e10f563 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1435668848 +0200	commit: >adds the export of the validator in the pref dir
+be05e8047b7abd62b65acdf7ad6640534e10f563 0594d61fd21d21d433148fb8bf7505542e1ebd06 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1435913847 +0200	commit: >adds export of validator file >trys to set preferences for validator
+0594d61fd21d21d433148fb8bf7505542e1ebd06 389107a39045a1c6cb0f327babe11c2374b88816 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1436191294 +0200	commit: >adds windows support >changes validator file >adds validation process after adding tags
+389107a39045a1c6cb0f327babe11c2374b88816 9beb063a7c005a682a26b922a925be624a266ece Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1437996137 +0200	commit: >fixes file export bug >changes labels >adds mappaint export and installation
+9beb063a7c005a682a26b922a925be624a266ece 26d4eb5e34be515c1d783b987e46793eaf002814 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1437996258 +0200	commit: >changes order of some methods
+26d4eb5e34be515c1d783b987e46793eaf002814 a8dda3ac46653a8c027e5095e797d28cb3c1368d Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439371879 +0200	commit: >adds icons to the data and the export
+a8dda3ac46653a8c027e5095e797d28cb3c1368d aa20e9c1d22349ec19d58013bc4a81f0c23c0dda Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439375220 +0200	commit: minor changes
+aa20e9c1d22349ec19d58013bc4a81f0c23c0dda fae5fa76ab0efb376f707daa403e87405e397f5b Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439380472 +0200	commit: >adds filter removing after POWER OFF
+fae5fa76ab0efb376f707daa403e87405e397f5b 84b9e3b7826f6592d0aa6dae9721a4dec3de6338 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439382732 +0200	commit: >changes validator file
+84b9e3b7826f6592d0aa6dae9721a4dec3de6338 aacd50baa32220335c0434acdf90658d702509b4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1444643926 +0200	commit: >fixes the size of objectBox
+aacd50baa32220335c0434acdf90658d702509b4 aacd50baa32220335c0434acdf90658d702509b4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1444653861 +0200	checkout: moving from master to wrapper
+aacd50baa32220335c0434acdf90658d702509b4 1c1a6d48445b66975efdbe017c1400d4032ae764 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1448458472 +0100	commit: >updates plugin to work with new josm version
+1c1a6d48445b66975efdbe017c1400d4032ae764 535d24fb90c34c64347e10c7e17756c590e092b7 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1452072737 +0100	commit: >adds preset buttons and dynamic functionality
+535d24fb90c34c64347e10c7e17756c590e092b7 939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454415840 +0100	commit: >fixes mapcss bug
+939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a aacd50baa32220335c0434acdf90658d702509b4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454417351 +0100	checkout: moving from wrapper to master
+aacd50baa32220335c0434acdf90658d702509b4 939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454417362 +0100	merge wrapper: Fast-forward
+939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a 5ad15705e2148fd627ddfa6a4ac3d89478c354b9 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454419989 +0100	commit: >cleans code >activation/deactivation of mapcss with POWER-button
+5ad15705e2148fd627ddfa6a4ac3d89478c354b9 b79343c51ae9d491dfd305948f5ee91e6f385b84 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1458041984 +0100	commit: >fixes activation bug of validator >code cleaning >height fix
+b79343c51ae9d491dfd305948f5ee91e6f385b84 b0f919f6b6e2a49d40a09e83341c843c0b66d001 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1458561683 +0100	commit: >adds license information >code cleaning
Index: /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/heads/master
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/heads/master	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/heads/master	(revision 32122)
@@ -0,0 +1,36 @@
+0000000000000000000000000000000000000000 6a8d0b34ce4bb041eabc791828c941d43820ad02 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1426599358 +0100	commit (initial): initial commit
+6a8d0b34ce4bb041eabc791828c941d43820ad02 b6fa0b44c8d4c06438629312919de066fb3389e0 egru <erik.gruschka@s2011.tu-chemnitz.de> 1429175580 +0200	commit:- update readme
+b6fa0b44c8d4c06438629312919de066fb3389e0 895bedbb9233b0b57ab974ac10fa4148a9f9bd59 egru <erik.gruschka@s2011.tu-chemnitz.de> 1429176223 +0200	commit:- add gitignore
+895bedbb9233b0b57ab974ac10fa4148a9f9bd59 afb900835d78f6055b3f4142f23943a974903303 egru <erik.gruschka@s2011.tu-chemnitz.de> 1429189247 +0200	commit:- implements toggle dialog for the indoorhelper toolbox (not working yet)
+afb900835d78f6055b3f4142f23943a974903303 a0a2379c740b85c7e54db46011306ecd02435e0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1429608478 +0200	commit: -implements on/off button to toggle the plugin
+a0a2379c740b85c7e54db46011306ecd02435e0a 1a8b19e8cfc2a1e0a765de9eb42059113ee1f5f2 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1429617693 +0200	commit: -implements popup for level selection - adds javadocs -adds build bash script
+1a8b19e8cfc2a1e0a765de9eb42059113ee1f5f2 3b6ce783cb2f77471fe02fff2b5943eccca1f8e5 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430144694 +0200	commit: -adds own icon -introduces MVC pattern
+3b6ce783cb2f77471fe02fff2b5943eccca1f8e5 0f70907a8a41b6b3a653cb0cee8a7a1655bf9e0d Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430220628 +0200	commit: -adds more methods to the IndoorLevel class
+0f70907a8a41b6b3a653cb0cee8a7a1655bf9e0d 3b839371273632b47426a33d94197eb4807d52a7 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430230305 +0200	commit: -adds new functions to the model -adds TagCatalogue class -adds FittingView
+3b839371273632b47426a33d94197eb4807d52a7 2d241d50a8b7cb23354ad06989cbabb65d6d076a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430744205 +0200	commit: -extends model -work on the view
+2d241d50a8b7cb23354ad06989cbabb65d6d076a 7ae73507acafc969878442acc19df9944762b6bb Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430820364 +0200	commit: -some work on model -creates ToolBoxView with JFormDesigner
+7ae73507acafc969878442acc19df9944762b6bb 114deb0d52e51c732847de1fbb0ac6ffe679daed Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430831117 +0200	commit: -creates the different views and adds methods to them
+114deb0d52e51c732847de1fbb0ac6ffe679daed b6d5d1fe99a17b5ea3f007a5000d1c55f86ca408 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1431348169 +0200	commit: -implements some of the button listeners -includes filter generation
+b6d5d1fe99a17b5ea3f007a5000d1c55f86ca408 b8dcfb0bc14116920035ab43e54aac498afd20a4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1431882236 +0200	commit: >implements some button listners >some bugfixing
+b8dcfb0bc14116920035ab43e54aac498afd20a4 5475ed734a68a35ae47b4fa0d9e7c7e23b1959f7 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1431968912 +0200	commit: >fixes some bugs >implements filter creation
+5475ed734a68a35ae47b4fa0d9e7c7e23b1959f7 44c8ece9f62efa09662384c7f1b4050e749df168 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1432043994 +0200	commit: >fixes shortcut bug >fixes textfield bugs
+44c8ece9f62efa09662384c7f1b4050e749df168 11fe104eefbdf458469ad2599d5ff28c6cdab3c8 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1432902605 +0200	commit: >fixes the bug that texts aren't reset when textfields are disabled
+11fe104eefbdf458469ad2599d5ff28c6cdab3c8 ca9e8369ad145a315e6da0ea985ce448604033ec Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1432912045 +0200	commit: >removes level renaming feature (not working this way)
+ca9e8369ad145a315e6da0ea985ce448604033ec 2bb604f065924fb018943fcf7d6b008e607d79f1 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433155659 +0200	commit: >adds the activation of filters when a new working level is selected
+2bb604f065924fb018943fcf7d6b008e607d79f1 dfea6bc38281acbcf53b87e073604f4a7cc9e4bb Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433247581 +0200	commit: >implements name tagging for levels >Edits plug-in description >implements tooltips
+dfea6bc38281acbcf53b87e073604f4a7cc9e4bb 72452b46de53449317bd8cfff7639e6e34a02101 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433930696 +0200	commit: >fixes the filter bug which activates also filter which are not for the levels >adds some javadocs
+72452b46de53449317bd8cfff7639e6e34a02101 bafd440f32ff4fb4b9a5f34be9c707769b4d5759 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433940495 +0200	commit: >adds string translation
+bafd440f32ff4fb4b9a5f34be9c707769b4d5759 be05e8047b7abd62b65acdf7ad6640534e10f563 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1435668848 +0200	commit: >adds the export of the validator in the pref dir
+be05e8047b7abd62b65acdf7ad6640534e10f563 0594d61fd21d21d433148fb8bf7505542e1ebd06 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1435913847 +0200	commit: >adds export of validator file >trys to set preferences for validator
+0594d61fd21d21d433148fb8bf7505542e1ebd06 389107a39045a1c6cb0f327babe11c2374b88816 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1436191294 +0200	commit: >adds windows support >changes validator file >adds validation process after adding tags
+389107a39045a1c6cb0f327babe11c2374b88816 9beb063a7c005a682a26b922a925be624a266ece Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1437996137 +0200	commit: >fixes file export bug >changes labels >adds mappaint export and installation
+9beb063a7c005a682a26b922a925be624a266ece 26d4eb5e34be515c1d783b987e46793eaf002814 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1437996258 +0200	commit: >changes order of some methods
+26d4eb5e34be515c1d783b987e46793eaf002814 a8dda3ac46653a8c027e5095e797d28cb3c1368d Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439371879 +0200	commit: >adds icons to the data and the export
+a8dda3ac46653a8c027e5095e797d28cb3c1368d aa20e9c1d22349ec19d58013bc4a81f0c23c0dda Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439375220 +0200	commit: minor changes
+aa20e9c1d22349ec19d58013bc4a81f0c23c0dda fae5fa76ab0efb376f707daa403e87405e397f5b Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439380472 +0200	commit: >adds filter removing after POWER OFF
+fae5fa76ab0efb376f707daa403e87405e397f5b 84b9e3b7826f6592d0aa6dae9721a4dec3de6338 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439382732 +0200	commit: >changes validator file
+84b9e3b7826f6592d0aa6dae9721a4dec3de6338 aacd50baa32220335c0434acdf90658d702509b4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1444643926 +0200	commit: >fixes the size of objectBox
+aacd50baa32220335c0434acdf90658d702509b4 939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454417362 +0100	merge wrapper: Fast-forward
+939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a 5ad15705e2148fd627ddfa6a4ac3d89478c354b9 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454419989 +0100	commit: >cleans code >activation/deactivation of mapcss with POWER-button
+5ad15705e2148fd627ddfa6a4ac3d89478c354b9 b79343c51ae9d491dfd305948f5ee91e6f385b84 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1458041984 +0100	commit: >fixes activation bug of validator >code cleaning >height fix
+b79343c51ae9d491dfd305948f5ee91e6f385b84 b0f919f6b6e2a49d40a09e83341c843c0b66d001 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1458561683 +0100	commit: >adds license information >code cleaning
Index: /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/heads/wrapper
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/heads/wrapper	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/heads/wrapper	(revision 32122)
@@ -0,0 +1,4 @@
+0000000000000000000000000000000000000000 aacd50baa32220335c0434acdf90658d702509b4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1444653861 +0200	branch: Created from HEAD
+aacd50baa32220335c0434acdf90658d702509b4 1c1a6d48445b66975efdbe017c1400d4032ae764 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1448458472 +0100	commit: >updates plugin to work with new josm version
+1c1a6d48445b66975efdbe017c1400d4032ae764 535d24fb90c34c64347e10c7e17756c590e092b7 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1452072737 +0100	commit: >adds preset buttons and dynamic functionality
+535d24fb90c34c64347e10c7e17756c590e092b7 939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454415840 +0100	commit: >fixes mapcss bug
Index: /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/gitlab/master
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/gitlab/master	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/gitlab/master	(revision 32122)
@@ -0,0 +1,5 @@
+0000000000000000000000000000000000000000 aacd50baa32220335c0434acdf90658d702509b4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454416498 +0100	update by push
+aacd50baa32220335c0434acdf90658d702509b4 939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454417465 +0100	update by push
+939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a 5ad15705e2148fd627ddfa6a4ac3d89478c354b9 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454420002 +0100	update by push
+5ad15705e2148fd627ddfa6a4ac3d89478c354b9 b79343c51ae9d491dfd305948f5ee91e6f385b84 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1458041998 +0100	update by push
+b79343c51ae9d491dfd305948f5ee91e6f385b84 b0f919f6b6e2a49d40a09e83341c843c0b66d001 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1458561723 +0100	update by push
Index: /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/gitlab/wrapper
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/gitlab/wrapper	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/gitlab/wrapper	(revision 32122)
@@ -0,0 +1,1 @@
+0000000000000000000000000000000000000000 939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454416504 +0100	update by push
Index: /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/grait/master
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/grait/master	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/grait/master	(revision 32122)
@@ -0,0 +1,9 @@
+0000000000000000000000000000000000000000 be05e8047b7abd62b65acdf7ad6640534e10f563 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1435756341 +0200	update by push
+be05e8047b7abd62b65acdf7ad6640534e10f563 389107a39045a1c6cb0f327babe11c2374b88816 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1436192389 +0200	update by push
+389107a39045a1c6cb0f327babe11c2374b88816 9beb063a7c005a682a26b922a925be624a266ece Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1437996158 +0200	update by push
+9beb063a7c005a682a26b922a925be624a266ece 26d4eb5e34be515c1d783b987e46793eaf002814 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1437996277 +0200	update by push
+26d4eb5e34be515c1d783b987e46793eaf002814 aa20e9c1d22349ec19d58013bc4a81f0c23c0dda Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439375241 +0200	update by push
+aa20e9c1d22349ec19d58013bc4a81f0c23c0dda fae5fa76ab0efb376f707daa403e87405e397f5b Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439380495 +0200	update by push
+fae5fa76ab0efb376f707daa403e87405e397f5b 84b9e3b7826f6592d0aa6dae9721a4dec3de6338 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439382755 +0200	update by push
+84b9e3b7826f6592d0aa6dae9721a4dec3de6338 aacd50baa32220335c0434acdf90658d702509b4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1444643948 +0200	update by push
+aacd50baa32220335c0434acdf90658d702509b4 939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454417456 +0100	update by push
Index: /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/grait/wrapper
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/grait/wrapper	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/grait/wrapper	(revision 32122)
@@ -0,0 +1,1 @@
+0000000000000000000000000000000000000000 939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1454415973 +0100	update by push
Index: /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/origin/master
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/origin/master	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/logs/refs/remotes/origin/master	(revision 32122)
@@ -0,0 +1,27 @@
+0000000000000000000000000000000000000000 6a8d0b34ce4bb041eabc791828c941d43820ad02 egru <erik.gruschka@s2011.tu-chemnitz.de> 1429175040 +0200	update by push
+6a8d0b34ce4bb041eabc791828c941d43820ad02 895bedbb9233b0b57ab974ac10fa4148a9f9bd59 egru <erik.gruschka@s2011.tu-chemnitz.de> 1429176239 +0200	update by push
+895bedbb9233b0b57ab974ac10fa4148a9f9bd59 afb900835d78f6055b3f4142f23943a974903303 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1429189350 +0200	update by push
+afb900835d78f6055b3f4142f23943a974903303 a0a2379c740b85c7e54db46011306ecd02435e0a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1429608488 +0200	update by push
+a0a2379c740b85c7e54db46011306ecd02435e0a 1a8b19e8cfc2a1e0a765de9eb42059113ee1f5f2 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1429617708 +0200	update by push
+1a8b19e8cfc2a1e0a765de9eb42059113ee1f5f2 3b6ce783cb2f77471fe02fff2b5943eccca1f8e5 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430144704 +0200	update by push
+3b6ce783cb2f77471fe02fff2b5943eccca1f8e5 3b839371273632b47426a33d94197eb4807d52a7 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430230322 +0200	update by push
+3b839371273632b47426a33d94197eb4807d52a7 2d241d50a8b7cb23354ad06989cbabb65d6d076a Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430744214 +0200	update by push
+2d241d50a8b7cb23354ad06989cbabb65d6d076a 7ae73507acafc969878442acc19df9944762b6bb Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430820387 +0200	update by push
+7ae73507acafc969878442acc19df9944762b6bb 114deb0d52e51c732847de1fbb0ac6ffe679daed Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1430831127 +0200	update by push
+114deb0d52e51c732847de1fbb0ac6ffe679daed b6d5d1fe99a17b5ea3f007a5000d1c55f86ca408 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1431348177 +0200	update by push
+b6d5d1fe99a17b5ea3f007a5000d1c55f86ca408 b8dcfb0bc14116920035ab43e54aac498afd20a4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1431936987 +0200	update by push
+b8dcfb0bc14116920035ab43e54aac498afd20a4 5475ed734a68a35ae47b4fa0d9e7c7e23b1959f7 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1431968920 +0200	update by push
+5475ed734a68a35ae47b4fa0d9e7c7e23b1959f7 44c8ece9f62efa09662384c7f1b4050e749df168 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1432044003 +0200	update by push
+44c8ece9f62efa09662384c7f1b4050e749df168 11fe104eefbdf458469ad2599d5ff28c6cdab3c8 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1432902616 +0200	update by push
+11fe104eefbdf458469ad2599d5ff28c6cdab3c8 ca9e8369ad145a315e6da0ea985ce448604033ec Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1432912073 +0200	update by push
+ca9e8369ad145a315e6da0ea985ce448604033ec dfea6bc38281acbcf53b87e073604f4a7cc9e4bb Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433247589 +0200	update by push
+dfea6bc38281acbcf53b87e073604f4a7cc9e4bb 72452b46de53449317bd8cfff7639e6e34a02101 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433930706 +0200	update by push
+72452b46de53449317bd8cfff7639e6e34a02101 bafd440f32ff4fb4b9a5f34be9c707769b4d5759 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1433940506 +0200	update by push
+bafd440f32ff4fb4b9a5f34be9c707769b4d5759 be05e8047b7abd62b65acdf7ad6640534e10f563 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1435668856 +0200	update by push
+be05e8047b7abd62b65acdf7ad6640534e10f563 389107a39045a1c6cb0f327babe11c2374b88816 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1436192373 +0200	update by push
+389107a39045a1c6cb0f327babe11c2374b88816 9beb063a7c005a682a26b922a925be624a266ece Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1437996148 +0200	update by push
+9beb063a7c005a682a26b922a925be624a266ece 26d4eb5e34be515c1d783b987e46793eaf002814 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1437996269 +0200	update by push
+26d4eb5e34be515c1d783b987e46793eaf002814 aa20e9c1d22349ec19d58013bc4a81f0c23c0dda Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439375232 +0200	update by push
+aa20e9c1d22349ec19d58013bc4a81f0c23c0dda fae5fa76ab0efb376f707daa403e87405e397f5b Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439380488 +0200	update by push
+fae5fa76ab0efb376f707daa403e87405e397f5b 84b9e3b7826f6592d0aa6dae9721a4dec3de6338 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1439382743 +0200	update by push
+84b9e3b7826f6592d0aa6dae9721a4dec3de6338 aacd50baa32220335c0434acdf90658d702509b4 Erik Gruschka <erik.gruschka@s2011.tu-chemnitz.de> 1444643938 +0200	update by push
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/00/c94ae7848cfa10ac2a5cf66877439d878419bd
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/00/c94ae7848cfa10ac2a5cf66877439d878419bd	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/00/c94ae7848cfa10ac2a5cf66877439d878419bd	(revision 32122)
@@ -0,0 +1,2 @@
+x_
+AÅ½ò)¦y7K<P»$QÊgÍÞ½ÆÌ6wV|{»$´o÷ÖïÎ9±¶1kuÛ°=kvAGÊ7E34`eöß¬Çõï÷j!hIJèÕªïw7vR&89à¬ gPôH>(¥è`ºXÍþ `Í+u{ UJ(Zfy'1]¶ÃÅ|=ÌGËf`Ï±2(Èe)â;©	ùwÓG¤zªòynè~Ú=×±O3ÿûl|ÌzÌ¦
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/05/94d61fd21d21d433148fb8bf7505542e1ebd06
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/05/94d61fd21d21d433148fb8bf7505542e1ebd06	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/05/94d61fd21d21d433148fb8bf7505542e1ebd06	(revision 32122)
@@ -0,0 +1,10 @@
+x­MJÄ@F]çµCuÒ¿07â9:ÕÕ&Ìd:tWD=½AÄ¸|ðøxm[Få¤2C`ËV;§Í
+
+¢VÉ¢½§äqH6Ä|·ÇÊwÑ°GífçdÙH)»¬ÕhFÍ
+³±cYJ
+º^áµ
+k
+Ø¿ýâsP©^'Zx»¯òÕ'@éÑ5zíàÄ~
+ÿg­Î?
+øc/U dx·5E9cózc¤~6öÊÏãÄ
+òiü¹Ý7çh]
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/06/d72c19580992d7e654450f4994fdb095a3ff06
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/06/d72c19580992d7e654450f4994fdb095a3ff06	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/06/d72c19580992d7e654450f4994fdb095a3ff06	(revision 32122)
@@ -0,0 +1,11 @@
+x]1OÄ0
+
+Y/¿â]'¨8NBBB=102Á`@
+n6ÈFiJ©ÿ
+Ó2 <ÙúÞó³Û$-Î//ö5
+(EGE2º<Ào_QGd'
+:m|ÎÔ{cÔGÕO!Ú°ZÄþÝçÍ v¿ÓÝí
+
+ $ÅiW¨ÿÙ¡¢§íÑ,àù,Î7#[aö¶x÷Oði6%d
+)sä¾AÉÇÕ}¤}QÃÃ²æ@sÎpí
+Úyyç-ý.ò¶:9M?5¨þ^pUWóeÖúZa]
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/0f/70907a8a41b6b3a653cb0cee8a7a1655bf9e0d
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/0f/70907a8a41b6b3a653cb0cee8a7a1655bf9e0d	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/0f/70907a8a41b6b3a653cb0cee8a7a1655bf9e0d	(revision 32122)
@@ -0,0 +1,4 @@
+x­ÎAJÅ0a×9ÅìådÒ6	<Äà%ÒÉ-ï¥$uáé-â\~JÎ[
+øÐ+38C)'o5áâ\bìILf
+^ÆYPÔg¬¼w°ËLì¼¥Å¹Ña"ËFËDxT<úZ*¼Ôí¯õh´Þ"\ùäðñÇçÚ¡Z9ï[ÿ
+?­FÔ3zxÔ¨µ¢ßçÎÿSSR\*CæsòD/ÐW·=Rßùï@÷Øúi_ª
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/11/4deb0d52e51c732847de1fbb0ac6ffe679daed
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/11/4deb0d52e51c732847de1fbb0ac6ffe679daed	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/11/4deb0d52e51c732847de1fbb0ac6ffe679daed	(revision 32122)
@@ -0,0 +1,6 @@
+x­KjÄ0D³Ö)z?Ñ_MÈ9Z­VlÙA'ÓÇr¬EñöZ×Fê§ÑÁ©H¤&)
+I»­I:Drò¹DSIOl¼
+ÈÁ8°Pôq³µT<ËÑÚàuò)	<Æ²7xkë
+ÞÛÑi¹!<óÓÇ¾v-Æq¥
+ë¶ï)ó
+(kälR.RK)èá<øÖÄãàcaÈk)üxv_ù«n0çOÿ3ÇþÛ«âêZb_
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/11/fe104eefbdf458469ad2599d5ff28c6cdab3c8
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/11/fe104eefbdf458469ad2599d5ff28c6cdab3c8	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/11/fe104eefbdf458469ad2599d5ff28c6cdab3c8	(revision 32122)
@@ -0,0 +1,9 @@
+x­OËjÃ0ìÙ_±·
+JÍêaYz	ýyµEb§HkúõML?¡§a
+
+3t]"`{Ê
+H½aLÉ¨³ËNst!L>DBÆwß±ò*`-y&ÏDÓÆ[³,È£
+)+ç»¸É|­p¬å
+_uk4#|ðö§?úÙ4*ÕËöN3/k>ñ5: v8ÀjÄöÍÂÿÓÖ
+r¹s¦íôÀ( |Ï¯
+Üf^w=¾¤ÝTZ.º_$fÊ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/1a/8b19e8cfc2a1e0a765de9eb42059113ee1f5f2
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/1a/8b19e8cfc2a1e0a765de9eb42059113ee1f5f2	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/1a/8b19e8cfc2a1e0a765de9eb42059113ee1f5f2	(revision 32122)
@@ -0,0 +1,12 @@
+x­;nÃ0SëÛøH04FÎ±\.#Æú$å"§`ä)§y´¯kj yk
+BðÖ]ãÄRGCd2
+õ>(ÅÂ9©CÃÜe,¼5@J[Gvþ:åi
+~4BJ-
+SjÔ
+ìðhó^à^Ò>ËQi~ ÜøÄáë?ª:½¡
+=Í¼n©ý
+ßAÊiÓpJ^Íÿg­ëÓ^Ï7ò
+ñ
+]øÉ
+T^ZÚ7èC¨ðO
+;Uè_è´ðXg¨TRnÝ/øÂkU
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/20/4703847906bca97b86a57413a5635ea1c35283
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/20/4703847906bca97b86a57413a5635ea1c35283	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/20/4703847906bca97b86a57413a5635ea1c35283	(revision 32122)
@@ -0,0 +1,3 @@
+x+)JMU04¶`040031QpË,)ÉÌKËL-×ËJ,Kdèt9Ð¬u¯UKX`SøÙ<¨ZÔ²ÔàÔÔäü"7;´×]Z÷`
+ÓÊÏ,ûò²ºx>@uäçç8åW Ô¿?y´]·P0W
+ùþÃÕÅI"+eN6M
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/20/f9b30d010567f874c27061fbb0f4d53be7b448
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/20/f9b30d010567f874c27061fbb0f4d53be7b448	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/20/f9b30d010567f874c27061fbb0f4d53be7b448	(revision 32122)
@@ -0,0 +1,26 @@
+x
+TïoÓ0åëòW
+þê´H­Ð6
+ß]çxuì`;ÝúßsvÜì¥Rëúî½{÷îVÚ®`~ønþêèø¶Õ°Eç5
+6ç3h¤­©¬ëév¼,^O§Åd¿å^ÛN°ê®`­4ÂÚ:úçë«
+N÷µ2bÜ
+P&Ð²îÁ|<_<ñÄó+Døyöéôâïr¦ß^Ô8Æ/'Bk`ÂhPw
+
+tÖ{µ"VÁ 
+úDh:¥:g¯Q0¢ÅS¦²ÖÅèT¸½
+V)¬ÇJ¹ãlY@OÔt
+è 4W¾´m«´è#Cé&áPÎ°Ë@Ã5¯1Ø
+ÝþÉhVæà0moÐÉ qn 
+rÇÖÈÞ9b¦wQ'BÒàF
+æYJ¹U-õç¤#¯÷³Ù<²¹«úÄµª{±rëSèáCòD`sBJë¢ôî-/èz¤'¶·	¡ûX×Ö·2>8ÄÐWXÞ¨*Oq:çÏ{Eù7%¼Læò)ásBçªDK-Í:9µs×{ÙlÄ(ó£
+åP©
+÷c¤uõ#úp×óûâ_>'7
+\_ªÐK§º@C8«-iJÈÂªq¼¢ÛH£.±ä6°kÐ!N^%ÂK
+)yFµdW_VJh[ûòA
+©GâÑqhî9
+¥Ù´cëËå
+]Aáôn
+Y
+íqzÃáß^9¼ëÇ¥ßÄ¦u?+OÇv5H³ýõâàq1±
+´43qr^ÒKFÇäÔ©ì}°-¿	÷¿
+YxÓÆq\iÝ»i¢ý¥Ô}Eã4l(j±wZ¶4bt+mkBFuUÛYÒöMÓ®Òà·ÖpÚìCµÅQIâÄm·,þ$Tð
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/23/d2ff6ab4685f23bb71e480e22a78eb8f7ce146
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/23/d2ff6ab4685f23bb71e480e22a78eb8f7ce146	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/23/d2ff6ab4685f23bb71e480e22a78eb8f7ce146	(revision 32122)
@@ -0,0 +1,19 @@
+x}SÛÚ0ìs¾b
+w%½h«^ÔBÐG'9I¬5vd;¤ü}O\ÐªR[¿ùræÌÌçÊäøððð*Çß×sDÃ¢,H;FQ¢KclCª%
+é ðc»_£U]-5¼ëÚÖXÎuèÒ(,	/u
+ß´0½
+08Ö#ðöbeÝxÜÍîñöõ÷ÀÜÊg,mçæYDáYÖpÏÖÚÓÐ¾²Dp¦ò½°4ÅÅt(¥R:oeÞyôº)eu	@|Øé50'x²'S
+ÍrsÀ4Y¡°ër%
+\åCpïáÄ5T"ÿ
+4Ô/û+
+,
+#³`£G É÷gö÷xwkrE
+ÁØ@çNø<Ó
+÷Ìø%Ø­vüw^tljÐ%5È"{©rÆQuj±+xJ²Çí!C¼9â)NÓx
+?òkß¾¥3mP&O­,íµBû
+óëy:{äø[²J²#ËÀ"É6óý
+m»8ÍÙa§Ø
+ÒÝv?{¶QÂl®Â¨,¡$/¤â#×1=U¢gâ!$ÏLN àôÜ¬ý7p@Êp¡Lå%LÌ.© Á1ËO÷ít2éû~\ënll=á$
+ÀM¾0¡Ñ^Ä)%Îì¸¾föëéçæçP
+ñú?9
+
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/29/a26349bddae4cdec2ed647c727f088c4c99abd
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/29/a26349bddae4cdec2ed647c727f088c4c99abd	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/29/a26349bddae4cdec2ed647c727f088c4c99abd	(revision 32122)
@@ -0,0 +1,2 @@
+x+)JMU05d040031QðÌKÉÏ/òHÍ)H-
+È)MÏÌÓËJ,KdØg57í§½´É1Kÿø¦ÛW?·
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/2a/01c368fe279bb227b569d1d54dbcb6fb8fb3b5
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/2a/01c368fe279bb227b569d1d54dbcb6fb8fb3b5	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/2a/01c368fe279bb227b569d1d54dbcb6fb8fb3b5	(revision 32122)
@@ -0,0 +1,6 @@
+x%Ì±
+Â@
+aWó¡.
+ºº8uptÎ¡D¯×\mA|wOä?øCvn£40^
+?È¨|ÐÖÖÉC{îF®vºÌªÆî7²\Åw³	¥f:$c"wì¥ê¿'òZ8ß
+ÿ|Ã¶øgP+
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/36/23e16bf321b3827860d179c077c35daa6abaa6
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/36/23e16bf321b3827860d179c077c35daa6abaa6	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/36/23e16bf321b3827860d179c077c35daa6abaa6	(revision 32122)
@@ -0,0 +1,32 @@
+xV]OÛ0Ýkò+®ú¢h«I**°
+
+Ýxöà&¦ñpíÈv(õ¿ïÚN÷
+´
+Jêë{}Î¹Ç·L¹Â ÿ¹ÿ©$ÙQøÅèBÄ1RøKIJ&=8	^R½`b¶gu*UN
+ÆñÑÁA
+pF*SHcÅàRU:+â³ûª,Õú(5uÒÑT1Â;Ý¸¬¦eq¢5\0c0n}1Tä¾](2§ðGqT*öL
+
+o·DP93û|²Ë¤À|ã6Ñk2ÅLnßû{Ö{ÖáºG0­bDT¹EOþCÎÓ
+&]Ë)bsV']Ü½[6Ïå°¹Ç%¶äá
+æEq¢ý°§ß$>ÏûÃ
+MÌ	ã«5
+4!¯!ñ££Óú¦`OÒÔLá4éÔzu¬,Ñ9¶0Aô°ö¢«no	b¹kò*+XFÎ¹õBw
+K(k
+	¶Ú-éë¸ãyi^ëÏýAÚ_[+ó0¡2Q
+*ä­µyæuVòC|ÕæûlÁEÞ
+6.éÜrJ4
+99	Ú¦ ðè¯'ÈG@9L+Æs¼¯%'BÔw*ZGFò<ñx¹×
+6
+Z$	9=¨
+pË2d
+(y5;d¢eèBV<)ÅË9§ùûP» 
+7 
+[(
+Ë¢Y{ÛÖ8> >ô>XnÁ
+¶¸·æÎô|üc2¾«÷%¸s­EkK¬bú;
+=îý©
+­¥½T,Yà$ë$Y[ï¶ÙxW{ÓLòj.
+Xn
+¼ßnH1a~ÿ7<úËñÒÝÿ,FÙ¬0Mµ\âX¥¶`?µlR[Óyº¶új­ÌÞ¬´½ùÞ8¥¥aÓìì9à5a
+4Ú(B8«ûNB|·õù=wz´½»nf¿¢A¡tt3¹ªíú*°u:©;däjzµËD+äº¿ù9¹rÞ³YÕRË°
+hi+ãEý§ÁTu-3bwãßg:	6üf39qNZÆËø]ë
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/37/5bd2267f96aedd8f89de2adb69cbda4803b2d3
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/37/5bd2267f96aedd8f89de2adb69cbda4803b2d3	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/37/5bd2267f96aedd8f89de2adb69cbda4803b2d3	(revision 32122)
@@ -0,0 +1,5 @@
+xÐß
+0ð^ó¯{oK"èÁD$¤`ö
+:®ÖM¶õßÔøvûrw¥T%Z¹ë>ï=¸6B]²ÄSÚÇç|¿Øà0p<&
+cÚÂ63ÿ5
+¬~¡ÊÇF3zñ-éh¹±´¤i#)6Pº&IÑN®%²è5HE]äÛCe#aª³mg¼R@o=ú÷7Òkå
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/38/9107a39045a1c6cb0f327babe11c2374b88816
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/38/9107a39045a1c6cb0f327babe11c2374b88816	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/38/9107a39045a1c6cb0f327babe11c2374b88816	(revision 32122)
@@ -0,0 +1,11 @@
+x­KjÄ0D³Ö)zbô³lÁ`²	9G[jÙbÆä
+äôñ$s@m^QÏåm
+^Z!ÑFz(
+Ø+é=ÍÚâh
+êÙ	´RÊ`
+Û±PjÀ{«½ÁKñVJè1Ìã
+÷½$höÜ0<Ú
+|x
+ÏrT·^.tb·<ñ½J.D×7·Òbûî<M ´2Â
+i5¼rÉ9s¿ÎþçMè}
+{L>ß+Ôcßsi0¹ÓB¾ð=¶Ó=ÄÁßúYÆ`/ÙQ­áat~Å´@Ã¥²ÐoO
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/39/bf6d4952d1e545362db0ac09655269bb51a81c
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/39/bf6d4952d1e545362db0ac09655269bb51a81c	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/39/bf6d4952d1e545362db0ac09655269bb51a81c	(revision 32122)
@@ -0,0 +1,14 @@
+xuÏjÃ0
+ÆwBäÔâ®°A/;ì°
+vë
+ÀITÇkÿÂè»O³Q,YôûÔ[êáái{çÕð¥4-É£) ¦£òòâQzµqQ7
+	­Ç°Â
+=
+1©d[ÚDd£ì¶ÏN&-t6r4ÊrOZ[|#
+¶i[-\î~B¸´íé
+8þèó«@Ã{ã4Ú_éÊib	ê9Çg#Ï½eU1B7{|=á§npMß¢Õ¢ü¯Y5*fÞÔ*
+U]Jà}¡*ýëf
+uá-5Çû+gåïÏ
+óÞ¶
+]¶v
+ÛÇû5¤±Ùê,89Eö
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/3b/839371273632b47426a33d94197eb4807d52a7
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/3b/839371273632b47426a33d94197eb4807d52a7	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/3b/839371273632b47426a33d94197eb4807d52a7	(revision 32122)
@@ -0,0 +1,8 @@
+x­ÝJÄ0F½îSÌ½l4I»EQ_@¼$Ó6lH3eÁ§·è>ïÊº&ÝÙÁh4ÎÈ¦Ø8ãè²ggýHÞ*¶z`²cóEg
+t8Ðò½×Ô[
+<æ3
+¤z{ì
+clh¹lðº¥+¼o{
+óàÂ¶Ó
+kJµ²ÂÌkNòÝF~u8u5ZxÄ±	¿ÎÂÿóÖ(Æ
+o0î9H*¹a-ø+|ÐôBBKv°P­÷à-¤<}&¾5?riÚ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/3f/dda85a596e1f361b9e480533ee5aabc4450e79
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/3f/dda85a596e1f361b9e480533ee5aabc4450e79	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/3f/dda85a596e1f361b9e480533ee5aabc4450e79	(revision 32122)
@@ -0,0 +1,13 @@
+xQMK1õº
+ûÆln=xJA¡=H=ô¤Í4fd[QüïÎ&»Û
+ª`ùÞ÷ff­Ìîïn/,Û¼3`¨EíC
+5³ÕñueU#¤öÔÜ·CeÑM¼Èem
+¿ÑD#«f
+«à{×¨õOøBo«YFG_E>
+Æ°ÚI´Ã¡fRÃF1ïà1tZ$
+UäµÇ¤Èm³VrÓ±üçX~²	øPséûUämëäSü\2e¤ÞÍ @+ÚG'tJI9ËtTª
+µÄvùRÆð4E(qûøîUÚÏÃrÎI)Ø)îäÔ4¥
+ÊOäe?90Ç^ÃÒx¡ÁE6Àj9_ÂcÌ@:@1ì
+uRÍ¢×êàQgHßuÚÉm9¸Ù
+t£\]AË.vôÕS³¡ó@<N9êå²>aÅ8_!¦ùCÛµ.Ú?/s
+p
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/44/c8ece9f62efa09662384c7f1b4050e749df168
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/44/c8ece9f62efa09662384c7f1b4050e749df168	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/44/c8ece9f62efa09662384c7f1b4050e749df168	(revision 32122)
@@ -0,0 +1,7 @@
+x­Kj1D³Ö)zo2hôk
+ÉÆä
+VË#±ÔÓg|,ëAU=ºo[0Q¿Hcã0&{4X2´Ë¬£ã½v­	9 úJoÞ¡çÖ¥pLÖ'v¸¸tlövô± JCÖ{s«Wøh£ÓzMðÆ{.ÏøÞçIÆ+­¼Ýª|OO0;köë
+
+´ÑZÑ³ðÿ¬©S©îÐw=¡!°
+<ðCJåÏü
+»ú¾S]Á
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/48/3cb38e81fb537b17d651da2585f50d35c6d89d
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/48/3cb38e81fb537b17d651da2585f50d35c6d89d	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/48/3cb38e81fb537b17d651da2585f50d35c6d89d	(revision 32122)
@@ -0,0 +1,12 @@
+xQMK1õº
+ûÆlnÁRP(bRýi3¦ÑlòQEñ¿;ìn{PÁ%lÇy/o6ÊlàúêòÄ²í+ÆÆXÔ>8ÄÐ2Û¼ß6VE!µo¤æÆ¸
+*î¦*«R¶Ö¸ð[²ydöÞ±þ7yÐxJZÿ¤/õ³q-
+Òèä«*gÓiUÂÖ;éVØ!´LjØ*æ==AÇ/l¡IuéwËbØ
+#:«J7JnûVËÊC
+%|¨¹|ý¬ÊurÏÂ1!2r¢
+%È<Ð
+ºC/t\{Öy;z7HÊ`$Öv4¦:Á7¡ÆÝákPé.·«=:'9f°WÜÉ)¯<»¥Êäõ0O0§ÁÃi|KÐè¢Í`½Z¬à.s!P££¨1R¬
+|¬Z$¯ÍO±}
+Ú= ÏõèæsÐQ)8;§=vð5cò@
+|ûa8õd+
+ã|mPçW]Fn1m´¾¥
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/4f/47becf6f016546d07bf87154ed043ce89b9abe
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/4f/47becf6f016546d07bf87154ed043ce89b9abe	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/4f/47becf6f016546d07bf87154ed043ce89b9abe	(revision 32122)
@@ -0,0 +1,12 @@
+x?OÃ0ÅYOqÍ¥l  J,L @1¸ñ%6»:;
+â»svRZVHdJ|Þ{?gfÜ
+ÎOÏ&#xFK
+A¥
+BpP*,ß (m¥ãTüD<&YÆÔp«t©ºº\ -¡KVö_·7× Ëf
+D
+wpÓó°(Ráå¬X4¶tÖbPn5|f Èµ¬¶uó{¥=¸Ù+$ë:
+`üè"Túc*eù¦Úå(çoê}dEÐ
+ä¶+4#è÷røÆw'sÓÔcm#)!%ñXjÈë¾~Àø¬%gkÞëÚ¢XØ)¥	ã¯¸½AA(vÑèËJ×w½ìÄñäµâÜ
+)hôÉoRîïÌ+×	Î%Ìp=Â¹¢ÏáÜ
+¾»DeÃ[$ÇP·K½¯D¼Þ~$þE
+gãm aKüGÞòwvègO±.CÖ=ßt
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/4f/759134895bdbd7c3b45eed1e0c9983ae544b7c
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/4f/759134895bdbd7c3b45eed1e0c9983ae544b7c	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/4f/759134895bdbd7c3b45eed1e0c9983ae544b7c	(revision 32122)
@@ -0,0 +1,7 @@
+xÁjÃ0
+{Áï c{Ø¥£/ÐÞzè
+8xµ-c;P(}÷*v
+Ê0Ð'ýrk©
+Ï¯Ã&èî¦¢>åêSÁNñIßÅmÀxB
+ãÅü»ÿ´ý7E§³!_VI±o) ëh°çÁiã¡³:%àöRZª\n~öR©µ¦[ s¹èT.ª2ï} ¦¦Ø¤ø¨ÁBÿå¶µ%
+°eÂ<%MüqÛR>Î9[úüÝ"/Ïõ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/50/fee0538b4803074877bfc407deea87fcf58841
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/50/fee0538b4803074877bfc407deea87fcf58841	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/50/fee0538b4803074877bfc407deea87fcf58841	(revision 32122)
@@ -0,0 +1,70 @@
+x½YÛrÛ6í«ô:T&¡Ó¾tÚD8¶Üªµ£¥¤}ë@$$!&	-g2þ÷î.@¼ÙIÓÖq<6.½=»ÖZ³¾öã7{
+]ó­`§*3Z%ÐÏÇcî6ì¿á!?PÜÌ'*áïÏï]r!s#2Ô/hnDz¯\Ð/Ä[H¦<9W:åfù1]«$oU'Zó(¦gÎûúÝùAfÛð×Å
+Í|Ë3Q{Bém¨ö"ËÂ¤|~Py^rUÂÖÄÜð¯ø¶x©bó,VJÿ"½Ð4R	³ó°å¶'jë.ÖDTÛó^C
+Kc@sü£Úog. pÉR$°GéùRÉkukgÆÇÙcÿOçl£43;ì°Ñíµº±Èi6RiZd2âè6¶æ DBpkÇBÆ³fb¹Ù
+Xb7dEyô+^
+
+,¶º1ø>
+÷Å:H-_f
+[öi<
+íµ¼á¦ïØ
+þ¼^áÎ
+¸a]º¡á¹m|W+:îeyÃ×£ú8	vò¶âÖÓei4Ä¯ÃS1Ïö$XÓû&Æ£ÙÉ<$ÙeâÐõz0ãì:ÏX·Ús
+]ÇãÇÀ%eævñ
+"úiÅv3è
+<¡xÒ
+èh
+V 
+KÄ4f°Íbf]£²§8æiâf¡ãÓ«Df×ÌSí.DqÇµKo$]U	#¹	È/j¦Y$ä²/Â\·ê ôkR­4<@wâ	}sòj¯¨ý>ù8 ªoî
+Q2
+#V:ug
+3¥qÇ8Ô»Ge!¤+z¦¬ ;D$ÄçÀb
+¤¦Ogh¬,Íc¶Àðsµ
+¡±¸î	&Òñ
+×sÊ³H$C¢zgÿ=÷y6è8·fÀe
+
+v<æÍ
+:ÌIpAùú¯A9±Õbqñzñ»/W³7³«%
+8(ghÃÀx+!î
+êªbâêé
+Y­óñh£.:6´%q¡ô_H¡ÈæÌvoe`"_-nÖPÈ!+\±¤JÞ[¡¡HE
+x(´#EuÙ
+·
+ö\(ÂÁÄ2íÈOWrùí­/£TÆ\©¯+@£0ÄÙ{Ëu"£
+aéø$
+ÒüÇý÷jøµ³ur,ó½ÊÁF¬«PY=Whj¹	4Ò
+ÔCù:áoôSìÔJ!ÇRòðÐSfþC<ØþÄÒ?Ô×º?¦~
+aXR$b;ï<
+¬ì9a´v?2¥{ó1°o¿mK»ö*;*µ*|¯Ôbyø5ÐB
+!Ú^@ÓýØâ°Z]#^¼,ÃÝ­>m
+#zØ*É·ÁQ¶
+=iRËp5±cs­
+å>«mb;Çi±éVÃ 0Ã=í·Ö ßm¹nr w·4ý-rþ/âp³ìDÆ8µ¨Ð¤Bx×ÚÅ`­¥
+÷ÝjÚ#ºð{äþ8RÇx>á¡2ÄY§|[`<ÜG7ÔïÚ'.sàägé´.g³ÓÕìÌÂÂº¨âw¥¯!ÝÉÀúéÏ7Eºú\«ÒKÜ¶3¤L$ZkWL¼vXç
+>è ¦ñKÂÑl%ýt«Ð@HøÃ5c"s{yO	-£¶È3V(G-Ç[C&¶wõùµ¬MÑX,Ñ×ñzá{^ÑÿæeTD\Y7}ßûã_
+-®.=VRz(þ*x Jxà°£áÕbqébàoXñí;9sÊ,ãPÐãº¢ÛN
+ý9û6p°mêôµããcfSrqU·0ÚÓÁÇp(èíöÕ÷ñ¿ï5ÔCÁ3Ð+NEÞd¦¬"×
+Lâ9òÀò¦}çA
+ºY0yÒx a~
+©ð
+ÈoB¾l
+-Å¦5ÑVø:>ÖL^]âO<ÍÁû^ó±ÀT7(Ï?ÐëèàÔà:Ä¾
+
+,cZÇEÂÑªfè5j8çÝR\yww¯	
+JíË,*»OowoïY"OòÞÃ|§=xhu&øñ
+]@¯F¶²
+'Ï­¡ÒÀ@1"¯îävË(XGOPúht4ÓZi(ëþA³««ÅÕ³åòäç585'&ÐµZ/4|¹Ãg8èéÄ"+ÈNÂµñ"ºµV-¨{#l\HìCÝÈO¾Ûì*
+ì×!Ç¶ÆÀÔ{Ç9¹et¸¾¡bö¦?PÅù|µ¿ùùA¦p%×s´{ËòvWúyñÛSûOO×®ï±$hÝÿn7wswgÔÃ
+;ôÿ¢,?Aê0t£p$÷~+d½Õ¡by¸¾°!ÁãUÙÔêQ9~
+ÞK¶mwÌ½ÎÂÓ?¡
+kÂïõdÂ´0
+Î©PÃsëûE
+Æï
+ý°p\ 
+õ­EªÃç
+zxí@ÑkàÜ
+ä^äK¹Í`{TW ìÜO »özS
+í@ÎäV¡A(ý~Æ&ð.ZíÁGÓÎámÛéÚÎ°¥ØÃðÄ¹*àõZzªeS{õ=¦µVâGuTÄ~"òb
+@
+Øwl
+öÓ¥îÒøýDu=¡WªeõjSÄ¦¥ÚÚ¡3¡Sm[oÔBQTS0	Ø×jxò°ÀÀuåWä8Z3wê¸®	Ør§]cºöJ±¿ÇÂ6
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/53/5d24fb90c34c64347e10c7e17756c590e092b7
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/53/5d24fb90c34c64347e10c7e17756c590e092b7	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/53/5d24fb90c34c64347e10c7e17756c590e092b7	(revision 32122)
@@ -0,0 +1,6 @@
+x­ÎMNÄ0
+@aÖ=
+÷ÊNóÓJhÄqÄqi4Ót¸áô ÄX~§ÇÇ¾³¸'m"°rv1ËHÑùÀ{ôÆÛi&Â9_(­a¸Ç&U¢Ïv¶Ö%ïàdÍIEÌ'%x;ÄS·£Á{+WøhgçíáU~8~þñ­$õ|áMöZôkÌr²Î`0a
+ð8ðï³ÊÿÔKÌ¹Ã½I
+tª
+µC¬ò£Æ½0¬ge-G·¢á3_¶
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/54/75ed734a68a35ae47b4fa0d9e7c7e23b1959f7
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/54/75ed734a68a35ae47b4fa0d9e7c7e23b1959f7	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/54/75ed734a68a35ae47b4fa0d9e7c7e23b1959f7	(revision 32122)
@@ -0,0 +1,5 @@
+x­KjÄ0D³Ö)zbÔúØÍs´¤öXÌÈ
+$Â>NÈ²|Ô«{)¹òú¥WfHÝäÒ5#;å4YoFEHµ5|¦âA·Á¥¸"ÄÑ+)µ¥`4[Cw´$%É:úºW¸Ô|Ïz´¸ÞÞùÄáúMIÄ¡oqå²åþ
+ÏF£G¯òø»¹óÿ´yÉ_Ü í
+!
+×s.;ó^%ßD±2õ¼oâ&Z_E
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/5a/d15705e2148fd627ddfa6a4ac3d89478c354b9
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/5a/d15705e2148fd627ddfa6a4ac3d89478c354b9	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/5a/d15705e2148fd627ddfa6a4ac3d89478c354b9	(revision 32122)
@@ -0,0 +1,7 @@
+x­ÎÁJÄ0aÏ}¹/[&i; e/GÅçéd²
+k¥*øô¾Çïòósç¬à¬¿ÓUF¶RbÃmêcì
+÷Á&G¡c
+»ÀÞsu£UtHäØ4cKMë8}J#³[q1¢*Úu*+×|
+Çußxº<È7ëË/O[c¬­u?ò$óõ³2õÁ{Ø#
+5¦âgÿ©U¿	-p±æwÒ\û(`¦o|dàùéõür
+wÕ²T_ófþ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/6a/8d0b34ce4bb041eabc791828c941d43820ad02
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/6a/8d0b34ce4bb041eabc791828c941d43820ad02	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/6a/8d0b34ce4bb041eabc791828c941d43820ad02	(revision 32122)
@@ -0,0 +1,5 @@
+x­ÎAÂ 
+a×böF°$Æ¸1c¨%PØxzzÿæ{ÖS%Í®aRVÎ%µwÁ
+èG"$rnZ{a«óZàZÒ·Ò6SìÉï¿¼lJHÉk;Ð
+ó3Õñ
+µ¦Kf½B0ú|¨ñ?K})á¾,{6^Fz
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/77/d621f8efbbf733f75128fff4aa7f889662f9b0
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/77/d621f8efbbf733f75128fff4aa7f889662f9b0	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/77/d621f8efbbf733f75128fff4aa7f889662f9b0	(revision 32122)
@@ -0,0 +1,30 @@
+xUßkÛ0Þ«ýW
+}rBqØ[×(­F_Zö.Û[,YN(#ÿûN?JñÊ²A[Réîô}ß}w©ªàãÍÍ§«²¡W
+»<çý ´¥ÛR
+(G£MÏòû²aöÃ
+k)x³^ç°ûûÒ!Ô##Û#0¸Gj.«Ë¶3îÙd:¥[=Ñýlò|*ÁëPéQ6Jéo®Ê¯<Ë³Aó=3ôº/þ4õj&¹¬GgdF?+Ëfª
+½yèxÝkKØ<Pé.Øý¹f}üøË³¡ÂæG
+.M¼"åÆÑòø
+WÇ^ÝåÙÑrý
+ì20Ù¥
+¾lð °
+Ò
+WSaØp'µ.f}
+ÏFSß]
+êÉÅ*zòÍ,²
+Bh
+êUÂ	àUÐh&-
+úZõ@2Q¢`ë#!
+6é
+ü©u2j
+7ïë$k+£
+
+ªö&_0ÒbÔZx[Ô©âÖ[)¾beí°
+
+<"ýS8Û¥`KÊÿÎÄÅj¡éó4õæ0ÿÇ|ìoàÌþK-rHtj²;ýÅw»áÖ\]ÏFy·%#µ`÷²G'bvj1mµÙ0qØÂ(³I	¶½ÄéÌ
+Åé(Æ[)`
+cuà¦s¾J]üÈK
+·8§8c#ÎáÂ&Í7C¨4½_´34ñ
+
+µæF75öl
+ÔvúÝí1¿ô)ní=9#<öt¥@®_úÁ¼Úç¼.|ç%$n·rÂÍÖ<\ô-¤Ov#º­>_í¸;¿Æùo)ZÆ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/7a/e73507acafc969878442acc19df9944762b6bb
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/7a/e73507acafc969878442acc19df9944762b6bb	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/7a/e73507acafc969878442acc19df9944762b6bb	(revision 32122)
@@ -0,0 +1,10 @@
+x­ÎËJÄ0a×y³{
+""^Àµ¸ÏåÌ4tÒHRñé
+ÄGpùm~þPrN
+$N7½B¯´´ZOjr<Ha0
+ÇµâÄ¥
+Å8Köé*m
+DGnò6x!¥V.¢§9xç½ÑÑD´Æ1·÷¥Tx®i
+×º·°¬îèÊñüÇ&ó±ïCX(o©î«ë@iÜ¢@dá÷¹ÓÿÔØÐJ&8J]¡lK¤
+
+¡ëÔà½ËcùúHtÀúo/¥æ'jé¼Qe?ó©cl
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/7f/998f8bf54baf353996c0b33ed64da9b94c3c0b
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/7f/998f8bf54baf353996c0b33ed64da9b94c3c0b	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/7f/998f8bf54baf353996c0b33ed64da9b94c3c0b	(revision 32122)
@@ -0,0 +1,22 @@
+x
+OÓ0Å¹Öbn´=$8 
+iÅ®H»Z$*îN2M
+OdORÚïíô»­
+&óâù½ç©
+Wðáý»7®éá­86ÝF)êvìÚ´^
+¢ôz(~²ï'MvóÍ`Æ¬/È6Ì®C3 +¾¦âK*¾%ÁyÖ7h.éËiÎÂ½/>Ù6¯:8¡ùkaw£¿e6ø÷ÜQåz­`
+ñ½7Ú{Ø±éò`ßQÝÁàx¢}êÖÜ÷£¥Z
+±
+
+ehã!ñ×Ü]bmÔih·CV`J.£ïô(]­Ã·ðJ
+ce¨:aågoþª
+Z
+&-·æö1ËÍYy	9TÇ
+Ngd¹Â.Ïø¤¸ÊüEØh&¿Í¼\è
+täÁâþ:´å*Ïº
+õ ÎD]Y
+òAºPæÐé³!PÄE/âÚë¦ÙrÛ| m¸]fd÷%]Çì~bj èÉ
+Zt~6^ÛççØxµÕ(vÉ
+åá"m
+,i«? Ãú¼°£1«8P½¨>
+NÙ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/82/2ebf74b3bc5b9a9a7642e55a6d4c86c2a7f981
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/82/2ebf74b3bc5b9a9a7642e55a6d4c86c2a7f981	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/82/2ebf74b3bc5b9a9a7642e55a6d4c86c2a7f981	(revision 32122)
@@ -0,0 +1,3 @@
+x+)JMU046g040031QðÌKÉÏ/òHÍ)H-òÍOIÍÑËJ,KdÐâ·¹äR=«$ëü³YM{³Óþ£èðI-©	ÖüµéøvË+oö¼xÉtÌª6$1Ý9±$1'?
+bl×ÝiÍ~¨ÿgyíÄfÅ?2u
+±_£è;p
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/84/095ab0274a64ba659704e35272d7407d967626
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/84/095ab0274a64ba659704e35272d7407d967626	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/84/095ab0274a64ba659704e35272d7407d967626	(revision 32122)
@@ -0,0 +1,24 @@
+x
+T]oÓ@äµþ#ª8|$ BÔ ÒD«ª{c½ÜYwçõ¿³wNDRññïîÜÌìlÊ,ñâÕÛ×O§	N1Ñ
+1¶"U
+tø:]|C­òÔð®©kc=GÖ¡­H#·$¼Ô%|EÒÂ´2â`-j\M½µ²¬<zã>^>ñ8·ò
+¶qyu/¸+6f?[[SZ±
+VÎ¬|+,½ÃÖ4È
+¥B:oå²ñé!t10kSÈÕ6ñÇF,YÁ];Uüqy}KÒd
+Â¬Y*ãJæ¤
+AðÛá«¨À²
+óÅbÇY²Ñg Éu
+»Á¿ñjÿÈñ
+ÆF:=áy¶§}f¼
+Ll?ú£¿llPEUÉ2[©V²jÔYÄ`_p;É¾Lo2®ïp;ÏG×ÙÝ»}e¸J^]Ð&×µ,
+¶Bû-+ßÎçã/<3ú<¹dw,ìú|±ÀÅtf£y6ß\æÝÌgÓÅy
+,Ø(Fÿ0ze	y!ULI¹ã;&¨
+TbC¼èäé	ä¡½½(BÎcÊd~ùMVÐÆÁ1Ï÷÷õ»Á mÛ´ÔMjl9à4$¸ÁÇ°AÔ"¿%a#©uÃ$a»Bþ¿øºs~ýÜxoôp_ãJ3Q
+g&eÚÕtùrÏÓ¸ènªc)àjÊå³xØ
+á½ÈCùô¤·ôI4¼A
+*mÃ;|»V3'×{Ê*
+zÚOr%Ã«äwoÒOºpØ1ÇÏä$9©­Üp 	t¼§
+ºº9ë
+Q6Qf!O÷)¿zXïíêÃ{ïvM(
+E8K¾±!´ú×!ÐÆÈ÷{üêúc`ø®<<±a½Ã®Ôÿýè²×ï5£2Yÿ¯ÿ!I
+_>5ÔÞ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/8f/e1c75145b1728fe6b38640d5a9254a990e529f
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/8f/e1c75145b1728fe6b38640d5a9254a990e529f	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/8f/e1c75145b1728fe6b38640d5a9254a990e529f	(revision 32122)
@@ -0,0 +1,111 @@
+xíZmoG¾¯Ò¯`ü¡w^w¸$ª*v¢ß ;(P¬µ#iÕ®º/¶
+Àÿý
+3»³ü¤½/wmI;
+É!r8ºH²
+úáéÿøç_»ôÆieùÂ$+S\PH¿
+Ñ*©æßÇ)Õjå%U
+É
+ºZ¦¹	Ë8S¹0qNÙUJ±ð¡e¸*æK£lµÎãù¢¤Þ¨O}úÃßöóø#½Î«bºøJÏXvgó<\²³Ü*²Yyææ­³¦aJ¹â¢Ìãª4¦Ñ ËiEñl-ð°J#¨©¨4ù² l&^¿¥×&5yÐiuÄS:§&-
+
+X
+Ñ
+2âù,Å2pÊYºK&ÆxN°>ÓnËq²\Äé
+%
+ó¬xb¯)	!ËÚjFÓÙ
+J-Àj^ÅIB·dV%»Âv¡wãó7'oÏixüÞ
+'áñùûç .FÍ%¶u«$º0p
+¦å£ýÉè
+æ
+
+ÏßC:ïÑÁÉt:Go:};9=9ÛÎ`(pwz&LÆxÌy
+. `Ñ"¼4Øè©/!^HSø3ïí¬
+KdðGVÂ4ùÆ3J³r
+ÈùbQ«gÁÕÕU0O« Ëçx{B1xÉû1èvWáôc87ìZ&yÞíÂ\ìÿÂË0¨Ê8	0ÛúÞø|slãñuP\!T_NÄ
+NÃÔ4<±~MáØÆàCV,£0NkÞ·ÐL³å1a:7§9Øäåz¤Oï
+_^é Nà_HngæffrNÍ~Zæë39ç÷ÑÎ«8bìé¼°½O_>ï<¼HÌQ{'ec1°F  xrñÁL±§ÝÁc	ËQ#ø-
+L]OÌiRE¦pÐ'ØvG0«Ò)~Á M­LÆ?
+Â3'3Ï+ëPSY^E{#ø,j|êv;«<¾x.Én÷BiçÉKJøE½±¦S`G?
+Õó76æÚj
+Ee8/¼x@aÊÀQmª¯ïvØ
+h7þe^MKhè,ùé§$N?ÚÌãivc
+
+°,8­r¸W)|±Ù O9h"Â0µeÛH{ðÌtTn²×§OÝNñ"hñß£§ÐBj;Ò
+¥æêàñ²×¯©Ø0 À·¶±$-»	Õ
+lÖXíÈÀ%"VS2-²%Ø`B§ñJk"º¨â$bc
+ÂÍVóÌ$Ò9³ó"µBf±¹6SN«lÆ¸Nä«ß2NÅ_
+N#õ$ÙdZdæex­£6RpiTæ§UÈ½æÁðlè#Ê8w*´&9Ö<ijâY¹)«<¥,K
+$sÅS
+"UË-_»my bp¨ #¨w¦SSH¬m÷qLá?[kÚEcÇ©·
+â»Ïþ
+ßxÖsô¢=ÊÃ
+p÷
+Ùs_ì96Ïã'O0ët¼@·6Tßô÷bqÎN§V.£¨'ì/Ü
+P
+Xâ!¤¸+
+zI
+È~Ø#ÎQg¬¹)Ï³ù<1:Ôó'bþz°ÏèÑ^Z%Õ
+qiÉÏ±¦"
+Æ±}h#Iõv~ÝQ¿}&
+þº³÷ëÎÎø	ïì¢B	óéÑm°K3i¿X;Êï³ÌF ¡|ÝZñ3
+tS(iXß
+¤õ¸D%²"EMbRNL[1GòÖ¡8EÙY"h·±ÄfÎÎ°.k»&ÀÀ¬°Ó¦4×%ÜaFKÇ&îÎª«R79Øn÷ Û©ó°3é
+ÉuµY@sXe¸õÍê¼Äî¶uå)a÷Ö@'þá¨ÓÕ^íÛgB6R½¾óUieß+xõí¨SË,ÂOÖíÜè«}©%?I5aoühd¡àGA .âb|HJ#«¤Ò%÷öÄ:µ¸jÆò
+
+*»ÚJçKuc)gìLç@H®!2¶°!"¢­4^Ñ Æ¿:Òi)8ôwiG¥ }X3@ÜîìóZxã³ÙLN&¿
+áP2|½o½MD,ªMµÁñìXH[Ãð^
+®j!èÁç­°êðYW¾\Ý]Ðª:[ÕöÃW +/v®Þ«_ªÎ_
+®,æ·ìýøªÛàUG¶¡«lW
+»[-Á´êó;µeJ
+?
+ê8Nú¬'
+­Ç{¶lBz¸"ïGWáu¶
+HóèõõA¸º
+V¸ô¿ùÔÛU-ÛXÿ6@UpjÔ³?k4dKlCD<Ç¯
+©isSsAiÈ';wr«áÎUÎz]Ëv·×øî Ê
+1b¬gÏI³f@Êm=áD´6rÐkkM¿
+KóöáeÂ¡cß ¯ÆY®^!ÕRçÀ
+ÉùÌ2^¨Ë;npB¤O	gí)Y
+ø|d®¹Î÷|·§Õ
+§Õb¥R½©wl
+dº,§ïü#ÈíR´O"Y
+±üï¼£¼
+D6Î×þiÍ\
+dAFPÌAyæÌz\-/L~gK
+Þ¬3OÅ¯¢ÑºWC_
+`ì°~-§¦§Õq@54[¥ç#¦êüÝ®ÅG°HeÆuWôm/ýäJWê"Ò¶òßaRaÙ@ÄÑDPÛ#©ëbT lÇ;HõwmðÈG'¿í>ÜeÆÇ?gÑ7ãWãã×ºfStéâj³¢
+ó²xí§¶XK»ÿ¶þ¸5[6W¢nE)ì» óDëT¶<µàa/k6a¸î´fnr×_ËÍûvsðù­¬ÛÃ-
+HÒÂ
+ÔõýýsàmZN!ñaF¶à­v>Z°z²Ð]êÜ6UGF?Wg"m&
+}Í© ¦k8è
+úÉ é$¤be¦ñ
+WO"¯6Èä±:Õ-îpØªF ç=¤SFh¾½Bë3;lUö§mâ:uÎ°KÈrùØk¡ßz
+´eé
+Û2k> ¡¬§½°ßÔ^
+«|N9?5oÛN¢9·£­É¼Ûùø¦¬Z®À½¥'(L¥ ñ]Ì"q'Ùm£º
+|(V
+(~
+X
+='\U¢#A áRR;püeJ:
+ö_>íÓwßQ3BP÷s[L¦µ
+²!Í"}N
+Ì	Fn&
+öÞ)!î{L'¾´¾¥N¾í3¹#ÓÔ^ÇÈzwrËÛli·/n¹âbÊE½]µµ1¡ó_6ó
+
+ÓrS´í. Ô}É
+uM|*zø·í.TÜ
+¨SæZãMñkAË6Ì£Hã½0	n¸on-õØû,¡SSðEºÜ´¾®)¾
+`³
+Cwa£®´8*¾`ßªÀÅ©-M¨þ@
+c9xØ
+ÂôþEÁ
+ML4Õ×2&Q§«j[H)39Ï zP{Ý]Ü»£ÍK	W&vñÈvÑVÆÖôîçnÝÎ CìëlwÜ§í/WåW7öq[Ð9R[qæh¹X*ì
+&®âDÑ¦ø=ïf¡zW ^Æ>Ý
+¤çì¤%éñ1
+óz­64:WcÜ!õe¦Ðó³d¿¯\leù¨U³¦psYúÁ"T8òëvd-ÈÃx«+C/PS
+Ê(Ô±íõ+¥x(ö a¯¶ymÙI¡mh²¾o×Ê¤Ü5
+©DéÎÄºaÆ-ËÙÄDï
+X|ëÝw¯ 5·:Å.IrûÙ÷RÃ¶tµÖhJØÓ{³ñµö3½^vÈ|AóòÞy5$ñÏcú¯¦] )ù>ü}µÛØqï~%Ü|-Ô|; ü?)
+ßÃvüjìúáË_ð¶° |U¿¸áª5
+a÷¥]wôp_Jaý¾¯Km¤,Ô³¥Yâ;WÌ\Ó~s @¢qLý~úÞVùãRáNåDÅl
+¨\ 
+×Ãu½Õ½éþªW*A
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/93/9aa3c02b6a99263c50098ffbcc3b6e3dd91d0a
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/93/9aa3c02b6a99263c50098ffbcc3b6e3dd91d0a	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/93/9aa3c02b6a99263c50098ffbcc3b6e3dd91d0a	(revision 32122)
@@ -0,0 +1,7 @@
+x­AjÃ0E³Ö)f_bFÒH² nJÎ!F±	N$CÈékBÐÍÏçÇº.
+÷^EÀÈÈ
+86Ym¨TòÄ1Ïl
+!JÀ"E=S{g]Þ³)"[bOhä
+!8Ï.¢`4SPiëó£ÂO]np©[ãùà$»×?ýnµ
+úväYÖûÒßC3hrDÚð
+QñçsÿYSç²¼¤ÁÜLÛUýþ[U
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/96/cef5cc2d715f17283309eb01b49cdab0a58852
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/96/cef5cc2d715f17283309eb01b49cdab0a58852	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/96/cef5cc2d715f17283309eb01b49cdab0a58852	(revision 32122)
@@ -0,0 +1,3 @@
+x+)JMU0´0f040031QðÌKÉÏ/òHÍ)H-òÍOIÍÑËJ,KdHqÑÓ,¶»&nsT\McÎÅ¯(:|RË`jË¯)þx¿û»ñ÷@ÿ_VÕwLKú¹ª6 (µ8µÄ9¿4¯$µbòßhë
+&¼ß6°*4¯Õ~íýï*TuHbºsbIbN~:Déb¦ o¶s¼R
+)ùg"ÓÑª~?L¹
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/98/22f251cd7834b115b398f5d58e632063393c33
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/98/22f251cd7834b115b398f5d58e632063393c33	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/98/22f251cd7834b115b398f5d58e632063393c33	(revision 32122)
@@ -0,0 +1,51 @@
+xÅY[SÛ8Þ×äWhòdÔno;Ýv(l¶°C¡ÙåagD$n
+ËcËÃßï
+Y¶Ä4¥It.>Î'éèdëxñäÉó_R9þ$§Jü©EþªÛæ©ÎÈ4ÑXèlêT%¹É2su>Öq
+
+í¾LBÕFå
+åÂÛ¯jH]©ÄoÇ&ÒÉq(XO[Ò:2j¾^§0Q
+¨iZ
+Ã2F/Åt
+æ(.
+åFG:¨.ÔÓ"
+'õ4z:Õü­6|¯'*ÖÙ1ÇUV2ÓiÈlº;ÛÛ]±-è8r)1Q"hGúZèK
+ØåLÅ©ÊDÓGQ:ã=YÎfÆðÚéîi©<¿YìyÐËUp{[Ý´ÅÈí8y.xÐ¾¾¦ô
+u´Lh¬wÓít;i]I£Ä_d¢ba'>¿Zu'}©õ¹_£ê
+Êìg_çXà=¦ã¾ì@ÏGþ~ÿS½±zñµ¬=ú¨Æ¦ÝEðUßk²Ö["çjÅ×sõg¤â 1Z#SwBºbgçwÄ³´/AãzêË©i®¦rL/ÁÖM·ÓÉ
+P%0YÐ³tïa	"C&Qo«/z>«z}«N§GF`Þ%eÀHk
+¾`éÉd¬ qÜ»Ï
+÷
+É
+µ
+XÁND¹Juä
+ßúºÒÑ~J"®Y%^t´lc
+VkÄ
+¡Ô'õQËépv<!òïD+|³j
+µ¦ç¤bU^Þ+¤
+¯d\(LO]Å2gê¹­(ædûlPgNì:9ÑeÅ4'gZ¯
+ÓÔòÄÈ×ÎÎëò[ö.÷
+¢lØÅ°Wyy©2gZóæ`áÃ\aÉ~Ö
+	(ùû¼+4EÍ'úd)
+¢Ç#riý°ËÁ<5Ëï»OÀÝêß¦`Éò
+Áøø=±?6 y`¾Ë¢É¾z8iAc|Ë÷b+õp¬ãb\D3CxÙDù÷?quù­¯[ZÓ_M¦*ÎÌF±|µûlã	
+P1àðþ¬·ÝðñàÑÓ¯º¸üÕC9/;;ð'$j*:ËÆXìíD:ZùAïÃéÅà¬Ç;N§ÉK9	6x¬Â*@¬hìè»ÏX¿býxÓÍOì¬ªáà¬¿ÆS¸:<ì[CzÖQ(óÀöY_<ÃE_ÊÅOãõ¶ñ
+k=VC½ÐÙ':ð©h
+\[¶"FúÛÃ¦£©	#vH,Ip)ãÜÂròIdHµ@yJ¯I¼3hþáî»Õ4xuÚO¹¢kÍ·gÓ
+ç>}°Û¯ÚRÞ8"h-W­0_0L¬´ZÈuÉSe´ªóIC­Ù¬ô[Aí%
+Ò^ yhã\L¶h
+Mñþ@¹¬JÐ
+¥©3ÖD:íVÀe1þHØéÛN
+¸F7²qA+F ´¯õ
+îgªv;é7ñòD·¹_{wº"/+àJFuGIn>ò©òlyõx£:./P«ujm½yÉüòqKIw·³õ×HðÉu«Øê;|}¦{×­zÉ¼%M«cîVÎÚºÓ¿2é´ÏN;]~`IGñJºâUÁ/±îüôïá!×­DW!¬¯Kf¶üd;áEWÕp)Ì%¡<_}ÁUæ	Í
+2âÖõé:hÒ+ÃÍ¸¸l_r:v\6
+yÈªü¶ÊLÎEÜ42Z`
+ÂNÕ½á¦F?Ô}1×ÿ
+-SswQxÕ:MBS1@üx3Lï	»Ïý«
+xÜ\àKñ/fÑxFÓ±QÅL%BÚk0Èh4ÙÉ§+ ¼n®b´ÕäRÅ·
+¿Q
+ø_ü4¹Úú:¡{âZ±)TûßÙýlBÝ*ï®>F[Ë~ßò=¡ÿÁªÞ,
+¶ÏcC¦V*ívÈÒ? 9f{ÚkÈ=pâ+ÛÑüÀö9HN¤G§L,d;6cç' T¢w^ý2QöÏiwú üüëÉ'A í0ö¶ýÁá®éÂÌO¨ù°ÅêxA3§«0aeî=ñ>ÇO¤Ûl¹
+à>Á;)æ#´ºmïveÏ{§
+`U{5Òâf/O¢jÞúÈ)²Äé
+M[÷C
+(.©ûßÜÆ­.u9Oðn¸0äÒ#©Jyßª,ïK£ltÁÜ#`²þr¼gêr}¸®f]ö¶û?±ð§ø
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/9f/97eeb16919421d1abb7e8e2602a8f16f231523
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/9f/97eeb16919421d1abb7e8e2602a8f16f231523	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/9f/97eeb16919421d1abb7e8e2602a8f16f231523	(revision 32122)
@@ -0,0 +1,6 @@
+xMO»Â0
+döWxî@
+
+Rø<Ü&"#'iÄ¿ÓVBTò-¾óÝYÖx>]I;E8+@Û4
+®èÊ{,n¯ÂÙyã0	OÞRÞXÃãX£7ªx¨©ÌDq5YOÑ2ËB"y²¥*Ú±¾ïI(<Íùø¾©ZÜLÔe·L
+ªÞ Ùjí=ÿàà_ZJñ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/a8/dda3ac46653a8c027e5095e797d28cb3c1368d
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/a8/dda3ac46653a8c027e5095e797d28cb3c1368d	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/a8/dda3ac46653a8c027e5095e797d28cb3c1368d	(revision 32122)
@@ -0,0 +1,9 @@
+x­MjÃ0
+³Ö)f_j$IB7¡çK£Ø[A
+CééóCÐåï}<^nË2
+ØÒ¡P6ÇRSñìC«ÑiJ.D_Ñ¾&Wu§Îë³x,GÏèFöÆgSBÄ1ÅÀî2U­m4NÑ.Sëpéó
+¾û¾åéFpâ'×?üÚ¬6fý3O¼¬³ü
+Ï`
+&
+&Új­ò{³ðÿØÔJÙ`ÎmÝ@ÈôzAh-oà{ë¢
+µ*[ò
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/af/b900835d78f6055b3f4142f23943a974903303
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/af/b900835d78f6055b3f4142f23943a974903303	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/af/b900835d78f6055b3f4142f23943a974903303	(revision 32122)
@@ -0,0 +1,9 @@
+x¥ÎKn0EÑYE
+EllÚµ²Ê`ñ)d
+uÕe
+½Ñ}'òº£ÌT"P6eI¹Ê:ãâ³Åh
+ÞMdî}¯Ulv_i°BÀÎ Bï|@g}Ô*{«íà1cH=6þ+ÐXOø ZæöZGfÿytJëVÎ[hÝü´
+ mzÀÎ:xWRMü£
+ý+ÒÜ ¬ûBë
+?@x
+TüÂ#äË'AÙshÙ¯/a^ÁëÆO®sÙFø&yûïðc
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/b1/96c64a3418b865f0476d2e21d11eae3dd4b2da
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/b1/96c64a3418b865f0476d2e21d11eae3dd4b2da	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/b1/96c64a3418b865f0476d2e21d11eae3dd4b2da	(revision 32122)
@@ -0,0 +1,4 @@
+xUË1
+0
+FagOá	kÓ_­F"x{ëààü¾DÓ0s|:è4,0Óó¬%L½ÚJz«\Õri±Ä$ï­;¸þÒ½¡;,Q
+ý,*!
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/b4/2dc50a323bb309f13da87759ebb6f5cf5f26db
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/b4/2dc50a323bb309f13da87759ebb6f5cf5f26db	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/b4/2dc50a323bb309f13da87759ebb6f5cf5f26db	(revision 32122)
@@ -0,0 +1,10 @@
+xÍJÃ@
+Ï±ÑXMíB·ºü®*AÄBAé~Òíd&LßËàÂð¡ÄÔ
+à"Î
+Ë|Ã;çLä`x1Àç×ûú
+
+Bdì<4¹ÔEi¥,3KSdaVs¥Pé1v!Ó\ÚpÜÀ]ÀK8j±:WJ«2"
+ã]ëgc3Q*£G'{cfÒÇ6»XGÄJËû*K¤}I*	ýØLE:VÕüsè
+U®Û^m	;b-.Û&­"ÿöOðMe§òVÕ>÷ÿþåùR¼
+8`½Sr÷"8\@çôì
+¯¼sàs÷Ó=l1ï­TèbõØAÐÌê19ØýIúL
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/b5/ddb2a454da6eac5ddeea011e675d0685ac3316
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/b5/ddb2a454da6eac5ddeea011e675d0685ac3316	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/b5/ddb2a454da6eac5ddeea011e675d0685ac3316	(revision 32122)
@@ -0,0 +1,9 @@
+xOOÃ0
+Å¹®Âë	&ÆN ÔGNp@ vp·	Dö¤
+ñÝqÿHL0	Ò¼g¿ÒK	çG«< w¨'H¥ê%plDj=P",VY¦¡UÿÎºÊ%\
+ôF¡
+vl¦¿»Û°Á«ì	¾çcD1S`1T´\	3UÌÃG6K6Èî;n
+Há8¿·./Z0Ä°9 9gpm
+Ý0ÎÖ·ÍÒñ<?Yg³Ú½«T@¾OpµÈ×ÙgýÂLQN²uÕ©61¤Ñ5L¶A¶£Øo
+¹§]F+­7 ì;(é»D}Ú;ô=d¿¿)¸&åÚ»!N¹¢°h¿Qú
+,J¢ßnÍÎ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/b5/f064c057218a3b8625ced8b413fab6a7de8651
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/b5/f064c057218a3b8625ced8b413fab6a7de8651	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/b5/f064c057218a3b8625ced8b413fab6a7de8651	(revision 32122)
@@ -0,0 +1,16 @@
+xÍUMoÛ0
+Ý5þDNIá¹ÃÐlCb;mØe[­,Ü (òßGÊvÒ¢Íí0
+ð·É÷(éqmÜÞ¾y÷þUê+ï®$³Ê2Ý´ÎG¸Å{,º¨MñÙ{Ü}Ó!®ÿë?ß¯
+×
+ÑÅÛâÖ
+¦(1b!?±bË
+.àÆ`
+´ÞÝë ÖÚÎyXUÚV 8Ó¸ªx9¯±5ÿ§ÊwüÎÇeµÝÚhmÑJ¨LtÓ§ÂC6ËfB9ãü¯UQ;+´E@-)½át¦|
+øëøÜ$1×FÛ;8í
+H0érÝ¢Ç\
+uë[R6¬m[kUÃÎu°EÓß»Oó;oÚpIV!eJ=TB)9<aRï,èÈç{XüèÝÊq³c³Ê
+|K[8ÌbJ_,W}xØê¨êE®0(gk¤-sÅA³§À²\Ó.æýD]¡'ç0àù2þ6>6Ék48²ÉCuNDÉª#A¹£0Gî19oLÂµÑ£U4)Àóän¨ACÑi¾LB½sÍ(÷Å)Ä¬;ÐCªöbx/â<ÁìÂ³Õ8Î«ç?¨H8¯v2o5É'jú¢'Ê"j¿Å]8[æ!cÚiÔZW5ÓK9CäÓ %m°3OöØag¸Ñ±³=¯Ø>ñqlC
+øb»f?ôñx´@4ñRÄm;[o¨¸è
+zÇã>Æ\þ`òÄlÐûºzü/çpØa9ÈÉá¸Æsxì¹KfÃaä
+X&G
+nÄEÙgÙ>ûe2L
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/b6/d5d1fe99a17b5ea3f007a5000d1c55f86ca408
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/b6/d5d1fe99a17b5ea3f007a5000d1c55f86ca408	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/b6/d5d1fe99a17b5ea3f007a5000d1c55f86ca408	(revision 32122)
@@ -0,0 +1,6 @@
+x­=nÄ Sû¯lÁüHQfs`x¬ÑXÁs³§
+å)gùfÆ×àú"¬Q1aqUÈTlÑÊ,ÁjÚ.Â ´VZ!
+®a!à\\YXf\¸×b6Räq]ó*FTÚapmµÁ­¥|·£ûíáàO9ÝÿäWç
+£ß0D¯)à'p)ø
+TÞÙÌØà;þOÚ0¦üÜ1k:ôjÚÎ+¢Z`O°`ë0¦â÷#`ö
+¿|G©á%h"
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/b6/fa0b44c8d4c06438629312919de066fb3389e0
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/b6/fa0b44c8d4c06438629312919de066fb3389e0	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/b6/fa0b44c8d4c06438629312919de066fb3389e0	(revision 32122)
@@ -0,0 +1,5 @@
+x¥ÎA0@Q×=Åì
+dfh±Mñ*efBRËÆÓk¼»¿úy²­ë\}8ÕbÚ%Å>Å='ñc¥ïDxd!Ñ¨,º={VèsT
+:/æ=Y
+ä(räI}³"»|Ôi+`rÀÕÊ¼´ßzÉ´äû¨­G#­Ï¹¾[µçD"ÂùA'?jµ¿&®c×\
+e]í²M
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/b7/9343c51ae9d491dfd305948f5ee91e6f385b84
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/b7/9343c51ae9d491dfd305948f5ee91e6f385b84	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/b7/9343c51ae9d491dfd305948f5ee91e6f385b84	(revision 32122)
@@ -0,0 +1,2 @@
+x­ÁJÅ0E]ç+f/¤MÚ¤¸¿c´á½6Nâ×ÄOpyçÞË¾gÁè'©Ì`pbOqì'×k|`ïô­Av3Y¤0A}båCÀ!7iÇ½±>Qóh1äg;ù88f
+l¥Â{Í7ø¨×·Â+7ìÖ?|;Û¥éäzïGïxc×ÖÌÞÂ³6Z«øÛ,ü?kjIùOÀ(ùËáZ¡$xà=J«^b!xg<ò±Â²q^7&ªÝe1
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/b8/dcfb0bc14116920035ab43e54aac498afd20a4
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/b8/dcfb0bc14116920035ab43e54aac498afd20a4	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/b8/dcfb0bc14116920035ab43e54aac498afd20a4	(revision 32122)
@@ -0,0 +1,6 @@
+x­KjÄ0³ö)zbºmëÁd3ä
+ú´l1#ydsú
+ae½EñÊ9§Qo½2Q¨½&áY¼]0v1,#«à¢ 1êH»­\:8D ÈÆXRN°#¢²y!¢Þ.¨{öý¨p©é
+ßõl~¿Zøä'Û
+¿ÚDc??üÎ¹¤þ¯@ËLZOÓ,á
+'ÄÁÿ}îü?¶aMù~ãü¬iÐÌàÎÞ·ÔzáÚ`}­[L?©lÃ/#[au
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/ba/fd440f32ff4fb4b9a5f34be9c707769b4d5759
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/ba/fd440f32ff4fb4b9a5f34be9c707769b4d5759	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/ba/fd440f32ff4fb4b9a5f34be9c707769b4d5759	(revision 32122)
@@ -0,0 +1,7 @@
+x­Î1nÄ @ÑÔbúU,`Æ¤hµMs`Öh×8qÓ'r¯ùúéØ÷*`|Î
+Íê<[
+«uÙûRX#¹PÈ¥9¡öÈÎdõ;7ÅÒlWrg$
+h5ûTJY
+vµ5Ú¨xÊvtxïõý
+i{DxãN÷?ÞÕÆLr¾¦÷VåkÊ|C4
+.Új­Òï³ðÿÔÔ5æ<`H¯íÒcÏ(õhê?nW
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/be/05e8047b7abd62b65acdf7ad6640534e10f563
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/be/05e8047b7abd62b65acdf7ad6640534e10f563	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/be/05e8047b7abd62b65acdf7ad6640534e10f563	(revision 32122)
@@ -0,0 +1,10 @@
+x­ÎKJ1
+aÇYEÍÅ¦ÎäâD\G%©ØáÞ~N¸zÆ%8üÏàð¥uküSoÌ
+#*ÆJO!:0
+8æ^Æ÷
+Ñ/
+"¬5Q¢KÔ1)£
+Cçl:g £Ok÷VïðÑ=MwW>søüË·]¡C?^ÒÄóRûÏùRÆZïµç"]æÎÿó&nó}bàïmm
+ÖrÕ=j¦~¢ër
+[ã¹6ñ
+~`è
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/c5/2b5de96065cf3aae3fa3509f9dad77b9910b5b
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/c5/2b5de96065cf3aae3fa3509f9dad77b9910b5b	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/c5/2b5de96065cf3aae3fa3509f9dad77b9910b5b	(revision 32122)
@@ -0,0 +1,2 @@
+x+)JMU01g040031QÉÏÏIÊ¯ËL-÷÷qÑËJ,KdÐ¿~K­:Ý§µ×ðõ¼]7
+ªóV]
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/d3/88c377f56e8af2a38bdd630c7b0f29e6476c4c
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/d3/88c377f56e8af2a38bdd630c7b0f29e6476c4c	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/d3/88c377f56e8af2a38bdd630c7b0f29e6476c4c	(revision 32122)
@@ -0,0 +1,7 @@
+xeÍJC1]ç)®´ÈEÔ­
+¡E«¥ú§ÉÄLK~.øöÆ\³;0óÍ£GÜ\Ý
+¶÷Ýê®K©Å¾bM|ýpJ¡iýrJ-csH0Ð1Ñ<ócs
+ºý7ó>Þiü[fx´?e&BD¨xLA3_¢3Ñ}Z&§?QþQ
+\FÍ4ý§×·
+ÎWûgÌ×h£½¦ÕÅ2
+pX{ÀÖRa8ÓÇ©:@A}y£aÏ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/d7/db5801fd3ec7503ad981470393bcee0c468083
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/d7/db5801fd3ec7503ad981470393bcee0c468083	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/d7/db5801fd3ec7503ad981470393bcee0c468083	(revision 32122)
@@ -0,0 +1,9 @@
+x
+ÁJÄ0½6O1ì©½<Aô¤
+-x¶CÍÍdÚ]¾»±»`ÚçÿïÖr
+÷w·7
+»/
+&C§X+eÀ'<ëx2nÐ¯O£»¿ðÈ=YÝàðýâzæðÖ
+¨=îGïÅøÁ%C,wA»«Tg1FxO)ÉÅ
+tr}k|«B>	
+ WYõüRckM·Ò«	^vª²OujÍóò×EÍKïÅC0l] ÅºÙ+MlzØ¶®ìÛs<À%®³ô°2§´ð^BztYU+Ù6ÆÿÇÏJÍê÷F·
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/df/ea6bc38281acbcf53b87e073604f4a7cc9e4bb
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/df/ea6bc38281acbcf53b87e073604f4a7cc9e4bb	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/df/ea6bc38281acbcf53b87e073604f4a7cc9e4bb	(revision 32122)
@@ -0,0 +1,5 @@
+x­KjÄ0D³ö)zÆ´>FL6CÎ¡OËcÉF³ÈécB9@¢W~Ï9u¿ôJÔÌ÷Ìb4aTÈµóÑæ×
+)&ÃV*
+¸s
+eD5.£Cv7RDuPñN
+uÐ&²Á}Ý+<jzÂG=_ÞèÂqùÅ÷Æ±±7¿R.©f`ò²zº3xE8øçNÿ³6Ì)åëMb3A·ËÊñòÝè¶ó#¤+>¶s¹¥¯éèi/ð·Þ÷}ëéhÃ7\µm
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/e9/aa45b6b70627503e10f7def847da0ff96ba3a1
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/e9/aa45b6b70627503e10f7def847da0ff96ba3a1	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/e9/aa45b6b70627503e10f7def847da0ff96ba3a1	(revision 32122)
@@ -0,0 +1,21 @@
+x­SMkÛ@íUû+dJz3@C¡!%%5¹¯¤´ízwÙÉ¡ä¿wvWþP
+|*ÛÒÌ¼÷ÞL-u
+¯¿\2¼ùÃ;g£[1&6F[¿ùÀ+>úêNlP9¡Õ<¶­Ü(TWÝ³|«ã²}è'W(©-
+
+ø*¹sð¢-ø
+Áh
+H«G{Ñô`¬
+D¸Jp(±ñ±BC
+82ÁWó»"0áv88e´ØHn	*¾zDGÅªM½èúø[èô²B¶Ä(äÊS¥
+7©KìtËïiìl gú,3¡¢êEÌ
+âÈ¿¦£[ªuU¿¬`
+±bà
+P©è:mÓ¿UQ,0p+x-iü¨e¥Ù)'Ïì(÷Iä½NYò1EFáûwbscäk®
+â¤:E¡Þk,r`E´´Z$2YæcG«]ÒY A¦¼$-"ÓõãÝã­Û )>ÑæÊ¡_
+/±¼HjM¼i;/.W1-§Ò÷nq²<7 È¬H2á4¸GI=yÛ3¸°
+òÓ¤ñ®r«ÝàºáF}BI¿®u©4"÷, ßKoÆÀÛ±ÖOèU³I®w+|
+Á+¨_¤Ç-K¾ÝÚ/»tT­Ò
+
+
+Í
+ææÆM¦ãü1-sövÂßmø9.gïñÿ9Ûâc6ÓAÎÙì®4;ÃÞØ?Ä5´õ
Index: /applications/editors/josm/plugins/indoorhelper/.git/objects/fa/e5fa76ab0efb376f707daa403e87405e397f5b
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/objects/fa/e5fa76ab0efb376f707daa403e87405e397f5b	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/objects/fa/e5fa76ab0efb376f707daa403e87405e397f5b	(revision 32122)
@@ -0,0 +1,3 @@
+x­Î¿NÃ0qf?Åíèü'-¡¥e,ba¾Þ«$AÃÀÓCÀø[>}¼LSiàâî®UUðr¦ÜÑ·
+ý£F²R$è%2ª:7 r¨­8çCR¶IúÖ9P´ÙyF2´µq©p¨å
+Ïu[y¼<ê»ËVÖvm{àQ§¹´¯Nt6øä#ÁÁ=:DÃ¿ÏMÿ§fö$²B.ï·bÕiù,ó(ßørz;¼Âéx4ßUh\)
Index: /applications/editors/josm/plugins/indoorhelper/.git/refs/heads/master
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/refs/heads/master	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/refs/heads/master	(revision 32122)
@@ -0,0 +1,1 @@
+b0f919f6b6e2a49d40a09e83341c843c0b66d001
Index: /applications/editors/josm/plugins/indoorhelper/.git/refs/heads/wrapper
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/refs/heads/wrapper	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/refs/heads/wrapper	(revision 32122)
@@ -0,0 +1,1 @@
+939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a
Index: /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/gitlab/master
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/gitlab/master	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/gitlab/master	(revision 32122)
@@ -0,0 +1,1 @@
+b0f919f6b6e2a49d40a09e83341c843c0b66d001
Index: /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/gitlab/wrapper
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/gitlab/wrapper	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/gitlab/wrapper	(revision 32122)
@@ -0,0 +1,1 @@
+939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a
Index: /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/grait/master
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/grait/master	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/grait/master	(revision 32122)
@@ -0,0 +1,1 @@
+939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a
Index: /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/grait/wrapper
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/grait/wrapper	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/grait/wrapper	(revision 32122)
@@ -0,0 +1,1 @@
+939aa3c02b6a99263c50098ffbcc3b6e3dd91d0a
Index: /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/origin/master
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/origin/master	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.git/refs/remotes/origin/master	(revision 32122)
@@ -0,0 +1,1 @@
+aacd50baa32220335c0434acdf90658d702509b4
Index: /applications/editors/josm/plugins/indoorhelper/.gitignore
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.gitignore	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.gitignore	(revision 32122)
@@ -0,0 +1,4 @@
+build/
+bin/
+*~
+
Index: /applications/editors/josm/plugins/indoorhelper/.project
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.project	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.project	(revision 32122)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JOSM-indoorhelper</name>
+	<comment></comment>
+	<projects>
+		<project>JOSM</project>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
Index: /applications/editors/josm/plugins/indoorhelper/.settings/org.eclipse.ltk.core.refactoring.prefs
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/.settings/org.eclipse.ltk.core.refactoring.prefs	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/.settings/org.eclipse.ltk.core.refactoring.prefs	(revision 32122)
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
Index: /applications/editors/josm/plugins/indoorhelper/GPL-v3.0.txt
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/GPL-v3.0.txt	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/GPL-v3.0.txt	(revision 32122)
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Index: /applications/editors/josm/plugins/indoorhelper/README
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/README	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/README	(revision 32122)
@@ -0,0 +1,28 @@
+README 
+======
+
+License:
+
+Indoorhelper is a JOSM plugin to support users when creating their own indoor maps.
+    Copyright (C) 2016  Erik Gruschka
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Contact:
+
+Erik Gruschka
+
+
+
+
Index: /applications/editors/josm/plugins/indoorhelper/README.template
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/README.template	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/README.template	(revision 32122)
@@ -0,0 +1,95 @@
+README 
+======
+
+This is a template project structure for a JOSM plugin.
+
+Layout
+======
++--- src                                source of your plugin
+  |- images                             images your plugin needs
+  |- resources                          resources your plugin needs
+
+  README                                README for your plugin
+
+  GPL-v2.0.txt                          GPL version 2 license text
+  GPL-v3.0.txt                          GPL version 3 license text
+  
+  README.template                       this file 
+  
+  
+Build
+=====  
+A JOSM plugin is built as a single jar. We use ant to build.
+
+See build.xml in this directory and update the plugin specific properties in the
+configuration section.
+
+To get an command overview run
+    > ant help
+
+To build the plugin run
+    > ant  dist
+
+To install the generated plugin locally (in you default plugin directory) run
+    > ant  install
+
+The generated plugin jar is not automatically available in JOSMs plugin configuration
+dialog. You have to check it in first.
+
+Use the ant target 'publish' to check in the plugin and make it available to other
+JOSM users:
+    set the properties commit.message and plugin.main.version
+and run
+    > ant  publish
+
+Maintaining versions
+====================
+There are two versions maintained with each plugin:
+   1) the main version
+      This is the lowest JOSM version required by this plugin.
+      You have to manually set the plugins main version in the build script.
+      Set the property plugin.main.version in build.xml accordingly. 
+
+   2) the build version
+      The build version is unique for every build of the plugin. It is equal
+      to the SVN revision of your plugin directory. 
+
+ Both the main version and the build version are included in properties of the plugins
+ manifest:
+    Plugin-Version      the build version
+    Plugin-Mainversion  the main version
+
+ JOSM automatically detects whether a plugin needs to be upgraded. It compares the build
+ version of the currently installed plugin jar with the build version of the plugin jar in 
+ the SVN. The main version is irrelevant for this process.  
+ 
+ Making your plugin available to JOSM users
+ ===========================================
+ When a plugin jar is checked into SVN a script updates the plugins list on the JOSM wiki:
+   http://josm.openstreetmap.de/wiki/Plugins
+ JOSM retrieves the list of available plugins and their build versions from this list.
+
+            commit      publish               read
+                       meta data              meta data 
+      Build  ==>  SVN  =======>  JOSM Wiki   <======= JOSM 
+                   ^ 
+                   ==================================
+                            fetch current plugin jar 
+ 
+ Note that you have to manually publish (commit) your plugin jar. There is no nightly build
+ in place. Everything else (pulishing meta data, updating plugins in the client) is then handled 
+ by automatic processes. 
+
+See also
+========
+* Developing Plugins 
+  http://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins
+  
+* List of JOSM Plugins
+  http://josm.openstreetmap.de/wiki/Plugins
+  
+  
+ 
+     
+
+ 
Index: /applications/editors/josm/plugins/indoorhelper/build.sh
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/build.sh	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/build.sh	(revision 32122)
@@ -0,0 +1,3 @@
+ant clean
+ant dist
+ant install
Index: /applications/editors/josm/plugins/indoorhelper/build.xml
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/build.xml	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/build.xml	(revision 32122)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+** This is a template build file for a JOSM  plugin.
+**
+** Maintaining versions
+** ====================
+** See README.template
+**
+** Usage
+** =====
+** Call "ant help" to get possible build targets.
+**
+-->
+<project name="indoorhelper" default="dist" basedir=".">
+
+    <!-- enter the SVN commit message -->
+    <property name="commit.message" value="Inital commit"/>
+    <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
+    <property name="plugin.main.version" value="7001"/>
+
+    <!-- Configure these properties (replace "..." accordingly).
+
+
+
+         See http://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins
+    -->
+    <property name="plugin.author" value="Erik Gruschka"/>
+    <property name="plugin.class" value="org.openstreetmap.josm.plugins.indoorhelper.IndoorHelperPlugin"/>
+    <property name="plugin.description" value="Gives assistance for the mapping process of indoor OSM building data. Includes a validator and a mappaint style for indoor-data."/>
+    <property name="de_plugin.description" value="Plug-In zur Hilfe bei der Erstellung von Innenraumdaten. Beinhaltet einen Validator für die erstellten Daten und einen Renderstil um diese übersichtlich darzustellen."/>	
+    <property name="plugin.icon" value="images/dialogs/indoorhelper.png"/>
+    <property name="plugin.link" value="http://wiki.openstreetmap.org/wiki/JOSM/Plugins/indoorhelper"/>
+    <property name="plugin.early" value="true"/>
+    <!-- <property name="plugin.requires" value="PicLayer"/> -->
+    <property name="plugin.stage" value="50"/>
+    
+	<property name="josm" location="../../core/dist/josm-custom.jar"/>
+	<property name="plugin.dist.dir" value="../../dist"/>
+	
+    <!-- ** include targets that all plugins have in common ** -->
+    <import file="../build-common.xml"/>
+  
+</project>
Index: /applications/editors/josm/plugins/indoorhelper/build/GPL-v3.0.txt
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/build/GPL-v3.0.txt	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/build/GPL-v3.0.txt	(revision 32122)
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Index: /applications/editors/josm/plugins/indoorhelper/build/README
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/build/README	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/build/README	(revision 32122)
@@ -0,0 +1,28 @@
+README 
+======
+
+License:
+
+Indoorhelper is a JOSM plugin to support users when creating their own indoor maps.
+    Copyright (C) 2016  Erik Gruschka
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Contact:
+
+Erik Gruschka
+
+
+
+
Index: /applications/editors/josm/plugins/indoorhelper/build/data/indoor.mapcss
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/build/data/indoor.mapcss	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/build/data/indoor.mapcss	(revision 32122)
@@ -0,0 +1,192 @@
+/* building shells and walls */
+
+node|z19-[indoor:entrance=yes]
+{
+	icon-image:	"entrance_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+
+way[indoor:area=shell]
+{
+	fill-color: 	#EEEEEE;
+	fill-opacity: 	1.0;
+  
+	z-index:	0;
+}
+
+way[indoor:area=wall][indoor:wall:material=concrete]
+{
+	width: 		3;
+	color: 		#000000;
+	opacity: 	1.0;
+
+	fill-color: 	#BEBEBE;
+	fill-opacity: 	1.0;
+
+	z-index:	1;
+}
+
+way[indoor:area=wall][indoor:wall:material=glass]
+{
+	width: 		3;
+	color: 		#000000;
+	opacity: 	1.0;
+
+	fill-color: 	#00BFFF;
+	fill-opacity: 	1.0;
+
+	z-index:	1;
+}
+
+/* windows and openings */
+
+way|z19-[indoor:window=glass]
+{
+	width:		3;
+	color:		#00BFFF; 
+	opacity:	1.0;  
+  z-index:  1;
+}
+
+
+/* vertical passages */
+
+way|z19-[indoor:area=stairways]
+{
+	width: 		1;
+	color: 		#000000;
+	opacity:	1.0;
+	dashes:		15, 5;
+
+	fill-color: 	#a6ff96;
+	fill-opacity:	1.0;
+
+	z-index:	2;
+}
+
+way|z19-[indoor:area=elevator]
+{
+	width: 		1;
+	color: 		#000000;
+	opacity:	1.0;
+	dashes:		5, 5;
+
+	fill-color: 	#c3e5fa;
+	fill-opacity:	1.0;
+
+	z-index:	2;
+}
+
+way|z21-[indoor:area=elevator]
+{
+	icon-image:	"elevator_icon.png";
+	icon-width:	30;
+	z-index:	2;
+}
+
+/* indoor highways */
+
+way|z19-21[indoor:highway=service]
+{
+	width:		4;
+	color:		#ffffff; 
+	opacity:	1.0;
+	
+	casing-width:	2;
+	casing-color:	#000000;
+
+	z-index:	3;
+}
+
+way|z22-[indoor:highway=service]
+{
+	width:		20;
+	color:		#ffffff; 
+	opacity:	1.0;
+	
+	casing-width:	2;
+	casing-color:	#000000;
+
+	z-index:	3;
+}
+
+/* rooms */
+
+node|z21-[indoor:door]
+{
+	icon-image:	"entrance_door_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+way|z19-[indoor:area=room]
+{
+	fill-color: 	#ffffa1;
+	fill-opacity: 	1.0;
+	z-index:	1;
+}
+
+way|z19-[ref][indoor:area=room]
+{
+	text:		ref;
+	text-position:  center;
+	font-size: 	12;
+	text-color: 	#000000;
+	z-index:	1;
+}
+
+way|z22-[name][indoor:area=room]
+{
+	text:		name;
+	text-position:  center;
+	font-size: 	12;
+	text-color: 	#000000;
+	z-index:	1;
+}
+
+/* zones */
+
+way|z19-[indoor:area=zone]
+{
+	fill-color: 	#FFDAB9;
+	fill-opacity: 	1.0;
+	z-index:	1;
+}
+
+
+/* toilets */
+
+node|z21-[amenity=toilets][male=yes]
+{
+	icon-image:	"toilet_man_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+node|z21-[amenity=toilets][female=yes]
+{
+	icon-image:	"toilet_woman_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+node|z21-[amenity=toilets][wheelchair=yes]
+{
+	icon-image:	"toilet_wheelchair_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+/* charger */
+node|z20-[indoor:charger]
+{
+	icon-image:	"charger_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+
+
+
Index: /applications/editors/josm/plugins/indoorhelper/build/data/indoorhelper.validator.mapcss
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/build/data/indoorhelper.validator.mapcss	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/build/data/indoorhelper.validator.mapcss	(revision 32122)
@@ -0,0 +1,29 @@
+/* Validator file to check the indoor data for errors */
+
+/* rule which checks if every way and every POI has a level-tag */
+way[!indoor:level], node:unconnected[!indoor:level]{
+	throwWarning: tr("This object has no level tag.");
+	fixAdd: "indoor:level=*";
+	suggestAlternative: "Delete the object or use the plug-in to add a POI tag!";
+}
+
+/* rules for wrong assigned ways or nodes */
+node:unconnected[indoor:area], node:unconnected[indoor:highway]{
+	throwWarning: tr("You assigned properties to a node which should only be assigned to ways!");
+	fixRemove: "indoor:area";
+	fixRemove: "indoor:highway";
+}
+
+way[indoor:door], way[indoor:entrance]{
+	throwWarning: tr("You assigned properties to a way which should only be assigned to nodes!");
+	fixRemove: "indoor:door";
+	fixRemove: "indoor:entrance";
+}
+
+
+
+
+
+
+
+
Index: /applications/editors/josm/plugins/indoorhelper/data/indoor.mapcss
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/data/indoor.mapcss	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/data/indoor.mapcss	(revision 32122)
@@ -0,0 +1,192 @@
+/* building shells and walls */
+
+node|z19-[indoor:entrance=yes]
+{
+	icon-image:	"entrance_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+
+way[indoor:area=shell]
+{
+	fill-color: 	#EEEEEE;
+	fill-opacity: 	1.0;
+  
+	z-index:	0;
+}
+
+way[indoor:area=wall][indoor:wall:material=concrete]
+{
+	width: 		3;
+	color: 		#000000;
+	opacity: 	1.0;
+
+	fill-color: 	#BEBEBE;
+	fill-opacity: 	1.0;
+
+	z-index:	1;
+}
+
+way[indoor:area=wall][indoor:wall:material=glass]
+{
+	width: 		3;
+	color: 		#000000;
+	opacity: 	1.0;
+
+	fill-color: 	#00BFFF;
+	fill-opacity: 	1.0;
+
+	z-index:	1;
+}
+
+/* windows and openings */
+
+way|z19-[indoor:window=glass]
+{
+	width:		3;
+	color:		#00BFFF; 
+	opacity:	1.0;  
+  z-index:  1;
+}
+
+
+/* vertical passages */
+
+way|z19-[indoor:area=stairways]
+{
+	width: 		1;
+	color: 		#000000;
+	opacity:	1.0;
+	dashes:		15, 5;
+
+	fill-color: 	#a6ff96;
+	fill-opacity:	1.0;
+
+	z-index:	2;
+}
+
+way|z19-[indoor:area=elevator]
+{
+	width: 		1;
+	color: 		#000000;
+	opacity:	1.0;
+	dashes:		5, 5;
+
+	fill-color: 	#c3e5fa;
+	fill-opacity:	1.0;
+
+	z-index:	2;
+}
+
+way|z21-[indoor:area=elevator]
+{
+	icon-image:	"elevator_icon.png";
+	icon-width:	30;
+	z-index:	2;
+}
+
+/* indoor highways */
+
+way|z19-21[indoor:highway=service]
+{
+	width:		4;
+	color:		#ffffff; 
+	opacity:	1.0;
+	
+	casing-width:	2;
+	casing-color:	#000000;
+
+	z-index:	3;
+}
+
+way|z22-[indoor:highway=service]
+{
+	width:		20;
+	color:		#ffffff; 
+	opacity:	1.0;
+	
+	casing-width:	2;
+	casing-color:	#000000;
+
+	z-index:	3;
+}
+
+/* rooms */
+
+node|z21-[indoor:door]
+{
+	icon-image:	"entrance_door_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+way|z19-[indoor:area=room]
+{
+	fill-color: 	#ffffa1;
+	fill-opacity: 	1.0;
+	z-index:	1;
+}
+
+way|z19-[ref][indoor:area=room]
+{
+	text:		ref;
+	text-position:  center;
+	font-size: 	12;
+	text-color: 	#000000;
+	z-index:	1;
+}
+
+way|z22-[name][indoor:area=room]
+{
+	text:		name;
+	text-position:  center;
+	font-size: 	12;
+	text-color: 	#000000;
+	z-index:	1;
+}
+
+/* zones */
+
+way|z19-[indoor:area=zone]
+{
+	fill-color: 	#FFDAB9;
+	fill-opacity: 	1.0;
+	z-index:	1;
+}
+
+
+/* toilets */
+
+node|z21-[amenity=toilets][male=yes]
+{
+	icon-image:	"toilet_man_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+node|z21-[amenity=toilets][female=yes]
+{
+	icon-image:	"toilet_woman_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+node|z21-[amenity=toilets][wheelchair=yes]
+{
+	icon-image:	"toilet_wheelchair_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+/* charger */
+node|z20-[indoor:charger]
+{
+	icon-image:	"charger_icon.png";
+	icon-width:	30;
+  z-index:  3;
+}
+
+
+
+
Index: /applications/editors/josm/plugins/indoorhelper/data/indoorhelper.validator.mapcss
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/data/indoorhelper.validator.mapcss	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/data/indoorhelper.validator.mapcss	(revision 32122)
@@ -0,0 +1,29 @@
+/* Validator file to check the indoor data for errors */
+
+/* rule which checks if every way and every POI has a level-tag */
+way[!indoor:level], node:unconnected[!indoor:level]{
+	throwWarning: tr("This object has no level tag.");
+	fixAdd: "indoor:level=*";
+	suggestAlternative: "Delete the object or use the plug-in to add a POI tag!";
+}
+
+/* rules for wrong assigned ways or nodes */
+node:unconnected[indoor:area], node:unconnected[indoor:highway]{
+	throwWarning: tr("You assigned properties to a node which should only be assigned to ways!");
+	fixRemove: "indoor:area";
+	fixRemove: "indoor:highway";
+}
+
+way[indoor:door], way[indoor:entrance]{
+	throwWarning: tr("You assigned properties to a way which should only be assigned to nodes!");
+	fixRemove: "indoor:door";
+	fixRemove: "indoor:entrance";
+}
+
+
+
+
+
+
+
+
Index: /applications/editors/josm/plugins/indoorhelper/old/ToolboxViewOLD.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/old/ToolboxViewOLD.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/old/ToolboxViewOLD.java	(revision 32122)
@@ -0,0 +1,67 @@
+package Views;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import javax.swing.JPanel;
+import javax.swing.JToggleButton;
+
+import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
+
+
+/**
+ * 
+ * The toolbox view for the UI of the indoor mapping helper.
+ * 
+ * 
+ * @author egru
+ *
+ */
+
+@SuppressWarnings("serial")
+public class ToolboxViewOLD extends ToggleDialog{
+	
+	/**
+	 * 
+	 */
+	private JPanel toolboxPanel;									// JPanel for the toolbox
+	private JToggleButton activatorButton;							// button to activate/deactivate the toolbox
+															
+	
+	/**
+	 * Constructor for the indoor helper toolbox 
+	 */	
+	public ToolboxViewOLD() {
+		super(tr("Indoor Mapping Helper"), "indoorhelper", "Toolbox for indoor mapping assistance", null, 150, true);
+		
+		toolboxPanel = new JPanel(new BorderLayout());
+		activatorButton = new JToggleButton("OFF");
+		
+		activatorButton.addActionListener(new ActionListener() {
+			
+			// Handles the click events on the ON/OFF Button of the event
+			 
+			
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				if(activatorButton.getText().equals("OFF")){
+					activatorButton.setText("ON");
+					
+					LevelSelectorView levSel = new LevelSelectorView();
+					levSel.createFrame();
+					
+				} else if(activatorButton.getText().equals("ON")){
+					activatorButton.setText("OFF");
+				}
+				
+				
+			}
+		});
+		toolboxPanel.add(activatorButton, java.awt.BorderLayout.NORTH);		
+		
+		this.createLayout(toolboxPanel, false, null);
+	}
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/controller/IndoorHelperController.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/controller/IndoorHelperController.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/controller/IndoorHelperController.java	(revision 32122)
@@ -0,0 +1,552 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package controller;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.JOptionPane;
+import javax.xml.stream.XMLStreamException;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.ValidateAction;
+import org.openstreetmap.josm.data.Preferences.MapListSetting;
+import org.openstreetmap.josm.data.Preferences.Setting;
+import org.openstreetmap.josm.data.osm.Tag;
+import org.openstreetmap.josm.data.validation.OsmValidator;
+import org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker;
+import org.openstreetmap.josm.gui.dialogs.FilterDialog;
+import org.openstreetmap.josm.gui.dialogs.FilterTableModel;
+import org.openstreetmap.josm.gui.mappaint.MapPaintStyles;
+import org.xml.sax.SAXException;
+
+import model.IndoorHelperModel;
+import model.TagCatalog.IndoorObject;
+import views.FittingView;
+import views.LevelSelectorView;
+import views.ToolBoxView;
+
+/**
+ * 
+ * Class for the Controller which provides the communication between
+ * the IndoorHelperModel and the different views.
+ * 
+ * @author egru
+ *
+ */
+
+public class IndoorHelperController {
+
+	private IndoorHelperModel model;
+	private ToolBoxView toolboxView;
+	private FittingView fittingView;
+	private LevelSelectorView selectorView;
+	private String sep = System.getProperty("file.separator");
+
+
+	private int lastLevelIndex;
+
+	/**
+	 * Constructor for the {@link IndoorHelperController} which initiates model and views.
+	 * 
+	 */
+	public IndoorHelperController(){
+		this.model = new IndoorHelperModel();
+		this.toolboxView = new ToolBoxView();
+
+		this.lastLevelIndex = 0;
+
+		addToolboxListeners();
+		Main.map.addToggleDialog(toolboxView);
+	}
+
+	/**
+	 * Adds the button- and box-listeners to the {@link ToolBoxView}.
+	 */
+	private void addToolboxListeners(){
+
+		if(this.toolboxView!=null){
+			this.toolboxView.setPowerButtonListener(new ToolPowerButtonListener());
+			this.toolboxView.setApplyButtonListener(new ToolApplyButtonListener());
+			this.toolboxView.setLevelItemListener(new ToolLevelItemListener());
+			this.toolboxView.setObjectItemListener(new ToolObjectItemListener());
+			this.toolboxView.setPreset1Listener(new Preset1Listener());
+			this.toolboxView.setPreset2Listener(new Preset2Listener());
+			this.toolboxView.setPreset3Listener(new Preset3Listener());
+			this.toolboxView.setPreset4Listener(new Preset4Listener());
+		}
+	}
+
+	/**
+	 * Adds the button-listeners to the {@link LevelSelectorView}.
+	 */
+	private void addLevelSelectorListeners(){
+		if(this.selectorView!=null){
+			this.selectorView.setOkButtonListener(new LevelOkButtonListener());
+			this.selectorView.setCancelButtonListener(new LevelCancelButtonListener());
+		}
+	}
+
+	/**
+	 * Adds the button-listeners to the {@link FittingView}.
+	 */
+	private void addFittingListeners(){
+		if(this.fittingView!=null){
+			this.fittingView.setOkButtonListener(new FittingOkButtonListener());
+		}
+	}
+
+	//********************************************************************
+	//*********************   TOOLBOX LISTENERS   ************************
+	//********************************************************************
+
+	/**
+	 * The listener which handles the power button.
+	 * 
+	 * @author egru
+	 *
+	 */
+	class ToolPowerButtonListener implements ActionListener{
+
+		@Override
+		public void actionPerformed(ActionEvent e) {
+			if(toolboxView.getPowerButtonState()){
+				selectorView = new LevelSelectorView();
+				addLevelSelectorListeners();
+				selectorView.setVisible(true);
+				setPluginPreferences(true);
+			} else if(!toolboxView.getPowerButtonState()){
+				model = new IndoorHelperModel();
+				selectorView.dispose();
+				toolboxView.reset();
+				setPluginPreferences(false);
+
+				// Delete the indoor filters
+				FilterDialog filterDialog = Main.map.getToggleDialog(FilterDialog.class);
+
+				if(filterDialog!=null){
+					FilterTableModel filterTableModel = filterDialog.getFilterModel();
+
+					for(int i=filterTableModel.getRowCount()-1;i>-1;i--){
+						if(filterTableModel.getFilter(i).text.startsWith("\"indoor:level\"=\"")){
+							filterTableModel.removeFilter(i);
+						}
+					}
+
+				}
+			}
+		}
+	}
+
+
+	/**
+	 * The listener which provides the handling of the apply button.
+	 * Gets the texts which were written by the user and writes them to the OSM-data.
+	 * After that it checks the tagged data  with the built-in validator file.
+	 * 
+	 * @author egru
+	 */
+	class ToolApplyButtonListener implements ActionListener{
+
+		@Override
+		public void actionPerformed(ActionEvent e) {
+			IndoorObject indoorObject = toolboxView.getSelectedObject();
+			if(toolboxView.getNameText().isEmpty() && toolboxView.getRefText().isEmpty() && toolboxView.getLevelName().isEmpty()){
+				model.addTagsToOSM(indoorObject);
+			} else {
+				List<Tag> tags = new ArrayList<>();
+				if(!toolboxView.getLevelName().isEmpty()){
+					model.getLevelList().get(toolboxView.getSelectedLevelIndex()).setNameTag(toolboxView.getLevelName());
+				}
+				if(!toolboxView.getNameText().isEmpty()){
+					tags.add(new Tag("name", toolboxView.getNameText()));
+				}
+				if(!toolboxView.getRefText().isEmpty()) {
+					tags.add(new Tag("ref", toolboxView.getRefText()));	
+				}
+				model.addTagsToOSM(indoorObject, tags);	
+			} 
+			//Do the validation process
+			ValidateAction validateAction = new ValidateAction();
+			validateAction.doValidate(true);
+			
+			refreshPresets();
+		}
+	}
+
+	/**
+	 * <pre>The listener which is called when a new item in the level list is selected.
+	 *It also sets the name-tag for a level, if the user has done an input in the textbox.
+	 * </pre>
+	 * @author egru
+	 *
+	 */
+	class ToolLevelItemListener implements ItemListener{
+
+		@Override
+		public void itemStateChanged(ItemEvent e) {
+			if(!toolboxView.levelListIsEmpty()){
+
+				if(!toolboxView.getLevelName().isEmpty()){
+					model.getLevelList().get(lastLevelIndex).setNameTag(toolboxView.getLevelName());
+				}
+
+				if(!model.getLevelList().get(toolboxView.getSelectedLevelIndex()).hasEmptyName()){
+					toolboxView.setLevelName(model.getLevelList().get(toolboxView.getSelectedLevelIndex()).getName());
+				} else {
+					toolboxView.setLevelName("");
+				}
+				model.setWorkingLevel(toolboxView.getSelectedLevelIndex());
+
+				lastLevelIndex = toolboxView.getSelectedLevelIndex();
+			}
+		}
+	}
+
+
+
+	/**
+	 * The listener which is called when a new item in the object list is selected.
+	 * 
+	 * @author egru
+	 *
+	 */
+	class ToolObjectItemListener implements ItemListener{
+
+		@Override
+		public void itemStateChanged(ItemEvent e) {
+			if(toolboxView.getSelectedObject().equals(IndoorObject.ROOM)){
+				toolboxView.setTagUiElementsEnabled(true);
+			} else{
+				toolboxView.setTagUiElementsEnabled(false);
+			}
+		}
+
+	}
+	
+	/**
+	 * Listener for preset button 1.
+	 * @author egru
+	 *
+	 */
+	class Preset1Listener implements ActionListener{
+
+		@Override
+		public void actionPerformed(ActionEvent e) {
+			model.addTagsToOSM(toolboxView.getPreset1());
+
+		}
+
+	}
+
+	/**
+	 * Listener for preset button 2.
+	 * @author egru
+	 *
+	 */
+	class Preset2Listener implements ActionListener{
+
+		@Override
+		public void actionPerformed(ActionEvent e) {
+			model.addTagsToOSM(toolboxView.getPreset2());
+
+		}
+
+	}
+
+	/**
+	 * Listener for preset button 3.
+	 * @author egru
+	 *
+	 */
+	class Preset3Listener implements ActionListener{
+
+		@Override
+		public void actionPerformed(ActionEvent e) {
+			model.addTagsToOSM(toolboxView.getPreset3());
+
+		}
+
+	}
+
+	/**
+	 * Listener for preset button 4.
+	 * @author egru
+	 *
+	 */
+	class Preset4Listener implements ActionListener{
+
+		@Override
+		public void actionPerformed(ActionEvent e) {
+			model.addTagsToOSM(toolboxView.getPreset4());
+
+		}
+
+	}
+	
+	/**
+	 * Updates the preset button from the current ranking.
+	 */
+	private void refreshPresets(){
+		toolboxView.setPresetButtons(model.getPresetRanking());
+	}
+
+
+	//*******************
+	// SELECTOR LISTENERS
+	//*******************
+
+	/**
+	 * <pre>
+	 * The listener which handles the click on the OK-button of the {@link LevelSelectorView}.
+	 * It sends the data of the view to the model and displays an error message, 
+	 * if the level-list couldn't be created.
+	 * </pre>
+	 * @author egru
+	 *
+	 */
+	class LevelOkButtonListener implements ActionListener{
+
+		@Override
+		public void actionPerformed(ActionEvent e) {
+			boolean levelSuccess = model.setBuildingLevels(selectorView.getMin(), selectorView.getMax());
+
+			if(levelSuccess){
+				toolboxView.setLevelList(model.getLevelList());				//set the levels to the ComboBox and
+				model.setWorkingLevel(toolboxView.getSelectedLevelIndex());		//sets the working level in the model
+
+				selectorView.dispose();
+
+				fittingView = new FittingView();
+				addFittingListeners();
+				fittingView.setVisible(true);
+			} else{
+
+				JOptionPane.showMessageDialog(null, "Lowest Level has to be lower than the highest level",
+						"Error", JOptionPane.ERROR_MESSAGE);
+			}
+		}
+	}
+
+	/**
+	 * Closes the level selection view if the user hits the cancel button.
+	 * 
+	 * @author egru
+	 *
+	 */	
+	class LevelCancelButtonListener implements ActionListener{
+
+		@Override
+		public void actionPerformed(ActionEvent e) {
+			selectorView.dispose();	
+			toolboxView.setPowerButtonDisabled();
+			setPluginPreferences(false);
+		}
+
+	}
+
+
+
+	//*******************
+	// FITTING LISTENERS
+	//*******************
+	/**
+	 * Closes the {@link FittingView} if the OK-Button is clicked.
+	 * Enables the UI elements of the toolbox
+	 * 
+	 * @author egru
+	 *
+	 */
+	class FittingOkButtonListener implements ActionListener{
+
+		@Override
+		public void actionPerformed(ActionEvent e) {
+			fittingView.dispose();
+			toolboxView.setAllUiElementsEnabled(true);
+			toolboxView.setTagUiElementsEnabled(false);
+		}
+
+	}
+	
+	/*
+	HELPER METHODS
+	*/
+	
+	/**
+	 * Enables or disables the preferences for the mapcss-style and the validator. 
+	 * 
+	 * @param enabled Activates or disables the settings.
+	 */
+	private void setPluginPreferences(boolean enabled){
+		Map<String, Setting<?>> settings =  Main.pref.getAllSettings();
+		
+		
+		MapListSetting validatorMapListSetting = (MapListSetting) settings.
+				get("validator.org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.entries");
+		List<Map<String, String>> validatorMaps;
+		validatorMaps = validatorMapListSetting.getValue();
+		
+		MapListSetting styleMapListSetting = (MapListSetting) settings.
+				get("mappaint.style.entries");
+		List<Map<String, String>> styleMaps;
+		styleMaps = styleMapListSetting.getValue();
+				
+		if(enabled){
+			//set the validator active
+			
+			
+			List<Map<String, String>> validatorMapsNew = new ArrayList<>();
+			if(!validatorMaps.isEmpty()){
+				validatorMapsNew.addAll(validatorMaps);
+			}
+			
+			
+			for(Map<String, String> map : validatorMapsNew){
+				if(map.containsValue("Indoor")){
+					validatorMapsNew.remove(map);
+					break;
+				}
+			}
+			
+			Map<String, String> indoorValidator = new HashMap<>();
+			indoorValidator.put("title", "Indoor");
+			indoorValidator.put("active", "true");
+			indoorValidator.put("url", Main.pref.getUserDataDirectory()+ sep +"validator" + 
+					sep + "indoorhelper.validator.mapcss");
+
+			validatorMapsNew.add(indoorValidator);
+			Main.pref.putListOfStructs
+			("validator.org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.entries", 
+					validatorMapsNew);
+			
+			
+			
+						
+			//set mappaint active
+			
+			List<Map<String, String>> styleMapsNew = new ArrayList<>();
+			if(!styleMaps.isEmpty()){
+				styleMapsNew.addAll(styleMaps);
+			}
+			
+			for(Map<String, String> map : styleMapsNew){
+				if(map.containsValue("Indoor")){
+					styleMapsNew.remove(map);
+					break;
+				}
+			}
+			Map<String, String> indoorMapPaint = new HashMap<>();
+			indoorMapPaint.put("title", "Indoor");
+			indoorMapPaint.put("active", "true");
+			indoorMapPaint.put("url", Main.pref.getUserDataDirectory() + sep + "styles"
+					+ sep + "indoor.mapcss");			
+			styleMapsNew.add(indoorMapPaint);
+			Main.pref.putListOfStructs
+			("mappaint.style.entries", styleMapsNew);
+			
+			updateSettings();
+		}else{
+			//set the validator inactive
+		
+			
+			List<Map<String, String>> validatorMapsNew = new ArrayList<>();
+			if(!validatorMaps.isEmpty()){
+				validatorMapsNew.addAll(validatorMaps);
+			}
+			
+			for(Map<String, String> map : validatorMapsNew){
+				if(map.containsValue("Indoor")){
+					validatorMapsNew.remove(map);
+					break;
+				}
+			}
+			Map<String, String> indoorValidator = new HashMap<>();
+			indoorValidator.put("title", "Indoor");
+			indoorValidator.put("active", "false");
+			indoorValidator.put("url", Main.pref.getUserDataDirectory()+ sep +"validator" + 
+					sep + "indoorhelper.validator.mapcss");
+
+			validatorMapsNew.add(indoorValidator);
+			Main.pref.putListOfStructs
+			("validator.org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.entries", 
+					validatorMapsNew);
+		
+			
+			//set mappaint inactive
+		
+			
+			List<Map<String, String>> styleMapsNew = new ArrayList<>();
+			if(!styleMaps.isEmpty()){
+				styleMapsNew.addAll(styleMaps);
+			}
+			for(Map<String, String> map : styleMapsNew){
+				if(map.containsValue("Indoor")){
+					styleMapsNew.remove(map);
+					break;
+				}
+			}
+			Map<String, String> indoorMapPaint = new HashMap<>();
+			indoorMapPaint.put("title", "Indoor");
+			indoorMapPaint.put("active", "false");
+			indoorMapPaint.put("url", Main.pref.getUserDataDirectory() + sep + "styles"
+					+ sep + "indoor.mapcss");			
+			styleMapsNew.add(indoorMapPaint);
+			Main.pref.putListOfStructs
+			("mappaint.style.entries", styleMapsNew);
+			
+			updateSettings();
+		}
+	}
+	
+	/**
+	 * Forces JOSM to load the validator and mappaint settings.
+	 */
+	private void updateSettings(){
+		try {
+			Main.pref.load();
+			Main.pref.init(false);
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (SAXException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (XMLStreamException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		
+		MapCSSTagChecker tagChecker = OsmValidator.getTest(MapCSSTagChecker.class);
+        if (tagChecker != null) {
+            OsmValidator.initializeTests(Collections.singleton(tagChecker));
+        }
+        
+        MapPaintStyles.readFromPreferences();
+	}
+}
+
+
Index: /applications/editors/josm/plugins/indoorhelper/src/model/IndoorHelperModel.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/model/IndoorHelperModel.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/model/IndoorHelperModel.java	(revision 32122)
@@ -0,0 +1,326 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.JOptionPane;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.command.ChangePropertyCommand;
+import org.openstreetmap.josm.data.osm.Filter;
+import org.openstreetmap.josm.data.osm.Filter.FilterPreferenceEntry;
+import org.openstreetmap.josm.data.osm.Tag;
+import org.openstreetmap.josm.gui.dialogs.FilterDialog;
+import org.openstreetmap.josm.gui.dialogs.FilterTableModel;
+
+import model.TagCatalog.IndoorObject;
+
+/**
+ * Class for the data model which includes indoor data and
+ * the functions to handle the plug-in
+ * 
+ * @author egru
+ */
+
+public class IndoorHelperModel{
+
+	private java.util.List<IndoorLevel> levelList;
+	private int workingLevel;
+	private int workingIndex;
+	private TagCatalog tags;
+	private PresetCounter counter;
+	
+	/**
+	 * Constructor for the {@link IndoorHelperModel} which sets the current
+	 * workingLevel to 0 and creates the {@link TagCatalog}.
+	 */
+	public IndoorHelperModel() {
+		this.workingLevel = 0;
+		this.levelList = new ArrayList<>();
+		this.tags = new TagCatalog();
+		this.counter = new PresetCounter();
+	}	
+	
+	/**
+	 * Method to create a list of levels for the current building.
+	 * It also creates the filters which are needed to execute the indoor mapping.
+	 * minLevel should be lower than maxLevel or the same.
+	 * 
+	 * @param minLevel the lowest level of the building
+	 * @param maxLevel the highest level of the building
+	 * @return boolean which indicates if the creation of the levelList was successful
+	 */
+	public boolean setBuildingLevels(int minLevel, int maxLevel){
+		
+		if(minLevel < maxLevel){
+			
+			for(int i=minLevel; i<=maxLevel;i++){
+				
+				IndoorLevel level = new IndoorLevel(i);
+				levelList.add(level);
+				
+				// Get the filter dialog
+				FilterDialog filterDialog = Main.map.getToggleDialog(FilterDialog.class);
+				
+				if(filterDialog!=null){
+					// Create a new filter
+					//Filter filter = new Filter("\"indoor:level\"=\""+i+"\"", SearchMode.add, false, false, false);
+					FilterPreferenceEntry entry = new FilterPreferenceEntry();
+					entry.case_sensitive = false;
+					entry.enable = false;
+					entry.hiding = false;
+					entry.inverted = false;
+					entry.mapCSS_search = false;
+					entry.mode = "add";
+					entry.text = "\"indoor:level\"=\""+i+"\"";
+					Filter filter = new Filter(entry);
+					
+					FilterTableModel filterTableModel = filterDialog.getFilterModel();
+					
+					boolean exists = false;
+					
+					// Search if the filter exists already.
+					for(Filter listFilter : filterTableModel.getFilters()){
+						if(listFilter.equals(filter)){
+							exists = true;
+						}
+					}
+					
+					// Only add the filter if it is not already in the filter dialog.
+					if(exists==false){
+						filterTableModel.addFilter(filter);
+					}
+					
+				}else{
+					//Show error message if filter dialog is null.
+					JOptionPane.showMessageDialog(null, "Filter Dialog is null.", "Error", JOptionPane.ERROR_MESSAGE);
+				}
+			}
+			
+			return true;
+			
+		} else if(minLevel==maxLevel){
+			
+			IndoorLevel level = new IndoorLevel(minLevel);
+			levelList.add(level);
+			
+			// Get the filter dialog
+			FilterDialog filterDialog = Main.map.getToggleDialog(FilterDialog.class);
+			
+			if(filterDialog!=null){
+				// Create a new filter
+				//Filter filter = new Filter("\"indoor:level\"=\""+minLevel+"\"", SearchMode.add, false, false, false);
+				
+				FilterPreferenceEntry entry = new FilterPreferenceEntry();
+				entry.case_sensitive = false;
+				entry.enable = false;
+				entry.hiding = false;
+				entry.inverted = false;
+				entry.mapCSS_search = false;
+				entry.mode = "add";
+				entry.text = "\"indoor:level\"=\""+minLevel+"\"";
+				Filter filter = new Filter(entry);
+				
+				FilterTableModel filterTableModel = filterDialog.getFilterModel();
+				
+				boolean exists = false;
+				
+				// Search if the filter exists already.
+				for(Filter listFilter : filterTableModel.getFilters()){
+					if(listFilter.equals(filter)){
+						exists = true;
+					}
+				}
+				
+				// Only add the filter if it is not already in the filter dialog.
+				if(exists==false){
+					filterTableModel.addFilter(filter);
+				}
+			}else{
+				JOptionPane.showMessageDialog(null, "Filter Dialog is null.", "Error", JOptionPane.ERROR_MESSAGE);
+			}
+			
+			
+			return true;
+			
+		}
+		
+		return false;
+		
+	}
+	
+	/**
+	 * Getter for the levelList of the model.
+	 * 
+	 * @return the levelList, or null if no levelList was created yet
+	 */
+	public java.util.List<IndoorLevel> getLevelList(){
+		return this.levelList;
+	}
+	
+	/**
+	 * Function to set the level the user wants to work on (with the level index) and activates the corresponding filter.
+	 * 
+	 * @param index the index of the level the user wants to work on
+	 */
+	public void setWorkingLevel(int index){
+		this.workingIndex = index;
+		this.workingLevel = this.getLevelNumberFromIndex(index);
+		
+		FilterDialog filterDialog = Main.map.getToggleDialog(FilterDialog.class);
+		FilterTableModel filterTableModel = filterDialog.getFilterModel();
+		
+	
+		for(Filter filter : filterTableModel.getFilters()){
+			// disable the filter for the current level
+			if(filter.text.equals("\"indoor:level\"=\""+workingLevel+"\"")){
+				filterTableModel.setValueAt(false, filterTableModel.getFilters().indexOf(filter), FilterTableModel.COL_ENABLED);
+				filterTableModel.setValueAt(false, filterTableModel.getFilters().indexOf(filter), FilterTableModel.COL_HIDING);
+			} else if(filter.text.startsWith("\"indoor:level\"=\"")){
+				filterTableModel.setValueAt(true, filterTableModel.getFilters().indexOf(filter), FilterTableModel.COL_ENABLED);
+				filterTableModel.setValueAt(true, filterTableModel.getFilters().indexOf(filter), FilterTableModel.COL_HIDING);
+			}
+		}
+	}
+	
+	/**
+	 * Function to get the current working level of the plug-in
+	 * 
+	 * @return {@link Integer} which represents the current working level
+	 */
+	public int getWorkingLevel(){
+		return this.workingLevel;
+	}
+	
+	/**
+	 * Method to get the index of the current working level of the plug-in.
+	 * 
+	 * @return {@link Integer} which represents the index
+	 */
+	public int getWorkingIndex(){
+		return this.workingIndex;
+	}
+	
+	/**
+	 * Returns the level number which is corresponding to a specific index.
+	 * 
+	 * @param index index of the level
+	 * @return a level number as an {@link Integer}
+	 */
+	public int getLevelNumberFromIndex(int index){
+		return levelList.get(index).getLevelNumber();
+	}
+	
+	/**
+	 * Function to set the nameTag of a specific level.
+	 * 
+	 * @param levelNumber number of the level
+	 * @param levelName tag which the user wants to set
+	 * @return boolean which indicates if the level was found in the levelList
+	 */
+	public void setLevelName(int levelIndex, String levelName){
+		if((levelName.length()>0) && (levelName != null)){
+			levelList.get(levelIndex).setNameTag(levelName);
+		}
+	}
+	
+	/**
+	 * Function to get a tag-set out of the {@link TagCatalog}.
+	 * 
+	 * @param object the {@link IndoorObject} from which you want to get the tag-set
+	 * @return a {@link List} of {@link Tag}s
+	 */
+	public List<Tag> getObjectTags(TagCatalog.IndoorObject object){
+		return this.tags.getTags(object);
+	}
+	
+	
+	/**
+	 * Method which adds the selected tag-set to the currently selected OSM data.
+	 * It also adds the level tag corresponding to the current working level.
+	 * 
+	 * @param object the object which defines the tag-set you want to add
+	 * @param userTags the tags which are given by the user input
+	 */
+	public void addTagsToOSM(IndoorObject object, List<Tag> userTags){
+		if(!Main.main.getCurrentDataSet().selectionEmpty() && !Main.main.getInProgressSelection().isEmpty()){
+			
+			List<Tag> tags = this.getObjectTags(object);
+			tags.addAll(userTags);
+			tags.add(new Tag("indoor:level", Integer.toString(workingLevel)));
+			
+			if(!this.getLevelList().get(workingIndex).hasEmptyName()){
+				tags.add(this.getLevelList().get(workingIndex).getNameTag());
+			}
+			
+			// Increment the counter for the presets
+			this.counter.count(object);
+			
+			//Add the tags to the current selection
+			for(Tag t : tags){
+				Main.main.undoRedo.add(new ChangePropertyCommand(Main.main.getInProgressSelection(), t.getKey(), t.getValue()));
+			}
+			
+		} else if(Main.main.getCurrentDataSet().selectionEmpty()){
+			
+			JOptionPane.showMessageDialog(null, "No data selected.", "Error", JOptionPane.ERROR_MESSAGE);
+			
+		}
+		
+	}
+	
+	/**
+     * Method which adds the selected tag-set to the currently selected OSM data.
+	 * It also adds the level tag corresponding to the current working level.
+	 * 
+	 * @param object the object which defines the tag-set you want to add
+	 */
+	public void addTagsToOSM(IndoorObject object){
+		
+		if(!Main.main.getCurrentDataSet().selectionEmpty() && !Main.main.getInProgressSelection().isEmpty()){
+			List<Tag> tags = this.getObjectTags(object);
+			tags.add(new Tag("indoor:level", Integer.toString(workingLevel)));
+			
+			// Increment the counter for the presets
+			this.counter.count(object);
+			
+			//Add the tags to the current selection
+			for(Tag t : tags){
+				Main.main.undoRedo.add(new ChangePropertyCommand(Main.main.getInProgressSelection(), t.getKey(), t.getValue()));
+			}
+		} else if(Main.main.getCurrentDataSet().selectionEmpty()){
+			JOptionPane.showMessageDialog(null, "No data selected.", "Error", JOptionPane.ERROR_MESSAGE);
+		}
+		
+		
+	}
+	
+	/**
+	 * Returns the current ranking of the preset counter, which includes the 4 most used items.
+	 * 
+	 * @return a list of the 4 most used IndoorObjects
+	 */
+	public List<IndoorObject> getPresetRanking(){
+		return counter.getRanking();
+	}
+	
+	
+
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/model/IndoorLevel.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/model/IndoorLevel.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/model/IndoorLevel.java	(revision 32122)
@@ -0,0 +1,118 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package model;
+
+import org.openstreetmap.josm.data.osm.Tag;
+
+/**
+ * 
+ * The class to save a level of the building.
+ * 
+ * @author egru
+ *
+ */
+
+public class IndoorLevel {
+	
+	private Tag levelNumberTag;
+	private Tag nameTag;
+	
+	/**
+	 * Constructor which adds the level number.
+	 * 
+	 * @param levelNumber number of the level
+	 */
+	public IndoorLevel(int levelNumber) {
+		this.setLevelNumber(levelNumber);
+	}
+	
+	/**
+	 * Constructor which adds level number and name tag.
+	 * 	  
+	 * @param levelNumber number of the level
+	 * @param nameTag optional name tag for the level
+	 */
+	public IndoorLevel(int levelNumber, String nameTag) {
+		this.setLevelNumber(levelNumber);
+		this.setNameTag(nameTag);
+	}
+	
+	/**
+	 * Getter for the level tag
+	 * 
+	 * @return the complete level number tag
+	 */
+	public Tag getLevelNumberTag() {
+		return this.levelNumberTag;
+	}
+	
+	/**
+	 * Function to get the level number
+	 * 
+	 * @return level number as an Integer
+	 */
+	public int getLevelNumber(){
+		return Integer.parseInt(this.levelNumberTag.getValue());
+	}
+	
+	/**
+	 * Setter for the level number
+	 * 
+	 * @param levelNumber number of the level
+	 */
+	public void setLevelNumber(int levelNumber) {
+		this.levelNumberTag = new Tag("indoor:level", Integer.toString(levelNumber));
+	}
+	
+	/**
+	 * Getter for the name tag
+	 * 
+	 * @return the complete name tag
+	 */
+	public Tag getNameTag() {
+		return this.nameTag;
+	}
+	
+	/**
+	 * Function to get the optional name of the level.
+	 * 
+	 * @return String with the optional name.
+	 */
+	public String getName(){
+		return this.nameTag.getValue();
+	}
+	
+	/**
+	 * Setter for the name tag
+	 * 
+	 * @param nameTag String which optionally describes the level
+	 */
+	public void setNameTag(String nameTag) {
+		this.nameTag = new Tag("indoor:level:name", nameTag);
+	}
+	
+	public boolean hasEmptyName(){
+		if(this.nameTag==null){
+			return true;
+		} else {
+			return false;
+		}
+	}
+	
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/model/PresetCounter.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/model/PresetCounter.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/model/PresetCounter.java	(revision 32122)
@@ -0,0 +1,136 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.ListIterator;
+
+import model.TagCatalog.IndoorObject;
+
+/**
+ * Counter for the calls of specific indoor objects, to track which items were used most frequently.
+ * 
+ * @author egru
+ *
+ */
+public class PresetCounter {
+	
+	private List<IndoorObject> rankingList;
+	private List<ObjectCounter> counterList;
+	
+	/**
+	 * Initiates the counterList with the available IndoorObjects.
+	 */
+	
+	public PresetCounter(){
+		this.init();
+	}
+	
+	private void init(){
+		counterList = new ArrayList<>();
+		
+		counterList.add(new ObjectCounter(IndoorObject.CONCRETE_WALL, 0));
+		counterList.add(new ObjectCounter(IndoorObject.DOOR, 0));
+		counterList.add(new ObjectCounter(IndoorObject.ELEVATOR, 0));
+		counterList.add(new ObjectCounter(IndoorObject.ENTRANCE, 0));
+		counterList.add(new ObjectCounter(IndoorObject.GLASS_WALL, 0));
+		counterList.add(new ObjectCounter(IndoorObject.ROOM, 0));
+		counterList.add(new ObjectCounter(IndoorObject.SHELL, 0));
+		counterList.add(new ObjectCounter(IndoorObject.STAIRWAYS, 0));
+		counterList.add(new ObjectCounter(IndoorObject.STEPS, 0));
+		counterList.add(new ObjectCounter(IndoorObject.TOILET_FEMALE, 0));
+		counterList.add(new ObjectCounter(IndoorObject.TOILET_MALE, 0));
+	}
+	
+	/**
+	 * Increments the counter of a specific IndoorObject in the list.
+	 * @param object the IndoorObject, which counter should be incremented
+	 */
+	public void count(IndoorObject object){
+		ListIterator<ObjectCounter> iterator = this.counterList.listIterator();
+		
+		// Go through the list and increment the corresponding objects counter value.
+		while(iterator.hasNext()){
+			ObjectCounter counterTemp = iterator.next();
+			if(counterTemp.getObject().equals(object)){
+					counterList.get(iterator.nextIndex()-1).increment();	
+			}
+		}
+		
+		//Sort the list.
+		this.sort();
+	}
+	
+	private void sort(){
+		Collections.sort(counterList);
+		Collections.reverse(counterList);
+	}
+	
+	public List<IndoorObject> getRanking(){
+		rankingList = new ArrayList<IndoorObject>();
+		
+		rankingList.add(counterList.get(0).getObject());
+		rankingList.add(counterList.get(1).getObject());
+		rankingList.add(counterList.get(2).getObject());
+		rankingList.add(counterList.get(3).getObject());
+		
+		return rankingList;
+	}
+	
+	private class ObjectCounter implements Comparable<ObjectCounter>{
+		private IndoorObject object;
+		private int count;
+		
+		public ObjectCounter(IndoorObject o, int c) {
+			this.object = o;
+			this.count = c;
+		}
+		
+		public int getCount(){
+			return this.count;
+		}
+		
+		public IndoorObject getObject(){
+			return this.object;
+		}
+		
+		public void increment(){
+			this.count += 1;
+		}
+		
+		@Override
+		public int compareTo(ObjectCounter o) {
+			if(this.getCount()<o.getCount()){
+				return -1;
+			}
+			if(this.getCount()==o.getCount()){
+				return 0;
+			}
+			if(this.getCount()>o.getCount()){
+				return 1;
+			}
+			
+			return 0;
+		}
+		
+	}
+	
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/model/TagCatalog.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/model/TagCatalog.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/model/TagCatalog.java	(revision 32122)
@@ -0,0 +1,101 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.openstreetmap.josm.data.osm.Tag;
+
+/**
+ * Class to provide the indoor tagging catalog.
+ * 
+ * @author egru
+ *
+ */
+
+public final class TagCatalog {
+	
+	/**
+	 * Function to get a specific tag-set out of the {@link TagCatalog}. 
+	 * 
+	 * @param o the object for which you want the tag-set
+	 * @return a list of tags for the specified object
+	 */	
+	public List<Tag> getTags(IndoorObject o){
+		
+		List<Tag> tagList = new ArrayList<Tag>();
+		
+		switch(o){
+		case CONCRETE_WALL:
+			tagList.add(new Tag("indoor:area", "wall"));
+			tagList.add(new Tag("indoor:wall:material", "concrete"));
+			return tagList;
+		case DOOR:
+			tagList.add(new Tag("indoor:door", "yes"));
+			return tagList;
+		case ELEVATOR:
+			tagList.add(new Tag("indoor:area", "elevator"));
+			return tagList;
+		case ENTRANCE:
+			tagList.add(new Tag("indoor:entrance", "yes"));
+			return tagList;
+		case TOILET_FEMALE:
+			tagList.add(new Tag("indoor:area", "room"));
+			tagList.add(new Tag("amenity", "toilets"));
+			tagList.add(new Tag("female", "yes"));
+			return tagList;
+		case GLASS_WALL:
+			tagList.add(new Tag("indoor:area", "wall"));
+			tagList.add(new Tag("indoor:wall:material", "glass"));
+			return tagList;
+		case TOILET_MALE:
+			tagList.add(new Tag("indoor:area", "room"));
+			tagList.add(new Tag("amenity", "toilets"));
+			tagList.add(new Tag("male", "yes"));
+			return tagList;
+		case ROOM:
+			tagList.add(new Tag("indoor:area", "room"));
+			return tagList;
+		case SHELL:
+			tagList.add(new Tag("indoor:area", "shell"));
+			return tagList;
+		case STAIRWAYS:
+			tagList.add(new Tag("indoor:area", "stairways"));
+			return tagList;
+		case STEPS:
+			tagList.add(new Tag("indoor:highway", "steps"));
+			return tagList;
+		default:
+			tagList = null;
+			return tagList;
+		}
+	}
+	
+	/**
+	 * {@link Enum} class for an easier access of elements in the {@link TagCatalog}
+	 * 
+	 * @author egru
+	 *
+	 */
+	public enum IndoorObject{
+		SHELL, CONCRETE_WALL, GLASS_WALL, ROOM, TOILET_MALE, TOILET_FEMALE, ELEVATOR, STAIRWAYS, STEPS, DOOR, ENTRANCE;
+	}
+
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/org/openstreetmap/josm/plugins/indoorhelper/IndoorHelperPlugin.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/org/openstreetmap/josm/plugins/indoorhelper/IndoorHelperPlugin.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/org/openstreetmap/josm/plugins/indoorhelper/IndoorHelperPlugin.java	(revision 32122)
@@ -0,0 +1,204 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package org.openstreetmap.josm.plugins.indoorhelper;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.plugins.Plugin;
+import org.openstreetmap.josm.plugins.PluginInformation;
+
+import controller.IndoorHelperController;
+
+
+/**
+ * This is the main class for the indoorhelper plug-in.
+ * 
+ * @author egru
+ * 
+ */
+public class IndoorHelperPlugin extends Plugin{
+
+
+	@SuppressWarnings("unused")
+	private IndoorHelperController controller;
+	String sep = System.getProperty("file.separator");
+
+	/**
+	 * Constructor for the plug-in.
+	 * 
+	 * Exports the needed files and adds them to the settings.
+	 * 
+	 * @param info general information about the plug-in
+	 * @throws Exception 
+	 */
+	public IndoorHelperPlugin(PluginInformation info) throws Exception {
+		super(info);    
+
+		this.exportValidator("/data/indoorhelper.validator.mapcss");
+		this.exportStyleFile("indoor.mapcss");
+		this.exportStyleFile("entrance_door_icon.png");
+		this.exportStyleFile("entrance_icon.png");
+//		this.setIndoorValidator();
+		
+	}
+
+
+	/**
+	 * Secures that the plug-in is only loaded, if a new MapFrame is created.
+	 */
+	@Override
+	public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {
+		super.mapFrameInitialized(oldFrame, newFrame);
+
+		if( oldFrame == null && newFrame != null ) {
+			controller = new IndoorHelperController();
+		}
+
+	}
+
+	
+	/**
+	 * Exports the mapcss validator file to the preferences directory.
+	 * 
+	 * @param resourceName
+	 * @throws Exception
+	 */
+	private void exportValidator(String resourceName) throws Exception {
+		InputStream stream = null;
+		OutputStream resStreamOut = null;
+
+
+		try {
+			stream = IndoorHelperPlugin.class.getResourceAsStream(resourceName);
+			if(stream == null) {
+				System.out.println("Validator: stream is null");
+				throw new Exception("Cannot get resource \"" + resourceName + "\" from Jar file.");
+			}
+
+			String outPath;
+			int readBytes;
+			byte[] buffer = new byte[4096];
+
+			String valDirPath = Main.pref.getUserDataDirectory() + sep + "validator";
+			File valDir = new File(valDirPath);
+			valDir.mkdirs();
+			outPath = valDir.getAbsolutePath() +sep+ "indoorhelper.validator.mapcss";
+			System.out.println("Validator:"+outPath);
+
+			resStreamOut = new FileOutputStream(outPath);
+			while ((readBytes = stream.read(buffer)) > 0) {
+				resStreamOut.write(buffer, 0, readBytes);
+			}
+			resStreamOut.close();
+		} catch (Exception ex) {
+			throw ex;
+		} finally {
+			stream.close();
+		}   
+	}
+
+	/**
+	 * Exports the mapCSS file to the preferences directory.
+	 * 
+	 * @param resourceName
+	 * @throws Exception
+	 */
+	private void exportStyleFile(String resourceName) throws Exception {
+		InputStream stream = null;
+		OutputStream resStreamOut = null;
+
+
+		try {
+			stream = IndoorHelperPlugin.class.getResourceAsStream("/data/" + resourceName);
+			if(stream == null) {
+				System.out.println("MapPaint: stream is null");
+				throw new Exception("Cannot get resource \"" + resourceName + "\" from Jar file.");
+			}
+
+			String outPath;
+			int readBytes;
+			byte[] buffer = new byte[4096];
+
+			String valDirPath = Main.pref.getUserDataDirectory() + sep + "styles";
+			File valDir = new File(valDirPath);
+			valDir.mkdirs();
+			outPath = valDir.getAbsolutePath() +sep+ resourceName;
+			System.out.println("MapPaint"+outPath);
+
+			resStreamOut = new FileOutputStream(outPath);
+			while ((readBytes = stream.read(buffer)) > 0) {
+				resStreamOut.write(buffer, 0, readBytes);
+			}
+			resStreamOut.close();
+		} catch (Exception ex) {
+			throw ex;
+		} finally {
+			stream.close();
+		}   
+	}
+	
+	/**
+	 * Writes the indoor validator file in the user preferences if it isn't there
+	 * and activates it.
+	 */
+//	private void setIndoorValidator(){
+//		//get the current validator settings
+//		Map<String, Setting<?>> settings =  Main.pref.getAllSettings();
+//		MapListSetting mapListSetting = (MapListSetting) settings.
+//				get("validator.org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.entries");
+//		List<Map<String, String>> validatorMaps;
+//		if(mapListSetting!=null){
+//			validatorMaps = mapListSetting.getValue();
+//		} else{
+//			validatorMaps = new ArrayList<>();
+//		}
+//		boolean validatorExists = false;
+//
+//		//check if indoor validator is already set
+//		for(Map<String, String> map : validatorMaps){
+//			if(map.containsValue("Indoor")){
+//				validatorExists = true;
+//			}
+//		}
+//
+//		//put it in the settings if not
+//		if(!validatorExists){
+//			List<Map<String, String>> validatorMapsNew = new ArrayList<>();
+//			if(!validatorMaps.isEmpty()){
+//				validatorMapsNew.addAll(validatorMaps);
+//			}
+//			Map<String, String> indoorValidator = new HashMap<>();
+//			indoorValidator.put("title", "Indoor");
+//			indoorValidator.put("active", "true");
+//			indoorValidator.put("url", Main.pref.getUserDataDirectory()+ sep +"validator" + 
+//					sep + "indoorhelper.validator.mapcss");
+//
+//			validatorMapsNew.add(indoorValidator);
+//			Main.pref.putListOfStructs
+//			("validator.org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.entries", 
+//					validatorMapsNew);
+//		}
+//	}
+
+	
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/views/DialogPanel.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/views/DialogPanel.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/views/DialogPanel.java	(revision 32122)
@@ -0,0 +1,223 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package views;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.BorderLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JSeparator;
+import javax.swing.JToggleButton;
+import javax.swing.border.EmptyBorder;
+
+import org.openstreetmap.josm.gui.widgets.DisableShortcutsOnFocusGainedTextField;
+import org.openstreetmap.josm.gui.widgets.JosmComboBox;
+
+import model.TagCatalog;
+import model.TagCatalog.IndoorObject;
+
+@SuppressWarnings("serial")
+public class DialogPanel extends JPanel {
+	private JPanel contentPanel;
+	private JToggleButton powerButton;
+	private JLabel levelLabel;
+	private JosmComboBox<String> levelBox;
+	private JLabel levelTagLabel;
+	private DisableShortcutsOnFocusGainedTextField levelTagField;
+	private JLabel objectLabel;
+	private JosmComboBox<TagCatalog.IndoorObject> objectBox;
+	private JLabel nameLabel;
+	private DisableShortcutsOnFocusGainedTextField nameField;
+	private JLabel refLabel;
+	private DisableShortcutsOnFocusGainedTextField refField;
+	private JPanel buttonBar;
+	private JButton applyButton;
+	private JSeparator separator1;
+	private JSeparator separator2;
+
+	/**
+	 * Create the panel.
+	 */
+	public DialogPanel() {
+		contentPanel = new JPanel();
+		powerButton = new JToggleButton();
+		levelLabel = new JLabel();
+		levelBox = new JosmComboBox<String>();
+		levelTagLabel = new JLabel();
+		levelTagField = new DisableShortcutsOnFocusGainedTextField();
+		objectLabel = new JLabel();
+		objectBox = new JosmComboBox<>();
+		objectBox.setModel(new DefaultComboBoxModel<>(TagCatalog.IndoorObject.values()));
+		nameLabel = new JLabel();
+		nameField = new DisableShortcutsOnFocusGainedTextField();
+		refLabel = new JLabel();
+		refField = new DisableShortcutsOnFocusGainedTextField();
+		buttonBar = new JPanel();
+		applyButton = new JButton();
+		separator1 = new JSeparator();
+		separator2 = new JSeparator();
+
+		//======== this ========
+		//Container contentPane = this.get;
+		//contentPane.setLayout(new BorderLayout());
+
+		//======== dialogPane ========
+		{
+			this.setBorder(new EmptyBorder(12, 12, 12, 12));
+			this.setLayout(new BorderLayout());
+
+			//======== contentPanel ========
+			{
+				contentPanel.setLayout(new GridBagLayout());
+				((GridBagLayout)contentPanel.getLayout()).columnWidths = new int[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+				((GridBagLayout)contentPanel.getLayout()).rowHeights = new int[] {0, 0, 0, 0, 0, 0, 0, 0};
+				((GridBagLayout)contentPanel.getLayout()).columnWeights = new double[] {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0E-4};
+				((GridBagLayout)contentPanel.getLayout()).rowWeights = new double[] {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0E-4};
+
+				//---- powerButton ----
+				powerButton.setText(tr("POWER"));
+				powerButton.setToolTipText(tr("Activates the plug-in"));
+				contentPanel.add(powerButton, new GridBagConstraints(8, 0, 4, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+				contentPanel.add(separator1, new GridBagConstraints(1, 1, 12, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- levelLabel ----
+				levelLabel.setText(tr("Working Level"));
+				contentPanel.add(levelLabel, new GridBagConstraints(1, 2, 2, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- levelBox ----
+				levelBox.setEnabled(false);
+				levelBox.setEditable(false);
+				levelBox.setToolTipText(tr("Selects the working level."));
+				contentPanel.add(levelBox, new GridBagConstraints(3, 2, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- levelTagLabel ----
+				levelTagLabel.setText(tr("Level Name"));
+				contentPanel.add(levelTagLabel, new GridBagConstraints(7, 2, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- levelTagField ----
+				levelTagField.setEnabled(false);
+				levelTagField.setColumns(6);
+				levelTagField.setToolTipText(tr("Optional name-tag for a level."));
+				contentPanel.add(levelTagField, new GridBagConstraints(8, 2, 5, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+				contentPanel.add(separator2, new GridBagConstraints(1, 3, 12, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- objectLabel ----
+				objectLabel.setText(tr("Object"));
+				contentPanel.add(objectLabel, new GridBagConstraints(0, 4, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- objectBox ----
+				objectBox.setEnabled(false);
+				objectBox.setPrototypeDisplayValue(IndoorObject.CONCRETE_WALL);
+				objectBox.setToolTipText(tr("The object preset you want to tag."));
+				contentPanel.add(objectBox, new GridBagConstraints(3, 4, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- nameLabel ----
+				nameLabel.setText(tr("Name"));
+				contentPanel.add(nameLabel, new GridBagConstraints(0, 5, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- nameField ----
+				nameField.setEnabled(false);
+				nameField.addFocusListener(new FocusListener() {
+					
+					@Override
+					public void focusLost(FocusEvent e) {}
+					
+					@Override
+					public void focusGained(FocusEvent e) {
+						nameField.selectAll();						
+					}
+				});
+				nameField.setToolTipText(tr("Sets the name tag when the room-object is selected."));
+				contentPanel.add(nameField, new GridBagConstraints(3, 5, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- refLabel ----
+				refLabel.setText(tr("Reference"));
+				contentPanel.add(refLabel, new GridBagConstraints(0, 6, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 5), 0, 0));
+
+				//---- refField ----
+				refField.setEnabled(false);
+				refField.addFocusListener(new FocusListener() {
+					
+					@Override
+					public void focusLost(FocusEvent e) {}
+					
+					@Override
+					public void focusGained(FocusEvent e) {
+						refField.selectAll();
+					}
+				});
+				refField.setToolTipText(tr("Sets the ref tag when the room-object is selected."));
+				contentPanel.add(refField, new GridBagConstraints(3, 6, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 5), 0, 0));
+			}
+			this.add(contentPanel, BorderLayout.CENTER);
+
+			//======== buttonBar ========
+			{
+				buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));
+				buttonBar.setLayout(new GridBagLayout());
+				((GridBagLayout)buttonBar.getLayout()).columnWidths = new int[] {0, 80};
+				((GridBagLayout)buttonBar.getLayout()).columnWeights = new double[] {1.0, 0.0};
+
+				//---- applyButton ----
+				applyButton.setText(tr("Apply Tags"));
+				applyButton.setEnabled(false);
+				buttonBar.add(applyButton, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 0), 0, 0));
+			}
+			this.add(buttonBar, BorderLayout.SOUTH);
+		}
+	}
+
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/views/FittingView.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/views/FittingView.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/views/FittingView.java	(revision 32122)
@@ -0,0 +1,106 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package views;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.*;
+import java.awt.event.ActionListener;
+
+import javax.swing.*;
+import javax.swing.border.*;
+
+
+/**
+ * The view for the pop-up hint that tells the user, that he has to start the fitting
+ * of his indoor building plans.
+ * 
+ * @author egru
+ */
+@SuppressWarnings("serial")
+public class FittingView extends JFrame {
+	
+	private JPanel dialogPane;
+	private JPanel contentPanel;
+	private JLabel label1;
+	private JPanel buttonBar;
+	private JButton okButton;
+	
+	public FittingView() {
+		initComponents();
+	}
+
+	private void initComponents() {
+		dialogPane = new JPanel();
+		contentPanel = new JPanel();
+		label1 = new JLabel();
+		buttonBar = new JPanel();
+		okButton = new JButton();
+
+		//======== this ========
+		setTitle(tr("Fitting"));
+		Container contentPane = getContentPane();
+		contentPane.setLayout(new BorderLayout());
+
+		//======== dialogPane ========
+		{
+			dialogPane.setBorder(new EmptyBorder(12, 12, 12, 12));
+			dialogPane.setLayout(new BorderLayout());
+
+			//======== contentPanel ========
+			{
+				contentPanel.setLayout(new FlowLayout());
+
+				//---- label1 ----
+				label1.setText(tr("<html>Please mind to start fitting your building-plans now.<br>" +
+						"To do so, use the PicLayer plug-in, which you can install<br>" +
+						"using the JOSM plug-in management.</html>"));
+				contentPanel.add(label1);
+			}
+			dialogPane.add(contentPanel, BorderLayout.CENTER);
+
+			//======== buttonBar ========
+			{
+				buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));
+				buttonBar.setLayout(new GridBagLayout());
+				((GridBagLayout)buttonBar.getLayout()).columnWidths = new int[] {0, 80};
+				((GridBagLayout)buttonBar.getLayout()).columnWeights = new double[] {1.0, 0.0};
+
+				//---- okButton ----
+				okButton.setText(tr("OK"));
+				buttonBar.add(okButton, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 0), 0, 0));
+			}
+			dialogPane.add(buttonBar, BorderLayout.SOUTH);
+		}
+		contentPane.add(dialogPane, BorderLayout.CENTER);
+		pack();
+		setLocationRelativeTo(getOwner());
+	}
+	
+	/**
+	 * Set the given {@link ActionListener} to the OK-Button of the {@link FittingView}.
+	 * 
+	 * @param l the listener which should be set
+	 */
+	public void setOkButtonListener(ActionListener l){
+		this.okButton.addActionListener(l);
+	}
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/views/LevelSelectorView.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/views/LevelSelectorView.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/views/LevelSelectorView.java	(revision 32122)
@@ -0,0 +1,193 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package views;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.*;
+import java.awt.event.ActionListener;
+
+import javax.swing.*;
+import javax.swing.JSpinner.DefaultEditor;
+import javax.swing.border.*;
+
+/**
+ * Class for the pop-up window which provides an level selector to get a user input.
+ * In this window the user declares the lowest and the highest level of the building he wants to map.
+ * 
+ * @author egru
+ *
+ */
+
+@SuppressWarnings("serial")
+public class LevelSelectorView extends JFrame {
+	
+	private JPanel dialogPane;
+	private JPanel contentPanel;
+	private JLabel minLabel;
+	private JSpinner minSpinner;
+	private JLabel maxLabel;
+	private JSpinner maxSpinner;
+	private JPanel buttonBar;
+	private JButton okButton;
+	private JButton cancelButton;
+	
+	public LevelSelectorView() {
+		initComponents();
+	}
+
+	private void initComponents() {
+		dialogPane = new JPanel();
+		contentPanel = new JPanel();
+		minLabel = new JLabel();
+		minSpinner = new JSpinner();
+		maxLabel = new JLabel();
+		maxSpinner = new JSpinner();
+		buttonBar = new JPanel();
+		okButton = new JButton();
+		cancelButton = new JButton();
+
+		//======== this ========
+		setTitle(tr("Level Selection"));
+		Container contentPane = getContentPane();
+		contentPane.setLayout(new BorderLayout());
+
+		//======== dialogPane ========
+		{
+			dialogPane.setBorder(new EmptyBorder(12, 12, 12, 12));
+			dialogPane.setLayout(new BorderLayout());
+
+			//======== contentPanel ========
+			{
+				contentPanel.setLayout(new GridBagLayout());
+				((GridBagLayout)contentPanel.getLayout()).columnWidths = new int[] {0, 0, 0, 0, 0};
+				((GridBagLayout)contentPanel.getLayout()).rowHeights = new int[] {0, 0, 0, 0, 0, 0};
+				((GridBagLayout)contentPanel.getLayout()).columnWeights = new double[] {0.0, 0.0, 0.0, 0.0, 1.0E-4};
+				((GridBagLayout)contentPanel.getLayout()).rowWeights = new double[] {0.0, 0.0, 0.0, 0.0, 0.0, 1.0E-4};
+
+				//---- minLabel ----
+				minLabel.setText(tr("Lowest Level"));
+				contentPanel.add(maxLabel, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+				JSpinner.DefaultEditor minEditor = (DefaultEditor) maxSpinner.getEditor();
+				minEditor.getTextField().setColumns(2);
+				maxSpinner.setToolTipText(tr("The lowest level of your building."));
+				contentPanel.add(maxSpinner, new GridBagConstraints(2, 0, 2, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 0), 0, 0));
+
+				//---- maxLabel ----
+				maxLabel.setText(tr("Highest Level"));
+				contentPanel.add(minLabel, new GridBagConstraints(0, 2, 2, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+				JSpinner.DefaultEditor maxEditor = (DefaultEditor) minSpinner.getEditor();
+				maxEditor.getTextField().setColumns(2);
+				minSpinner.setToolTipText(tr("The highest level of your building."));
+				contentPanel.add(minSpinner, new GridBagConstraints(2, 2, 2, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 0), 0, 0));
+			}
+			dialogPane.add(contentPanel, BorderLayout.CENTER);
+
+			//======== buttonBar ========
+			{
+				buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));
+				buttonBar.setLayout(new GridBagLayout());
+				((GridBagLayout)buttonBar.getLayout()).columnWidths = new int[] {0, 85, 80};
+				((GridBagLayout)buttonBar.getLayout()).columnWeights = new double[] {1.0, 0.0, 0.0};
+
+				//---- okButton ----
+				okButton.setText(tr("OK"));
+				buttonBar.add(okButton, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 5), 0, 0));
+
+				//---- cancelButton ----
+				cancelButton.setText(tr("Cancel"));
+				buttonBar.add(cancelButton, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 0), 0, 0));
+			}
+			dialogPane.add(contentPanel, BorderLayout.CENTER);
+
+			//======== buttonBar ========
+			{
+				buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));
+				buttonBar.setLayout(new GridBagLayout());
+				((GridBagLayout)buttonBar.getLayout()).columnWidths = new int[] {0, 85, 80};
+				((GridBagLayout)buttonBar.getLayout()).columnWeights = new double[] {1.0, 0.0, 0.0};
+
+				//---- okButton ----
+				okButton.setText(tr("OK"));
+				buttonBar.add(okButton, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 5), 0, 0));
+
+				//---- cancelButton ----
+				cancelButton.setText(tr("Cancel"));
+				buttonBar.add(cancelButton, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 0), 0, 0));
+			}
+			dialogPane.add(buttonBar, BorderLayout.SOUTH);
+		}
+		contentPane.add(dialogPane, BorderLayout.CENTER);
+		pack();
+		setLocationRelativeTo(getOwner());
+
+	}
+	
+	/**
+	 * Set the listener for the OK button.
+	 * 
+	 * @param l the listener to set
+	 */
+	public void setOkButtonListener(ActionListener l){
+		this.okButton.addActionListener(l);
+	}
+	
+	/**
+	 * Set the listener for the cancel button.
+	 * 
+	 * @param l the listener to set
+	 */
+	public void setCancelButtonListener(ActionListener l){
+		this.cancelButton.addActionListener(l);
+	}
+	
+	/**
+	 * Getter for the lowest level.
+	 * 
+	 * @return Integer which represents the lowest level of the building.
+	 */
+	public int getMin(){
+		return (int) this.minSpinner.getValue();
+	}
+	
+	/**
+	 * Getter for the highest level.
+	 * 
+	 * @return Integer which represents the highest level of the building.
+	 */
+	public int getMax(){
+		return (int) this.maxSpinner.getValue();
+	}
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/views/PresetButton.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/views/PresetButton.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/views/PresetButton.java	(revision 32122)
@@ -0,0 +1,49 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package views;
+
+import javax.swing.JButton;
+import model.TagCatalog.IndoorObject;
+
+/**
+ * Button with a specific IndoorObject attached to it.
+ * @author egru
+ *
+ */
+
+@SuppressWarnings("serial")
+class PresetButton extends JButton {
+	
+	private IndoorObject indoorObject;
+	
+	public PresetButton(IndoorObject object){
+		this.setIndoorObject(object);		
+	}
+	
+	public IndoorObject getIndoorObject(){
+		return this.indoorObject;
+	}
+	
+	public void setIndoorObject(IndoorObject object){
+		this.indoorObject = object;
+		this.setText(indoorObject.toString());
+		this.setToolTipText(indoorObject.toString());
+	}
+
+}
Index: /applications/editors/josm/plugins/indoorhelper/src/views/ToolBoxView.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/src/views/ToolBoxView.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/src/views/ToolBoxView.java	(revision 32122)
@@ -0,0 +1,513 @@
+/*
+ * Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
+ *  Copyright (C) 2016  Erik Gruschka
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package views;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.*;
+import java.awt.event.ActionListener;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+import java.awt.event.ItemListener;
+import java.util.List;
+import java.util.ListIterator;
+
+import javax.swing.*;
+import javax.swing.border.*;
+import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
+import org.openstreetmap.josm.gui.widgets.DisableShortcutsOnFocusGainedTextField;
+import org.openstreetmap.josm.gui.widgets.JosmComboBox;
+
+import model.IndoorLevel;
+import model.TagCatalog;
+import model.TagCatalog.IndoorObject;
+
+/**
+ * 
+ * This is the main toolbox of the indoorhelper plug-in.
+ * 
+ * @author egru
+ *
+ */
+@SuppressWarnings("serial")
+public class ToolBoxView extends ToggleDialog{
+	private JPanel dialogPane;
+	private JPanel contentPanel;
+	private JToggleButton powerButton;
+	private JLabel levelLabel;
+	private JosmComboBox<String> levelBox;
+	private JLabel levelTagLabel;
+	private DisableShortcutsOnFocusGainedTextField levelTagField;
+	private JLabel objectLabel;
+	private JosmComboBox<TagCatalog.IndoorObject> objectBox;
+	private JLabel nameLabel;
+	private DisableShortcutsOnFocusGainedTextField nameField;
+	private JLabel refLabel;
+	private DisableShortcutsOnFocusGainedTextField refField;
+	private JPanel buttonBar;
+	private JButton applyButton;
+	private JSeparator separator1;
+	private JSeparator separator2;
+	private PresetButton preset1;
+	private PresetButton preset2;
+	private PresetButton preset3;
+	private PresetButton preset4;
+	
+	public ToolBoxView(){
+		super(tr("Indoor Mapping Helper"), "indoorhelper", 
+				tr("Toolbox for indoor mapping assistance"), null, 300, true);
+		
+		initComponents();
+	}
+	
+	/**
+	 * Creates the layout of the plug-in.
+	 */
+	private void initComponents() {
+		dialogPane = new JPanel();
+		contentPanel = new JPanel();
+		powerButton = new JToggleButton();
+		levelLabel = new JLabel();
+		levelBox = new JosmComboBox<String>();
+		levelTagLabel = new JLabel();
+		levelTagField = new DisableShortcutsOnFocusGainedTextField();
+		objectLabel = new JLabel();
+		objectBox = new JosmComboBox<>(TagCatalog.IndoorObject.values());
+		nameLabel = new JLabel();
+		nameField = new DisableShortcutsOnFocusGainedTextField();
+		refLabel = new JLabel();
+		refField = new DisableShortcutsOnFocusGainedTextField();
+		buttonBar = new JPanel();
+		applyButton = new JButton();
+		separator1 = new JSeparator();
+		separator2 = new JSeparator();
+		preset1 = new PresetButton(IndoorObject.ROOM);
+		preset2 = new PresetButton(IndoorObject.SHELL);
+		preset3 = new PresetButton(IndoorObject.CONCRETE_WALL);
+		preset4 = new PresetButton(IndoorObject.GLASS_WALL);
+
+		//======== this ========
+		//Container contentPane = this.get;
+		//contentPane.setLayout(new BorderLayout());
+
+		//======== dialogPane ========
+		{
+			dialogPane.setBorder(new EmptyBorder(12, 12, 12, 12));
+			dialogPane.setLayout(new BorderLayout());
+
+			//======== contentPanel ========
+			{
+				contentPanel.setLayout(new GridBagLayout());
+				((GridBagLayout)contentPanel.getLayout()).columnWidths = new int[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+				((GridBagLayout)contentPanel.getLayout()).rowHeights = new int[] {0, 0, 0, 0, 0, 0, 0, 0};
+				((GridBagLayout)contentPanel.getLayout()).columnWeights = new double[] {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0E-4};
+				((GridBagLayout)contentPanel.getLayout()).rowWeights = new double[] {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0E-4};
+
+				//---- powerButton ----
+				powerButton.setText(tr("POWER"));
+				powerButton.setToolTipText(tr("Activates the plug-in"));
+				contentPanel.add(powerButton, new GridBagConstraints(8, 0, 4, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+				contentPanel.add(separator1, new GridBagConstraints(1, 1, 12, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- levelLabel ----
+				levelLabel.setText(tr("Working Level"));
+				contentPanel.add(levelLabel, new GridBagConstraints(1, 2, 2, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- levelBox ----
+				levelBox.setEnabled(false);
+				levelBox.setEditable(false);
+				levelBox.setToolTipText(tr("Selects the working level."));
+				contentPanel.add(levelBox, new GridBagConstraints(3, 2, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- levelTagLabel ----
+				levelTagLabel.setText(tr("Level Name"));
+				contentPanel.add(levelTagLabel, new GridBagConstraints(7, 2, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- levelTagField ----
+				levelTagField.setEnabled(false);
+				levelTagField.setColumns(6);
+				levelTagField.setToolTipText(tr("Optional name-tag for a level."));
+				contentPanel.add(levelTagField, new GridBagConstraints(8, 2, 5, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+				contentPanel.add(separator2, new GridBagConstraints(1, 3, 12, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- objectLabel ----
+				objectLabel.setText(tr("Object"));
+				contentPanel.add(objectLabel, new GridBagConstraints(0, 4, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- objectBox ----
+				objectBox.setEnabled(false);
+				objectBox.setPrototypeDisplayValue(IndoorObject.CONCRETE_WALL);
+				objectBox.setToolTipText(tr("The object preset you want to tag."));
+				contentPanel.add(objectBox, new GridBagConstraints(3, 4, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- nameLabel ----
+				nameLabel.setText(tr("Name"));
+				contentPanel.add(nameLabel, new GridBagConstraints(0, 5, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- nameField ----
+				nameField.setEnabled(false);
+				nameField.addFocusListener(new FocusListener() {
+					
+					@Override
+					public void focusLost(FocusEvent e) {}
+					
+					@Override
+					public void focusGained(FocusEvent e) {
+						nameField.selectAll();						
+					}
+				});
+				nameField.setToolTipText(tr("Sets the name tag when the room-object is selected."));
+				contentPanel.add(nameField, new GridBagConstraints(3, 5, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- refLabel ----
+				refLabel.setText(tr("Reference"));
+				contentPanel.add(refLabel, new GridBagConstraints(0, 6, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 5), 0, 0));
+
+				//---- refField ----
+				refField.setEnabled(false);
+				refField.addFocusListener(new FocusListener() {
+					
+					@Override
+					public void focusLost(FocusEvent e) {}
+					
+					@Override
+					public void focusGained(FocusEvent e) {
+						refField.selectAll();
+					}
+				});
+				refField.setToolTipText(tr("Sets the ref tag when the room-object is selected."));
+				contentPanel.add(refField, new GridBagConstraints(3, 6, 3, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 5), 0, 0));
+				
+				//---- preset1 ----
+				preset1.setEnabled(false);
+				contentPanel.add(preset1, new GridBagConstraints(16, 2, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+				contentPanel.add(separator2, new GridBagConstraints(1, 3, 13, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+
+				//---- preset2 ----
+				preset2.setEnabled(false);
+				contentPanel.add(preset2, new GridBagConstraints(16, 3, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+				
+				//---- preset3 ----
+				preset3.setEnabled(false);
+				contentPanel.add(preset3, new GridBagConstraints(16, 4, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+				
+				//---- preset4 ----
+				preset4.setEnabled(false);
+				contentPanel.add(preset4, new GridBagConstraints(16, 5, 1, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 5, 5), 0, 0));
+			}
+			dialogPane.add(contentPanel, BorderLayout.CENTER);
+
+			//======== buttonBar ========
+			{
+				buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));
+				buttonBar.setLayout(new GridBagLayout());
+				((GridBagLayout)buttonBar.getLayout()).columnWidths = new int[] {0, 80};
+				((GridBagLayout)buttonBar.getLayout()).columnWeights = new double[] {1.0, 0.0};
+
+				//---- applyButton ----
+				applyButton.setText(tr("Apply Tags"));
+				applyButton.setEnabled(false);
+				buttonBar.add(applyButton, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0,
+					GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+					new Insets(0, 0, 0, 0), 0, 0));
+			}
+			dialogPane.add(buttonBar, BorderLayout.SOUTH);
+		}
+		//contentPane.add(dialogPane, BorderLayout.CENTER);
+		
+		
+		this.createLayout(dialogPane, false, null);
+	}
+	
+	/**
+	 * Returns the state of the power button.
+	 * 
+	 * @return boolean which is true when the button is selected
+	 */
+	public boolean getPowerButtonState(){
+		return this.powerButton.isSelected();
+	}
+	
+	/**
+	 * Enables or disables the interactive UI elements of the toolbox.
+	 * 
+	 * @param enabled set this true for enabled elements
+	 */
+	public void setAllUiElementsEnabled(boolean enabled){
+		this.applyButton.setEnabled(enabled);
+		this.levelBox.setEnabled(enabled);
+		this.objectBox.setEnabled(enabled);
+		this.nameField.setEnabled(enabled);
+		this.refField.setEnabled(enabled);
+		this.levelTagField.setEnabled(enabled);
+		this.preset1.setEnabled(enabled);
+		this.preset2.setEnabled(enabled);
+		this.preset3.setEnabled(enabled);
+		this.preset4.setEnabled(enabled);
+		
+		
+		if(enabled==false) {
+			resetUiElements();
+			this.levelTagField.setText("");
+		}
+	}
+	
+	/**
+	 * Enables or disables the interactive text box elements name and ref.
+	 * 
+	 * @param enabled set this true for enabled elements
+	 */
+	public void setTagUiElementsEnabled(boolean enabled){
+		this.nameField.setEnabled(enabled);
+		this.refField.setEnabled(enabled);
+		
+		if(enabled==false) resetUiElements();
+	}
+	
+	/**
+	 * Disables the power-button of the plug-in.
+	 */
+	public void setPowerButtonDisabled(){
+		this.powerButton.setSelected(false);
+	}
+	
+	/**
+	 * Getter for the selected {@link IndoorObject} in the objectBox.
+	 * 
+	 * @return the selected indoor object in the object ComboBox.
+	 */	
+	public IndoorObject getSelectedObject(){
+		return (IndoorObject) this.objectBox.getSelectedItem();
+	}
+	
+	
+	/**
+	 * Sets the level list for the level selection comboBox.
+	 * 
+	 * @param levelList the list of levels which you want to set
+	 */
+	public void setLevelList(List<IndoorLevel> levelList){
+		this.levelBox.removeAllItems();
+		
+		ListIterator<IndoorLevel> listIterator = levelList.listIterator();
+		
+		while(listIterator.hasNext()){
+			IndoorLevel level = listIterator.next();
+			if(level.hasEmptyName()){
+				this.levelBox.addItem(Integer.toString(level.getLevelNumber()));
+			} else{
+				this.levelBox.addItem(level.getName());
+			}
+		}		
+	}
+	
+	/**
+	 * Getter for the selected working level.
+	 * 
+	 * @return the index of the selected item in the level-box
+	 */
+	public int getSelectedLevelIndex(){
+		return this.levelBox.getSelectedIndex();
+	}
+	
+	/**
+	 * Checks if the level list is empty.
+	 *  
+	 * @return boolean which is true if the level-list is empty
+	 */
+	public boolean levelListIsEmpty(){
+		if(this.levelBox.getItemCount()==0){
+			return true;
+		} else{
+			return false;
+		}
+	}
+	
+	/**
+	 * Getter for the level-name-field.
+	 * 
+	 * @return the {@link String} of the levelTagField
+	 */
+	public String getLevelName(){
+		return this.levelTagField.getText();
+	}
+	
+	/**
+	 * Setter for the level name field.
+	 * 
+	 * @param name the String for the levelTagField
+	 */
+	public void setLevelName(String name){
+		this.levelTagField.setText(name);
+	}
+	
+	/**
+	 * Getter for the name {@link TextField}.
+	 * 
+	 * @return {@link String} of the name text field
+	 */
+	public String getNameText(){
+		return this.nameField.getText();
+	}
+	
+	/**
+	 * Getter for the ref {@link TextField}.
+	 * 
+	 * @return {@link String} of the ref text field
+	 */
+	public String getRefText(){
+		return this.refField.getText();
+	}
+	
+	/**
+	 * Resets the view by making the UI elements disabled and deleting the level list.
+	 */
+	public void reset(){
+		this.setAllUiElementsEnabled(false);
+		this.levelBox.removeAllItems();
+	}
+	
+	/**
+	 * Clears the text boxes and sets an empty {@link String}.
+	 */
+	public void resetUiElements(){
+		this.nameField.setText("");
+		this.refField.setText("");
+	}
+	
+	/*
+	 * ********************************
+	 * SETTERS FOR THE BUTTON LISTENERS
+	 * ********************************
+	 */
+	
+	/**
+	 * Set the listener for the power button.
+	 * 
+	 * @param l the listener to set
+	 */
+	public void setPowerButtonListener(ActionListener l){
+		this.powerButton.addActionListener(l);		
+	}
+	
+	/**
+	 * Set the listener for the apply button.
+	 * 
+	 * @param l the listener to set
+	 */
+	public void setApplyButtonListener(ActionListener l){
+		this.applyButton.addActionListener(l);
+	}
+	
+	/**
+	 * Set the listener which is called when a new item in the level list is selected.
+	 * 
+	 * @param l the listener to set
+	 */
+	public void setLevelItemListener(ItemListener l){
+		this.levelBox.addItemListener(l);
+	}
+	
+		
+	/**
+	 * Set the listener which is called when a new item in the object list is selected.
+	 * 
+	 * @param l the listener to set
+	 */
+	public void setObjectItemListener(ItemListener l){
+		this.objectBox.addItemListener(l);
+	}	
+	
+	// Preset Button Functions
+	
+	public void setPresetButtons(List<IndoorObject> objects){
+		this.preset1.setIndoorObject(objects.get(0));
+		this.preset2.setIndoorObject(objects.get(1));
+		this.preset3.setIndoorObject(objects.get(2));
+		this.preset4.setIndoorObject(objects.get(3));
+	}
+	
+	public void setPreset1Listener(ActionListener l){
+		this.preset1.addActionListener(l);
+	}
+	
+	public void setPreset2Listener(ActionListener l){
+		this.preset2.addActionListener(l);
+	}
+	
+	public void setPreset3Listener(ActionListener l){
+		this.preset3.addActionListener(l);
+	}
+	
+	public void setPreset4Listener(ActionListener l){
+		this.preset4.addActionListener(l);
+	}
+	
+	public IndoorObject getPreset1(){
+		return preset1.getIndoorObject();
+	}
+	
+	public IndoorObject getPreset2(){
+		return preset2.getIndoorObject();
+	}
+	
+	public IndoorObject getPreset3(){
+		return preset3.getIndoorObject();
+	}
+	
+	public IndoorObject getPreset4(){
+		return preset4.getIndoorObject();
+	}
+}
Index: /applications/editors/josm/plugins/indoorhelper/test/src/PresetCounterTest.java
===================================================================
--- /applications/editors/josm/plugins/indoorhelper/test/src/PresetCounterTest.java	(revision 32122)
+++ /applications/editors/josm/plugins/indoorhelper/test/src/PresetCounterTest.java	(revision 32122)
@@ -0,0 +1,47 @@
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Test;
+
+import model.PresetCounter;
+import model.TagCatalog.IndoorObject;
+
+public class PresetCounterTest {
+
+	/**
+	 * Test case for testing the ranking functionality.
+	 */
+	@Test
+	public void testRanking() {
+		// input preparation
+		PresetCounter counter = new PresetCounter();
+
+		counter.count(IndoorObject.CONCRETE_WALL);
+		counter.count(IndoorObject.CONCRETE_WALL);
+		counter.count(IndoorObject.CONCRETE_WALL);
+		counter.count(IndoorObject.ROOM);
+		counter.count(IndoorObject.ROOM);
+		counter.count(IndoorObject.STEPS);
+		counter.count(IndoorObject.TOILET_MALE);
+
+		List<IndoorObject> actualList = counter.getRanking();
+
+		//expectation
+		List<IndoorObject> expectedList = new ArrayList<>();
+		expectedList.add(IndoorObject.CONCRETE_WALL);
+		expectedList.add(IndoorObject.ROOM);
+		expectedList.add(IndoorObject.TOILET_MALE);
+		expectedList.add(IndoorObject.STEPS);
+		
+
+		//assertion
+		assertEquals(expectedList.get(0), actualList.get(0));
+		assertEquals(expectedList.get(1), actualList.get(1));
+		assertEquals(expectedList.get(2), actualList.get(2));
+		assertEquals(expectedList.get(3), actualList.get(3));
+
+
+	}
+}
