diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/index.html b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/index.html
index 3d521ba7b156b4585817fd505041a053df0712b1..078966269be48301831c24f575900dce1182b8e9 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/index.html
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/index.html
@@ -69,8 +69,8 @@
 	
 	<!-- First party libraries -->
 	<script type="text/javascript" src="../../resources/js/openbis.js"></script>
-	<script type="text/javascript" src="./lib/openbis/js/v3/config.js"></script>
-	<script type="text/javascript" src="./lib/openbis/js/v3/require.js"></script>
+	<script type="text/javascript" src="../../resources/api/v3/config.js"></script>
+	<script type="text/javascript" src="../../resources/api/v3/require.js"></script>
 	<script type="text/javascript" src="./lib/grid/js/Grid.js"></script>
 	
 	<!-- ELN UI -->
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/Attachment.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/Attachment.js
deleted file mode 100644
index e17b870c439dc8c66b907920d1049a6885a65c7d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/Attachment.js
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Attachment = function() {
-	};
-	stjs.extend(Attachment, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.attachment.Attachment';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.fileName = null;
-		prototype.title = null;
-		prototype.description = null;
-		prototype.permlink = null;
-		prototype.latestVersionPermlink = null;
-		prototype.version = null;
-		prototype.registrationDate = null;
-		prototype.registrator = null;
-		prototype.previousVersion = null;
-		prototype.content = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getFileName = function() {
-			return this.fileName;
-		};
-		prototype.setFileName = function(fileName) {
-			this.fileName = fileName;
-		};
-		prototype.getTitle = function() {
-			return this.title;
-		};
-		prototype.setTitle = function(title) {
-			this.title = title;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getPermlink = function() {
-			return this.permlink;
-		};
-		prototype.setPermlink = function(permlink) {
-			this.permlink = permlink;
-		};
-		prototype.getLatestVersionPermlink = function() {
-			return this.latestVersionPermlink;
-		};
-		prototype.setLatestVersionPermlink = function(latestVersionPermlink) {
-			this.latestVersionPermlink = latestVersionPermlink;
-		};
-		prototype.getVersion = function() {
-			return this.version;
-		};
-		prototype.setVersion = function(version) {
-			this.version = version;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-		prototype.getPreviousVersion = function() {
-			if (this.getFetchOptions().hasPreviousVersion()) {
-				return this.previousVersion;
-			} else {
-				throw new exceptions.NotFetchedException("Previous version of attachment  has not been fetched.");
-			}
-		};
-		prototype.setPreviousVersion = function(previousVersion) {
-			this.previousVersion = previousVersion;
-		};
-		prototype.getContent = function() {
-			if (this.getFetchOptions().hasContent()) {
-				return this.content;
-			} else {
-				throw new exceptions.NotFetchedException("Content has not been fetched.");
-			}
-		};
-		prototype.setContent = function(content) {
-			this.content = content;
-		};
-		prototype.toString = function() {
-			return "Attachment " + this.fileName + ":" + this.version;
-		};
-	}, {
-		fetchOptions : "AttachmentFetchOptions",
-		registrationDate : "Date",
-		registrator : "Person",
-		previousVersion : "Attachment",
-		content : "byte[]"
-	});
-	return Attachment;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/create/AttachmentCreation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/create/AttachmentCreation.js
deleted file mode 100644
index 0562ae158eff08c0e4294edb3286203dbbc43574..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/create/AttachmentCreation.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var AttachmentCreation = function() {
-	};
-	stjs.extend(AttachmentCreation, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.attachment.create.AttachmentCreation';
-		constructor.serialVersionUID = 1;
-		prototype.fileName = null;
-		prototype.title = null;
-		prototype.description = null;
-		prototype.content = null;
-		prototype.getFileName = function() {
-			return this.fileName;
-		};
-		prototype.setFileName = function(fileName) {
-			this.fileName = fileName;
-		};
-		prototype.getTitle = function() {
-			return this.title;
-		};
-		prototype.setTitle = function(title) {
-			this.title = title;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getContent = function() {
-			return this.content;
-		};
-		prototype.setContent = function(content) {
-			this.content = content;
-		};
-	}, {
-		content : "byte[]"
-	});
-	return AttachmentCreation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/fetchoptions/AttachmentFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/fetchoptions/AttachmentFetchOptions.js
deleted file mode 100644
index 580cf66d8bf6424a610fb74fb3fe30f3701d3da0..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/fetchoptions/AttachmentFetchOptions.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/person/fetchoptions/PersonFetchOptions", "as/dto/common/fetchoptions/EmptyFetchOptions",
-		"as/dto/attachment/fetchoptions/AttachmentSortOptions" ], function(require, stjs, FetchOptions) {
-	var AttachmentFetchOptions = function() {
-	};
-	stjs.extend(AttachmentFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.attachment.fetchoptions.AttachmentFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.registrator = null;
-		prototype.previousVersion = null;
-		prototype.content = null;
-		prototype.sort = null;
-		prototype.withRegistrator = function() {
-			if (this.registrator == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.registrator = new PersonFetchOptions();
-			}
-			return this.registrator;
-		};
-		prototype.withRegistratorUsing = function(fetchOptions) {
-			return this.registrator = fetchOptions;
-		};
-		prototype.hasRegistrator = function() {
-			return this.registrator != null;
-		};
-		prototype.withPreviousVersion = function() {
-			if (this.previousVersion == null) {
-				this.previousVersion = new AttachmentFetchOptions();
-			}
-			return this.previousVersion;
-		};
-		prototype.withPreviousVersionUsing = function(fetchOptions) {
-			return this.previousVersion = fetchOptions;
-		};
-		prototype.hasPreviousVersion = function() {
-			return this.previousVersion != null;
-		};
-		prototype.withContent = function() {
-			if (this.content == null) {
-				var EmptyFetchOptions = require("as/dto/common/fetchoptions/EmptyFetchOptions");
-				this.content = new EmptyFetchOptions();
-			}
-			return this.content;
-		};
-		prototype.withContentUsing = function(fetchOptions) {
-			return this.content = fetchOptions;
-		};
-		prototype.hasContent = function() {
-			return this.content != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var AttachmentSortOptions = require("as/dto/attachment/fetchoptions/AttachmentSortOptions");
-				this.sort = new AttachmentSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		registrator : "PersonFetchOptions",
-		previousVersion : "AttachmentFetchOptions",
-		content : "EmptyFetchOptions",
-		sort : "AttachmentSortOptions"
-	});
-	return AttachmentFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/fetchoptions/AttachmentSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/fetchoptions/AttachmentSortOptions.js
deleted file mode 100644
index 66d6faae9a9ea37326661eed0915787c50ff94cb..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/fetchoptions/AttachmentSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var AttachmentSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(AttachmentSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.attachment.fetchoptions.AttachmentSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return AttachmentSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/id/AttachmentFileName.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/id/AttachmentFileName.js
deleted file mode 100644
index f78254597b5f0862df82dc9b98a2f84c19b0f5a8..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/id/AttachmentFileName.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Attachment file name.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "util/Exceptions", "as/dto/attachment/id/IAttachmentId" ], function(stjs, exceptions, IAttachmentId) {
-	/**
-	 * @param fileName
-	 *            Attachment file name, e.g. "my_file.txt".
-	 */
-	var AttachmentFileName = function(fileName) {
-		this.setFileName(fileName);
-	};
-	stjs.extend(AttachmentFileName, null, [ IAttachmentId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.id.attachment.AttachmentFileName';
-		constructor.serialVersionUID = 1;
-		prototype.fileName = null;
-		prototype.getFileName = function() {
-			return this.fileName;
-		};
-		prototype.setFileName = function(fileName) {
-			if (fileName == null) {
-				throw new exceptions.IllegalArgumentException("File name cannot be null");
-			}
-			this.fileName = fileName;
-		};
-		prototype.toString = function() {
-			return this.getFileName();
-		};
-		prototype.hashCode = function() {
-			return ((this.getFileName() == null) ? 0 : this.getFileName().hashCode());
-		};
-		prototype.equals = function(obj) {
-			if (this == obj) {
-				return true;
-			}
-			if (obj == null) {
-				return false;
-			}
-			if (this.getClass() != obj.getClass()) {
-				return false;
-			}
-			var other = obj;
-			return this.getFileName() == null ? this.getFileName() == other.getFileName() : this.getFileName().equals(other.getFileName());
-		};
-	}, {});
-	return AttachmentFileName;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/id/IAttachmentId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/id/IAttachmentId.js
deleted file mode 100644
index cd774390b3254f23965fe8cbf2523c00476d6569..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/id/IAttachmentId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies an attachment in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IAttachmentId = function() {
-	};
-	stjs.extend(IAttachmentId, null, [ IObjectId ], null, {});
-	return IAttachmentId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/update/AttachmentListUpdateValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/update/AttachmentListUpdateValue.js
deleted file mode 100644
index 8c4a558f0d02ac515038c46b0c0a13c8a1865b73..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/attachment/update/AttachmentListUpdateValue.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/ListUpdateValue" ], function(stjs, ListUpdateValue) {
-	var AttachmentListUpdateValue = function() {
-		ListUpdateValue.call(this);
-	};
-	stjs.extend(AttachmentListUpdateValue, ListUpdateValue, [ ListUpdateValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.attachment.update.AttachmentListUpdateValue';
-		constructor.serialVersionUID = 1;
-	}, {
-		actions : {
-			name : "List",
-			arguments : [ {
-				name : "ListUpdateValue.ListUpdateAction",
-				arguments : [ "ACTION" ]
-			} ]
-		}
-	});
-	return AttachmentListUpdateValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/Enum.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/Enum.js
deleted file mode 100644
index 70168c1597387f89c0032448881972181ff25c98..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/Enum.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define([ "stjs" ], function(stjs) {
-	var Enum = function(values) {
-		var thisEnum = this;
-		this.values = values;
-		values.forEach(function(value) {
-			thisEnum[value] = value;
-		});
-	};
-	stjs.extend(Enum, null, [], function(constructor, prototype) {
-		prototype.values = function() {
-			return this.values;
-		};
-	}, {});
-	return Enum;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/CacheMode.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/CacheMode.js
deleted file mode 100644
index 5f639e40fde62f7eaa4ec69bd653bec37cf719bb..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/CacheMode.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var CacheMode = function() {
-		Enum.call(this, [ "NO_CACHE", "CACHE", "RELOAD_AND_CACHE" ]);
-	};
-	stjs.extend(CacheMode, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new CacheMode();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/EmptyFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/EmptyFetchOptions.js
deleted file mode 100644
index 7c7b13db4dfa22ad482cce61255c18e94b4c1ab5..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/EmptyFetchOptions.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define([ "stjs", "as/dto/common/fetchoptions/FetchOptions" ], function(stjs, FetchOptions) {
-	var EmptyFetchOptions = function() {
-		FetchOptions.call(this);
-	};
-	stjs.extend(EmptyFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.fetchoptions.EmptyFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sortBy = function() {
-			return null;
-		};
-		prototype.getSortBy = function() {
-			return null;
-		};
-	}, {});
-	return EmptyFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/EntitySortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/EntitySortOptions.js
deleted file mode 100644
index 5f5c900dc89e973497da92f02525a7a2dca9da07..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/EntitySortOptions.js
+++ /dev/null
@@ -1,35 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var EntitySortOptions = function() {
-		SortOptions.call(this);
-	};
-
-	var fields = {
-		CODE : "CODE",
-		REGISTRATION_DATE : "REGISTRATION_DATE",
-		MODIFICATION_DATE : "MODIFICATION_DATE"
-	};
-
-	stjs.extend(EntitySortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.fetchoptions.EntitySortOptions';
-		constructor.serialVersionUID = 1;
-		prototype.code = function() {
-			return this.getOrCreateSorting(fields.CODE);
-		};
-		prototype.getCode = function() {
-			return this.getSorting(fields.CODE);
-		};
-		prototype.registrationDate = function() {
-			return this.getOrCreateSorting(fields.REGISTRATION_DATE);
-		};
-		prototype.getRegistrationDate = function() {
-			return this.getSorting(fields.REGISTRATION_DATE);
-		};
-		prototype.modificationDate = function() {
-			return this.getOrCreateSorting(fields.MODIFICATION_DATE);
-		};
-		prototype.getModificationDate = function() {
-			return this.getSorting(fields.MODIFICATION_DATE);
-		};
-	}, {});
-	return EntitySortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/EntityWithPropertiesSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/EntityWithPropertiesSortOptions.js
deleted file mode 100644
index ed75f927afe7d82cfe3deb1411e0e8a1218b0024..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/EntityWithPropertiesSortOptions.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/EntitySortOptions" ], function(require, stjs, EntitySortOptions) {
-	var EntityWithPropertiesSortOptions = function() {
-		EntitySortOptions.call(this);
-	};
-
-	var fields = {
-		PROPERTY : "PROPERTY"
-	};
-
-	stjs.extend(EntityWithPropertiesSortOptions, EntitySortOptions, [ EntitySortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.fetchoptions.EntityWithPropertiesSortOptions';
-		constructor.serialVersionUID = 1;
-
-		prototype.property = function(propertyName) {
-			return this.getOrCreateSorting(fields.PROPERTY + propertyName);
-		};
-		prototype.getProperty = function(propertyName) {
-			return this.getSorting(fields.PROPERTY + propertyName);
-		};
-
-	}, {});
-	return EntityWithPropertiesSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/FetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/FetchOptions.js
deleted file mode 100644
index ddeec2c50eec710c404fdf2f396e809cb3f6c74d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/FetchOptions.js
+++ /dev/null
@@ -1,33 +0,0 @@
-define([ "stjs", "as/dto/common/fetchoptions/CacheMode" ], function(stjs, CacheMode) {
-	var FetchOptions = function() {
-		this._count = null;
-		this._from = null;
-		this._cacheMode = CacheMode.NO_CACHE;
-	};
-	stjs.extend(FetchOptions, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.fetchoptions.FetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.count = function(count) {
-			this._count = count;
-			return this;
-		};
-		prototype.getCount = function() {
-			return this._count;
-		};
-		prototype.from = function(from) {
-			this._from = from;
-			return this;
-		};
-		prototype.getFrom = function() {
-			return this._from;
-		};
-		prototype.cacheMode = function(cacheMode) {
-			this._cacheMode = cacheMode;
-			return this;
-		};
-		prototype.getCacheMode = function() {
-			return this._cacheMode;
-		}
-	}, {});
-	return FetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/SortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/SortOptions.js
deleted file mode 100644
index d9dc882cef503ae2f1a601a223fc8bca35e6a283..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/SortOptions.js
+++ /dev/null
@@ -1,31 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOrder", "as/dto/common/fetchoptions/Sorting" ], function(require, stjs, SortOrder, Sorting) {
-	var SortOptions = function() {
-		this.sortings = [];
-	};
-
-	stjs.extend(SortOptions, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.fetchoptions.SortOptions';
-		constructor.serialVersionUID = 1;
-		prototype.getOrCreateSorting = function(field) {
-			var order = this.getSorting(field);
-			if (order == null) {
-				order = new SortOrder();
-				this.sortings.push(new Sorting(field, order));
-			}
-			return order;
-		};
-		prototype.getSorting = function(field) {
-			var order = null;
-			this.sortings.forEach(function(sorting) {
-				if (field == sorting.getField()) {
-					order = sorting.getOrder();
-				}
-			});
-			return order;
-		};
-		prototype.getSortings = function() {
-			return this.sortings;
-		};
-	}, {});
-	return SortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/SortOrder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/SortOrder.js
deleted file mode 100644
index b7d2531747c50c54b7e7d58d2c454c6fcf16d0e8..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/SortOrder.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define([ "require", "stjs" ], function(require, stjs) {
-	var SortOrder = function() {
-		this._asc = true;
-	};
-
-	stjs.extend(SortOrder, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.fetchoptions.SortOrder';
-		constructor.serialVersionUID = 1;
-		prototype.asc = function() {
-			this._asc = true;
-		};
-		prototype.desc = function() {
-			this._asc = false;
-		};
-		prototype.isAsc = function() {
-			return this._asc;
-		};
-	}, {});
-	return SortOrder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/Sorting.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/Sorting.js
deleted file mode 100644
index 534db78593281c3681b2b8fbc8b1c64132f661c9..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/fetchoptions/Sorting.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define([ "require", "stjs" ], function(require, stjs) {
-	var Sorting = function(field, order) {
-		this.field = field;
-		this.order = order;
-	};
-
-	stjs.extend(Sorting, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.fetchoptions.Sorting';
-		constructor.serialVersionUID = 1;
-		prototype.getField = function() {
-			return this.field;
-		};
-		prototype.getOrder = function() {
-			return this.order;
-		};
-	}, {});
-	return Sorting;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/CreationId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/CreationId.js
deleted file mode 100644
index 57c7f63cf9320aa1c223502a7d0eecd5b2d42e7b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/CreationId.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * @author Jakub Straszewski
- */
-define([ "stjs", "as/dto/sample/id/ISampleId", "as/dto/dataset/id/IDataSetId", "as/dto/experiment/id/IExperimentId", "as/dto/project/id/IProjectId", "as/dto/space/id/ISpaceId", "as/dto/material/id/IMaterialId" ],
-		function(stjs, ISampleId, IDataSetId, IExperimentId, IProjectId, ISpaceId, IMaterialId) {
-			var CreationId = function(creationId) {
-				this.creationId = creationId;
-			};
-			stjs.extend(CreationId, null, [ ISampleId, IDataSetId, IExperimentId, IProjectId, ISpaceId, IMaterialId ], function(constructor, prototype) {
-				prototype['@type'] = 'as.dto.common.id.CreationId';
-				constructor.serialVersionUID = 1;
-				prototype.creationId = null;
-				prototype.getCreationId = function() {
-					return this.creationId;
-				};
-				prototype.setCreationId = function(creationId) {
-					this.creationId = creationId;
-				};
-				prototype.toString = function() {
-					return this.getCreationId();
-				};
-				prototype.hashCode = function() {
-					return ((this.getCreationId() == null) ? 0 : this.getCreationId().hashCode());
-				};
-				prototype.equals = function(obj) {
-					if (this == obj) {
-						return true;
-					}
-					if (obj == null) {
-						return false;
-					}
-					if (this.getClass() != obj.getClass()) {
-						return false;
-					}
-					var other = obj;
-					if (this.getCreationId() == null) {
-						if (other.getCreationId() != null) {
-							return false;
-						}
-					} else if (!this.getCreationId().equals(other.getCreationId())) {
-						return false;
-					}
-					return true;
-				};
-			}, {});
-			return CreationId;
-		})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/IObjectId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/IObjectId.js
deleted file mode 100644
index 6db51ef2463da71b5c9f88c75561d7a07ba3dbd8..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/IObjectId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies an object in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var IObjectId = function() {
-	};
-	stjs.extend(IObjectId, null, [], null, {});
-	return IObjectId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/ObjectIdentifier.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/ObjectIdentifier.js
deleted file mode 100644
index 5b7694f54357a99274a639d5ce1f73af55f4dac1..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/ObjectIdentifier.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Base class for ids that identify objects by identifiers. An identifier is a
- * mutable user-defined string. An identifier is assigned to an object during
- * the object creation but can change afterwards. An object's identifier is not
- * guaranteed to be always the same, e.g. a sample identifier changes when the
- * sample is moved to a different space.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "util/Exceptions", "as/dto/common/id/IObjectId" ], function(stjs, exceptions, IObjectId) {
-	var ObjectIdentifier = function(identifier) {
-		this.setIdentifier(identifier);
-	};
-	stjs.extend(ObjectIdentifier, null, [ IObjectId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.id.ObjectIdentifier';
-		constructor.serialVersionUID = 1;
-		prototype.identifier = null;
-		prototype.getIdentifier = function() {
-			return this.identifier;
-		};
-		prototype.setIdentifier = function(identifier) {
-			if (identifier == null) {
-				// throw new exceptions.IllegalArgumentException("Identifier id
-				// cannot be null");
-			}
-			this.identifier = identifier;
-		};
-		prototype.toString = function() {
-			return this.getIdentifier();
-		};
-		prototype.hashCode = function() {
-			return ((this.getIdentifier() == null) ? 0 : this.getIdentifier().hashCode());
-		};
-		prototype.equals = function(obj) {
-			if (this == obj) {
-				return true;
-			}
-			if (obj == null) {
-				return false;
-			}
-			if (this.getClass() != obj.getClass()) {
-				return false;
-			}
-			var other = obj;
-			return this.getIdentifier() == null ? this.getIdentifier() == other.getIdentifier() : this.getIdentifier().equals(other.getIdentifier());
-		};
-	}, {});
-	return ObjectIdentifier;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/ObjectPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/ObjectPermId.js
deleted file mode 100644
index 0de597d5dabd1dd27e7a8543e509f008282cbd7b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/ObjectPermId.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Base class for ids that identify objects by a perm id. A perm id is an
- * immutable system-generated string. A perm id is assigned to an object during
- * the object creation and cannot be changed afterwards. An object's perm id is
- * guaranteed to be always the same, e.g. a sample perm id remains the same even
- * if the sample is moved to a different space.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "util/Exceptions", "as/dto/common/id/IObjectId" ], function(stjs, exceptions, IObjectId) {
-	var ObjectPermId = function(permId) {
-		this.setPermId(permId);
-	};
-	stjs.extend(ObjectPermId, null, [ IObjectId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.id.ObjectPermId';
-		constructor.serialVersionUID = 1;
-		prototype.permId = null;
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			if (permId == null) {
-				// TODO throw new exceptions.IllegalArgumentException("PermId
-				// cannot be null");
-			}
-			this.permId = permId;
-		};
-		prototype.toString = function() {
-			return this.getPermId();
-		};
-		prototype.hashCode = function() {
-			return ((this.getPermId() == null) ? 0 : this.getPermId().hashCode());
-		};
-		prototype.equals = function(obj) {
-			if (this == obj) {
-				return true;
-			}
-			if (obj == null) {
-				return false;
-			}
-			if (this.getClass() != obj.getClass()) {
-				return false;
-			}
-			var other = obj;
-			if (this.getPermId() == null) {
-				if (other.getPermId() != null) {
-					return false;
-				}
-			} else if (!this.getPermId().equals(other.getPermId())) {
-				return false;
-			}
-			return true;
-		};
-	}, {});
-	return ObjectPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/ObjectTechId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/ObjectTechId.js
deleted file mode 100644
index d4cffad2f4bc1e358e5fa3f848a65afb85fbd2d6..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/id/ObjectTechId.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "util/Exceptions", "as/dto/common/id/IObjectId" ], function(stjs, exceptions, IObjectId) {
-	var ObjectTechId = function(techId) {
-		this.setTechId(techId);
-	};
-	stjs.extend(ObjectTechId, null, [ IObjectId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.id.ObjectTechId';
-		constructor.serialVersionUID = 1;
-		prototype.techId = null;
-		prototype.getTechId = function() {
-			return this.techId;
-		};
-		prototype.setTechId = function(techId) {
-			if (techId == null) {
-				// throw new exceptions.IllegalArgumentException("TechId cannot
-				// be null");
-			}
-			this.techId = techId;
-		};
-		prototype.toString = function() {
-			return this.getTechId().toString();
-		};
-		prototype.hashCode = function() {
-			return ((this.getTechId() == null) ? 0 : this.getTechId().hashCode());
-		};
-		prototype.equals = function(obj) {
-			if (this == obj) {
-				return true;
-			}
-			if (obj == null) {
-				return false;
-			}
-			if (this.getClass() != obj.getClass()) {
-				return false;
-			}
-			var other = obj;
-			if (this.getTechId() == null) {
-				if (other.getTechId() != null) {
-					return false;
-				}
-			} else if (!this.getTechId().equals(other.getTechId())) {
-				return false;
-			}
-			return true;
-		};
-	}, {});
-	return ObjectTechId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IAttachmentsHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IAttachmentsHolder.js
deleted file mode 100644
index e6edcaf3fbd531a5fece3f6029afee3decae2709..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IAttachmentsHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var IAttachmentsHolder = function() {
-	};
-	stjs.extend(IAttachmentsHolder, null, [], function(constructor, prototype) {
-		prototype.getAttachments = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return IAttachmentsHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ICodeHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ICodeHolder.js
deleted file mode 100644
index a70316eac4bc0c5820c02b64242c470b5cae94f8..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ICodeHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var ICodeHolder = function() {
-	};
-	stjs.extend(ICodeHolder, null, [], function(constructor, prototype) {
-		prototype.getCode = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return ICodeHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ICreationIdHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ICreationIdHolder.js
deleted file mode 100644
index e5f5d346f3cea629fa15ecc40d6c0ab2cb7992c2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ICreationIdHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var ICreationIdHolder = function() {
-	};
-	stjs.extend(ICreationIdHolder, null, [], function(constructor, prototype) {
-		prototype.getCreationId = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return ICreationIdHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IModificationDateHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IModificationDateHolder.js
deleted file mode 100644
index d788552c78376b11143de22e3aa882548b265f52..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IModificationDateHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var IModificationDateHolder = function() {
-	};
-	stjs.extend(IModificationDateHolder, null, [], function(constructor, prototype) {
-		prototype.getModificationDate = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return IModificationDateHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IModifierHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IModifierHolder.js
deleted file mode 100644
index 5819140d54d45eaf63fc184dc92aad3cbe556727..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IModifierHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var IModifierHolder = function() {
-	};
-	stjs.extend(IModifierHolder, null, [], function(constructor, prototype) {
-		prototype.getModifier = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return IModifierHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IParentChildrenHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IParentChildrenHolder.js
deleted file mode 100644
index 8efe448944a7c5cb19958cda0820335b52646a0d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IParentChildrenHolder.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var IParentChildrenHolder = function() {
-	};
-	stjs.extend(IParentChildrenHolder, null, [], function(constructor, prototype) {
-		prototype.getChildren = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-		prototype.getParents = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return IParentChildrenHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IPermIdHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IPermIdHolder.js
deleted file mode 100644
index 8fd80c1fee07a2293e9868344d70041dd390692e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IPermIdHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var IPermIdHolder = function() {
-	};
-	stjs.extend(IPermIdHolder, null, [], function(constructor, prototype) {
-		prototype.getPermId = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return IPermIdHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IPropertiesHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IPropertiesHolder.js
deleted file mode 100644
index 18ecbaeac201042e5a2b6dd980d11dc0494934af..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IPropertiesHolder.js
+++ /dev/null
@@ -1,19 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var IPropertiesHolder = function() {
-	};
-	stjs.extend(IPropertiesHolder, null, [], function(constructor, prototype) {
-		prototype.getProperty = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-		prototype.getProperties = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-		prototype.getMaterialProperties = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-		prototype.getMaterialProperty = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return IPropertiesHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IRegistrationDateHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IRegistrationDateHolder.js
deleted file mode 100644
index 9d9277a1006418358e1d3190cd2dbd8da059886c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IRegistrationDateHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var IRegistrationDateHolder = function() {
-	};
-	stjs.extend(IRegistrationDateHolder, null, [], function(constructor, prototype) {
-		prototype.getRegistrationDate = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return IRegistrationDateHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IRegistratorHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IRegistratorHolder.js
deleted file mode 100644
index ecc77ed332600a83f59d3f4cefef7c7a6aa3cb78..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/IRegistratorHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var IRegistratorHolder = function() {
-	};
-	stjs.extend(IRegistratorHolder, null, [], function(constructor, prototype) {
-		prototype.getRegistrator = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return IRegistratorHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ISpaceHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ISpaceHolder.js
deleted file mode 100644
index 7ba560c5204680250bafc026207708f3b7c8eebf..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ISpaceHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var ISpaceHolder = function() {
-	};
-	stjs.extend(ISpaceHolder, null, [], function(constructor, prototype) {
-		prototype.getSpace = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return ISpaceHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ITagsHolder.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ITagsHolder.js
deleted file mode 100644
index fbe95dc188ae29abe9fc0c18c391b14f70d66e45..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/interfaces/ITagsHolder.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var ITagsHolder = function() {
-	};
-	stjs.extend(ITagsHolder, null, [], function(constructor, prototype) {
-		prototype.getTags = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return ITagsHolder;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/operations/IOperation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/operations/IOperation.js
deleted file mode 100644
index c94ed5191cfe39d858da312ff8610df2460a26a8..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/operations/IOperation.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- *  @author pkupczyk
- */
-define(["stjs"], function (stjs) {
-    var IOperation = function() {};
-    stjs.extend(IOperation, null, [], null, {});
-    return IOperation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/operations/IOperationResult.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/operations/IOperationResult.js
deleted file mode 100644
index 0e5af96a23ed25d93eee60bd836bc203135502a9..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/operations/IOperationResult.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- *  @author pkupczyk
- */
-define(["stjs"], function (stjs) {
-    var IOperationResult = function() {};
-    stjs.extend(IOperationResult, null, [], null, {});
-    return IOperationResult;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractCompositeSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractCompositeSearchCriteria.js
deleted file mode 100644
index 0a4e7d033ff9477b92b38a1b8a8ac6875e3c43d6..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractCompositeSearchCriteria.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractSearchCriteria", "as/dto/common/search/SearchOperator" ], function(stjs, AbstractSearchCriteria, SearchOperator) {
-	var AbstractCompositeSearchCriteria = function() {
-		AbstractSearchCriteria.call(this);
-		this.criteria = [];
-	};
-	stjs.extend(AbstractCompositeSearchCriteria, AbstractSearchCriteria, [ AbstractSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractCompositeSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.operator = SearchOperator.AND;
-		prototype.getCriteria = function() {
-			return this.criteria;
-		};
-		prototype.setCriteria = function(criteria) {
-			this.criteria = criteria;
-		};
-		prototype.addCriteria = function(criteria) {
-			this.criteria.push(criteria);
-			return criteria;
-		};
-		prototype.getOperator = function() {
-			return this.operator;
-		}
-		prototype.withOrOperator = function() {
-			this.operator = SearchOperator.OR;
-		}
-		prototype.withAndOperator = function() {
-			this.operator = SearchOperator.AND;
-		}
-	}, {
-		criteria : {
-			name : "Collection",
-			operator : "SearchOperator",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return AbstractCompositeSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractDateObjectValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractDateObjectValue.js
deleted file mode 100644
index fe2fbee5cd42cb8fcd1be3801f113deb97caee27..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractDateObjectValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractValue", "as/dto/common/search/IDate" ], function(stjs, AbstractValue, IDate) {
-	var AbstractDateObjectValue = function(value) {
-		AbstractValue.call(this, value);
-	};
-	stjs.extend(AbstractDateObjectValue, AbstractValue, [ AbstractValue, IDate ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractDateObjectValue';
-		constructor.serialVersionUID = 1;
-		prototype.getFormattedValue = function() {
-			return null;
-		};
-	}, {});
-	return AbstractDateObjectValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractDateValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractDateValue.js
deleted file mode 100644
index 729176100a55311a520db9e3f1c6deff12aa755a..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractDateValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractValue", "as/dto/common/search/IDate" ], function(stjs, AbstractValue, IDate) {
-	var AbstractDateValue = function(value) {
-		AbstractValue.call(this, value);
-	};
-	stjs.extend(AbstractDateValue, AbstractValue, [ AbstractValue, IDate ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractDateValue';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return AbstractDateValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractEntitySearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractEntitySearchCriteria.js
deleted file mode 100644
index 005fa13634e42f2278403a2ca238ce59ab51a0a2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractEntitySearchCriteria.js
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * @author pkupczyk
- */
-define(
-		[ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/SearchOperator", "as/dto/common/search/CodeSearchCriteria",
-				"as/dto/entitytype/search/EntityTypeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria", "as/dto/common/search/RegistrationDateSearchCriteria",
-				"as/dto/common/search/ModificationDateSearchCriteria", "as/dto/common/search/NumberPropertySearchCriteria", "as/dto/tag/search/TagSearchCriteria",
-				"as/dto/common/search/StringPropertySearchCriteria", "as/dto/common/search/DatePropertySearchCriteria", "as/dto/common/search/AnyPropertySearchCriteria",
-				"as/dto/common/search/AnyFieldSearchCriteria", "as/dto/common/search/AbstractCompositeSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria, SearchOperator) {
-			var AbstractEntitySearchCriteria = function() {
-				AbstractObjectSearchCriteria.call(this);
-			};
-			stjs.extend(AbstractEntitySearchCriteria, AbstractObjectSearchCriteria, [ AbstractObjectSearchCriteria ], function(constructor, prototype) {
-				prototype['@type'] = 'as.dto.search.AbstractEntitySearchCriteria';
-				constructor.serialVersionUID = 1;
-				prototype.operator = SearchOperator.AND;
-				prototype.withOperator = function(anOperator) {
-					this.operator = anOperator;
-					return this;
-				};
-				prototype.getOperator = function() {
-					return this.operator;
-				};
-				prototype.withCode = function() {
-					var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria");
-					return this.addCriteria(new CodeSearchCriteria());
-				};
-				prototype.withType = function() {
-					var EntityTypeSearchCriteria = require("as/dto/entitytype/search/EntityTypeSearchCriteria");
-					return this.addCriteria(new EntityTypeSearchCriteria());
-				};
-				prototype.withPermId = function() {
-					var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria");
-					return this.addCriteria(new PermIdSearchCriteria());
-				};
-				prototype.withRegistrationDate = function() {
-					var RegistrationDateSearchCriteria = require("as/dto/common/search/RegistrationDateSearchCriteria");
-					return this.addCriteria(new RegistrationDateSearchCriteria());
-				};
-				prototype.withModificationDate = function() {
-					var ModificationDateSearchCriteria = require("as/dto/common/search/ModificationDateSearchCriteria");
-					return this.addCriteria(new ModificationDateSearchCriteria());
-				};
-				prototype.withNumberProperty = function(propertyName) {
-					var NumberPropertySearchCriteria = require("as/dto/common/search/NumberPropertySearchCriteria");
-					return this.addCriteria(new NumberPropertySearchCriteria(propertyName));
-				};
-				prototype.withTag = function() {
-					var TagSearchCriteria = require("as/dto/tag/search/TagSearchCriteria");
-					return this.addCriteria(new TagSearchCriteria());
-				};
-				prototype.withProperty = function(propertyName) {
-					var StringPropertySearchCriteria = require("as/dto/common/search/StringPropertySearchCriteria");
-					return this.addCriteria(new StringPropertySearchCriteria(propertyName));
-				};
-				prototype.withDateProperty = function(propertyName) {
-					var DatePropertySearchCriteria = require("as/dto/common/search/DatePropertySearchCriteria");
-					return this.addCriteria(new DatePropertySearchCriteria(propertyName));
-				};
-				prototype.withAnyProperty = function() {
-					var AnyPropertySearchCriteria = require("as/dto/common/search/AnyPropertySearchCriteria");
-					return this.addCriteria(new AnyPropertySearchCriteria());
-				};
-				prototype.withAnyField = function() {
-					var AnyFieldSearchCriteria = require("as/dto/common/search/AnyFieldSearchCriteria");
-					return this.addCriteria(new AnyFieldSearchCriteria());
-				};
-			}, {
-				operator : {
-					name : "Enum",
-					arguments : [ "SearchOperator" ]
-				},
-				criteria : {
-					name : "Collection",
-					arguments : [ "ISearchCriteria" ]
-				}
-			});
-			return AbstractEntitySearchCriteria;
-		})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractFieldSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractFieldSearchCriteria.js
deleted file mode 100644
index 27faf44f455aebe832a13faa5ba36423cdaf98a8..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractFieldSearchCriteria.js
+++ /dev/null
@@ -1,50 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, AbstractSearchCriteria, SearchFieldType) {
-	var AbstractFieldSearchCriteria = function(fieldName, fieldType) {
-		AbstractSearchCriteria.call(this);
-		this.fieldName = fieldName;
-		this.fieldType = fieldType;
-	};
-	stjs.extend(AbstractFieldSearchCriteria, AbstractSearchCriteria, [ AbstractSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractFieldSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.fieldName = null;
-		prototype.fieldType = null;
-		prototype.fieldValue = null;
-		prototype.getFieldName = function() {
-			return this.fieldName;
-		};
-		prototype.getFieldType = function() {
-			return this.fieldType;
-		};
-		prototype.getFieldValue = function() {
-			return this.fieldValue;
-		};
-		prototype.setFieldValue = function(value) {
-			this.fieldValue = value;
-		};
-		prototype.toString = function() {
-			var descriptor = "";
-			switch (this.getFieldType()) {
-			case SearchFieldType.PROPERTY:
-				descriptor = "with property '" + this.getFieldName() + "'";
-				break;
-			case SearchFieldType.ATTRIBUTE:
-				descriptor = "with attribute '" + this.getFieldName() + "'";
-				break;
-			case SearchFieldType.ANY_PROPERTY:
-				descriptor = "any property";
-				break;
-			case SearchFieldType.ANY_FIELD:
-				descriptor = "any field";
-				break;
-			}
-			return descriptor + " " + (this.getFieldValue() == null ? "" : this.getFieldValue().toString());
-		};
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return AbstractFieldSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractNumberValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractNumberValue.js
deleted file mode 100644
index bd92f62dd31dec673b7c73bb82264dc95a3b4edc..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractNumberValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractValue" ], function(stjs, AbstractValue) {
-	var AbstractNumberValue = function(number) {
-		AbstractValue.call(this, number);
-	};
-	stjs.extend(AbstractNumberValue, AbstractValue, [ AbstractValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractNumberValue';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return AbstractNumberValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractObjectSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractObjectSearchCriteria.js
deleted file mode 100644
index f6a578d567f19e624ef31cf428b8ad5089fe74f7..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractObjectSearchCriteria.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractCompositeSearchCriteria", "as/dto/common/search/IdSearchCriteria" ], function(stjs, AbstractCompositeSearchCriteria, IdSearchCriteria) {
-	var AbstractObjectSearchCriteria = function() {
-		AbstractCompositeSearchCriteria.call(this);
-	};
-	stjs.extend(AbstractObjectSearchCriteria, AbstractCompositeSearchCriteria, [ AbstractCompositeSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractObjectSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.withId = function() {
-			return this.addCriteria(new IdSearchCriteria());
-		};
-	}, {
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return AbstractObjectSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractSearchCriteria.js
deleted file mode 100644
index 7150830e82d7ebc833d80cc9b08958bdda5ac27f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractSearchCriteria.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/ISearchCriteria" ], function(stjs, ISearchCriteria) {
-	var AbstractSearchCriteria = function() {
-	};
-	stjs.extend(AbstractSearchCriteria, null, [ ISearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.hashCode = function() {
-		};
-	}, {});
-	return AbstractSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractStringValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractStringValue.js
deleted file mode 100644
index 2da0b8312e2a6057f58b68f69af291de54cf367f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractStringValue.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractValue" ], function(stjs, AbstractValue) {
-	var AbstractStringValue = function(value) {
-		AbstractValue.call(this, value);
-	};
-	stjs.extend(AbstractStringValue, AbstractValue, [ AbstractValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractStringValue';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return AbstractStringValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractTimeZoneValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractTimeZoneValue.js
deleted file mode 100644
index ee35a1355f7b8e0b64eebfb63995e350d06cf3fb..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractTimeZoneValue.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var AbstractTimeZoneValue = function() {
-	};
-	stjs.extend(AbstractTimeZoneValue, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractTimeZoneValue';
-	}, {});
-	return AbstractTimeZoneValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractValue.js
deleted file mode 100644
index 94f37eb7f2a7039efa6675e62ac9ab42d3a2fe96..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AbstractValue.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var AbstractValue = function(value) {
-		this.value = value;
-	};
-	stjs.extend(AbstractValue, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AbstractValue';
-		constructor.serialVersionUID = 1;
-		prototype.value = null;
-		prototype.getValue = function() {
-			return this.value;
-		};
-		prototype.setValue = function(value) {
-			this.value = value;
-		};
-		prototype.toString = function() {
-			if (this.getValue() != null) {
-				return this.getValue().toString();
-			} else {
-				return null;
-			}
-		};
-	}, {});
-	return AbstractValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AnyFieldSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AnyFieldSearchCriteria.js
deleted file mode 100644
index c6c19e89ea21fae5ff9984d0c41447f5929d858b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AnyFieldSearchCriteria.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/StringFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, StringFieldSearchCriteria, SearchFieldType) {
-	var AnyFieldSearchCriteria = function() {
-		StringFieldSearchCriteria.call(this, "any", SearchFieldType.ANY_FIELD);
-	};
-	stjs.extend(AnyFieldSearchCriteria, StringFieldSearchCriteria, [ StringFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AnyFieldSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return AnyFieldSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AnyPropertySearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AnyPropertySearchCriteria.js
deleted file mode 100644
index 511117f47a7ac8bf6147560125b9f8116ef3f4ee..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AnyPropertySearchCriteria.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/StringFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, StringFieldSearchCriteria, SearchFieldType) {
-	var AnyPropertySearchCriteria = function() {
-		StringFieldSearchCriteria.call(this, "any", SearchFieldType.ANY_PROPERTY);
-	};
-	stjs.extend(AnyPropertySearchCriteria, StringFieldSearchCriteria, [ StringFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AnyPropertySearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return AnyPropertySearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AnyStringValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AnyStringValue.js
deleted file mode 100644
index 9b5ed154a9dd1d2f349b34f939c9084fe8994013..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/AnyStringValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractStringValue" ], function(stjs, AbstractStringValue) {
-	var AnyStringValue = function() {
-		AbstractStringValue.call(this, null);
-	};
-	stjs.extend(AnyStringValue, AbstractStringValue, [ AbstractStringValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.AnyStringValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "any value";
-		};
-	}, {});
-	return AnyStringValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/CodeSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/CodeSearchCriteria.js
deleted file mode 100644
index 6d9a5ed564c5a06fffa399fb62cc879f41fe234c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/CodeSearchCriteria.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/StringFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, StringFieldSearchCriteria, SearchFieldType) {
-	var CodeSearchCriteria = function() {
-		StringFieldSearchCriteria.call(this, "code", SearchFieldType.ATTRIBUTE);
-	};
-	stjs.extend(CodeSearchCriteria, StringFieldSearchCriteria, [ StringFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.CodeSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return CodeSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateEarlierThanOrEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateEarlierThanOrEqualToValue.js
deleted file mode 100644
index bf07c154d18dccd5412e029975a82c809e704be0..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateEarlierThanOrEqualToValue.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractDateValue" ], function(stjs, AbstractDateValue) {
-	var DateEarlierThanOrEqualToValue = function(value) {
-		AbstractDateValue.call(this, value);
-	};
-	stjs.extend(DateEarlierThanOrEqualToValue, AbstractDateValue, [ AbstractDateValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.DateEarlierThanOrEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "earlier than or equal to '" + this.getValue() + "'";
-		};
-	}, {});
-	return DateEarlierThanOrEqualToValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateEqualToValue.js
deleted file mode 100644
index 826c6a50d6d961312478af6b7d4d3a2997ebbfb5..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateEqualToValue.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractDateValue" ], function(stjs, AbstractDateValue) {
-	var DateEqualToValue = function(value) {
-		AbstractDateValue.call(this, value);
-	};
-	stjs.extend(DateEqualToValue, AbstractDateValue, [ AbstractDateValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.DateEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "equal to '" + this.getValue() + "'";
-		};
-	}, {});
-	return DateEqualToValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateFieldSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateFieldSearchCriteria.js
deleted file mode 100644
index dbd9bd5c479dea190c694363f1a76be26af8b1ad..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateFieldSearchCriteria.js
+++ /dev/null
@@ -1,89 +0,0 @@
-define([ "require", "stjs", "util/Exceptions", "as/dto/common/search/AbstractFieldSearchCriteria", "as/dto/common/search/ServerTimeZone", "as/dto/common/search/ShortDateFormat",
-		"as/dto/common/search/NormalDateFormat", "as/dto/common/search/LongDateFormat", "as/dto/common/search/DateEqualToValue", "as/dto/common/search/DateObjectEqualToValue",
-		"as/dto/common/search/DateLaterThanOrEqualToValue", "as/dto/common/search/DateObjectLaterThanOrEqualToValue", "as/dto/common/search/DateEarlierThanOrEqualToValue",
-		"as/dto/common/search/DateObjectEarlierThanOrEqualToValue", "as/dto/common/search/TimeZone", "as/dto/common/search/AbstractDateValue", "util/DateFormat" ], function(require, stjs, exceptions,
-		AbstractFieldSearchCriteria, ServerTimeZone) {
-	var DateFieldSearchCriteria = function(fieldName, fieldType) {
-		AbstractFieldSearchCriteria.call(this, fieldName, fieldType);
-		this.timeZone = new ServerTimeZone();
-	};
-
-	stjs.extend(DateFieldSearchCriteria, AbstractFieldSearchCriteria, [ AbstractFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.search.DateFieldSearchCriteria';
-		constructor.serialVersionUID = 1;
-		var ShortDateFormat = require("as/dto/common/search/ShortDateFormat");
-		var NormalDateFormat = require("as/dto/common/search/NormalDateFormat");
-		var LongDateFormat = require("as/dto/common/search/LongDateFormat");
-		constructor.DATE_FORMATS = [ new ShortDateFormat(), new NormalDateFormat(), new LongDateFormat() ];
-		var value = function(DateValueClass, DateObjectValueClass, date) {
-			if (date instanceof Date) {
-				return new DateObjectValueClass(date);
-			}
-			return new DateValueClass(date);
-		}
-		prototype.thatEquals = function(date) {
-			var DateEqualToValue = require("as/dto/common/search/DateEqualToValue");
-			var DateObjectEqualToValue = require("as/dto/common/search/DateObjectEqualToValue");
-			this.setFieldValue(value(DateEqualToValue, DateObjectEqualToValue, date));
-		};
-		prototype.thatIsLaterThanOrEqualTo = function(date) {
-			var DateLaterThanOrEqualToValue = require("as/dto/common/search/DateLaterThanOrEqualToValue");
-			var DateObjectLaterThanOrEqualToValue = require("as/dto/common/search/DateObjectLaterThanOrEqualToValue");
-			this.setFieldValue(value(DateLaterThanOrEqualToValue, DateObjectLaterThanOrEqualToValue, date));
-		};
-		prototype.thatIsEarlierThanOrEqualTo = function(date) {
-			var DateEarlierThanOrEqualToValue = require("as/dto/common/search/DateEarlierThanOrEqualToValue");
-			var DateObjectEarlierThanOrEqualToValue = require("as/dto/common/search/DateObjectEarlierThanOrEqualToValue");
-			this.setFieldValue(value(DateEarlierThanOrEqualToValue, DateObjectEarlierThanOrEqualToValue, date));
-		};
-		prototype.withServerTimeZone = function() {
-			this.timeZone = new ServerTimeZone();
-			return this;
-		};
-		prototype.withTimeZone = function(hourOffset) {
-			var TimeZone = require("as/dto/common/search/TimeZone");
-			this.timeZone = new TimeZone(hourOffset);
-			return this;
-		};
-		prototype.setTimeZone = function(timeZone) {
-			this.timeZone = timeZone;
-		};
-		prototype.getTimeZone = function() {
-			return this.timeZone;
-		};
-		prototype.setFieldValue = function(value) {
-			DateFieldSearchCriteria.checkValueFormat(value);
-			AbstractFieldSearchCriteria.prototype.setFieldValue.call(this, value);
-		};
-		constructor.checkValueFormat = function(value) {
-			var AbstractDateValue = require("as/dto/common/search/AbstractDateValue");
-			if (stjs.isInstanceOf(value.constructor, AbstractDateValue)) {
-				var formats = DateFieldSearchCriteria.DATE_FORMATS;
-				for ( var i in formats) {
-					var dateFormat = formats[i];
-					try {
-						var DateFormat = require("util/DateFormat");
-						var dateFormat = new DateFormat(dateFormat.getFormat());
-						dateFormat.setLenient(false);
-						dateFormat.parse(value.getValue());
-						return;
-					} catch (e) {
-					}
-				}
-				throw new exceptions.IllegalArgumentException("Date value: " + value + " does not match any of the supported formats: " + DateFieldSearchCriteria.DATE_FORMATS);
-			}
-		};
-	}, {
-		DATE_FORMATS : {
-			name : "List",
-			arguments : [ "IDateFormat" ]
-		},
-		timeZone : "ITimeZone",
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-
-	return DateFieldSearchCriteria;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateLaterThanOrEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateLaterThanOrEqualToValue.js
deleted file mode 100644
index f571575d51ef88402698a89c47cee60768683a96..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateLaterThanOrEqualToValue.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractDateValue" ], function(stjs, AbstractDateValue) {
-	var DateLaterThanOrEqualToValue = function(value) {
-		AbstractDateValue.call(this, value);
-	};
-	stjs.extend(DateLaterThanOrEqualToValue, AbstractDateValue, [ AbstractDateValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.DateLaterThanOrEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "later than or equal to '" + this.getValue() + "'";
-		};
-	}, {});
-	return DateLaterThanOrEqualToValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateObjectEarlierThanOrEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateObjectEarlierThanOrEqualToValue.js
deleted file mode 100644
index ca037c20db1ac2b86a8c6042ddf1bd69ac954a09..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateObjectEarlierThanOrEqualToValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractDateObjectValue" ], function(stjs, AbstractDateObjectValue) {
-	var DateObjectEarlierThanOrEqualToValue = function(value) {
-		AbstractDateObjectValue.call(this, value);
-	};
-	stjs.extend(DateObjectEarlierThanOrEqualToValue, AbstractDateObjectValue, [ AbstractDateObjectValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.DateObjectEarlierThanOrEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "earlier than or equal to '" + this.getFormattedValue() + "'";
-		};
-	}, {});
-	return DateObjectEarlierThanOrEqualToValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateObjectEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateObjectEqualToValue.js
deleted file mode 100644
index 2fa4b437b4a14177541af4e01096186501bdef66..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateObjectEqualToValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractDateObjectValue" ], function(stjs, AbstractDateObjectValue) {
-	var DateObjectEqualToValue = function(value) {
-		AbstractDateObjectValue.call(this, value);
-	};
-	stjs.extend(DateObjectEqualToValue, AbstractDateObjectValue, [ AbstractDateObjectValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.DateObjectEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "equal to '" + this.getFormattedValue() + "'";
-		};
-	}, {});
-	return DateObjectEqualToValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateObjectLaterThanOrEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateObjectLaterThanOrEqualToValue.js
deleted file mode 100644
index 9524515778047b4d446748a7bb94181ede7600e9..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DateObjectLaterThanOrEqualToValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractDateObjectValue" ], function(stjs, AbstractDateObjectValue) {
-	var DateObjectLaterThanOrEqualToValue = function(value) {
-		AbstractDateObjectValue.call(this, value);
-	};
-	stjs.extend(DateObjectLaterThanOrEqualToValue, AbstractDateObjectValue, [ AbstractDateObjectValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.DateObjectLaterThanOrEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "later than or equal to '" + this.getFormattedValue() + "'";
-		};
-	}, {});
-	return DateObjectLaterThanOrEqualToValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DatePropertySearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DatePropertySearchCriteria.js
deleted file mode 100644
index 05af695a7ea6923176a97ba5db09e53e034af4ac..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/DatePropertySearchCriteria.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/DateFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, DateFieldSearchCriteria, SearchFieldType) {
-	var DatePropertySearchCriteria = function(fieldName) {
-		DateFieldSearchCriteria.call(this, fieldName, SearchFieldType.PROPERTY);
-	};
-	stjs.extend(DatePropertySearchCriteria, DateFieldSearchCriteria, [ DateFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.DatePropertySearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		DATE_FORMATS : {
-			name : "List",
-			arguments : [ "IDateFormat" ]
-		},
-		timeZone : "ITimeZone",
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return DatePropertySearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/IDate.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/IDate.js
deleted file mode 100644
index 7349eab69d864ca5405b6bad8f428498d71b04b2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/IDate.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var IDate = function() {
-	};
-	stjs.extend(IDate, null, [], null, {});
-	return IDate;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/IDateFormat.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/IDateFormat.js
deleted file mode 100644
index 052454ffdc0c22509b0d8020694e1150f090d7f2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/IDateFormat.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var IDateFormat = function() {
-	};
-	stjs.extend(IDateFormat, null, [], function(constructor, prototype) {
-		prototype.getFormat = function() {
-			throw new exceptions.RuntimeException("Interface method.");
-		};
-	}, {});
-	return IDateFormat;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ISearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ISearchCriteria.js
deleted file mode 100644
index 5d690f4a4be6d595638374b95292b83606a8ef4b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ISearchCriteria.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var ISearchCriteria = function() {
-	};
-	stjs.extend(ISearchCriteria, null, [], null, {});
-	return ISearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ITimeZone.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ITimeZone.js
deleted file mode 100644
index ef7d3dab19c1562eee548b6d8f0585ed70e71f43..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ITimeZone.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var ITimeZone = function() {
-	};
-	stjs.extend(ITimeZone, null, [], null, {});
-	return ITimeZone;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/IdSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/IdSearchCriteria.js
deleted file mode 100644
index 8bae60dd533117217ed1ca11d5dd3317211c19a7..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/IdSearchCriteria.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractSearchCriteria" ], function(stjs, AbstractSearchCriteria) {
-	var IdSearchCriteria = function() {
-		AbstractSearchCriteria.call(this);
-	};
-	stjs.extend(IdSearchCriteria, AbstractSearchCriteria, [ AbstractSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.IdSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.id = null;
-		prototype.thatEquals = function(id) {
-			this.id = id;
-		};
-		prototype.getId = function() {
-			return this.id;
-		};
-		prototype.hashCode = function() {
-			return ((this.id == null) ? 0 : this.id.hashCode());
-		};
-		prototype.equals = function(obj) {
-			if (this == obj) {
-				return true;
-			}
-			if (obj == null) {
-				return false;
-			}
-			if (this.getClass() != obj.getClass()) {
-				return false;
-			}
-			var other = obj;
-			return this.id == null ? this.id == other.id : this.id.equals(other.id);
-		};
-	}, {});
-	return IdSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/LongDateFormat.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/LongDateFormat.js
deleted file mode 100644
index 64893cc398632e79bece98803b37f849c24eed17..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/LongDateFormat.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/IDateFormat" ], function(stjs, IDateFormat) {
-	var LongDateFormat = function() {
-	};
-	stjs.extend(LongDateFormat, null, [ IDateFormat ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.LongDateFormat';
-		prototype.getFormat = function() {
-			return "YYYY-MM-DD HH:mm:ss";
-		};
-		prototype.toString = function() {
-			return this.getFormat();
-		};
-	}, {});
-	return LongDateFormat;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ModificationDateSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ModificationDateSearchCriteria.js
deleted file mode 100644
index b2a9bb8a31b684d74f5cc5319062f8e2647d63dc..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ModificationDateSearchCriteria.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/DateFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, DateFieldSearchCriteria, SearchFieldType) {
-	var ModificationDateSearchCriteria = function() {
-		DateFieldSearchCriteria.call(this, "modification_date", SearchFieldType.ATTRIBUTE);
-	};
-	stjs.extend(ModificationDateSearchCriteria, DateFieldSearchCriteria, [ DateFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.ModificationDateSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		DATE_FORMATS : {
-			name : "List",
-			arguments : [ "IDateFormat" ]
-		},
-		timeZone : "ITimeZone",
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return ModificationDateSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NormalDateFormat.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NormalDateFormat.js
deleted file mode 100644
index b6cc09bb84ecb37380972610e763b5643601be05..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NormalDateFormat.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/IDateFormat" ], function(stjs, IDateFormat) {
-	var NormalDateFormat = function() {
-	};
-	stjs.extend(NormalDateFormat, null, [ IDateFormat ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.NormalDateFormat';
-		prototype.getFormat = function() {
-			return "YYYY-MM-DD HH:mm";
-		};
-		prototype.toString = function() {
-			return this.getFormat();
-		};
-	}, {});
-	return NormalDateFormat;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberEqualToValue.js
deleted file mode 100644
index 57778e71c93c6bd99a52206f976951fba8781981..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberEqualToValue.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractNumberValue" ], function(stjs, AbstractNumberValue) {
-	var NumberEqualToValue = function(number) {
-		AbstractNumberValue.call(this, number);
-	};
-	stjs.extend(NumberEqualToValue, AbstractNumberValue, [ AbstractNumberValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.NumberEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "equal to '" + this.getValue() + "'";
-		};
-	}, {});
-	return NumberEqualToValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberFieldSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberFieldSearchCriteria.js
deleted file mode 100644
index 88fd61f3ad407e9525cef6b03f29f9dcc0f2f903..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberFieldSearchCriteria.js
+++ /dev/null
@@ -1,37 +0,0 @@
-define([ "require", "stjs", "as/dto/common/search/AbstractFieldSearchCriteria", "as/dto/common/search/NumberEqualToValue", "as/dto/common/search/NumberLessThanValue",
-		"as/dto/common/search/NumberLessThanOrEqualToValue", "as/dto/common/search/NumberGreaterThanValue", "as/dto/common/search/NumberGreaterThanOrEqualToValue" ], function(require, stjs,
-		AbstractFieldSearchCriteria) {
-	var NumberFieldSearchCriteria = function(fieldName, fieldType) {
-		AbstractFieldSearchCriteria.call(this, fieldName, fieldType);
-	};
-	stjs.extend(NumberFieldSearchCriteria, AbstractFieldSearchCriteria, [ AbstractFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.NumberFieldSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.thatEquals = function(number) {
-			var NumberEqualToValue = require("as/dto/common/search/NumberEqualToValue");
-			this.setFieldValue(new NumberEqualToValue(number));
-		};
-		prototype.thatIsLessThan = function(number) {
-			var NumberLessThanValue = require("as/dto/common/search/NumberLessThanValue");
-			this.setFieldValue(new NumberLessThanValue(number));
-		};
-		prototype.thatIsLessThanOrEqualTo = function(number) {
-			var NumberLessThanOrEqualToValue = require("as/dto/common/search/NumberLessThanOrEqualToValue");
-			this.setFieldValue(new NumberLessThanOrEqualToValue(number));
-		};
-		prototype.thatIsGreaterThan = function(number) {
-			var NumberGreaterThanValue = require("as/dto/common/search/NumberGreaterThanValue");
-			this.setFieldValue(new NumberGreaterThanValue(number));
-		};
-		prototype.thatIsGreaterThanOrEqualTo = function(number) {
-			var NumberGreaterThanOrEqualToValue = require("as/dto/common/search/NumberGreaterThanOrEqualToValue");
-			this.setFieldValue(new NumberGreaterThanOrEqualToValue(number));
-		};
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return NumberFieldSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberGreaterThanOrEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberGreaterThanOrEqualToValue.js
deleted file mode 100644
index 7bec8192c576b31d6a72c04c8b1a988e469cafee..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberGreaterThanOrEqualToValue.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractNumberValue" ], function(stjs, AbstractNumberValue) {
-	var NumberGreaterOrEqualThanValue = function(number) {
-		AbstractNumberValue.call(this, number);
-	};
-	stjs.extend(NumberGreaterOrEqualThanValue, AbstractNumberValue, [ AbstractNumberValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.NumberGreaterThanOrEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "greater or equal to '" + this.getValue() + "'";
-		};
-	}, {});
-	return NumberGreaterOrEqualThanValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberGreaterThanValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberGreaterThanValue.js
deleted file mode 100644
index ad806f6c6b9aefa05eb0e73a6907997f7497684d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberGreaterThanValue.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractNumberValue" ], function(stjs, AbstractNumberValue) {
-	var NumberGreaterThanValue = function(number) {
-		AbstractNumberValue.call(this, number);
-	};
-	stjs.extend(NumberGreaterThanValue, AbstractNumberValue, [ AbstractNumberValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.NumberGreaterThanValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "greater than '" + this.getValue() + "'";
-		};
-	}, {});
-	return NumberGreaterThanValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberLessThanOrEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberLessThanOrEqualToValue.js
deleted file mode 100644
index 850af284680fa93f95945fb2f2b7c180e56e0a51..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberLessThanOrEqualToValue.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractNumberValue" ], function(stjs, AbstractNumberValue) {
-	var NumberLessOrEqualThanValue = function(number) {
-		AbstractNumberValue.call(this, number);
-	};
-	stjs.extend(NumberLessOrEqualThanValue, AbstractNumberValue, [ AbstractNumberValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.NumberLessThanOrEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "less or equal to '" + this.getValue() + "'";
-		};
-	}, {});
-	return NumberLessOrEqualThanValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberLessThanValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberLessThanValue.js
deleted file mode 100644
index 0e4b200378d5e7abc7d23b9a9b4b4c6677f39b6f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberLessThanValue.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractNumberValue" ], function(stjs, AbstractNumberValue) {
-	var NumberLessThanValue = function(number) {
-		AbstractNumberValue.call(this, number);
-	};
-	stjs.extend(NumberLessThanValue, AbstractNumberValue, [ AbstractNumberValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.NumberLessThanValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "less than '" + this.getValue() + "'";
-		};
-	}, {});
-	return NumberLessThanValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberPropertySearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberPropertySearchCriteria.js
deleted file mode 100644
index 0810f847ebd21c5e6971c32db43be270ecd3023f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/NumberPropertySearchCriteria.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/NumberFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, NumberFieldSearchCriteria, SearchFieldType) {
-	var NumberPropertySearchCriteria = function(fieldName) {
-		NumberFieldSearchCriteria.call(this, fieldName, SearchFieldType.PROPERTY);
-	};
-	stjs.extend(NumberPropertySearchCriteria, NumberFieldSearchCriteria, [ NumberFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.NumberPropertySearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return NumberPropertySearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/PermIdSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/PermIdSearchCriteria.js
deleted file mode 100644
index f5289936c2b2b19c97f62e7b414cbf9d76c1607c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/PermIdSearchCriteria.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/StringFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, StringFieldSearchCriteria, SearchFieldType) {
-	var PermIdSearchCriteria = function() {
-		StringFieldSearchCriteria.call(this, "perm id", SearchFieldType.ATTRIBUTE);
-	};
-	stjs.extend(PermIdSearchCriteria, StringFieldSearchCriteria, [ StringFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.PermIdSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return PermIdSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/RegistrationDateSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/RegistrationDateSearchCriteria.js
deleted file mode 100644
index 22f1e5288aadeb9e83b875af6df1c0f3dbfc6e91..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/RegistrationDateSearchCriteria.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/DateFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, DateFieldSearchCriteria, SearchFieldType) {
-	var RegistrationDateSearchCriteria = function() {
-		DateFieldSearchCriteria.call(this, "registration_date", SearchFieldType.ATTRIBUTE);
-	};
-	stjs.extend(RegistrationDateSearchCriteria, DateFieldSearchCriteria, [ DateFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.RegistrationDateSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		DATE_FORMATS : {
-			name : "List",
-			arguments : [ "IDateFormat" ]
-		},
-		timeZone : "ITimeZone",
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return RegistrationDateSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/SearchFieldType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/SearchFieldType.js
deleted file mode 100644
index 2dae3c6554af7623e15a4e125e74f3a32155772b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/SearchFieldType.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var SearchFieldType = function() {
-		Enum.call(this, [ "PROPERTY", "ATTRIBUTE", "ANY_PROPERTY", "ANY_FIELD" ]);
-	};
-	stjs.extend(SearchFieldType, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new SearchFieldType();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/SearchOperator.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/SearchOperator.js
deleted file mode 100644
index bcbcb60cedb60e418d0488760f8a849a8e78b1ce..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/SearchOperator.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var SearchOperator = function() {
-		Enum.call(this, [ "AND", "OR" ]);
-	};
-	stjs.extend(SearchOperator, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new SearchOperator();
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/SearchResult.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/SearchResult.js
deleted file mode 100644
index 64feea32d31e57836002d604ba47132f39815d27..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/SearchResult.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var SearchResult = function() {
-		this.objects = [];
-		this.totalCount = 0;
-	};
-	stjs.extend(SearchResult, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.SearchResult';
-		constructor.serialVersionUID = 1;
-		prototype.getObjects = function() {
-			return this.objects;
-		};
-		prototype.getTotalCount = function() {
-			return this.totalCount;
-		}
-	}, {
-		objects : {
-			name : "Collection",
-			arguments : [ "Object" ]
-		}
-	});
-	return SearchResult;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ServerTimeZone.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ServerTimeZone.js
deleted file mode 100644
index a6c5fea09cf8e7d51131cce037386ab4f9402090..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ServerTimeZone.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/ITimeZone" ], function(stjs, ITimeZone) {
-	var ServerTimeZone = function() {
-	};
-	stjs.extend(ServerTimeZone, null, [ ITimeZone ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.ServerTimeZone';
-	}, {});
-	return ServerTimeZone;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ShortDateFormat.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ShortDateFormat.js
deleted file mode 100644
index 2390a4dd2b5ae39d51351c3f2a43dcd864089809..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/ShortDateFormat.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/IDateFormat" ], function(stjs, IDateFormat) {
-	var ShortDateFormat = function() {
-	};
-	stjs.extend(ShortDateFormat, null, [ IDateFormat ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.ShortDateFormat';
-		prototype.getFormat = function() {
-			return "YYYY-MM-DD";
-		};
-		prototype.toString = function() {
-			return this.getFormat();
-		};
-	}, {});
-	return ShortDateFormat;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringContainsExactlyValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringContainsExactlyValue.js
deleted file mode 100644
index c81c7adfa387a033c0d6209562f69a8f2ffdc1d7..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringContainsExactlyValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractStringValue" ], function(stjs, AbstractStringValue) {
-	var StringContainsExactlyValue = function(value) {
-		AbstractStringValue.call(this, value);
-	};
-	stjs.extend(StringContainsExactlyValue, AbstractStringValue, [ AbstractStringValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.StringContainsExactlyValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "contains exactly '" + this.getValue() + "'";
-		};
-	}, {});
-	return StringContainsExactlyValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringContainsValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringContainsValue.js
deleted file mode 100644
index d81b7eed2087f7f15ea050cb9dd023cf0e87f0a6..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringContainsValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractStringValue" ], function(stjs, AbstractStringValue) {
-	var StringContainsValue = function(value) {
-		AbstractStringValue.call(this, value);
-	};
-	stjs.extend(StringContainsValue, AbstractStringValue, [ AbstractStringValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.StringContainsValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "contains '" + this.getValue() + "'";
-		};
-	}, {});
-	return StringContainsValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringEndsWithValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringEndsWithValue.js
deleted file mode 100644
index fdc3f641db045d10ebd1278ae5d54c558323da68..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringEndsWithValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractStringValue" ], function(stjs, AbstractStringValue) {
-	var StringEndsWithValue = function(value) {
-		AbstractStringValue.call(this, value);
-	};
-	stjs.extend(StringEndsWithValue, AbstractStringValue, [ AbstractStringValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.StringEndsWithValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "ends with '" + this.getValue() + "'";
-		};
-	}, {});
-	return StringEndsWithValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringEqualToValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringEqualToValue.js
deleted file mode 100644
index afa753f12d1ea0372b4fede073503ea77fd648dd..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringEqualToValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractStringValue" ], function(stjs, AbstractStringValue) {
-	var StringEqualToValue = function(value) {
-		AbstractStringValue.call(this, value);
-	};
-	stjs.extend(StringEqualToValue, AbstractStringValue, [ AbstractStringValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.StringEqualToValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "equal to '" + this.getValue() + "'";
-		};
-	}, {});
-	return StringEqualToValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringFieldSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringFieldSearchCriteria.js
deleted file mode 100644
index fd9962f454cb889af5a0db69eb7613c513107615..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringFieldSearchCriteria.js
+++ /dev/null
@@ -1,34 +0,0 @@
-define([ "require", "stjs", "as/dto/common/search/AbstractFieldSearchCriteria", "as/dto/common/search/StringEqualToValue", "as/dto/common/search/StringStartsWithValue",
-		"as/dto/common/search/StringEndsWithValue", "as/dto/common/search/StringContainsValue", "as/dto/common/search/AnyStringValue" ], function(require, stjs, AbstractFieldSearchCriteria) {
-	var StringFieldSearchCriteria = function(fieldName, fieldType) {
-		AbstractFieldSearchCriteria.call(this, fieldName, fieldType);
-		var AnyStringValue = require("as/dto/common/search/AnyStringValue");
-		this.setFieldValue(new AnyStringValue());
-	};
-	stjs.extend(StringFieldSearchCriteria, AbstractFieldSearchCriteria, [ AbstractFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.StringFieldSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.thatEquals = function(string) {
-			var StringEqualToValue = require("as/dto/common/search/StringEqualToValue");
-			this.setFieldValue(new StringEqualToValue(string));
-		};
-		prototype.thatStartsWith = function(prefix) {
-			var StringStartsWithValue = require("as/dto/common/search/StringStartsWithValue");
-			this.setFieldValue(new StringStartsWithValue(prefix));
-		};
-		prototype.thatEndsWith = function(suffix) {
-			var StringEndsWithValue = require("as/dto/common/search/StringEndsWithValue");
-			this.setFieldValue(new StringEndsWithValue(suffix));
-		};
-		prototype.thatContains = function(string) {
-			var StringContainsValue = require("as/dto/common/search/StringContainsValue");
-			this.setFieldValue(new StringContainsValue(string));
-		};
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return StringFieldSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringPropertySearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringPropertySearchCriteria.js
deleted file mode 100644
index 1f435200fb20a5eb6ca392d4f0b7c7801ddb6dc0..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringPropertySearchCriteria.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/StringFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, StringFieldSearchCriteria, SearchFieldType) {
-	var StringPropertySearchCriteria = function(fieldName) {
-		StringFieldSearchCriteria.call(this, fieldName, SearchFieldType.PROPERTY);
-	};
-	stjs.extend(StringPropertySearchCriteria, StringFieldSearchCriteria, [ StringFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.StringPropertySearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return StringPropertySearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringStartsWithValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringStartsWithValue.js
deleted file mode 100644
index 659a6d85b3c235f5dc413fb48e8df6d9eb48852a..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/StringStartsWithValue.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define([ "stjs", "as/dto/common/search/AbstractStringValue" ], function(stjs, AbstractStringValue) {
-	var StringStartsWithValue = function(value) {
-		AbstractStringValue.call(this, value);
-	};
-	stjs.extend(StringStartsWithValue, AbstractStringValue, [ AbstractStringValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.StringStartsWithValue';
-		constructor.serialVersionUID = 1;
-		prototype.toString = function() {
-			return "starts with '" + this.getValue() + "'";
-		};
-	}, {});
-	return StringStartsWithValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/TechIdSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/TechIdSearchCriteria.js
deleted file mode 100644
index 3a6b41946fe0041bef04fb6a3991dee73a913115..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/TechIdSearchCriteria.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/NumberFieldSearchCriteria", "as/dto/common/search/SearchFieldType" ], function(stjs, NumberFieldSearchCriteria, SearchFieldType) {
-	var TechIdSearchCriteria = function() {
-		NumberFieldSearchCriteria.call(this, "id", SearchFieldType.ATTRIBUTE);
-	};
-	stjs.extend(TechIdSearchCriteria, NumberFieldSearchCriteria, [ NumberFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.TechIdSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		fieldType : {
-			name : "Enum",
-			arguments : [ "SearchFieldType" ]
-		}
-	});
-	return TechIdSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/TimeZone.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/TimeZone.js
deleted file mode 100644
index bafc1c6bf8b5cb6b18a17eb61801875b8a9a59f5..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/search/TimeZone.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/ITimeZone" ], function(stjs, ITimeZone) {
-	var TimeZone = function(hourOffset) {
-		this.hourOffset = hourOffset;
-	};
-	stjs.extend(TimeZone, null, [ ITimeZone ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.search.TimeZone';
-		prototype.hourOffset = 0;
-		prototype.getHourOffset = function() {
-			return this.hourOffset;
-		};
-	}, {});
-	return TimeZone;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/FieldUpdateValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/FieldUpdateValue.js
deleted file mode 100644
index d7807166bcd10d5ca727f6b4f9ccf19617f509ae..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/FieldUpdateValue.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Represents value together with {@code isModified} flag
- * 
- * @author Jakub Straszewski
- */
-define([ "stjs" ], function(stjs) {
-	var FieldUpdateValue = function() {
-	};
-	stjs.extend(FieldUpdateValue, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.update.FieldUpdateValue';
-		constructor.serialVersionUID = 1;
-		prototype.isModified = false;
-		prototype.value = null;
-		/**
-		 * value for update
-		 */
-		prototype.setValue = function(value) {
-			if (this.value === value) {
-				return;
-			}
-			this.value = value;
-			this.isModified = true;
-		};
-		/**
-		 * @return {@code true} if the value has been set for update.
-		 */
-		prototype.isModified = function() {
-			return this.isModified;
-		};
-		/**
-		 * @return value for update
-		 */
-		prototype.getValue = function() {
-			return this.value;
-		};
-	}, {});
-	return FieldUpdateValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/IdListUpdateValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/IdListUpdateValue.js
deleted file mode 100644
index e9f38abeda9d1557250fb77226e44d55b5d2821c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/IdListUpdateValue.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/ListUpdateValue" ], function(stjs, ListUpdateValue) {
-	var IdListUpdateValue = function() {
-		ListUpdateValue.call(this);
-	};
-	stjs.extend(IdListUpdateValue, ListUpdateValue, [ ListUpdateValue ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.update.IdListUpdateValue';
-		constructor.serialVersionUID = 1;
-	}, {
-		actions : {
-			name : "List",
-			arguments : [ {
-				name : "ListUpdateValue.ListUpdateAction",
-				arguments : [ "ACTION" ]
-			} ]
-		}
-	});
-	return IdListUpdateValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateAction.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateAction.js
deleted file mode 100644
index cf52b520e64a47db895c2faa35748aa630651399..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateAction.js
+++ /dev/null
@@ -1,21 +0,0 @@
-define([ "stjs" ], function(stjs) {
-	ListUpdateAction = function() {
-	};
-	stjs.extend(ListUpdateAction, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.update.ListUpdateAction';
-		constructor.serialVersionUID = 1;
-		prototype.items = null;
-		prototype.getItems = function() {
-			return this.items;
-		};
-		prototype.setItems = function(items) {
-			this.items = items;
-		};
-	}, {
-		items : {
-			name : "Collection",
-			arguments : [ "T" ]
-		}
-	});
-	return ListUpdateAction;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateActionAdd.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateActionAdd.js
deleted file mode 100644
index 4eb2bc21d80c34e7e96b30b3d912fa5db34b62fe..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateActionAdd.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define([ "stjs", "as/dto/common/update/ListUpdateAction" ], function(stjs, ListUpdateAction) {
-	ListUpdateActionAdd = function() {
-		ListUpdateAction.call(this);
-	};
-	stjs.extend(ListUpdateActionAdd, ListUpdateAction, [ ListUpdateAction ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.update.ListUpdateActionAdd';
-		constructor.serialVersionUID = 1;
-	}, {
-		items : {
-			name : "Collection",
-			arguments : [ "T" ]
-		}
-	});
-	return ListUpdateActionAdd;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateActionRemove.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateActionRemove.js
deleted file mode 100644
index 3ae25bbdb9b91e84d8d397afb5008590111b7260..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateActionRemove.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define([ "stjs", "as/dto/common/update/ListUpdateAction" ], function(stjs, ListUpdateAction) {
-	ListUpdateActionRemove = function() {
-		ListUpdateAction.call(this);
-	};
-	stjs.extend(ListUpdateActionRemove, ListUpdateAction, [ ListUpdateAction ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.update.ListUpdateActionRemove';
-		constructor.serialVersionUID = 1;
-	}, {
-		items : {
-			name : "Collection",
-			arguments : [ "T" ]
-		}
-	});
-	return ListUpdateActionRemove;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateActionSet.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateActionSet.js
deleted file mode 100644
index 56973eccf1b75584b5651deb0c1b69317eaff2c2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateActionSet.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define([ "stjs", "as/dto/common/update/ListUpdateAction" ], function(stjs, ListUpdateAction) {
-	ListUpdateActionSet = function() {
-		ListUpdateAction.call(this);
-	};
-	stjs.extend(ListUpdateActionSet, ListUpdateAction, [ ListUpdateAction ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.update.ListUpdateActionSet';
-		constructor.serialVersionUID = 1;
-	}, {
-		items : {
-			name : "Collection",
-			arguments : [ "T" ]
-		}
-	});
-	return ListUpdateActionSet;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateValue.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateValue.js
deleted file mode 100644
index 1e9399fec4f0607270246bfdaaba2b91c70e791c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/common/update/ListUpdateValue.js
+++ /dev/null
@@ -1,51 +0,0 @@
-define([ "stjs", "as/dto/common/update/ListUpdateActionRemove", "as/dto/common/update/ListUpdateActionAdd", "as/dto/common/update/ListUpdateActionSet" ], function(stjs, ListUpdateActionRemove,
-		ListUpdateActionAdd, ListUpdateActionSet) {
-	var ListUpdateValue = function() {
-		this.actions = [];
-	};
-	stjs.extend(ListUpdateValue, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.common.update.ListUpdateValue';
-		constructor.serialVersionUID = 1;
-		prototype.setActions = function(actions) {
-			this.actions = actions;
-		};
-		prototype.getActions = function() {
-			return this.actions;
-		};
-		prototype.hasActions = function() {
-			return this.getActions() && this.getActions().length > 0;
-		};
-		var asArray = function(items) {
-			if (Array.isArray(items)) {
-				return items;
-			}
-			if (items === null) {
-				return [];
-			}
-			return [ items ];
-		}
-		var createAction = function(actions, actionClass, items) {
-			var action = new actionClass();
-			action.setItems(asArray(items));
-			actions.push(action);
-		}
-		prototype.remove = function(items) {
-			createAction(this.actions, ListUpdateActionRemove, items);
-		};
-		prototype.add = function(items) {
-			createAction(this.actions, ListUpdateActionAdd, items);
-		};
-		prototype.set = function(items) {
-			createAction(this.actions, ListUpdateActionSet, items);
-		};
-	}, {
-		actions : {
-			name : "List",
-			arguments : [ {
-				name : "ListUpdateValue.ListUpdateAction",
-				arguments : [ "ACTION" ]
-			} ]
-		}
-	});
-	return ListUpdateValue;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/ArchivingStatus.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/ArchivingStatus.js
deleted file mode 100644
index 92fc7585b8f555ebf3e6c20f75cccefbc1661c58..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/ArchivingStatus.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var ArchivingStatus = function() {
-		Enum.call(this, [ "AVAILABLE", "LOCKED", "ARCHIVED", "UNARCHIVE_PENDING", "ARCHIVE_PENDING", "BACKUP_PENDING" ]);
-	};
-	stjs.extend(ArchivingStatus, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new ArchivingStatus();
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/Complete.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/Complete.js
deleted file mode 100644
index 860ce08179357928c0eeabb59985be3acd9f1da7..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/Complete.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var Complete = function() {
-		Enum.call(this, [ "YES", "NO", "UNKNOWN" ]);
-	};
-	stjs.extend(Complete, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new Complete();
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/DataSet.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/DataSet.js
deleted file mode 100644
index f3e1bd3af42e292e903ab012586efcca645aa11a..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/DataSet.js
+++ /dev/null
@@ -1,315 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var DataSet = function() {
-	};
-	stjs.extend(DataSet, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.DataSet';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.code = null;
-		prototype.accessDate = null;
-		prototype.measured = null;
-		prototype.postRegistered = null;
-		prototype.parents = null;
-		prototype.children = null;
-		prototype.containers = null;
-		prototype.components = null;
-		prototype.physicalData = null;
-		prototype.linkedData = null;
-		prototype.tags = null;
-		prototype.type = null;
-		prototype.dataStore = null;
-		prototype.history = null;
-		prototype.modificationDate = null;
-		prototype.modifier = null;
-		prototype.registrationDate = null;
-		prototype.registrator = null;
-		prototype.experiment = null;
-		prototype.sample = null;
-		prototype.properties = null;
-		prototype.materialProperties = null;
-		prototype.dataProducer = null;
-		prototype.dataProductionDate = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getAccessDate = function() {
-			return this.accessDate;
-		};
-		prototype.setAccessDate = function(accessDate) {
-			this.accessDate = accessDate;
-		};
-		prototype.isMeasured = function() {
-			return this.measured;
-		};
-		prototype.setMeasured = function(measured) {
-			this.measured = measured;
-		};
-		prototype.isPostRegistered = function() {
-			return this.postRegistered;
-		};
-		prototype.setPostRegistered = function(postRegistered) {
-			this.postRegistered = postRegistered;
-		};
-		prototype.getParents = function() {
-			if (this.getFetchOptions().hasParents()) {
-				return this.parents;
-			} else {
-				throw new exceptions.NotFetchedException("Parents has not been fetched.");
-			}
-		};
-		prototype.setParents = function(parents) {
-			this.parents = parents;
-		};
-		prototype.getChildren = function() {
-			if (this.getFetchOptions().hasChildren()) {
-				return this.children;
-			} else {
-				throw new exceptions.NotFetchedException("Children has not been fetched.");
-			}
-		};
-		prototype.setChildren = function(children) {
-			this.children = children;
-		};
-		prototype.getContainers = function() {
-			if (this.getFetchOptions().hasContainers()) {
-				return this.containers;
-			} else {
-				throw new exceptions.NotFetchedException("Container data sets has not been fetched.");
-			}
-		};
-		prototype.setContainers = function(containers) {
-			this.containers = containers;
-		};
-		prototype.getComponents = function() {
-			if (this.getFetchOptions().hasComponents()) {
-				return this.components;
-			} else {
-				throw new exceptions.NotFetchedException("Component data sets has not been fetched.");
-			}
-		};
-		prototype.setComponents = function(components) {
-			this.components = components;
-		};
-		prototype.getPhysicalData = function() {
-			if (this.getFetchOptions().hasPhysicalData()) {
-				return this.physicalData;
-			} else {
-				throw new exceptions.NotFetchedException("Physical data has not been fetched.");
-			}
-		};
-		prototype.setPhysicalData = function(physicalData) {
-			this.physicalData = physicalData;
-		};
-		prototype.getLinkedData = function() {
-			if (this.getFetchOptions().hasLinkedData()) {
-				return this.linkedData;
-			} else {
-				throw new exceptions.NotFetchedException("Linked data has not been fetched.");
-			}
-		};
-		prototype.setLinkedData = function(linkedData) {
-			this.linkedData = linkedData;
-		};
-		prototype.getTags = function() {
-			if (this.getFetchOptions().hasTags()) {
-				return this.tags;
-			} else {
-				throw new exceptions.NotFetchedException("Tags has not been fetched.");
-			}
-		};
-		prototype.setTags = function(tags) {
-			this.tags = tags;
-		};
-		prototype.getType = function() {
-			if (this.getFetchOptions().hasType()) {
-				return this.type;
-			} else {
-				throw new exceptions.NotFetchedException("Data Set type has not been fetched.");
-			}
-		};
-		prototype.setType = function(type) {
-			this.type = type;
-		};
-		prototype.getDataStore = function() {
-			if (this.getFetchOptions().hasDataStore()) {
-				return this.dataStore;
-			} else {
-				throw new exceptions.NotFetchedException("Data store has not been fetched.");
-			}
-		};
-		prototype.setDataStore = function(dataStore) {
-			this.dataStore = dataStore;
-		};
-		prototype.getHistory = function() {
-			if (this.getFetchOptions().hasHistory()) {
-				return this.history;
-			} else {
-				throw new exceptions.NotFetchedException("History has not been fetched.");
-			}
-		};
-		prototype.setHistory = function(history) {
-			this.history = history;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-		prototype.getModifier = function() {
-			if (this.getFetchOptions().hasModifier()) {
-				return this.modifier;
-			} else {
-				throw new exceptions.NotFetchedException("Modifier has not been fetched.");
-			}
-		};
-		prototype.setModifier = function(modifier) {
-			this.modifier = modifier;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-		prototype.getExperiment = function() {
-			if (this.getFetchOptions().hasExperiment()) {
-				return this.experiment;
-			} else {
-				throw new exceptions.NotFetchedException("Experiment has not been fetched.");
-			}
-		};
-		prototype.setExperiment = function(experiment) {
-			this.experiment = experiment;
-		};
-		prototype.getSample = function() {
-			if (this.getFetchOptions().hasSample()) {
-				return this.sample;
-			} else {
-				throw new exceptions.NotFetchedException("Sample has not been fetched.");
-			}
-		};
-		prototype.setSample = function(sample) {
-			this.sample = sample;
-		};
-		prototype.getProperty = function(propertyName) {
-			var properties = this.getProperties();
-			return properties ? properties[propertyName] : null;
-		};
-		prototype.getProperties = function() {
-			if (this.getFetchOptions().hasProperties()) {
-				return this.properties;
-			} else {
-				throw new exceptions.NotFetchedException("Properties has not been fetched.");
-			}
-		};
-		prototype.setProperties = function(properties) {
-			this.properties = properties;
-		};
-		prototype.getMaterialProperty = function(propertyName) {
-			var properties = this.getMaterialProperties();
-			return properties ? properties[propertyName] : null;
-		};
-		prototype.getMaterialProperties = function() {
-			if (this.getFetchOptions().hasMaterialProperties()) {
-				return this.materialProperties;
-			} else {
-				throw new exceptions.NotFetchedException("Material properties has not been fetched.");
-			}
-		};
-		prototype.setMaterialProperties = function(materialProperties) {
-			this.materialProperties = materialProperties;
-		};
-		prototype.getDataProducer = function() {
-			return this.dataProducer;
-		};
-		prototype.setDataProducer = function(dataProducer) {
-			this.dataProducer = dataProducer;
-		};
-		prototype.getDataProductionDate = function() {
-			return this.dataProductionDate;
-		};
-		prototype.setDataProductionDate = function(dataProductionDate) {
-			this.dataProductionDate = dataProductionDate;
-		};
-	}, {
-		fetchOptions : "DataSetFetchOptions",
-		permId : "DataSetPermId",
-		accessDate : "Date",
-		parents : {
-			name : "List",
-			arguments : [ "DataSet" ]
-		},
-		children : {
-			name : "List",
-			arguments : [ "DataSet" ]
-		},
-		containers : {
-			name : "List",
-			arguments : [ "DataSet" ]
-		},
-		components : {
-			name : "List",
-			arguments : [ "DataSet" ]
-		},
-		physicalData : "PhysicalData",
-		linkedData : "LinkedData",
-		tags : {
-			name : "Set",
-			arguments : [ "Tag" ]
-		},
-		type : "DataSetType",
-		dataStore : "DataStore",
-		history : {
-			name : "List",
-			arguments : [ "HistoryEntry" ]
-		},
-		modificationDate : "Date",
-		modifier : "Person",
-		registrationDate : "Date",
-		registrator : "Person",
-		experiment : "Experiment",
-		sample : "Sample",
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		materialProperties : {
-			name : "Map",
-			arguments : [ null, "Material" ]
-		},
-		dataProductionDate : "Date"
-	});
-	return DataSet;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/DataSetKind.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/DataSetKind.js
deleted file mode 100644
index 9f8466617b99d9d448b7e55772996f4614388cb3..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/DataSetKind.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var DataSetKind = function() {
-		Enum.call(this, [ "PHYSICAL", "CONTAINER", "LINK" ]);
-	};
-	stjs.extend(DataSetKind, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new DataSetKind();
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/DataSetType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/DataSetType.js
deleted file mode 100644
index 2f42985b3e84a3437936ee8ee97980515364eb9a..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/DataSetType.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs" ], function(stjs) {
-	var DataSetType = function() {
-	};
-	stjs.extend(DataSetType, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.DataSetType';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.kind = null;
-		prototype.code = null;
-		prototype.description = null;
-		prototype.modificationDate = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getKind = function() {
-			return this.kind;
-		};
-		prototype.setKind = function(kind) {
-			this.kind = kind;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-	}, {
-		fetchOptions : "DataSetTypeFetchOptions",
-		permId : "EntityTypePermId",
-		kind : "DataSetKind",
-		modificationDate : "Date"
-	});
-	return DataSetType;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/FileFormatType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/FileFormatType.js
deleted file mode 100644
index a782d0545865c0392402a44aa66d083c05abfc40..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/FileFormatType.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var FileFormatType = function() {
-	};
-	stjs.extend(FileFormatType, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.FileFormatType';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.code = null;
-		prototype.description = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-	}, {
-		fetchOptions : "FileFormatTypeFetchOptions"
-	});
-	return FileFormatType;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/LinkedData.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/LinkedData.js
deleted file mode 100644
index 00e35f441c96f7d30382d6716dd6cdfcf5ba5476..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/LinkedData.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var LinkedData = function() {
-	};
-	stjs.extend(LinkedData, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.LinkedData';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.externalCode = null;
-		prototype.externalDms = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getExternalCode = function() {
-			return this.externalCode;
-		};
-		prototype.setExternalCode = function(externalCode) {
-			this.externalCode = externalCode;
-		};
-		prototype.getExternalDms = function() {
-			if (this.getFetchOptions().hasExternalDms()) {
-				return this.externalDms;
-			} else {
-				throw new exceptions.NotFetchedException("External data management system has not been fetched.");
-			}
-		};
-		prototype.setExternalDms = function(externalDms) {
-			this.externalDms = externalDms;
-		};
-	}, {
-		fetchOptions : "LinkedDataFetchOptions",
-		externalDms : "ExternalDms"
-	});
-	return LinkedData;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/LocatorType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/LocatorType.js
deleted file mode 100644
index 1959d628a83127d323346c76bc591b73334e29c6..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/LocatorType.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var LocatorType = function() {
-	};
-	stjs.extend(LocatorType, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.LocatorType';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.code = null;
-		prototype.description = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-	}, {
-		fetchOptions : "LocatorTypeFetchOptions"
-	});
-	return LocatorType;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/PhysicalData.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/PhysicalData.js
deleted file mode 100644
index d6c43cfdfd74cd7c262ca0820875e77dda2eb83c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/PhysicalData.js
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var PhysicalData = function() {
-	};
-	stjs.extend(PhysicalData, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.PhysicalData';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.shareId = null;
-		prototype.location = null;
-		prototype.size = null;
-		prototype.storageFormat = null;
-		prototype.fileFormatType = null;
-		prototype.locatorType = null;
-		prototype.complete = null;
-		prototype.status = null;
-		prototype.presentInArchive = null;
-		prototype.storageConfirmation = null;
-		prototype.speedHint = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getShareId = function() {
-			return this.shareId;
-		};
-		prototype.setShareId = function(shareId) {
-			this.shareId = shareId;
-		};
-		prototype.getLocation = function() {
-			return this.location;
-		};
-		prototype.setLocation = function(location) {
-			this.location = location;
-		};
-		prototype.getSize = function() {
-			return this.size;
-		};
-		prototype.setSize = function(size) {
-			this.size = size;
-		};
-		prototype.getStorageFormat = function() {
-			if (this.getFetchOptions().hasStorageFormat()) {
-				return this.storageFormat;
-			} else {
-				throw new exceptions.NotFetchedException("Storage format has not been fetched.");
-			}
-		};
-		prototype.setStorageFormat = function(storageFormat) {
-			this.storageFormat = storageFormat;
-		};
-		prototype.getFileFormatType = function() {
-			if (this.getFetchOptions().hasFileFormatType()) {
-				return this.fileFormatType;
-			} else {
-				throw new exceptions.NotFetchedException("File format type has not been fetched.");
-			}
-		};
-		prototype.setFileFormatType = function(fileFormatType) {
-			this.fileFormatType = fileFormatType;
-		};
-		prototype.getLocatorType = function() {
-			if (this.getFetchOptions().hasLocatorType()) {
-				return this.locatorType;
-			} else {
-				throw new exceptions.NotFetchedException("Locator type has not been fetched.");
-			}
-		};
-		prototype.setLocatorType = function(locatorType) {
-			this.locatorType = locatorType;
-		};
-		prototype.getComplete = function() {
-			return this.complete;
-		};
-		prototype.setComplete = function(complete) {
-			this.complete = complete;
-		};
-		prototype.getStatus = function() {
-			return this.status;
-		};
-		prototype.setStatus = function(status) {
-			this.status = status;
-		};
-		prototype.isPresentInArchive = function() {
-			return this.presentInArchive;
-		};
-		prototype.setPresentInArchive = function(presentInArchive) {
-			this.presentInArchive = presentInArchive;
-		};
-		prototype.isStorageConfirmation = function() {
-			return this.storageConfirmation;
-		};
-		prototype.setStorageConfirmation = function(storageConfirmation) {
-			this.storageConfirmation = storageConfirmation;
-		};
-		prototype.getSpeedHint = function() {
-			return this.speedHint;
-		};
-		prototype.setSpeedHint = function(speedHint) {
-			this.speedHint = speedHint;
-		};
-	}, {
-		fetchOptions : "PhysicalDataFetchOptions",
-		storageFormat : "StorageFormat",
-		fileFormatType : "FileFormatType",
-		locatorType : "LocatorType",
-		complete : "Complete",
-		status : "ArchivingStatus"
-	});
-	return PhysicalData;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/StorageFormat.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/StorageFormat.js
deleted file mode 100644
index 6c3aa0c3db033d28176f70dc2999df8fe6e4146b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/StorageFormat.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var StorageFormat = function() {
-	};
-	stjs.extend(StorageFormat, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.StorageFormat';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.code = null;
-		prototype.description = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-	}, {
-		fetchOptions : "StorageFormatFetchOptions"
-	});
-	return StorageFormat;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/delete/DataSetDeletionOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/delete/DataSetDeletionOptions.js
deleted file mode 100644
index 24e5924c97815c5ba10fea2ab57badb5004eec5e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/delete/DataSetDeletionOptions.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/deletion/AbstractObjectDeletionOptions" ], function(stjs, AbstractObjectDeletionOptions) {
-	var DataSetDeletionOptions = function() {
-		AbstractObjectDeletionOptions.call(this);
-	};
-	stjs.extend(DataSetDeletionOptions, AbstractObjectDeletionOptions, [ AbstractObjectDeletionOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.delete.DataSetDeletionOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return DataSetDeletionOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetFetchOptions.js
deleted file mode 100644
index e503a97bbf68c6ee6f62946885534d40d27ec939..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetFetchOptions.js
+++ /dev/null
@@ -1,265 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/tag/fetchoptions/TagFetchOptions", "as/dto/dataset/fetchoptions/DataSetTypeFetchOptions",
-		"as/dto/person/fetchoptions/PersonFetchOptions", "as/dto/experiment/fetchoptions/ExperimentFetchOptions", "as/dto/sample/fetchoptions/SampleFetchOptions",
-		"as/dto/property/fetchoptions/PropertyFetchOptions", "as/dto/dataset/fetchoptions/PhysicalDataFetchOptions", "as/dto/dataset/fetchoptions/LinkedDataFetchOptions",
-		"as/dto/history/fetchoptions/HistoryEntryFetchOptions", "as/dto/material/fetchoptions/MaterialFetchOptions", "as/dto/datastore/fetchoptions/DataStoreFetchOptions",
-		"as/dto/dataset/fetchoptions/DataSetSortOptions" ], function(require, stjs, FetchOptions) {
-	var DataSetFetchOptions = function() {
-	};
-	stjs.extend(DataSetFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.DataSetFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.parents = null;
-		prototype.children = null;
-		prototype.containers = null;
-		prototype.components = null;
-		prototype.physicalData = null;
-		prototype.linkedData = null;
-		prototype.tags = null;
-		prototype.type = null;
-		prototype.dataStore = null;
-		prototype.history = null;
-		prototype.modifier = null;
-		prototype.registrator = null;
-		prototype.experiment = null;
-		prototype.sample = null;
-		prototype.properties = null;
-		prototype.materialProperties = null;
-		prototype.sort = null;
-		prototype.withParents = function() {
-			if (this.parents == null) {
-				this.parents = new DataSetFetchOptions();
-			}
-			return this.parents;
-		};
-		prototype.withParentsUsing = function(fetchOptions) {
-			return this.parents = fetchOptions;
-		};
-		prototype.hasParents = function() {
-			return this.parents != null;
-		};
-		prototype.withChildren = function() {
-			if (this.children == null) {
-				this.children = new DataSetFetchOptions();
-			}
-			return this.children;
-		};
-		prototype.withChildrenUsing = function(fetchOptions) {
-			return this.children = fetchOptions;
-		};
-		prototype.hasChildren = function() {
-			return this.children != null;
-		};
-		prototype.withContainers = function() {
-			if (this.containers == null) {
-				this.containers = new DataSetFetchOptions();
-			}
-			return this.containers;
-		};
-		prototype.withContainersUsing = function(fetchOptions) {
-			return this.containers = fetchOptions;
-		};
-		prototype.hasContainers = function() {
-			return this.containers != null;
-		};
-		prototype.withComponents = function() {
-			if (this.components == null) {
-				this.components = new DataSetFetchOptions();
-			}
-			return this.components;
-		};
-		prototype.withComponentsUsing = function(fetchOptions) {
-			return this.components = fetchOptions;
-		};
-		prototype.hasComponents = function() {
-			return this.components != null;
-		};
-		prototype.withPhysicalData = function() {
-			if (this.physicalData == null) {
-				var PhysicalDataFetchOptions = require("as/dto/dataset/fetchoptions/PhysicalDataFetchOptions");
-				this.physicalData = new PhysicalDataFetchOptions();
-			}
-			return this.physicalData;
-		};
-		prototype.withPhysicalDataUsing = function(fetchOptions) {
-			return this.physicalData = fetchOptions;
-		};
-		prototype.hasPhysicalData = function() {
-			return this.physicalData != null;
-		};
-		prototype.withLinkedData = function() {
-			if (this.linkedData == null) {
-				var LinkedDataFetchOptions = require("as/dto/dataset/fetchoptions/LinkedDataFetchOptions");
-				this.linkedData = new LinkedDataFetchOptions();
-			}
-			return this.linkedData;
-		};
-		prototype.withLinkedDataUsing = function(fetchOptions) {
-			return this.linkedData = fetchOptions;
-		};
-		prototype.hasLinkedData = function() {
-			return this.linkedData != null;
-		};
-		prototype.withTags = function() {
-			if (this.tags == null) {
-				var TagFetchOptions = require("as/dto/tag/fetchoptions/TagFetchOptions");
-				this.tags = new TagFetchOptions();
-			}
-			return this.tags;
-		};
-		prototype.withTagsUsing = function(fetchOptions) {
-			return this.tags = fetchOptions;
-		};
-		prototype.hasTags = function() {
-			return this.tags != null;
-		};
-		prototype.withType = function() {
-			if (this.type == null) {
-				var DataSetTypeFetchOptions = require("as/dto/dataset/fetchoptions/DataSetTypeFetchOptions");
-				this.type = new DataSetTypeFetchOptions();
-			}
-			return this.type;
-		};
-		prototype.withTypeUsing = function(fetchOptions) {
-			return this.type = fetchOptions;
-		};
-		prototype.hasType = function() {
-			return this.type != null;
-		};
-		prototype.withDataStore = function() {
-			if (this.dataStore == null) {
-				var DataStoreFetchOptions = require("as/dto/datastore/fetchoptions/DataStoreFetchOptions");
-				this.dataStore = new DataStoreFetchOptions();
-			}
-			return this.dataStore;
-		};
-		prototype.withDataStoreUsing = function(fetchOptions) {
-			return this.dataStore = fetchOptions;
-		};
-		prototype.hasDataStore = function() {
-			return this.dataStore != null;
-		};
-		prototype.withHistory = function() {
-			if (this.history == null) {
-				var HistoryEntryFetchOptions = require("as/dto/history/fetchoptions/HistoryEntryFetchOptions");
-				this.history = new HistoryEntryFetchOptions();
-			}
-			return this.history;
-		};
-		prototype.withHistoryUsing = function(fetchOptions) {
-			return this.history = fetchOptions;
-		};
-		prototype.hasHistory = function() {
-			return this.history != null;
-		};
-		prototype.withModifier = function() {
-			if (this.modifier == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.modifier = new PersonFetchOptions();
-			}
-			return this.modifier;
-		};
-		prototype.withModifierUsing = function(fetchOptions) {
-			return this.modifier = fetchOptions;
-		};
-		prototype.hasModifier = function() {
-			return this.modifier != null;
-		};
-		prototype.withRegistrator = function() {
-			if (this.registrator == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.registrator = new PersonFetchOptions();
-			}
-			return this.registrator;
-		};
-		prototype.withRegistratorUsing = function(fetchOptions) {
-			return this.registrator = fetchOptions;
-		};
-		prototype.hasRegistrator = function() {
-			return this.registrator != null;
-		};
-		prototype.withExperiment = function() {
-			if (this.experiment == null) {
-				var ExperimentFetchOptions = require("as/dto/experiment/fetchoptions/ExperimentFetchOptions");
-				this.experiment = new ExperimentFetchOptions();
-			}
-			return this.experiment;
-		};
-		prototype.withExperimentUsing = function(fetchOptions) {
-			return this.experiment = fetchOptions;
-		};
-		prototype.hasExperiment = function() {
-			return this.experiment != null;
-		};
-		prototype.withSample = function() {
-			if (this.sample == null) {
-				var SampleFetchOptions = require("as/dto/sample/fetchoptions/SampleFetchOptions");
-				this.sample = new SampleFetchOptions();
-			}
-			return this.sample;
-		};
-		prototype.withSampleUsing = function(fetchOptions) {
-			return this.sample = fetchOptions;
-		};
-		prototype.hasSample = function() {
-			return this.sample != null;
-		};
-		prototype.withProperties = function() {
-			if (this.properties == null) {
-				var PropertyFetchOptions = require("as/dto/property/fetchoptions/PropertyFetchOptions");
-				this.properties = new PropertyFetchOptions();
-			}
-			return this.properties;
-		};
-		prototype.withPropertiesUsing = function(fetchOptions) {
-			return this.properties = fetchOptions;
-		};
-		prototype.hasProperties = function() {
-			return this.properties != null;
-		};
-		prototype.withMaterialProperties = function() {
-			if (this.materialProperties == null) {
-				var MaterialFetchOptions = require("as/dto/material/fetchoptions/MaterialFetchOptions");
-				this.materialProperties = new MaterialFetchOptions();
-			}
-			return this.materialProperties;
-		};
-		prototype.withMaterialPropertiesUsing = function(fetchOptions) {
-			return this.materialProperties = fetchOptions;
-		};
-		prototype.hasMaterialProperties = function() {
-			return this.materialProperties != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var DataSetSortOptions = require("as/dto/dataset/fetchoptions/DataSetSortOptions");
-				this.sort = new DataSetSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		parents : "DataSetFetchOptions",
-		children : "DataSetFetchOptions",
-		containers : "DataSetFetchOptions",
-		components : "DataSetFetchOptions",
-		physicalData : "PhysicalDataFetchOptions",
-		tags : "TagFetchOptions",
-		type : "DataSetTypeFetchOptions",
-		dataStore : "DataStoreFetchOptions",
-		history : "HistoryEntryFetchOptions",
-		modifier : "PersonFetchOptions",
-		registrator : "PersonFetchOptions",
-		experiment : "ExperimentFetchOptions",
-		sample : "SampleFetchOptions",
-		properties : "PropertyFetchOptions",
-		materialProperties : "MaterialFetchOptions",
-		sort : "DataSetSortOptions"
-	});
-	return DataSetFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetSortOptions.js
deleted file mode 100644
index a98c12b0fffe5337e34571e9f25bf63dfcb6354f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/EntityWithPropertiesSortOptions" ], function(require, stjs, EntityWithPropertiesSortOptions) {
-	var DataSetSortOptions = function() {
-		EntityWithPropertiesSortOptions.call(this);
-	};
-	stjs.extend(DataSetSortOptions, EntityWithPropertiesSortOptions, [ EntityWithPropertiesSortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.DataSetSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return DataSetSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetTypeFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetTypeFetchOptions.js
deleted file mode 100644
index d08593aeb9efda354672bc795cf04e2bc4cc01f3..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetTypeFetchOptions.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/dataset/fetchoptions/DataSetTypeSortOptions" ], function(stjs, FetchOptions) {
-	var DataSetTypeFetchOptions = function() {
-	};
-	stjs.extend(DataSetTypeFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.DataSetTypeFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sort = null;
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var DataSetTypeSortOptions = require("as/dto/dataset/fetchoptions/DataSetTypeSortOptions");
-				this.sort = new DataSetTypeSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		sort : "DataSetTypeSortOptions"
-	});
-	return DataSetTypeFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetTypeSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetTypeSortOptions.js
deleted file mode 100644
index c3e324b8e4cd8373b13d85fd93503a62fe9c9bd2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/DataSetTypeSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var DataSetTypeSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(DataSetTypeSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.DataSetTypeSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return DataSetTypeSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/FileFormatTypeFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/FileFormatTypeFetchOptions.js
deleted file mode 100644
index 92acdee044ff2008379fcaf1fa441130b9291dc9..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/FileFormatTypeFetchOptions.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/dataset/fetchoptions/FileFormatTypeSortOptions" ], function(stjs, FetchOptions) {
-	var FileFormatTypeFetchOptions = function() {
-	};
-	stjs.extend(FileFormatTypeFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.FileFormatTypeFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sort = null;
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var FileFormatTypeSortOptions = require("as/dto/dataset/fetchoptions/FileFormatTypeSortOptions");
-				this.sort = new FileFormatTypeSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		sort : "FileFormatTypeSortOptions"
-	});
-	return FileFormatTypeFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/FileFormatTypeSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/FileFormatTypeSortOptions.js
deleted file mode 100644
index 6b1c8255f6ea821d759e5f6bd2de80527cedd24f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/FileFormatTypeSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var FileFormatTypeSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(FileFormatTypeSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.FileFormatTypeSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return FileFormatTypeSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LinkedDataFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LinkedDataFetchOptions.js
deleted file mode 100644
index 1ef77b80a2b3daf235222d52ecbd5207768c5a09..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LinkedDataFetchOptions.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/externaldms/fetchoptions/ExternalDmsFetchOptions", "as/dto/dataset/fetchoptions/LinkedDataSortOptions" ], function(require, stjs,
-		FetchOptions) {
-	var LinkedDataFetchOptions = function() {
-	};
-	stjs.extend(LinkedDataFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.LinkedDataFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.externalDms = null;
-		prototype.sort = null;
-		prototype.withExternalDms = function() {
-			if (this.externalDms == null) {
-				var ExternalDmsFetchOptions = require("as/dto/externaldms/fetchoptions/ExternalDmsFetchOptions");
-				this.externalDms = new ExternalDmsFetchOptions();
-			}
-			return this.externalDms;
-		};
-		prototype.withExternalDmsUsing = function(fetchOptions) {
-			return this.externalDms = fetchOptions;
-		};
-		prototype.hasExternalDms = function() {
-			return this.externalDms != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var LinkedDataSortOptions = require("as/dto/dataset/fetchoptions/LinkedDataSortOptions");
-				this.sort = new LinkedDataSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		externalDms : "ExternalDmsFetchOptions",
-		sort : "LinkedDataSortOptions"
-	});
-	return LinkedDataFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LinkedDataSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LinkedDataSortOptions.js
deleted file mode 100644
index 7de06933cd58c7228bee4366a475397983998d7b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LinkedDataSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var LinkedDataSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(LinkedDataSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.LinkedDataSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return LinkedDataSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LocatorTypeFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LocatorTypeFetchOptions.js
deleted file mode 100644
index 1327c90fdf40636094a89f97b6ff08e617e6946b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LocatorTypeFetchOptions.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/dataset/fetchoptions/LocatorTypeSortOptions" ], function(stjs, FetchOptions) {
-	var LocatorTypeFetchOptions = function() {
-	};
-	stjs.extend(LocatorTypeFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.LocatorTypeFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sort = null;
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var LocatorTypeSortOptions = require("as/dto/dataset/fetchoptions/LocatorTypeSortOptions");
-				this.sort = new LocatorTypeSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		sort : "LocatorTypeSortOptions"
-	});
-	return LocatorTypeFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LocatorTypeSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LocatorTypeSortOptions.js
deleted file mode 100644
index 50620474a1183f978cd09d7e7588336f6d686e97..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/LocatorTypeSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var LocatorTypeSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(LocatorTypeSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.LocatorTypeSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return LocatorTypeSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/PhysicalDataFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/PhysicalDataFetchOptions.js
deleted file mode 100644
index 7003908329ed33eb7ed53a62451e9bd7b296a25a..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/PhysicalDataFetchOptions.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/dataset/fetchoptions/StorageFormatFetchOptions", "as/dto/dataset/fetchoptions/FileFormatTypeFetchOptions",
-		"as/dto/dataset/fetchoptions/LocatorTypeFetchOptions", "as/dto/dataset/fetchoptions/PhysicalDataSortOptions" ], function(require, stjs, FetchOptions) {
-	var PhysicalDataFetchOptions = function() {
-	};
-	stjs.extend(PhysicalDataFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.PhysicalDataFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.storageFormat = null;
-		prototype.fileFormatType = null;
-		prototype.locatorType = null;
-		prototype.sort = null;
-		prototype.withStorageFormat = function() {
-			if (this.storageFormat == null) {
-				var StorageFormatFetchOptions = require("as/dto/dataset/fetchoptions/StorageFormatFetchOptions");
-				this.storageFormat = new StorageFormatFetchOptions();
-			}
-			return this.storageFormat;
-		};
-		prototype.withStorageFormatUsing = function(fetchOptions) {
-			return this.storageFormat = fetchOptions;
-		};
-		prototype.hasStorageFormat = function() {
-			return this.storageFormat != null;
-		};
-		prototype.withFileFormatType = function() {
-			if (this.fileFormatType == null) {
-				var FileFormatTypeFetchOptions = require("as/dto/dataset/fetchoptions/FileFormatTypeFetchOptions");
-				this.fileFormatType = new FileFormatTypeFetchOptions();
-			}
-			return this.fileFormatType;
-		};
-		prototype.withFileFormatTypeUsing = function(fetchOptions) {
-			return this.fileFormatType = fetchOptions;
-		};
-		prototype.hasFileFormatType = function() {
-			return this.fileFormatType != null;
-		};
-		prototype.withLocatorType = function() {
-			if (this.locatorType == null) {
-				var LocatorTypeFetchOptions = require("as/dto/dataset/fetchoptions/LocatorTypeFetchOptions");
-				this.locatorType = new LocatorTypeFetchOptions();
-			}
-			return this.locatorType;
-		};
-		prototype.withLocatorTypeUsing = function(fetchOptions) {
-			return this.locatorType = fetchOptions;
-		};
-		prototype.hasLocatorType = function() {
-			return this.locatorType != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var PhysicalDataSortOptions = require("as/dto/dataset/fetchoptions/PhysicalDataSortOptions");
-				this.sort = new PhysicalDataSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		storageFormat : "StorageFormatFetchOptions",
-		fileFormatType : "FileFormatTypeFetchOptions",
-		locatorType : "LocatorTypeFetchOptions",
-		sort : "PhysicalDataSortOptions"
-	});
-	return PhysicalDataFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/PhysicalDataSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/PhysicalDataSortOptions.js
deleted file mode 100644
index 724162f719ccf30c29075ea97aac313de4c55616..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/PhysicalDataSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var PhysicalDataSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(PhysicalDataSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.PhysicalDataSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return PhysicalDataSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/StorageFormatFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/StorageFormatFetchOptions.js
deleted file mode 100644
index c6e54b0f55c012af02e977d1cfd789b04f0d15ad..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/StorageFormatFetchOptions.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/dataset/fetchoptions/StorageFormatSortOptions" ], function(stjs, FetchOptions) {
-	var StorageFormatFetchOptions = function() {
-	};
-	stjs.extend(StorageFormatFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.StorageFormatFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sort = null;
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var StorageFormatSortOptions = require("as/dto/dataset/fetchoptions/StorageFormatSortOptions");
-				this.sort = new StorageFormatSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		sort : "StorageFormatSortOptions"
-	});
-	return StorageFormatFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/StorageFormatSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/StorageFormatSortOptions.js
deleted file mode 100644
index c74d758761c68fe4985774afe6c8a849d0e38bbc..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/fetchoptions/StorageFormatSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var StorageFormatSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(StorageFormatSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.fetchoptions.StorageFormatSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return StorageFormatSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/history/DataSetRelationType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/history/DataSetRelationType.js
deleted file mode 100644
index 7077caffd76f9499fc85e7e5bf3b2aebc3b31e04..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/history/DataSetRelationType.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var DataSetRelationType = function() {
-		Enum.call(this, [ "EXPERIMENT", "SAMPLE", "PARENT", "CHILD", "CONTAINER", "COMPONENT" ]);
-	};
-	stjs.extend(DataSetRelationType, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new DataSetRelationType();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/BdsDirectoryStorageFormatPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/BdsDirectoryStorageFormatPermId.js
deleted file mode 100644
index 121256687f8db6c6e1f2a372cb20243b0b89f269..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/BdsDirectoryStorageFormatPermId.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Bds directory storage format perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/dataset/id/StorageFormatPermId" ], function(stjs, StorageFormatPermId) {
-	var BdsDirectoryStorageFormatPermId = function() {
-		StorageFormatPermId.call(this, "BDS_DIRECTORY");
-	};
-	stjs.extend(BdsDirectoryStorageFormatPermId, StorageFormatPermId, [ StorageFormatPermId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.id.BdsDirectoryStorageFormatPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return BdsDirectoryStorageFormatPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/DataSetPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/DataSetPermId.js
deleted file mode 100644
index 774c3b20dde6ad30cb351f2a85da34f13c793de3..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/DataSetPermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Data set perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/dataset/id/IDataSetId" ], function(stjs, ObjectPermId, IDataSetId) {
-	/**
-	 * @param permId
-	 *            Data set perm id, e.g. "201108050937246-1031".
-	 */
-	var DataSetPermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(DataSetPermId, ObjectPermId, [ ObjectPermId, IDataSetId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.id.DataSetPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return DataSetPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/FileFormatTypePermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/FileFormatTypePermId.js
deleted file mode 100644
index 2dc7acaad8bfa38524ce95a60596111399156831..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/FileFormatTypePermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * File format type perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/dataset/id/IFileFormatTypeId" ], function(stjs, ObjectPermId, IFileFormatTypeId) {
-	/**
-	 * @param permId
-	 *            File format type perm id, e.g. "PROPRIETARY".
-	 */
-	var FileFormatTypePermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(FileFormatTypePermId, ObjectPermId, [ ObjectPermId, IFileFormatTypeId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.id.FileFormatTypePermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return FileFormatTypePermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/IDataSetId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/IDataSetId.js
deleted file mode 100644
index 92c0f55a6aa4c24dd00e90365666fbc14dae0a80..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/IDataSetId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a data set in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IDataSetId = function() {
-	};
-	stjs.extend(IDataSetId, null, [ IObjectId ], null, {});
-	return IDataSetId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/IFileFormatTypeId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/IFileFormatTypeId.js
deleted file mode 100644
index fd38c129e00022d50a6613bd33f1966ca2fb04a2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/IFileFormatTypeId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a file format type in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IFileFormatTypeId = function() {
-	};
-	stjs.extend(IFileFormatTypeId, null, [ IObjectId ], null, {});
-	return IFileFormatTypeId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/ILocatorTypeId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/ILocatorTypeId.js
deleted file mode 100644
index 03579a57009f7cdf330be73c5eff32a151f17f44..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/ILocatorTypeId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a locator type in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var ILocatorTypeId = function() {
-	};
-	stjs.extend(ILocatorTypeId, null, [ IObjectId ], null, {});
-	return ILocatorTypeId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/IStorageFormatId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/IStorageFormatId.js
deleted file mode 100644
index 0c70d83cac7b852b2e1099080969e7e577bcccfd..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/IStorageFormatId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a storage format in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IStorageFormatId = function() {
-	};
-	stjs.extend(IStorageFormatId, null, [ IObjectId ], null, {});
-	return IStorageFormatId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/LocatorTypePermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/LocatorTypePermId.js
deleted file mode 100644
index 6b8949fbf122aa54c55211af3fb3949901a17461..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/LocatorTypePermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Locator type perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/dataset/id/ILocatorTypeId" ], function(stjs, ObjectPermId, ILocatorTypeId) {
-	/**
-	 * @param permId
-	 *            Locator type perm id, e.g. "RELATIVE_LOCATION".
-	 */
-	var LocatorTypePermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(LocatorTypePermId, ObjectPermId, [ ObjectPermId, ILocatorTypeId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.id.LocatorTypePermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return LocatorTypePermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/ProprietaryStorageFormatPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/ProprietaryStorageFormatPermId.js
deleted file mode 100644
index 274b1a41260e255e7d1ec67463aafe424beddca2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/ProprietaryStorageFormatPermId.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Proprietary storage format perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/dataset/id/StorageFormatPermId" ], function(stjs, StorageFormatPermId) {
-	var ProprietaryStorageFormatPermId = function() {
-		StorageFormatPermId.call(this, "PROPRIETARY");
-	};
-	stjs.extend(ProprietaryStorageFormatPermId, StorageFormatPermId, [ StorageFormatPermId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.id.ProprietaryStorageFormatPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ProprietaryStorageFormatPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/RelativeLocationLocatorTypePermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/RelativeLocationLocatorTypePermId.js
deleted file mode 100644
index 1ac298fb76c3ce9d50afc525f24e5d1e537b9058..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/RelativeLocationLocatorTypePermId.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Relative location perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/dataset/id/LocatorTypePermId" ], function(stjs, LocatorTypePermId) {
-	var RelativeLocationLocatorTypePermId = function() {
-		LocatorTypePermId.call(this, "RELATIVE_LOCATION");
-	};
-	stjs.extend(RelativeLocationLocatorTypePermId, LocatorTypePermId, [ LocatorTypePermId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.id.RelativeLocationLocatorTypePermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return RelativeLocationLocatorTypePermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/StorageFormatPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/StorageFormatPermId.js
deleted file mode 100644
index ccbb716dec45d3772c31fd80ee5ef067bdaa3e13..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/id/StorageFormatPermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Storage format perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/dataset/id/IStorageFormatId" ], function(stjs, ObjectPermId, IStorageFormatId) {
-	/**
-	 * @param permId
-	 *            Storage format perm id, e.g. "PROPRIETARY".
-	 */
-	var StorageFormatPermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(StorageFormatPermId, ObjectPermId, [ ObjectPermId, IStorageFormatId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.id.StorageFormatPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return StorageFormatPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/search/DataSetSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/search/DataSetSearchCriteria.js
deleted file mode 100644
index 140ef89a188e87a85b47574270259893e497f96e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/search/DataSetSearchCriteria.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "require", "stjs", "as/dto/common/search/AbstractEntitySearchCriteria", "as/dto/common/search/SearchOperator", "as/dto/dataset/search/DataSetSearchRelation", ,
-		"as/dto/experiment/search/ExperimentSearchCriteria", "as/dto/experiment/search/NoExperimentSearchCriteria", "as/dto/sample/search/SampleSearchCriteria", "as/dto/sample/search/NoSampleSearchCriteria" ],
-		function(require, stjs, AbstractEntitySearchCriteria, SearchOperator, DataSetSearchRelation) {
-			var DataSetSearchCriteria = function(relation) {
-				AbstractEntitySearchCriteria.call(this);
-				this.relation = relation ? relation : DataSetSearchRelation.DATASET;
-			};
-			stjs.extend(DataSetSearchCriteria, AbstractEntitySearchCriteria, [ AbstractEntitySearchCriteria ], function(constructor, prototype) {
-				prototype['@type'] = 'as.dto.dataset.search.DataSetSearchCriteria';
-				constructor.serialVersionUID = 1;
-				prototype.relation = null;
-				prototype.withParents = function() {
-					return this.addCriteria(new DataSetParentsSearchCriteria());
-				};
-				prototype.withChildren = function() {
-					return this.addCriteria(new DataSetChildrenSearchCriteria());
-				};
-				prototype.withContainer = function() {
-					return this.addCriteria(new DataSetContainerSearchCriteria());
-				};
-				prototype.withExperiment = function() {
-					var ExperimentSearchCriteria = require("as/dto/experiment/search/ExperimentSearchCriteria");
-					return this.addCriteria(new ExperimentSearchCriteria());
-				};
-				prototype.withoutExperiment = function() {
-					var NoExperimentSearchCriteria = require("as/dto/experiment/search/NoExperimentSearchCriteria");
-					return this.addCriteria(new NoExperimentSearchCriteria());
-				};
-				prototype.withSample = function() {
-					var SampleSearchCriteria = require("as/dto/sample/search/SampleSearchCriteria");
-					return this.addCriteria(new SampleSearchCriteria());
-				};
-				prototype.withoutSample = function() {
-					var NoSampleSearchCriteria = require("as/dto/sample/search/NoSampleSearchCriteria");
-					return this.addCriteria(new NoSampleSearchCriteria());
-				};
-				prototype.withOrOperator = function() {
-					return this.withOperator(SearchOperator.OR);
-				};
-				prototype.withAndOperator = function() {
-					return this.withOperator(SearchOperator.AND);
-				};
-				prototype.getRelation = function() {
-					return this.relation;
-				};
-			}, {
-				relation : {
-					name : "Enum",
-					arguments : [ "DataSetSearchRelation" ]
-				},
-				operator : {
-					name : "Enum",
-					arguments : [ "SearchOperator" ]
-				},
-				criteria : {
-					name : "Collection",
-					arguments : [ "ISearchCriteria" ]
-				}
-			});
-
-			var DataSetParentsSearchCriteria = function() {
-				DataSetSearchCriteria.call(this, DataSetSearchRelation.PARENTS);
-			};
-			stjs.extend(DataSetParentsSearchCriteria, DataSetSearchCriteria, [ DataSetSearchCriteria ], function(constructor, prototype) {
-				prototype['@type'] = 'as.dto.dataset.search.DataSetParentsSearchCriteria';
-				constructor.serialVersionUID = 1;
-			}, {
-				relation : {
-					name : "Enum",
-					arguments : [ "DataSetSearchRelation" ]
-				},
-				operator : {
-					name : "Enum",
-					arguments : [ "SearchOperator" ]
-				},
-				criteria : {
-					name : "Collection",
-					arguments : [ "ISearchCriteria" ]
-				}
-			});
-
-			var DataSetChildrenSearchCriteria = function() {
-				DataSetSearchCriteria.call(this, DataSetSearchRelation.CHILDREN);
-			};
-			stjs.extend(DataSetChildrenSearchCriteria, DataSetSearchCriteria, [ DataSetSearchCriteria ], function(constructor, prototype) {
-				prototype['@type'] = 'as.dto.dataset.search.DataSetChildrenSearchCriteria';
-				constructor.serialVersionUID = 1;
-			}, {
-				relation : {
-					name : "Enum",
-					arguments : [ "DataSetSearchRelation" ]
-				},
-				operator : {
-					name : "Enum",
-					arguments : [ "SearchOperator" ]
-				},
-				criteria : {
-					name : "Collection",
-					arguments : [ "ISearchCriteria" ]
-				}
-			});
-
-			var DataSetContainerSearchCriteria = function() {
-				DataSetSearchCriteria.call(this, DataSetSearchRelation.CONTAINER);
-			};
-			stjs.extend(DataSetContainerSearchCriteria, DataSetSearchCriteria, [ DataSetSearchCriteria ], function(constructor, prototype) {
-				prototype['@type'] = 'as.dto.dataset.search.DataSetContainerSearchCriteria';
-				constructor.serialVersionUID = 1;
-			}, {
-				relation : {
-					name : "Enum",
-					arguments : [ "DataSetSearchRelation" ]
-				},
-				operator : {
-					name : "Enum",
-					arguments : [ "SearchOperator" ]
-				},
-				criteria : {
-					name : "Collection",
-					arguments : [ "ISearchCriteria" ]
-				}
-			});
-
-			return DataSetSearchCriteria;
-		})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/search/DataSetSearchRelation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/search/DataSetSearchRelation.js
deleted file mode 100644
index f3c8af9242a7224a5ce9dbc4cd2c534e022c6d27..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/search/DataSetSearchRelation.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var DataSetSearchRelation = function() {
-		Enum.call(this, [ "DATASET", "PARENTS", "CHILDREN", "CONTAINER" ]);
-	};
-	stjs.extend(DataSetSearchRelation, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new DataSetSearchRelation();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/update/DataSetUpdate.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/update/DataSetUpdate.js
deleted file mode 100644
index 2434868a189c3f8fc3a1aed5a6ea72eda466fb36..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/update/DataSetUpdate.js
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/FieldUpdateValue", "as/dto/common/update/IdListUpdateValue" ], function(stjs, FieldUpdateValue, IdListUpdateValue) {
-	var DataSetUpdate = function() {
-		this.experimentId = new FieldUpdateValue();
-		this.sampleId = new FieldUpdateValue();
-		this.physicalData = new FieldUpdateValue();
-		this.linkedData = new FieldUpdateValue();
-		this.properties = {};
-		this.tagIds = new IdListUpdateValue();
-		this.containerIds = new IdListUpdateValue();
-		this.componentIds = new IdListUpdateValue();
-		this.parentIds = new IdListUpdateValue();
-		this.childIds = new IdListUpdateValue();
-	};
-	stjs.extend(DataSetUpdate, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.update.DataSetUpdate';
-		constructor.serialVersionUID = 1;
-		prototype.dataSetId = null;
-		prototype.experimentId = null;
-		prototype.sampleId = null;
-		prototype.physicalData = null;
-		prototype.linkedData = null;
-		prototype.properties = null;
-		prototype.tagIds = null;
-		prototype.containerIds = null;
-		prototype.componentIds = null;
-		prototype.parentIds = null;
-		prototype.childIds = null;
-
-		prototype.getDataSetId = function() {
-			return this.dataSetId;
-		};
-		prototype.setDataSetId = function(dataSetId) {
-			this.dataSetId = dataSetId;
-		};
-		prototype.getExperimentId = function() {
-			return this.experimentId;
-		};
-		prototype.setExperimentId = function(experimentId) {
-			this.experimentId.setValue(experimentId);
-		};
-		prototype.getSampleId = function() {
-			return this.sampleId;
-		};
-		prototype.setSampleId = function(sampleId) {
-			this.sampleId.setValue(sampleId);
-		};
-		prototype.getPhysicalData = function() {
-			return this.physicalData;
-		};
-		prototype.setPhysicalData = function(physicalData) {
-			this.physicalData.setValue(physicalData);
-		};
-		prototype.getLinkedData = function() {
-			return this.linkedData;
-		};
-		prototype.setLinkedData = function(linkedData) {
-			this.linkedData.setValue(linkedData);
-		};
-		prototype.setProperty = function(key, value) {
-			this.properties[key] = value;
-		};
-		prototype.getProperties = function() {
-			return this.properties;
-		};
-		prototype.getTagIds = function() {
-			return this.tagIds;
-		};
-		prototype.setTagActions = function(actions) {
-			this.tagIds.setActions(actions);
-		};
-		prototype.getContainerIds = function() {
-			return this.containerIds;
-		};
-		prototype.setContainerActions = function(actions) {
-			this.containerIds.setActions(actions);
-		};
-		prototype.getComponentIds = function() {
-			return this.componentIds;
-		};
-		prototype.setComponentActions = function(actions) {
-			this.componentIds.setActions(actions);
-		};
-		prototype.getParentIds = function() {
-			return this.parentIds;
-		};
-		prototype.setParentActions = function(actions) {
-			this.parentIds.setActions(actions);
-		};
-		prototype.getChildIds = function() {
-			return this.childIds;
-		};
-		prototype.setChildActions = function(actions) {
-			this.childIds.setActions(actions);
-		};
-	}, {
-		dataSetId : "IDataSetId",
-		experimentId : {
-			name : "FieldUpdateValue",
-			arguments : [ "IExperimentId" ]
-		},
-		sampleId : {
-			name : "FieldUpdateValue",
-			arguments : [ "ISampleId" ]
-		},
-		physicalData : {
-			name : "FieldUpdateValue",
-			arguments : [ "PhysicalDataUpdate" ]
-		},
-		linkedData : {
-			name : "FieldUpdateValue",
-			arguments : [ "LinkedDataUpdate" ]
-		},
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		tagIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "ITagId" ]
-		},
-		containerIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "IDataSetId" ]
-		},
-		componentIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "IDataSetId" ]
-		},
-		parentIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "IDataSetId" ]
-		},
-		childIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "IDataSetId" ]
-		}
-	});
-	return DataSetUpdate;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/update/LinkedDataUpdate.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/update/LinkedDataUpdate.js
deleted file mode 100644
index ec95e312fdf44a1dd1347d62adcb5a8e1e5fb176..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/update/LinkedDataUpdate.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/FieldUpdateValue" ], function(stjs, FieldUpdateValue) {
-	var LinkedDataUpdate = function() {
-		this.externalCode = new FieldUpdateValue();
-		this.externalDmsId = new FieldUpdateValue();
-	};
-	stjs.extend(LinkedDataUpdate, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.update.LinkedDataUpdate';
-		constructor.serialVersionUID = 1;
-
-		prototype.externalCode = null;
-		prototype.externalDmsId = null;
-
-		prototype.getExternalCode = function() {
-			return this.externalCode;
-		};
-		prototype.setExternalCode = function(externalCode) {
-			this.externalCode.setValue(externalCode);
-		};
-		prototype.getExternalDmsId = function() {
-			return this.externalDmsId;
-		};
-		prototype.setExternalDmsId = function(externalDmsId) {
-			this.externalDmsId.setValue(externalDmsId);
-		};
-	}, {
-		externalCode : {
-			name : "FieldUpdateValue",
-			arguments : [ "String" ]
-		},
-		externalDmsId : {
-			name : "FieldUpdateValue",
-			arguments : [ "IExternalDmsId" ]
-		}
-	});
-	return LinkedDataUpdate;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/update/PhysicalDataUpdate.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/update/PhysicalDataUpdate.js
deleted file mode 100644
index b40613de165df18b32119e628be9cb6700574b34..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/dataset/update/PhysicalDataUpdate.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/FieldUpdateValue" ], function(stjs, FieldUpdateValue) {
-	var PhysicalDataUpdate = function() {
-		this.fileFormatTypeId = new FieldUpdateValue();
-	};
-	stjs.extend(PhysicalDataUpdate, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.dataset.update.PhysicalDataUpdate';
-		constructor.serialVersionUID = 1;
-
-		prototype.fileFormatTypeId = null;
-
-		prototype.getFileFormatTypeId = function() {
-			return this.fileFormatTypeId;
-		};
-		prototype.setFileFormatTypeId = function(fileFormatTypeId) {
-			this.fileFormatTypeId.setValue(fileFormatTypeId);
-		};
-	}, {
-		fileFormatTypeId : {
-			name : "FieldUpdateValue",
-			arguments : [ "IFileFormatTypeId" ]
-		}
-	});
-	return PhysicalDataUpdate;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/DataStore.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/DataStore.js
deleted file mode 100644
index de58548a93e3c90f806b91c78d6460969980350a..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/DataStore.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var DataStore = function() {
-	};
-	stjs.extend(DataStore, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.datastore.DataStore';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.code = null;
-		prototype.downloadUrl = null;
-		prototype.remoteUrl = null;
-		prototype.registrationDate = null;
-		prototype.modificationDate = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDownloadUrl = function() {
-			return this.downloadUrl;
-		};
-		prototype.setDownloadUrl = function(downloadUrl) {
-			this.downloadUrl = downloadUrl;
-		};
-		prototype.getRemoteUrl = function() {
-			return this.remoteUrl;
-		};
-		prototype.setRemoteUrl = function(remoteUrl) {
-			this.remoteUrl = remoteUrl;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-		prototype.toString = function() {
-			return "DataStore " + this.code;
-		};
-	}, {
-		fetchOptions : "DataStoreFetchOptions",
-		registrationDate : "Date",
-		modificationDate : "Date"
-	});
-	return DataStore;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/fetchoptions/DataStoreFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/fetchoptions/DataStoreFetchOptions.js
deleted file mode 100644
index 9f0dd5a158ddc61c1a264fac45a2e3db0f593467..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/fetchoptions/DataStoreFetchOptions.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/datastore/fetchoptions/DataStoreSortOptions" ], function(require, stjs, FetchOptions) {
-	var DataStoreFetchOptions = function() {
-	};
-	stjs.extend(DataStoreFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.datastore.fetchoptions.DataStoreFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sort = null;
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var DataStoreSortOptions = require("as/dto/datastore/fetchoptions/DataStoreSortOptions");
-				this.sort = new DataStoreSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		sort : "DataStoreSortOptions"
-	});
-	return DataStoreFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/fetchoptions/DataStoreSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/fetchoptions/DataStoreSortOptions.js
deleted file mode 100644
index 95627aee0531fcf9af250b8c25a6c632688916f8..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/fetchoptions/DataStoreSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var DataStoreSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(DataStoreSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.person.fetchoptions.DataStoreSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return DataStoreSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/id/DataStorePermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/id/DataStorePermId.js
deleted file mode 100644
index 63c62aac1f9fa7e90764ca89bde3b6645b855401..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/id/DataStorePermId.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Data store perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/datastore/id/IDataStoreId" ], function(stjs, ObjectPermId, IDataStoreId) {
-
-	/**
-	 * @param permId
-	 *            Data store perm id, e.g. "DSS1".
-	 */
-	var DataStorePermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(DataStorePermId, ObjectPermId, [ ObjectPermId, IDataStoreId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.datastore.id.DataStorePermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return DataStorePermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/id/IDataStoreId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/id/IDataStoreId.js
deleted file mode 100644
index abe9898ec6b49de4107718fe949dc76e8357a343..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/datastore/id/IDataStoreId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a data store in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IDataStoreId = function() {
-	};
-	stjs.extend(IDataStoreId, null, [ IObjectId ], null, {});
-	return IDataStoreId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/AbstractObjectDeletionOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/AbstractObjectDeletionOptions.js
deleted file mode 100644
index a312a3d37bdd1c71890f1c28a5e203f4ac613c5b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/AbstractObjectDeletionOptions.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var AbstractObjectDeletionOptions = function() {
-	};
-	stjs.extend(AbstractObjectDeletionOptions, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.deletion.AbstractObjectDeletionOptions';
-		constructor.serialVersionUID = 1;
-		prototype.reason = null;
-		prototype.getReason = function() {
-			return this.reason;
-		};
-		prototype.setReason = function(reason) {
-			this.reason = reason;
-		};
-	}, {});
-	return AbstractObjectDeletionOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/DeletedObject.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/DeletedObject.js
deleted file mode 100644
index 1196e649ce0f0e0ee2f008c91cc1e40fa9bf32bb..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/DeletedObject.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var DeletedObject = function() {
-	};
-	stjs.extend(DeletedObject, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.deletion.DeletedObject';
-		prototype.id = null;
-		prototype.getId = function() {
-			return this.id;
-		};
-		prototype.setId = function(id) {
-			this.id = id;
-		};
-	}, {
-		id : "IObjectId"
-	});
-	return DeletedObject;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/Deletion.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/Deletion.js
deleted file mode 100644
index 5001e13ee1797c105c89271fcbc5441b75485685..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/Deletion.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Deletion = function() {
-		this.deletedObjects = [];
-	};
-	stjs.extend(Deletion, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.deletion.Deletion';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.id = null;
-		prototype.reason = null;
-		prototype.deletedObjects = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getId = function() {
-			return this.id;
-		};
-		prototype.setId = function(id) {
-			this.id = id;
-		};
-		prototype.getReason = function() {
-			return this.reason;
-		};
-		prototype.setReason = function(reason) {
-			this.reason = reason;
-		};
-		prototype.getDeletedObjects = function() {
-			if (this.getFetchOptions().hasDeletedObjects()) {
-				return this.deletedObjects;
-			} else {
-				throw new exceptions.NotFetchedException("Deleted objects have not been fetched.");
-			}
-		};
-		prototype.setDeletedObjects = function(deletedObjects) {
-			this.deletedObjects = deletedObjects;
-		};
-	}, {
-		fetchOptions : "DeletionFetchOptions",
-		id : "IDeletionId",
-		deletedObjects : {
-			name : "List",
-			arguments : [ "DeletedObject" ]
-		}
-	});
-	return Deletion;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/fetchoptions/DeletedObjectFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/fetchoptions/DeletedObjectFetchOptions.js
deleted file mode 100644
index 1b93ddc107f81563914ee1915f0aa72a0bb36657..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/fetchoptions/DeletedObjectFetchOptions.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/fetchoptions/EmptyFetchOptions" ], function(stjs, EmptyFetchOptions) {
-	var DeletedObjectFetchOptions = function() {
-	};
-	stjs.extend(DeletedObjectFetchOptions, EmptyFetchOptions, [ EmptyFetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.deletion.fetchoptions.DeletedObjectFetchOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return DeletedObjectFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/fetchoptions/DeletionFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/fetchoptions/DeletionFetchOptions.js
deleted file mode 100644
index f39c24fd1407a5c2100db5102632327aba4da64c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/fetchoptions/DeletionFetchOptions.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/deletion/fetchoptions/DeletedObjectFetchOptions", "as/dto/deletion/fetchoptions/DeletionSortOptions" ], function(require, stjs,
-		FetchOptions) {
-	var DeletionFetchOptions = function() {
-	};
-	stjs.extend(DeletionFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.deletion.fetchoptions.DeletionFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.deletedObjects = null;
-		prototype.sort = null;
-		prototype.withDeletedObjects = function() {
-			if (this.deletedObjects == null) {
-				var DeletedObjectFetchOptions = require("as/dto/deletion/fetchoptions/DeletedObjectFetchOptions");
-				this.deletedObjects = new DeletedObjectFetchOptions();
-			}
-			return this.deletedObjects;
-		};
-		prototype.withDeletedObjectsUsing = function(deletedObjects) {
-			this.deletedObjects = deletedObjects;
-		};
-		prototype.hasDeletedObjects = function() {
-			return this.deletedObjects != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var DeletionSortOptions = require("as/dto/deletion/fetchoptions/DeletionSortOptions");
-				this.sort = new DeletionSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		deletedObjects : "DeletedObjectFetchOptions",
-		sort : "DeletionSortOptions"
-	});
-	return DeletionFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/fetchoptions/DeletionSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/fetchoptions/DeletionSortOptions.js
deleted file mode 100644
index 7af94c699c3cc7c53e6269f1d921961d1536af85..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/fetchoptions/DeletionSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var DeletionSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(DeletionSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.deletion.fetchoptions.DeletionSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return DeletionSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/id/DeletionTechId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/id/DeletionTechId.js
deleted file mode 100644
index 05f46cc189a78e6568637f0d6ddf3ab50c035a00..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/id/DeletionTechId.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectTechId", "as/dto/deletion/id/IDeletionId" ], function(stjs, ObjectTechId, IDeletionId) {
-	var DeletionTechId = function(techId) {
-		ObjectTechId.call(this, techId);
-	};
-	stjs.extend(DeletionTechId, ObjectTechId, [ ObjectTechId, IDeletionId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.deletion.id.DeletionTechId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return DeletionTechId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/id/IDeletionId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/id/IDeletionId.js
deleted file mode 100644
index 8fb212cb06120f03bf94c1d67578950f1b1e82f2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/id/IDeletionId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a deletion in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IDeletionId = function() {
-	};
-	stjs.extend(IDeletionId, null, [ IObjectId ], null, {});
-	return IDeletionId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/search/DeletionSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/search/DeletionSearchCriteria.js
deleted file mode 100644
index 1e15697c75142711e4dc33d9500a769d1132cd59..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/deletion/search/DeletionSearchCriteria.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) {
-	var DeletionSearchCriteria = function() {
-		AbstractObjectSearchCriteria.call(this);
-	};
-	stjs.extend(DeletionSearchCriteria, AbstractObjectSearchCriteria, [ AbstractObjectSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.deletion.search.DeletionSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return DeletionSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/entitytype/id/EntityTypePermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/entitytype/id/EntityTypePermId.js
deleted file mode 100644
index 89e7e0b704b7fa23cad75cf745340a9a05c9f12e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/entitytype/id/EntityTypePermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Entity type perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/entitytype/id/IEntityTypeId" ], function(stjs, ObjectPermId, IEntityTypeId) {
-	/**
-	 * @param permId
-	 *            Entity type perm id, e.g. "MY_ENTITY_TYPE".
-	 */
-	var EntityTypePermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(EntityTypePermId, ObjectPermId, [ ObjectPermId, IEntityTypeId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.entitytype.id.EntityTypePermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return EntityTypePermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/entitytype/id/IEntityTypeId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/entitytype/id/IEntityTypeId.js
deleted file mode 100644
index ca7ecd37e0031922cf8804b986e755253d495444..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/entitytype/id/IEntityTypeId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies an entity type in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IEntityTypeId = function() {
-	};
-	stjs.extend(IEntityTypeId, null, [ IObjectId ], null, {});
-	return IEntityTypeId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/entitytype/search/EntityTypeSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/entitytype/search/EntityTypeSearchCriteria.js
deleted file mode 100644
index b8660825597fe4f95bb6715dc525997d787cb93e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/entitytype/search/EntityTypeSearchCriteria.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria",
-		"as/dto/common/search/AbstractCompositeSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) {
-	var EntityTypeSearchCriteria = function() {
-		AbstractObjectSearchCriteria.call(this);
-	};
-	stjs.extend(EntityTypeSearchCriteria, AbstractObjectSearchCriteria, [ AbstractObjectSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.entitytype.search.EntityTypeSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.withCode = function() {
-			var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria");
-			return this.addCriteria(new CodeSearchCriteria());
-		};
-		prototype.withPermId = function() {
-			var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria");
-			return this.addCriteria(new PermIdSearchCriteria());
-		};
-	}, {
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return EntityTypeSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/Experiment.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/Experiment.js
deleted file mode 100644
index c048d805bd683bd511d26024bc64439a7c898667..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/Experiment.js
+++ /dev/null
@@ -1,225 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Experiment = function() {
-	};
-	stjs.extend(Experiment, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.Experiment';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.identifier = null;
-		prototype.code = null;
-		prototype.registrationDate = null;
-		prototype.modificationDate = null;
-		prototype.type = null;
-		prototype.project = null;
-		prototype.dataSets = null;
-		prototype.samples = null;
-		prototype.history = null;
-		prototype.properties = null;
-		prototype.materialProperties = null;
-		prototype.tags = null;
-		prototype.registrator = null;
-		prototype.modifier = null;
-		prototype.attachments = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getIdentifier = function() {
-			return this.identifier;
-		};
-		prototype.setIdentifier = function(identifier) {
-			this.identifier = identifier;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-		prototype.getType = function() {
-			if (this.getFetchOptions().hasType()) {
-				return this.type;
-			} else {
-				throw new exceptions.NotFetchedException("Experiment type has not been fetched.");
-			}
-		};
-		prototype.setType = function(type) {
-			this.type = type;
-		};
-		prototype.getProject = function() {
-			if (this.getFetchOptions().hasProject()) {
-				return this.project;
-			} else {
-				throw new exceptions.NotFetchedException("Project has not been fetched.");
-			}
-		};
-		prototype.setProject = function(project) {
-			this.project = project;
-		};
-		prototype.getDataSets = function() {
-			if (this.getFetchOptions().hasDataSets()) {
-				return this.dataSets;
-			} else {
-				throw new exceptions.NotFetchedException("Data sets have not been fetched.");
-			}
-		};
-		prototype.setDataSets = function(dataSets) {
-			this.dataSets = dataSets;
-		};
-		prototype.getSamples = function() {
-			if (this.getFetchOptions().hasSamples()) {
-				return this.samples;
-			} else {
-				throw new exceptions.NotFetchedException("Samples have not been fetched.");
-			}
-		};
-		prototype.setSamples = function(samples) {
-			this.samples = samples;
-		};
-		prototype.getHistory = function() {
-			if (this.getFetchOptions().hasHistory()) {
-				return this.history;
-			} else {
-				throw new exceptions.NotFetchedException("History has not been fetched.");
-			}
-		};
-		prototype.setHistory = function(history) {
-			this.history = history;
-		};
-		prototype.getProperty = function(propertyName) {
-			var properties = this.getProperties();
-			return properties ? properties[propertyName] : null;
-		};
-		prototype.getProperties = function() {
-			if (this.getFetchOptions().hasProperties()) {
-				return this.properties;
-			} else {
-				throw new exceptions.NotFetchedException("Properties have not been fetched.");
-			}
-		};
-		prototype.setProperties = function(properties) {
-			this.properties = properties;
-		};
-		prototype.getMaterialProperty = function(propertyName) {
-			var properties = this.getMaterialProperties();
-			return properties ? properties[propertyName] : null;
-		};
-		prototype.getMaterialProperties = function() {
-			if (this.getFetchOptions().hasMaterialProperties()) {
-				return this.materialProperties;
-			} else {
-				throw new exceptions.NotFetchedException("Material properties have not been fetched.");
-			}
-		};
-		prototype.setMaterialProperties = function(materialProperties) {
-			this.materialProperties = materialProperties;
-		};
-		prototype.getTags = function() {
-			if (this.getFetchOptions().hasTags()) {
-				return this.tags;
-			} else {
-				throw new exceptions.NotFetchedException("Tags has not been fetched.");
-			}
-		};
-		prototype.setTags = function(tags) {
-			this.tags = tags;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-		prototype.getModifier = function() {
-			if (this.getFetchOptions().hasModifier()) {
-				return this.modifier;
-			} else {
-				throw new exceptions.NotFetchedException("Modifier has not been fetched.");
-			}
-		};
-		prototype.setModifier = function(modifier) {
-			this.modifier = modifier;
-		};
-		prototype.getAttachments = function() {
-			if (this.getFetchOptions().hasAttachments()) {
-				return this.attachments;
-			} else {
-				throw new exceptions.NotFetchedException("Attachments has not been fetched.");
-			}
-		};
-		prototype.setAttachments = function(attachments) {
-			this.attachments = attachments;
-		};
-		prototype.toString = function() {
-			return "Experiment " + this.permId;
-		};
-	}, {
-		fetchOptions : "ExperimentFetchOptions",
-		permId : "ExperimentPermId",
-		identifier : "ExperimentIdentifier",
-		registrationDate : "Date",
-		modificationDate : "Date",
-		type : "ExperimentType",
-		project : "Project",
-		dataSets : {
-			name : "List",
-			arguments : [ "DataSet" ]
-		},
-		samples : {
-			name : "List",
-			arguments : [ "Sample" ]
-		},
-		history : {
-			name : "List",
-			arguments : [ "HistoryEntry" ]
-		},
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		materialProperties : {
-			name : "Map",
-			arguments : [ null, "Material" ]
-		},
-		tags : {
-			name : "Set",
-			arguments : [ "Tag" ]
-		},
-		registrator : "Person",
-		modifier : "Person",
-		attachments : {
-			name : "List",
-			arguments : [ "Attachment" ]
-		}
-	});
-	return Experiment;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/ExperimentType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/ExperimentType.js
deleted file mode 100644
index eded58496d8a43fd9a379216ee8ba055e23994d2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/ExperimentType.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs" ], function(stjs) {
-	var ExperimentType = function() {
-	};
-	stjs.extend(ExperimentType, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.ExperimentType';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.code = null;
-		prototype.description = null;
-		prototype.modificationDate = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-	}, {
-		fetchOptions : "ExperimentTypeFetchOptions",
-		permId : "EntityTypePermId",
-		modificationDate : "Date"
-	});
-	return ExperimentType;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/create/CreateExperimentsOperation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/create/CreateExperimentsOperation.js
deleted file mode 100644
index 432626079c18c49161b055eb6984a1cd599d2f7b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/create/CreateExperimentsOperation.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperation" ], function(stjs, IOperation) {
-	var CreateExperimentsOperation = function() {
-	};
-	stjs.extend(CreateExperimentsOperation, null, [ IOperation ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.create.CreateExperimentsOperation';
-		prototype.newExperiments = null;
-	}, {
-		newExperiments : {
-			name : "List",
-			arguments : [ "ExperimentCreation" ]
-		}
-	});
-	return CreateExperimentsOperation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/create/CreateExperimentsOperationResult.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/create/CreateExperimentsOperationResult.js
deleted file mode 100644
index 0313243cf303d07f5c06f6239339f15302be9776..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/create/CreateExperimentsOperationResult.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperationResult" ], function(stjs, IOperationResult) {
-	var CreateExperimentsOperationResult = function() {
-	};
-	stjs.extend(CreateExperimentsOperationResult, null, [ IOperationResult ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.create.CreateExperimentsOperationResult';
-		prototype.newExperimentIds = null;
-	}, {
-		newExperimentIds : {
-			name : "List",
-			arguments : [ "ExperimentPermId" ]
-		}
-	});
-	return CreateExperimentsOperationResult;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/create/ExperimentCreation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/create/ExperimentCreation.js
deleted file mode 100644
index 6081b72d60b78a3cc1edad5e8336869ba73dc698..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/create/ExperimentCreation.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var ExperimentCreation = function() {
-		this.properties = {};
-	};
-	stjs.extend(ExperimentCreation, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.create.ExperimentCreation';
-		constructor.serialVersionUID = 1;
-		prototype.typeId = null;
-		prototype.projectId = null;
-		prototype.code = null;
-		prototype.tagIds = null;
-		prototype.properties = null;
-		prototype.attachments = null;
-		prototype.setTypeId = function(typeId) {
-			this.typeId = typeId;
-		};
-		prototype.setProjectId = function(projectId) {
-			this.projectId = projectId;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getTypeId = function() {
-			return this.typeId;
-		};
-		prototype.getProjectId = function() {
-			return this.projectId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.getTagIds = function() {
-			return this.tagIds;
-		};
-		prototype.setTagIds = function(tagIds) {
-			this.tagIds = tagIds;
-		};
-		prototype.setProperty = function(key, value) {
-			this.properties[key] = value;
-		};
-		prototype.getProperties = function() {
-			return this.properties;
-		};
-		prototype.getAttachments = function() {
-			return this.attachments;
-		};
-		prototype.setAttachments = function(attachments) {
-			this.attachments = attachments;
-		};
-	}, {
-		typeId : "IEntityTypeId",
-		projectId : "IProjectId",
-		tagIds : {
-			name : "List",
-			arguments : [ "Object" ]
-		},
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		attachments : {
-			name : "List",
-			arguments : [ "AttachmentCreation" ]
-		}
-	});
-	return ExperimentCreation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/delete/ExperimentDeletionOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/delete/ExperimentDeletionOptions.js
deleted file mode 100644
index cb4b136da52c3ff04a309a7295c18966294c357e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/delete/ExperimentDeletionOptions.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/deletion/AbstractObjectDeletionOptions" ], function(stjs, AbstractObjectDeletionOptions) {
-	var ExperimentDeletionOptions = function() {
-		AbstractObjectDeletionOptions.call(this);
-	};
-	stjs.extend(ExperimentDeletionOptions, AbstractObjectDeletionOptions, [ AbstractObjectDeletionOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.delete.ExperimentDeletionOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ExperimentDeletionOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentFetchOptions.js
deleted file mode 100644
index 68eef159c8a7d04f2bfb7581ecf99592178cbc7b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentFetchOptions.js
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/experiment/fetchoptions/ExperimentTypeFetchOptions', 'as/dto/project/fetchoptions/ProjectFetchOptions',
-		'as/dto/property/fetchoptions/PropertyFetchOptions', 'as/dto/tag/fetchoptions/TagFetchOptions', 'as/dto/person/fetchoptions/PersonFetchOptions', 'as/dto/attachment/fetchoptions/AttachmentFetchOptions',
-		'as/dto/dataset/fetchoptions/DataSetFetchOptions', 'as/dto/sample/fetchoptions/SampleFetchOptions', 'as/dto/history/fetchoptions/HistoryEntryFetchOptions',
-		'as/dto/material/fetchoptions/MaterialFetchOptions', 'as/dto/experiment/fetchoptions/ExperimentSortOptions' ], function(require, stjs, FetchOptions) {
-	var ExperimentFetchOptions = function() {
-	};
-	stjs.extend(ExperimentFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.fetchoptions.ExperimentFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.type = null;
-		prototype.project = null;
-		prototype.dataSets = null;
-		prototype.samples = null;
-		prototype.history = null;
-		prototype.properties = null;
-		prototype.materialProperties = null;
-		prototype.tags = null;
-		prototype.registrator = null;
-		prototype.modifier = null;
-		prototype.attachments = null;
-		prototype.sort = null;
-		prototype.withType = function() {
-			if (this.type == null) {
-				var ExperimentTypeFetchOptions = require("as/dto/experiment/fetchoptions/ExperimentTypeFetchOptions");
-				this.type = new ExperimentTypeFetchOptions();
-			}
-			return this.type;
-		};
-		prototype.withTypeUsing = function(fetchOptions) {
-			return this.type = fetchOptions;
-		};
-		prototype.hasType = function() {
-			return this.type != null;
-		};
-		prototype.withProject = function() {
-			if (this.project == null) {
-				var ProjectFetchOptions = require("as/dto/project/fetchoptions/ProjectFetchOptions");
-				this.project = new ProjectFetchOptions();
-			}
-			return this.project;
-		};
-		prototype.withProjectUsing = function(fetchOptions) {
-			return this.project = fetchOptions;
-		};
-		prototype.hasProject = function() {
-			return this.project != null;
-		};
-		prototype.withDataSets = function() {
-			if (this.dataSets == null) {
-				var DataSetFetchOptions = require("as/dto/dataset/fetchoptions/DataSetFetchOptions");
-				this.dataSets = new DataSetFetchOptions();
-			}
-			return this.dataSets;
-		};
-		prototype.withDataSetsUsing = function(fetchOptions) {
-			return this.dataSets = fetchOptions;
-		};
-		prototype.hasDataSets = function() {
-			return this.dataSets != null;
-		};
-		prototype.withSamples = function() {
-			if (this.samples == null) {
-				var SampleFetchOptions = require("as/dto/sample/fetchoptions/SampleFetchOptions");
-				this.samples = new SampleFetchOptions();
-			}
-			return this.samples;
-		};
-		prototype.withSamplesUsing = function(fetchOptions) {
-			return this.samples = fetchOptions;
-		};
-		prototype.hasSamples = function() {
-			return this.samples != null;
-		};
-		prototype.withHistory = function() {
-			if (this.history == null) {
-				var HistoryEntryFetchOptions = require("as/dto/history/fetchoptions/HistoryEntryFetchOptions");
-				this.history = new HistoryEntryFetchOptions();
-			}
-			return this.history;
-		};
-		prototype.withHistoryUsing = function(fetchOptions) {
-			return this.history = fetchOptions;
-		};
-		prototype.hasHistory = function() {
-			return this.history != null;
-		};
-		prototype.withProperties = function() {
-			if (this.properties == null) {
-				var PropertyFetchOptions = require("as/dto/property/fetchoptions/PropertyFetchOptions");
-				this.properties = new PropertyFetchOptions();
-			}
-			return this.properties;
-		};
-		prototype.withPropertiesUsing = function(fetchOptions) {
-			return this.properties = fetchOptions;
-		};
-		prototype.hasProperties = function() {
-			return this.properties != null;
-		};
-		prototype.withMaterialProperties = function() {
-			if (this.materialProperties == null) {
-				var MaterialFetchOptions = require("as/dto/material/fetchoptions/MaterialFetchOptions");
-				this.materialProperties = new MaterialFetchOptions();
-			}
-			return this.materialProperties;
-		};
-		prototype.withMaterialPropertiesUsing = function(fetchOptions) {
-			return this.materialProperties = fetchOptions;
-		};
-		prototype.hasMaterialProperties = function() {
-			return this.materialProperties != null;
-		};
-		prototype.withTags = function() {
-			if (this.tags == null) {
-				var TagFetchOptions = require("as/dto/tag/fetchoptions/TagFetchOptions");
-				this.tags = new TagFetchOptions();
-			}
-			return this.tags;
-		};
-		prototype.withTagsUsing = function(fetchOptions) {
-			return this.tags = fetchOptions;
-		};
-		prototype.hasTags = function() {
-			return this.tags != null;
-		};
-		prototype.withRegistrator = function() {
-			if (this.registrator == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.registrator = new PersonFetchOptions();
-			}
-			return this.registrator;
-		};
-		prototype.withRegistratorUsing = function(fetchOptions) {
-			return this.registrator = fetchOptions;
-		};
-		prototype.hasRegistrator = function() {
-			return this.registrator != null;
-		};
-		prototype.withModifier = function() {
-			if (this.modifier == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.modifier = new PersonFetchOptions();
-			}
-			return this.modifier;
-		};
-		prototype.withModifierUsing = function(fetchOptions) {
-			return this.modifier = fetchOptions;
-		};
-		prototype.hasModifier = function() {
-			return this.modifier != null;
-		};
-		prototype.withAttachments = function() {
-			if (this.attachments == null) {
-				var AttachmentFetchOptions = require("as/dto/attachment/fetchoptions/AttachmentFetchOptions");
-				this.attachments = new AttachmentFetchOptions();
-			}
-			return this.attachments;
-		};
-		prototype.withAttachmentsUsing = function(fetchOptions) {
-			return this.attachments = fetchOptions;
-		};
-		prototype.hasAttachments = function() {
-			return this.attachments != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var ExperimentSortOptions = require("as/dto/experiment/fetchoptions/ExperimentSortOptions");
-				this.sort = new ExperimentSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		type : "ExperimentTypeFetchOptions",
-		project : "ProjectFetchOptions",
-		dataSets : "DataSetFetchOptions",
-		samples : "SampleFetchOptions",
-		history : "HistoryEntryFetchOptions",
-		properties : "PropertyFetchOptions",
-		materialProperties : "MaterialFetchOptions",
-		tags : "TagFetchOptions",
-		registrator : "PersonFetchOptions",
-		modifier : "PersonFetchOptions",
-		attachments : "AttachmentFetchOptions",
-		sort : "ExperimentSortOptions"
-	});
-	return ExperimentFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentSortOptions.js
deleted file mode 100644
index a9eee7c1618a963960f76ef0617d4f5ac7d47833..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/EntityWithPropertiesSortOptions" ], function(require, stjs, EntityWithPropertiesSortOptions) {
-	var ExperimentSortOptions = function() {
-		EntityWithPropertiesSortOptions.call(this);
-	};
-	stjs.extend(ExperimentSortOptions, EntityWithPropertiesSortOptions, [ EntityWithPropertiesSortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.fetchoptions.ExperimentSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ExperimentSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentTypeFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentTypeFetchOptions.js
deleted file mode 100644
index ad804baab589fa6987e0ac749207eada4c49c0a5..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentTypeFetchOptions.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/experiment/fetchoptions/ExperimentTypeSortOptions" ], function(stjs, FetchOptions) {
-	var ExperimentTypeFetchOptions = function() {
-	};
-	stjs.extend(ExperimentTypeFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.fetchoptions.ExperimentTypeFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sort = null;
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var ExperimentTypeSortOptions = require("as/dto/experiment/fetchoptions/ExperimentTypeSortOptions");
-				this.sort = new ExperimentTypeSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		sort : "ExperimentTypeSortOptions"
-	});
-	return ExperimentTypeFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentTypeSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentTypeSortOptions.js
deleted file mode 100644
index 42c929c673b3b42da7edc2e3176ace0bb631d6cd..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/fetchoptions/ExperimentTypeSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var ExperimentTypeSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(ExperimentTypeSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.fetchoptions.ExperimentTypeSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ExperimentTypeSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/history/ExperimentRelationType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/history/ExperimentRelationType.js
deleted file mode 100644
index 7db71996f7d468a1c560af8029145d08f4f1c133..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/history/ExperimentRelationType.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var ExperimentRelationType = function() {
-		Enum.call(this, [ "PROJECT", "SAMPLE", "DATA_SET" ]);
-	};
-	stjs.extend(ExperimentRelationType, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new ExperimentRelationType();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/id/ExperimentIdentifier.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/id/ExperimentIdentifier.js
deleted file mode 100644
index 9fcfcfb9ad53660a85e0449a7f5cb1a425bdc1fb..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/id/ExperimentIdentifier.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Experiment identifier.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectIdentifier", "as/dto/experiment/id/IExperimentId" ], function(stjs, ObjectIdentifier, IExperimentId) {
-	/**
-	 * @param identifier
-	 *            Experiment identifier, e.g.
-	 *            "/MY_SPACE/MY_PROJECT/MY_EXPERIMENT".
-	 */
-	var ExperimentIdentifier = function(identifier) {
-		ObjectIdentifier.call(this, identifier);
-	};
-	stjs.extend(ExperimentIdentifier, ObjectIdentifier, [ ObjectIdentifier, IExperimentId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.id.ExperimentIdentifier';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ExperimentIdentifier;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/id/ExperimentPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/id/ExperimentPermId.js
deleted file mode 100644
index b12b52c6e431267ef82064e06e5c8b5b2e75b274..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/id/ExperimentPermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Experiment perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/experiment/id/IExperimentId" ], function(stjs, ObjectPermId, IExperimentId) {
-	/**
-	 * @param permId
-	 *            Experiment perm id, e.g. "201108050937246-1031".
-	 */
-	var ExperimentPermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(ExperimentPermId, ObjectPermId, [ ObjectPermId, IExperimentId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.id.ExperimentPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ExperimentPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/id/IExperimentId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/id/IExperimentId.js
deleted file mode 100644
index cb502e43987e7cb770629287a55d4743443cc0f0..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/id/IExperimentId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies an experiment in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IExperimentId = function() {
-	};
-	stjs.extend(IExperimentId, null, [ IObjectId ], null, {});
-	return IExperimentId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/list/ListExperimentsOperation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/list/ListExperimentsOperation.js
deleted file mode 100644
index d4dce670c6551bc212614ee744336a6b7facd54f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/list/ListExperimentsOperation.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperation" ], function(stjs, IOperation) {
-	var ListExperimentsOperation = function() {
-	};
-	stjs.extend(ListExperimentsOperation, null, [ IOperation ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.list.ListExperimentsOperation';
-	}, {});
-	return ListExperimentsOperation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/list/ListExperimentsOperationResult.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/list/ListExperimentsOperationResult.js
deleted file mode 100644
index 457bb03e229d9678f49ece3254e3c50ba70077b2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/list/ListExperimentsOperationResult.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperationResult" ], function(stjs, IOperationResult) {
-	var ListExperimentsOperationResult = function() {
-	};
-	stjs.extend(ListExperimentsOperationResult, null, [ IOperationResult ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.list.ListExperimentsOperationResult';
-	}, {});
-	return ListExperimentsOperationResult;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/ExperimentSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/ExperimentSearchCriteria.js
deleted file mode 100644
index 6e31f502b8884dbcd25ba9a13bbe02b6921291ab..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/ExperimentSearchCriteria.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "require", "stjs", "as/dto/common/search/AbstractEntitySearchCriteria", "as/dto/common/search/SearchOperator", "as/dto/project/search/ProjectSearchCriteria" ], function(require, stjs,
-		AbstractEntitySearchCriteria, SearchOperator) {
-	var ExperimentSearchCriteria = function() {
-		AbstractEntitySearchCriteria.call(this);
-	};
-	stjs.extend(ExperimentSearchCriteria, AbstractEntitySearchCriteria, [ AbstractEntitySearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.search.ExperimentSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.withProject = function() {
-			var ProjectSearchCriteria = require("as/dto/project/search/ProjectSearchCriteria");
-			return this.addCriteria(new ProjectSearchCriteria());
-		};
-		prototype.withOrOperator = function() {
-			return this.withOperator(SearchOperator.OR);
-		};
-		prototype.withAndOperator = function() {
-			return this.withOperator(SearchOperator.AND);
-		};
-	}, {
-		operator : {
-			name : "Enum",
-			arguments : [ "SearchOperator" ]
-		},
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return ExperimentSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/NoExperimentSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/NoExperimentSearchCriteria.js
deleted file mode 100644
index 615028e85c204960cc16d4ae0cd69980ff210f85..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/NoExperimentSearchCriteria.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/ISearchCriteria" ], function(stjs, ISearchCriteria) {
-	var NoExperimentSearchCriteria = function() {
-	};
-	stjs.extend(NoExperimentSearchCriteria, null, [ ISearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.search.NoExperimentSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return NoExperimentSearchCriteria;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/SearchExperimentsOperation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/SearchExperimentsOperation.js
deleted file mode 100644
index 056c12efb5a665e2be6902ff0649db054deb1c7d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/SearchExperimentsOperation.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperation" ], function(stjs, IOperation) {
-	var SearchForExperimentsOperation = function() {
-	};
-	stjs.extend(SearchForExperimentsOperation, null, [ IOperation ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.search.SearchExperimentsOperation';
-	}, {});
-	return SearchForExperimentsOperation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/SearchExperimentsOperationResult.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/SearchExperimentsOperationResult.js
deleted file mode 100644
index 1aa033b3a76fa444a8c72fcd84073cfb69d004bd..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/search/SearchExperimentsOperationResult.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperationResult" ], function(stjs, IOperationResult) {
-	var SearchForExperimentsOperationResult = function() {
-	};
-	stjs.extend(SearchForExperimentsOperationResult, null, [ IOperationResult ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.search.SearchExperimentsOperationResult';
-	}, {});
-	return SearchForExperimentsOperationResult;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/update/ExperimentUpdate.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/update/ExperimentUpdate.js
deleted file mode 100644
index 9a27f0f9fd6b54c287ca81b7dd281da4f1618523..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/update/ExperimentUpdate.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/FieldUpdateValue", "as/dto/common/update/IdListUpdateValue", "as/dto/attachment/update/AttachmentListUpdateValue" ], function(stjs, FieldUpdateValue, IdListUpdateValue,
-		AttachmentListUpdateValue) {
-	var ExperimentUpdate = function() {
-		this.properties = {};
-		this.projectId = new FieldUpdateValue();
-		this.tagIds = new IdListUpdateValue();
-		this.attachments = new AttachmentListUpdateValue();
-	};
-	stjs.extend(ExperimentUpdate, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.update.ExperimentUpdate';
-		constructor.serialVersionUID = 1;
-		prototype.experimentId = null;
-
-		prototype.properties = null;
-		prototype.projectId = null;
-		prototype.tagIds = null;
-		prototype.attachments = null;
-
-		prototype.getExperimentId = function() {
-			return this.experimentId;
-		};
-		prototype.setExperimentId = function(experimentId) {
-			this.experimentId = experimentId;
-		};
-		prototype.setProperty = function(key, value) {
-			this.properties[key] = value;
-		};
-		prototype.getProperties = function() {
-			return this.properties;
-		};
-		prototype.setProjectId = function(projectId) {
-			this.projectId.setValue(projectId);
-		};
-		prototype.getProjectId = function() {
-			return this.projectId;
-		};
-		prototype.getTagIds = function() {
-			return this.tagIds;
-		};
-		prototype.getAttachments = function() {
-			return this.attachments;
-		};
-		prototype.setAttachmentsActions = function(actions) {
-			this.attachments.setActions(actions);
-		};
-	}, {
-		experimentId : "IExperimentId",
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		projectId : {
-			name : "FieldUpdateValue",
-			arguments : [ "IProjectId" ]
-		},
-		tagIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "ITagId" ]
-		},
-		attachments : "AttachmentListUpdateValue"
-	});
-	return ExperimentUpdate;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/update/UpdateExperimentsOperation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/update/UpdateExperimentsOperation.js
deleted file mode 100644
index fe478230743370a434c1b3891484899af0190b58..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/update/UpdateExperimentsOperation.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperation" ], function(stjs, IOperation) {
-	var UpdateExperimentsOperation = function() {
-	};
-	stjs.extend(UpdateExperimentsOperation, null, [ IOperation ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.update.UpdateExperimentsOperation';
-	}, {});
-	return UpdateExperimentsOperation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/update/UpdateExperimentsOperationResult.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/update/UpdateExperimentsOperationResult.js
deleted file mode 100644
index ff424adbb0a5cade05bcf4a304220d2cec94909f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/experiment/update/UpdateExperimentsOperationResult.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperationResult" ], function(stjs, IOperationResult) {
-	var UpdateExperimentsOperationResult = function() {
-	};
-	stjs.extend(UpdateExperimentsOperationResult, null, [ IOperationResult ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.experiment.update.UpdateExperimentsOperationResult';
-	}, {});
-	return UpdateExperimentsOperationResult;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/ExternalDms.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/ExternalDms.js
deleted file mode 100644
index 5a1846fd04ac3db30acef793ac2712ee13ecaf01..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/ExternalDms.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var ExternalDms = function() {
-	};
-	stjs.extend(ExternalDms, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.externaldms.ExternalDms';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.code = null;
-		prototype.label = null;
-		prototype.urlTemplate = null;
-		prototype.openbis = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getLabel = function() {
-			return this.label;
-		};
-		prototype.setLabel = function(label) {
-			this.label = label;
-		};
-		prototype.getUrlTemplate = function() {
-			return this.urlTemplate;
-		};
-		prototype.setUrlTemplate = function(urlTemplate) {
-			this.urlTemplate = urlTemplate;
-		};
-		prototype.isOpenbis = function() {
-			return this.openbis;
-		};
-		prototype.setOpenbis = function(openbis) {
-			this.openbis = openbis;
-		};
-		prototype.toString = function() {
-			return "ExternalDms " + this.code;
-		};
-	}, {
-		fetchOptions : "ExternalDmsFetchOptions"
-	});
-	return ExternalDms;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/fetchoptions/ExternalDmsFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/fetchoptions/ExternalDmsFetchOptions.js
deleted file mode 100644
index efdcd125326a8f949fade994cd6ba8ed6d188558..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/fetchoptions/ExternalDmsFetchOptions.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/externaldms/fetchoptions/ExternalDmsSortOptions" ], function(require, stjs, FetchOptions) {
-	var ExternalDmsFetchOptions = function() {
-	};
-	stjs.extend(ExternalDmsFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.externaldms.fetchoptions.ExternalDmsFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sort = null;
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var ExternalDmsSortOptions = require("as/dto/externaldms/fetchoptions/ExternalDmsSortOptions");
-				this.sort = new ExternalDmsSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		sort : "ExternalDmsSortOptions"
-	});
-	return ExternalDmsFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/fetchoptions/ExternalDmsSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/fetchoptions/ExternalDmsSortOptions.js
deleted file mode 100644
index a9325fe22b702baea13298528d7dd3ff2d3f8526..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/fetchoptions/ExternalDmsSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var ExternalDmsSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(ExternalDmsSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.externaldms.fetchoptions.ExternalDmsSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ExternalDmsSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/id/ExternalDmsPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/id/ExternalDmsPermId.js
deleted file mode 100644
index a45097359d9087b681c610ef509999ec0dab0d63..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/id/ExternalDmsPermId.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * External data management system perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/externaldms/id/IExternalDmsId" ], function(stjs, ObjectPermId, IExternalDmsId) {
-
-	/**
-	 * @param permId
-	 *            External data management system perm id, e.g. "DMS1".
-	 */
-	var ExternalDmsPermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(ExternalDmsPermId, ObjectPermId, [ ObjectPermId, IExternalDmsId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.externaldms.id.ExternalDmsPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ExternalDmsPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/id/IExternalDmsId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/id/IExternalDmsId.js
deleted file mode 100644
index c8089703e6b15312c07c5a9eae73dea308c75b43..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/externaldms/id/IExternalDmsId.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * Holds information that uniquely identifies an external data management system
- * in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IExternalDmsId = function() {
-	};
-	stjs.extend(IExternalDmsId, null, [ IObjectId ], null, {});
-	return IExternalDmsId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/GlobalSearchObject.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/GlobalSearchObject.js
deleted file mode 100644
index 189c3ecc012a58aa0a59f7ff6d34c55eb7f0fc9c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/GlobalSearchObject.js
+++ /dev/null
@@ -1,106 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var GlobalSearchObject = function() {
-	};
-	stjs.extend(GlobalSearchObject, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.global.GlobalSearchObject';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.objectKind = null;
-		prototype.objectPermId = null;
-		prototype.objectIdentifier = null;
-		prototype.match = null;
-		prototype.score = null;
-		prototype.experiment = null;
-		prototype.sample = null;
-		prototype.dataSet = null;
-		prototype.material = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getObjectKind = function() {
-			return this.objectKind;
-		};
-		prototype.setObjectKind = function(objectKind) {
-			this.objectKind = objectKind;
-		};
-		prototype.getObjectPermId = function() {
-			return this.objectPermId;
-		};
-		prototype.setObjectPermId = function(objectPermId) {
-			this.objectPermId = objectPermId;
-		};
-		prototype.getObjectIdentifier = function() {
-			return this.objectIdentifier;
-		};
-		prototype.setObjectIdentifier = function(objectIdentifier) {
-			this.objectIdentifier = objectIdentifier;
-		};
-		prototype.getMatch = function() {
-			return this.match;
-		};
-		prototype.setMatch = function(match) {
-			this.match = match;
-		};
-		prototype.getScore = function() {
-			return this.score;
-		};
-		prototype.setScore = function(score) {
-			this.score = score;
-		};
-		prototype.getExperiment = function() {
-			if (this.getFetchOptions().hasExperiment()) {
-				return this.experiment;
-			} else {
-				throw new exceptions.NotFetchedException("Experiment has not been fetched.");
-			}
-		};
-		prototype.setExperiment = function(experiment) {
-			this.experiment = experiment;
-		};
-		prototype.getSample = function() {
-			if (this.getFetchOptions().hasSample()) {
-				return this.sample;
-			} else {
-				throw new exceptions.NotFetchedException("Sample has not been fetched.");
-			}
-		};
-		prototype.setSample = function(sample) {
-			this.sample = sample;
-		};
-		prototype.getDataSet = function() {
-			if (this.getFetchOptions().hasDataSet()) {
-				return this.dataSet;
-			} else {
-				throw new exceptions.NotFetchedException("Data set has not been fetched.");
-			}
-		};
-		prototype.setDataSet = function(dataSet) {
-			this.dataSet = dataSet;
-		};
-		prototype.getMaterial = function() {
-			if (this.getFetchOptions().hasMaterial()) {
-				return this.material;
-			} else {
-				throw new exceptions.NotFetchedException("Material has not been fetched.");
-			}
-		};
-		prototype.setMaterial = function(material) {
-			this.material = material;
-		};
-
-	}, {
-		fetchOptions : "GlobalSearchObjectFetchOptions",
-		objectKind : "GlobalSearchObjectKind",
-		objectPermId : "IObjectId",
-		objectIdentifier : "IObjectId",
-		experiment : "Experiment",
-		sample : "Sample",
-		dataSet : "DataSet",
-		material : "Material"
-	});
-	return GlobalSearchObject;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/fetchoptions/GlobalSearchObjectFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/fetchoptions/GlobalSearchObjectFetchOptions.js
deleted file mode 100644
index 647d54db04afcfbd52254fba5a8a61faa6a1ac64..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/fetchoptions/GlobalSearchObjectFetchOptions.js
+++ /dev/null
@@ -1,89 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/experiment/fetchoptions/ExperimentFetchOptions", "as/dto/sample/fetchoptions/SampleFetchOptions",
-		"as/dto/dataset/fetchoptions/DataSetFetchOptions", "as/dto/material/fetchoptions/MaterialFetchOptions", "as/dto/global/fetchoptions/GlobalSearchObjectSortOptions" ], function(require, stjs,
-		FetchOptions) {
-	var GlobalSearchObjectFetchOptions = function() {
-	};
-	stjs.extend(GlobalSearchObjectFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.global.fetchoptions.GlobalSearchObjectFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.experiment = null;
-		prototype.sample = null;
-		prototype.dataSet = null;
-		prototype.material = null;
-		prototype.sort = null;
-
-		prototype.withExperiment = function() {
-			if (this.experiment == null) {
-				var ExperimentFetchOptions = require("as/dto/experiment/fetchoptions/ExperimentFetchOptions");
-				this.experiment = new ExperimentFetchOptions();
-			}
-			return this.experiment;
-		};
-		prototype.withExperimentUsing = function(fetchOptions) {
-			return this.experiment = fetchOptions;
-		};
-		prototype.hasExperiment = function() {
-			return this.experiment != null;
-		};
-
-		prototype.withSample = function() {
-			if (this.sample == null) {
-				var SampleFetchOptions = require("as/dto/sample/fetchoptions/SampleFetchOptions");
-				this.sample = new SampleFetchOptions();
-			}
-			return this.sample;
-		};
-		prototype.withSampleUsing = function(fetchOptions) {
-			return this.sample = fetchOptions;
-		};
-		prototype.hasSample = function() {
-			return this.sample != null;
-		};
-
-		prototype.withDataSet = function() {
-			if (this.dataSet == null) {
-				var DataSetFetchOptions = require("as/dto/dataset/fetchoptions/DataSetFetchOptions");
-				this.dataSet = new DataSetFetchOptions();
-			}
-			return this.dataSet;
-		};
-		prototype.withDataSetUsing = function(fetchOptions) {
-			return this.dataSet = fetchOptions;
-		};
-		prototype.hasDataSet = function() {
-			return this.dataSet != null;
-		};
-
-		prototype.withMaterial = function() {
-			if (this.material == null) {
-				var MaterialFetchOptions = require("as/dto/material/fetchoptions/MaterialFetchOptions");
-				this.material = new MaterialFetchOptions();
-			}
-			return this.material;
-		};
-		prototype.withMaterialUsing = function(fetchOptions) {
-			return this.material = fetchOptions;
-		};
-		prototype.hasMaterial = function() {
-			return this.material != null;
-		};
-
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var GlobalSearchObjectSortOptions = require("as/dto/global/fetchoptions/GlobalSearchObjectSortOptions");
-				this.sort = new GlobalSearchObjectSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		experiment : "ExperimentFetchOptions",
-		sample : "SampleFetchOptions",
-		dataSet : "DataSetFetchOptions",
-		material : "MaterialFetchOptions",
-		sort : "GlobalSearchObjectSortOptions"
-	});
-	return GlobalSearchObjectFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/fetchoptions/GlobalSearchObjectSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/fetchoptions/GlobalSearchObjectSortOptions.js
deleted file mode 100644
index d8df6e0c62d4b809566810e4abb6a02e72eb60a3..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/fetchoptions/GlobalSearchObjectSortOptions.js
+++ /dev/null
@@ -1,42 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var GlobalSearchObjectSortOptions = function() {
-		SortOptions.call(this);
-	};
-
-	var fields = {
-		SCORE : "SCORE",
-		OBJECT_KIND : "OBJECT_KIND",
-		OBJECT_PERM_ID : "OBJECT_PERM_ID",
-		OBJECT_IDENTIFIER : "OBJECT_IDENTIFIER"
-	};
-
-	stjs.extend(GlobalSearchObjectSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.global.fetchoptions.GlobalSearchObjectSortOptions';
-		constructor.serialVersionUID = 1;
-		prototype.score = function() {
-			return this.getOrCreateSorting(fields.SCORE);
-		};
-		prototype.getScore = function() {
-			return this.getSorting(fields.SCORE);
-		};
-		prototype.objectKind = function() {
-			return this.getOrCreateSorting(fields.OBJECT_KIND);
-		};
-		prototype.getObjectKind = function() {
-			return this.getSorting(fields.OBJECT_KIND);
-		};
-		prototype.objectPermId = function() {
-			return this.getOrCreateSorting(fields.OBJECT_PERM_ID);
-		};
-		prototype.getObjectPermId = function() {
-			return this.getSorting(fields.OBJECT_PERM_ID);
-		};
-		prototype.objectIdentifier = function() {
-			return this.getOrCreateSorting(fields.OBJECT_IDENTIFIER);
-		};
-		prototype.getObjectIdentifier = function() {
-			return this.getSorting(fields.OBJECT_IDENTIFIER);
-		};
-	}, {});
-	return GlobalSearchObjectSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchCriteria.js
deleted file mode 100644
index b875e7ffa5dbbb8a1e6a517823ff446602aaa67b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchCriteria.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "require", "stjs", "as/dto/common/search/AbstractCompositeSearchCriteria", "as/dto/global/search/GlobalSearchTextCriteria", "as/dto/global/search/GlobalSearchObjectKindCriteria",
-		"as/dto/global/search/GlobalSearchWildCardsCriteria" ], function(require, stjs, AbstractCompositeSearchCriteria) {
-	var GlobalSearchCriteria = function() {
-		AbstractCompositeSearchCriteria.call(this);
-	};
-	stjs.extend(GlobalSearchCriteria, AbstractCompositeSearchCriteria, [ AbstractCompositeSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.global.search.GlobalSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.withText = function() {
-			var GlobalSearchTextCriteria = require("as/dto/global/search/GlobalSearchTextCriteria");
-			return this.addCriteria(new GlobalSearchTextCriteria());
-		};
-		prototype.withObjectKind = function() {
-			var GlobalSearchObjectKindCriteria = require("as/dto/global/search/GlobalSearchObjectKindCriteria");
-			return this.addCriteria(new GlobalSearchObjectKindCriteria());
-		};
-		prototype.withWildCards = function() {
-			var GlobalSearchWildCardsCriteria = require("as/dto/global/search/GlobalSearchWildCardsCriteria");
-			return this.addCriteria(new GlobalSearchWildCardsCriteria());
-		};
-	}, {
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return GlobalSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchObjectKind.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchObjectKind.js
deleted file mode 100644
index 125c60682c1fd8e8ed2cb81c1c29479269e11c43..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchObjectKind.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var GlobalSearchObjectKind = function() {
-		Enum.call(this, [ "EXPERIMENT", "SAMPLE", "DATA_SET", "MATERIAL" ]);
-	};
-	stjs.extend(GlobalSearchObjectKind, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new GlobalSearchObjectKind();
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchObjectKindCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchObjectKindCriteria.js
deleted file mode 100644
index a4f5eab0f76db322bb82037636cdc03d1709da57..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchObjectKindCriteria.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define([ "require", "stjs", "util/Exceptions", "as/dto/common/search/AbstractSearchCriteria" ], function(require, stjs, exceptions, AbstractSearchCriteria) {
-	var GlobalSearchObjectKindCriteria = function() {
-		this.objectKinds = [];
-	};
-
-	stjs.extend(GlobalSearchObjectKindCriteria, AbstractSearchCriteria, [ AbstractSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.global.search.GlobalSearchObjectKindCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.objectKinds = null;
-
-		prototype.thatIn = function(objectKinds) {
-			this.objectKinds = objectKinds;
-		};
-		prototype.getObjectKinds = function() {
-			return this.objectKinds;
-		};
-		prototype.toString = function() {
-			return "with object kinds " + this.objectKinds;
-		}
-	}, {});
-
-	return GlobalSearchObjectKindCriteria;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchTextCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchTextCriteria.js
deleted file mode 100644
index 795b494ae382e970f9b954bbd281fb7fef11be11..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchTextCriteria.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define([ "require", "stjs", "util/Exceptions", "as/dto/common/search/AbstractFieldSearchCriteria", "as/dto/common/search/SearchFieldType", "as/dto/common/search/StringContainsValue",
-		"as/dto/common/search/StringContainsExactlyValue" ], function(require, stjs, exceptions, AbstractFieldSearchCriteria, SearchFieldType) {
-	var GlobalSearchTextCriteria = function() {
-		AbstractFieldSearchCriteria.call(this, "anything", SearchFieldType.ANY_FIELD);
-	};
-
-	stjs.extend(GlobalSearchTextCriteria, AbstractFieldSearchCriteria, [ AbstractFieldSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.global.search.GlobalSearchTextCriteria';
-		constructor.serialVersionUID = 1;
-
-		prototype.thatContains = function(str) {
-			var StringContainsValue = require("as/dto/common/search/StringContainsValue");
-			this.setFieldValue(new StringContainsValue(str));
-		};
-		prototype.thatContainsExactly = function(str) {
-			var StringContainsExactlyValue = require("as/dto/common/search/StringContainsExactlyValue");
-			this.setFieldValue(new StringContainsExactlyValue(str));
-		};
-	}, {});
-
-	return GlobalSearchTextCriteria;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchWildCardsCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchWildCardsCriteria.js
deleted file mode 100644
index 86143ff5ecb211641b6a73399002df4280d784b6..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/global/search/GlobalSearchWildCardsCriteria.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define([ "require", "stjs", "util/Exceptions", "as/dto/common/search/AbstractSearchCriteria" ], function(require, stjs, exceptions, AbstractSearchCriteria) {
-	var GlobalSearchWildCardsCriteria = function() {
-	};
-
-	stjs.extend(GlobalSearchWildCardsCriteria, AbstractSearchCriteria, [ AbstractSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.global.search.GlobalSearchWildCardsCriteria';
-		constructor.serialVersionUID = 1;
-
-		prototype.toString = function() {
-			return "with wildcards";
-		};
-	}, {});
-
-	return GlobalSearchWildCardsCriteria;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/HistoryEntry.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/HistoryEntry.js
deleted file mode 100644
index 8e308de16ffa436e62dee29735c1fe7d78f84140..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/HistoryEntry.js
+++ /dev/null
@@ -1,47 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var HistoryEntry = function() {
-	};
-	stjs.extend(HistoryEntry, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.history.HistoryEntry';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.validFrom = null;
-		prototype.validTo = null;
-		prototype.author = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getValidFrom = function() {
-			return this.validFrom;
-		};
-		prototype.setValidFrom = function(validFrom) {
-			this.validFrom = validFrom;
-		};
-		prototype.getValidTo = function() {
-			return this.validTo;
-		};
-		prototype.setValidTo = function(validTo) {
-			this.validTo = validTo;
-		};
-		prototype.getAuthor = function() {
-			if (this.getFetchOptions().hasAuthor()) {
-				return this.author;
-			} else {
-				throw new exceptions.NotFetchedException("Author has not been fetched.");
-			}
-		};
-		prototype.setAuthor = function(author) {
-			this.author = author;
-		};
-	}, {
-		fetchOptions : "HistoryEntryFetchOptions",
-		validFrom : "Date",
-		validTo : "Date",
-		author : "Person"
-	});
-	return HistoryEntry;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/IRelationType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/IRelationType.js
deleted file mode 100644
index 0d3c0c7eb4b1f016b0c34e3a24b73cf7e2277c31..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/IRelationType.js
+++ /dev/null
@@ -1,6 +0,0 @@
-define([ "stjs" ], function(stjs) {
-	var IRelationType = function() {
-	};
-	stjs.extend(IRelationType, null, [], null, {});
-	return IRelationType;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/PropertyHistoryEntry.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/PropertyHistoryEntry.js
deleted file mode 100644
index f3b600110a438ed62d6374675da536a080c0acd9..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/PropertyHistoryEntry.js
+++ /dev/null
@@ -1,25 +0,0 @@
-define([ "stjs", "util/Exceptions", "as/dto/history/HistoryEntry" ], function(stjs, exceptions, HistoryEntry) {
-	var PropertyHistoryEntry = function() {
-		HistoryEntry.call(this);
-	};
-	stjs.extend(PropertyHistoryEntry, HistoryEntry, [ HistoryEntry ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.history.PropertyHistoryEntry';
-		constructor.serialVersionUID = 1;
-		prototype.propertyName = null;
-		prototype.propertyValue = null;
-
-		prototype.getPropertyName = function() {
-			return this.propertyName;
-		};
-		prototype.setPropertyName = function(propertyName) {
-			this.propertyName = propertyName;
-		};
-		prototype.getPropertyValue = function() {
-			return this.propertyValue;
-		};
-		prototype.setPropertyValue = function(propertyValue) {
-			this.propertyValue = propertyValue;
-		};
-	}, {});
-	return PropertyHistoryEntry;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/RelationHistoryEntry.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/RelationHistoryEntry.js
deleted file mode 100644
index 2c40900a670494644660c0e75ed2c46928488f64..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/RelationHistoryEntry.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define([ "stjs", "util/Exceptions", "as/dto/history/HistoryEntry" ], function(stjs, exceptions, HistoryEntry) {
-	var RelationHistoryEntry = function() {
-		HistoryEntry.call(this);
-	};
-	stjs.extend(RelationHistoryEntry, HistoryEntry, [ HistoryEntry ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.history.RelationHistoryEntry';
-		constructor.serialVersionUID = 1;
-		prototype.relationType = null;
-		prototype.relatedObjectId = null;
-
-		prototype.getRelationType = function() {
-			return this.relationType;
-		};
-		prototype.setRelationType = function(relationType) {
-			this.relationType = relationType;
-		};
-		prototype.getRelatedObjectId = function() {
-			return this.relatedObjectId;
-		};
-		prototype.setRelatedObjectId = function(relatedObjectId) {
-			this.relatedObjectId = relatedObjectId;
-		};
-	}, {
-		relationType : "IRelationType",
-		relatedObjectId : "IObjectId"
-	});
-	return RelationHistoryEntry;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/fetchoptions/HistoryEntryFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/fetchoptions/HistoryEntryFetchOptions.js
deleted file mode 100644
index c8714f48f32dc9b4e88ae837c32fe5fecbfc3d0d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/fetchoptions/HistoryEntryFetchOptions.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/person/fetchoptions/PersonFetchOptions", "as/dto/history/fetchoptions/HistoryEntrySortOptions" ], function(require, stjs,
-		FetchOptions) {
-	var HistoryEntryFetchOptions = function() {
-	};
-	stjs.extend(HistoryEntryFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.history.fetchoptions.HistoryEntryFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.author = null;
-		prototype.sort = null;
-		prototype.withAuthor = function() {
-			if (this.author == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.author = new PersonFetchOptions();
-			}
-			return this.author;
-		};
-		prototype.withAuthorUsing = function(fetchOptions) {
-			return this.author = fetchOptions;
-		};
-		prototype.hasAuthor = function() {
-			return this.author != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var HistoryEntrySortOptions = require("as/dto/history/fetchoptions/HistoryEntrySortOptions");
-				this.sort = new HistoryEntrySortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		author : "PersonFetchOptions",
-		sort : "HistoryEntrySortOptions"
-	});
-	return HistoryEntryFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/fetchoptions/HistoryEntrySortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/fetchoptions/HistoryEntrySortOptions.js
deleted file mode 100644
index 3144a97a3dfee1ddff674f8a96e55802fb661ed9..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/history/fetchoptions/HistoryEntrySortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var HistoryEntrySortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(HistoryEntrySortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.history.fetchoptions.HistoryEntrySortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return HistoryEntrySortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/Material.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/Material.js
deleted file mode 100644
index 1f68493396a3ed52f712d5ba320c4769e53ccda4..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/Material.js
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Material = function() {
-	};
-	stjs.extend(Material, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.Material';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.code = null;
-		prototype.type = null;
-		prototype.history = null;
-		prototype.registrationDate = null;
-		prototype.registrator = null;
-		prototype.modificationDate = null;
-		prototype.properties = null;
-		prototype.materialProperties = null;
-		prototype.tags = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getType = function() {
-			if (this.getFetchOptions().hasType()) {
-				return this.type;
-			} else {
-				throw new exceptions.NotFetchedException("Material type has not been fetched.");
-			}
-		};
-		prototype.setType = function(type) {
-			this.type = type;
-		};
-		prototype.getHistory = function() {
-			if (this.getFetchOptions().hasHistory()) {
-				return this.history;
-			} else {
-				throw new exceptions.NotFetchedException("History has not been fetched.");
-			}
-		};
-		prototype.setHistory = function(history) {
-			this.history = history;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-		prototype.getProperty = function(propertyName) {
-			var properties = this.getProperties();
-			return properties ? properties[propertyName] : null;
-		};
-		prototype.getProperties = function() {
-			if (this.getFetchOptions().hasProperties()) {
-				return this.properties;
-			} else {
-				throw new exceptions.NotFetchedException("Properties has not been fetched.");
-			}
-		};
-		prototype.setProperties = function(properties) {
-			this.properties = properties;
-		};
-		prototype.getMaterialProperty = function(propertyName) {
-			var properties = this.getMaterialProperties();
-			return properties ? properties[propertyName] : null;
-		};
-		prototype.getMaterialProperties = function() {
-			if (this.getFetchOptions().hasMaterialProperties()) {
-				return this.materialProperties;
-			} else {
-				throw new exceptions.NotFetchedException("Material properties has not been fetched.");
-			}
-		};
-		prototype.setMaterialProperties = function(materialProperties) {
-			this.materialProperties = materialProperties;
-		};
-		prototype.getTags = function() {
-			if (this.getFetchOptions().hasTags()) {
-				return this.tags;
-			} else {
-				throw new exceptions.NotFetchedException("Tags has not been fetched.");
-			}
-		};
-		prototype.setTags = function(tags) {
-			this.tags = tags;
-		};
-	}, {
-		fetchOptions : "MaterialFetchOptions",
-		permId : "MaterialPermId",
-		type : "MaterialType",
-		history : {
-			name : "List",
-			arguments : [ "HistoryEntry" ]
-		},
-		registrationDate : "Date",
-		registrator : "Person",
-		modificationDate : "Date",
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		materialProperties : {
-			name : "Map",
-			arguments : [ null, "Material" ]
-		},
-		tags : {
-			name : "Set",
-			arguments : [ "Tag" ]
-		}
-	});
-	return Material;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/MaterialType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/MaterialType.js
deleted file mode 100644
index ad99082a0c5bddb7b6b658fbdcd8427a8803451e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/MaterialType.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var MaterialType = function() {
-	};
-	stjs.extend(MaterialType, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.MaterialType';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.code = null;
-		prototype.description = null;
-		prototype.modificationDate = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-	}, {
-		fetchOptions : "MaterialTypeFetchOptions",
-		permId : "EntityTypePermId",
-		modificationDate : "Date"
-	});
-	return MaterialType;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/create/MaterialCreation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/create/MaterialCreation.js
deleted file mode 100644
index e51bd4b2588416f0c8b7f7d22b187d0c6a8c2c47..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/create/MaterialCreation.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var MaterialCreation = function() {
-		this.properties = {};
-	};
-	stjs.extend(MaterialCreation, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.create.MaterialCreation';
-		constructor.serialVersionUID = 1;
-		prototype.code = null;
-		prototype.typeId = null;
-		prototype.description = null;
-		prototype.creationId = null;
-		prototype.tagIds = null;
-		prototype.properties = null;
-
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getTypeId = function() {
-			return this.typeId;
-		};
-		prototype.setTypeId = function(typeId) {
-			this.typeId = typeId;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getCreationId = function() {
-			return this.creationId;
-		};
-		prototype.setCreationId = function(creationId) {
-			this.creationId = creationId;
-		};
-		prototype.getTagIds = function() {
-			return this.tagIds;
-		};
-		prototype.setTagIds = function(tagIds) {
-			this.tagIds = tagIds;
-		};
-		prototype.setProperty = function(key, value) {
-			this.properties[key] = value;
-		};
-		prototype.getProperties = function() {
-			return this.properties;
-		};
-		prototype.setProperties = function(properties) {
-			this.properties = properties;
-		};
-	}, {
-		typeId : "IEntityTypeId",
-		creationId : "CreationId",
-		tagIds : {
-			name : "List",
-			arguments : [ "Object" ]
-		},
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		}
-	});
-	return MaterialCreation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/delete/MaterialDeletionOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/delete/MaterialDeletionOptions.js
deleted file mode 100644
index dd777534a43f444e199f40963162e98ad11325b3..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/delete/MaterialDeletionOptions.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/deletion/AbstractObjectDeletionOptions" ], function(stjs, AbstractObjectDeletionOptions) {
-	var MaterialDeletionOptions = function() {
-		AbstractObjectDeletionOptions.call(this);
-	};
-	stjs.extend(MaterialDeletionOptions, AbstractObjectDeletionOptions, [ AbstractObjectDeletionOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.delete.MaterialDeletionOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return MaterialDeletionOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialFetchOptions.js
deleted file mode 100644
index f320b6912ddf1eb64be1dedcae87955072904058..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialFetchOptions.js
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/material/fetchoptions/MaterialTypeFetchOptions", "as/dto/history/fetchoptions/HistoryEntryFetchOptions",
-		"as/dto/person/fetchoptions/PersonFetchOptions", "as/dto/property/fetchoptions/PropertyFetchOptions", "as/dto/tag/fetchoptions/TagFetchOptions", "as/dto/material/fetchoptions/MaterialSortOptions" ],
-		function(require, stjs, FetchOptions) {
-			var MaterialFetchOptions = function() {
-			};
-			stjs.extend(MaterialFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-				prototype['@type'] = 'as.dto.material.fetchoptions.MaterialFetchOptions';
-				constructor.serialVersionUID = 1;
-				prototype.type = null;
-				prototype.history = null;
-				prototype.registrator = null;
-				prototype.properties = null;
-				prototype.materialProperties = null;
-				prototype.tags = null;
-				prototype.sort = null;
-				prototype.withType = function() {
-					if (this.type == null) {
-						var MaterialTypeFetchOptions = require("as/dto/material/fetchoptions/MaterialTypeFetchOptions");
-						this.type = new MaterialTypeFetchOptions();
-					}
-					return this.type;
-				};
-				prototype.withTypeUsing = function(fetchOptions) {
-					return this.type = fetchOptions;
-				};
-				prototype.hasType = function() {
-					return this.type != null;
-				};
-				prototype.withHistory = function() {
-					if (this.history == null) {
-						var HistoryEntryFetchOptions = require("as/dto/history/fetchoptions/HistoryEntryFetchOptions");
-						this.history = new HistoryEntryFetchOptions();
-					}
-					return this.history;
-				};
-				prototype.withHistoryUsing = function(fetchOptions) {
-					return this.history = fetchOptions;
-				};
-				prototype.hasHistory = function() {
-					return this.history != null;
-				};
-				prototype.withRegistrator = function() {
-					if (this.registrator == null) {
-						var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-						this.registrator = new PersonFetchOptions();
-					}
-					return this.registrator;
-				};
-				prototype.withRegistratorUsing = function(fetchOptions) {
-					return this.registrator = fetchOptions;
-				};
-				prototype.hasRegistrator = function() {
-					return this.registrator != null;
-				};
-				prototype.withProperties = function() {
-					if (this.properties == null) {
-						var PropertyFetchOptions = require("as/dto/property/fetchoptions/PropertyFetchOptions");
-						this.properties = new PropertyFetchOptions();
-					}
-					return this.properties;
-				};
-				prototype.withPropertiesUsing = function(fetchOptions) {
-					return this.properties = fetchOptions;
-				};
-				prototype.hasProperties = function() {
-					return this.properties != null;
-				};
-				prototype.withMaterialProperties = function() {
-					if (this.materialProperties == null) {
-						this.materialProperties = new MaterialFetchOptions();
-					}
-					return this.materialProperties;
-				};
-				prototype.withMaterialPropertiesUsing = function(fetchOptions) {
-					return this.materialProperties = fetchOptions;
-				};
-				prototype.hasMaterialProperties = function() {
-					return this.materialProperties != null;
-				};
-				prototype.withTags = function() {
-					if (this.tags == null) {
-						var TagFetchOptions = require("as/dto/tag/fetchoptions/TagFetchOptions");
-						this.tags = new TagFetchOptions();
-					}
-					return this.tags;
-				};
-				prototype.withTagsUsing = function(fetchOptions) {
-					return this.tags = fetchOptions;
-				};
-				prototype.hasTags = function() {
-					return this.tags != null;
-				};
-				prototype.sortBy = function() {
-					if (this.sort == null) {
-						var MaterialSortOptions = require("as/dto/material/fetchoptions/MaterialSortOptions");
-						this.sort = new MaterialSortOptions();
-					}
-					return this.sort;
-				};
-				prototype.getSortBy = function() {
-					return this.sort;
-				};
-			}, {
-				type : "MaterialTypeFetchOptions",
-				history : "HistoryEntryFetchOptions",
-				registrator : "PersonFetchOptions",
-				properties : "PropertyFetchOptions",
-				materialProperties : "MaterialFetchOptions",
-				tags : "TagFetchOptions",
-				sort : "MaterialSortOptions"
-			});
-			return MaterialFetchOptions;
-		})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialSortOptions.js
deleted file mode 100644
index 0896351f823971ee87b45052be6dc827de939c78..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/EntityWithPropertiesSortOptions" ], function(require, stjs, EntityWithPropertiesSortOptions) {
-	var MaterialSortOptions = function() {
-		EntityWithPropertiesSortOptions.call(this);
-	};
-	stjs.extend(MaterialSortOptions, EntityWithPropertiesSortOptions, [ EntityWithPropertiesSortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.fetchoptions.MaterialSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return MaterialSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialTypeFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialTypeFetchOptions.js
deleted file mode 100644
index 8ce0b76eeb07ab11bd18082ee73ec6770f1e60ad..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialTypeFetchOptions.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/material/fetchoptions/MaterialTypeSortOptions" ], function(stjs, FetchOptions) {
-	var MaterialTypeFetchOptions = function() {
-	};
-	stjs.extend(MaterialTypeFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.fetchoptions.MaterialTypeFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sort = null;
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var MaterialTypeSortOptions = require("as/dto/material/fetchoptions/MaterialTypeSortOptions");
-				this.sort = new MaterialTypeSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		sort : "MaterialTypeSortOptions"
-	});
-	return MaterialTypeFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialTypeSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialTypeSortOptions.js
deleted file mode 100644
index 7cf59fa8b0e6c1304b9c6089a12b91152181789b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/fetchoptions/MaterialTypeSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var MaterialTypeSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(MaterialTypeSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.fetchoptions.MaterialTypeSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return MaterialTypeSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/id/IMaterialId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/id/IMaterialId.js
deleted file mode 100644
index 499c83eeef8a83184e4acfb5dcbb60741441a701..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/id/IMaterialId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a material in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IMaterialId = function() {
-	};
-	stjs.extend(IMaterialId, null, [ IObjectId ], null, {});
-	return IMaterialId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/id/MaterialPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/id/MaterialPermId.js
deleted file mode 100644
index 6a52df6dd340551e5d5d2c20c798b0b675c3544f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/id/MaterialPermId.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Material perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/material/id/IMaterialId" ], function(stjs, IMaterialId) {
-	/**
-	 * @param permId
-	 *            Material perm id, e.g. "MY_MATERIAL (MY_MATERIAL_TYPE)".
-	 */
-	var MaterialPermId = function(code, typeCode) {
-		this.setCode(code);
-		this.setTypeCode(typeCode);
-	};
-	stjs.extend(MaterialPermId, null, [ IMaterialId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.id.MaterialPermId';
-		constructor.serialVersionUID = 1;
-		prototype.code = null;
-		prototype.typeCode = null;
-		prototype.getCode = function() {
-			return this.code;
-		}
-		prototype.setCode = function(code) {
-			this.code = code;
-		}
-		prototype.getTypeCode = function() {
-			return this.typeCode;
-		}
-		prototype.setTypeCode = function(typeCode) {
-			this.typeCode = typeCode;
-		}
-		prototype.toString = function() {
-			return this.getCode() + " (" + this.getTypeCode() + ")";
-		};
-		prototype.hashCode = function() {
-
-		};
-	}, {});
-	return MaterialPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/search/MaterialSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/search/MaterialSearchCriteria.js
deleted file mode 100644
index 886538bc2313455bd6d8e04d895af5f43bf95f40..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/search/MaterialSearchCriteria.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/AbstractEntitySearchCriteria", "as/dto/common/search/SearchOperator" ], function(stjs, AbstractEntitySearchCriteria, SearchOperator) {
-	var MaterialSearchCriteria = function() {
-		AbstractEntitySearchCriteria.call(this);
-	};
-	stjs.extend(MaterialSearchCriteria, AbstractEntitySearchCriteria, [ AbstractEntitySearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.search.MaterialSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.withOrOperator = function() {
-			return this.withOperator(SearchOperator.OR);
-		};
-		prototype.withAndOperator = function() {
-			return this.withOperator(SearchOperator.AND);
-		};
-	}, {
-		operator : {
-			name : "Enum",
-			arguments : [ "SearchOperator" ]
-		},
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return MaterialSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/update/MaterialUpdate.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/update/MaterialUpdate.js
deleted file mode 100644
index 4043feca2fbf6b0a0db3246a164053e323a661a3..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/material/update/MaterialUpdate.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/IdListUpdateValue" ], function(stjs, IdListUpdateValue) {
-	var MaterialUpdate = function() {
-		this.properties = {};
-		this.tagIds = new IdListUpdateValue();
-	};
-	stjs.extend(MaterialUpdate, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.material.update.MaterialUpdate';
-		constructor.serialVersionUID = 1;
-
-		prototype.materialId = null;
-		prototype.properties = null;
-		prototype.tagIds = null;
-
-		prototype.getMaterialId = function() {
-			return this.materialId;
-		};
-		prototype.setMaterialId = function(materialId) {
-			this.materialId = materialId;
-		};
-		prototype.setProperty = function(key, value) {
-			this.properties[key] = value;
-		};
-		prototype.getProperties = function() {
-			return this.properties;
-		};
-		prototype.getTagIds = function() {
-			return this.tagIds;
-		};
-		prototype.setTagActions = function(actions) {
-			this.tagIds.setActions(actions);
-		};
-	}, {
-		materialId : "IMaterialId",
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		tagIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "ITagId" ]
-		}
-	});
-	return MaterialUpdate;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/ObjectKind.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/ObjectKind.js
deleted file mode 100644
index d08001368ca255208a590b7990504e668dbea366..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/ObjectKind.js
+++ /dev/null
@@ -1,19 +0,0 @@
-
-/**
- * Enumeration of object kinds. An object kind is an attribute an object (like a sample, a data set type or a vocabulary term)
- * which can be created, deleted or updated.
- *
- * @author Franz-Josef Elmer
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var ObjectKind = function() {
-		Enum.call(this, [ "AUTHORIZATION_GROUP", "SAMPLE", "EXPERIMENT", "MATERIAL", "DATA_SET", "SAMPLE_TYPE", 
-		                  "EXPERIMENT_TYPE", "MATERIAL_TYPE", "DATASET_TYPE", "FILE_FORMAT_TYPE", "PROJECT", 
-		                  "SPACE", "PROPERTY_TYPE", "PROPERTY_TYPE_ASSIGNMENT", "VOCABULARY", "VOCABULARY_TERM", 
-		                  "ROLE_ASSIGNMENT", "PERSON", "GRID_CUSTOM_FILTER", "GRID_CUSTOM_COLUMN", "SCRIPT", 
-		                  "DELETION", "POSTREGISTRATION_QUEUE", "QUERY", "METAPROJECT" ]);
-	};
-	stjs.extend(ObjectKind, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new ObjectKind();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/ObjectKindModification.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/ObjectKindModification.js
deleted file mode 100644
index 142ba891fefea7ac1072f10a23d2d123e4633d05..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/ObjectKindModification.js
+++ /dev/null
@@ -1,47 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var ObjectKindModification = function() {
-	};
-	stjs.extend(ObjectKindModification, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.objectkindmodification.ObjectKindModification';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.objectKind = null;
-		prototype.operationKind = null;
-		prototype.lastModificationTimeStamp = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getObjectKind = function() {
-			return this.objectKind;
-		};
-		prototype.setObjectKind = function(objectKind) {
-			this.objectKind = objectKind;
-		};
-		prototype.getOperationKind = function() {
-			return this.operationKind;
-		};
-		prototype.setOperationKind = function(operationKind) {
-			this.operationKind = operationKind;
-		};
-		prototype.getLastModificationTimeStamp = function() {
-			return this.lastModificationTimeStamp;
-		};
-		prototype.setLastModificationTimeStamp = function(lastModificationTimeStamp) {
-			this.lastModificationTimeStamp = lastModificationTimeStamp;
-		};
-		prototype.toString = function() {
-			return "Last " + this.operationKind + " operation of an object of kind " + this.objectKind 
-					+ " occured at " +  lastModificationTimeStamp;
-		};
-	}, {
-		fetchOptions : "ObjectKindModificationFetchOptions",
-		objectKind : "ObjectKind",
-		operationKind : "OperationKind",
-		lastModificationTimeStamp : "Date"
-	});
-	return ObjectKindModification;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/OperationKind.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/OperationKind.js
deleted file mode 100644
index 8100e9fa5a67fddb464e9da5c493de6b2105781a..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/OperationKind.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Enumeration of operations which can be applied to an object.
- *
- * @author Franz-Josef Elmer
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var OperationKind = function() {
-		Enum.call(this, [ "CREATE_OR_DELETE", "UPDATE" ]);
-	};
-	stjs.extend(OperationKind, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new OperationKind();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/fetchoptions/ObjectKindModificationFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/fetchoptions/ObjectKindModificationFetchOptions.js
deleted file mode 100644
index f5342845076491ef9eb8e31f96273cdcd7514dd2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/fetchoptions/ObjectKindModificationFetchOptions.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/objectkindmodification/fetchoptions/ObjectKindModificationSortOptions" ], function(require, stjs, FetchOptions) {
-  var ObjectKindModificationFetchOptions = function() {
-  };
-  stjs.extend(ObjectKindModificationFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-    prototype['@type'] = 'as.dto.objectkindmodification.fetchoptions.ObjectKindModificationFetchOptions';
-    constructor.serialVersionUID = 1;
-    prototype.sort = null;
-    prototype.sortBy = function() {
-      if (this.sort == null) {
-        var ObjectKindModificationSortOptions = require("as/dto/objectkindmodification/fetchoptions/ObjectKindModificationSortOptions");
-        this.sort = new ObjectKindModificationSortOptions();
-      }
-      return this.sort;
-    };
-    prototype.getSortBy = function() {
-      return this.sort;
-    };
-  }, {
-    sort : "ObjectKindModificationSortOptions"
-  });
-  return ObjectKindModificationFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/fetchoptions/ObjectKindModificationSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/fetchoptions/ObjectKindModificationSortOptions.js
deleted file mode 100644
index 3f18b2848265a0af51ac6c76278ae8901d874f93..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/fetchoptions/ObjectKindModificationSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-  var ObjectKindModificationSortOptions = function() {
-    SortOptions.call(this);
-  };
-  stjs.extend(ObjectKindModificationSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-    prototype['@type'] = 'as.dto.objectkindmodification.fetchoptions.ObjectKindModificationSortOptions';
-    constructor.serialVersionUID = 1;
-  }, {});
-  return ObjectKindModificationSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/search/ObjectKindCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/search/ObjectKindCriteria.js
deleted file mode 100644
index 81d70604495a57a56e0cdaa890084e79135f65ed..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/search/ObjectKindCriteria.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define([ "require", "stjs", "util/Exceptions", "as/dto/common/search/AbstractSearchCriteria" ], function(require, stjs, exceptions, AbstractSearchCriteria) {
-	var ObjectKindCriteria = function() {
-		this.objectKinds = [];
-	};
-
-	stjs.extend(ObjectKindCriteria, AbstractSearchCriteria, [ AbstractSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.objectkindmodification.search.ObjectKindCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.objectKinds = null;
-
-		prototype.thatIn = function(objectKinds) {
-			this.objectKinds = objectKinds;
-		};
-		prototype.getObjectKinds = function() {
-			return this.objectKinds;
-		};
-		prototype.toString = function() {
-			return "with object kinds " + this.objectKinds;
-		}
-	}, {});
-
-	return ObjectKindCriteria;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/search/ObjectKindModificationSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/search/ObjectKindModificationSearchCriteria.js
deleted file mode 100644
index b31733f524eeef1ec5dff7cd9793acb162cc536e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/search/ObjectKindModificationSearchCriteria.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * @author Franz-Josef Elmer
- */
-define([ "stjs", "as/dto/common/search/AbstractCompositeSearchCriteria", "as/dto/objectkindmodification/search/ObjectKindCriteria", "as/dto/objectkindmodification/search/OperationKindCriteria" ],
-		function(stjs, AbstractCompositeSearchCriteria, ObjectKindCriteria, OperationKindCriteria) {
-			var ObjectKindModificationSearchCriteria = function() {
-				AbstractCompositeSearchCriteria.call(this);
-			};
-			stjs.extend(ObjectKindModificationSearchCriteria, AbstractCompositeSearchCriteria, [ AbstractCompositeSearchCriteria ], function(constructor, prototype) {
-				prototype['@type'] = 'as.dto.objectkindmodification.search.ObjectKindModificationSearchCriteria';
-				constructor.serialVersionUID = 1;
-
-				prototype.withObjectKind = function() {
-					var ObjectKindCriteria = require("as/dto/objectkindmodification/search/ObjectKindCriteria");
-					return this.addCriteria(new ObjectKindCriteria());
-				};
-
-				prototype.withOperationKind = function() {
-					var OperationKindCriteria = require("as/dto/objectkindmodification/search/OperationKindCriteria");
-					return this.addCriteria(new OperationKindCriteria());
-				};
-
-			}, {
-				criteria : {
-					name : "Collection",
-					arguments : [ "ISearchCriteria" ]
-				}
-			});
-			return ObjectKindModificationSearchCriteria;
-		})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/search/OperationKindCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/search/OperationKindCriteria.js
deleted file mode 100644
index 0af3fc8399fbb7dd7787f9b3b0d85225dee44426..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/objectkindmodification/search/OperationKindCriteria.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define([ "require", "stjs", "util/Exceptions", "as/dto/common/search/AbstractSearchCriteria" ], function(require, stjs, exceptions, AbstractSearchCriteria) {
-	var OperationKindCriteria = function() {
-		this.operationKinds = [];
-	};
-
-	stjs.extend(OperationKindCriteria, AbstractSearchCriteria, [ AbstractSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.objectkindmodification.search.OperationKindCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.operationKinds = null;
-
-		prototype.thatIn = function(operationKinds) {
-			this.operationKinds = operationKinds;
-		};
-		prototype.getOperationKinds = function() {
-			return this.operationKinds;
-		};
-		prototype.toString = function() {
-			return "with operation kinds " + this.operationKinds;
-		}
-	}, {});
-
-	return OperationKindCriteria;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/Person.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/Person.js
deleted file mode 100644
index 6b1bf5e0db5c411c731d8e3c0184b9ce2df4cc53..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/Person.js
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Person = function() {
-	};
-	stjs.extend(Person, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.person.Person';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.userId = null;
-		prototype.firstName = null;
-		prototype.lastName = null;
-		prototype.email = null;
-		prototype.registrationDate = null;
-		prototype.active = null;
-		prototype.space = null;
-		prototype.registrator = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getUserId = function() {
-			return this.userId;
-		};
-		prototype.setUserId = function(userId) {
-			this.userId = userId;
-		};
-		prototype.getFirstName = function() {
-			return this.firstName;
-		};
-		prototype.setFirstName = function(firstName) {
-			this.firstName = firstName;
-		};
-		prototype.getLastName = function() {
-			return this.lastName;
-		};
-		prototype.setLastName = function(lastName) {
-			this.lastName = lastName;
-		};
-		prototype.getEmail = function() {
-			return this.email;
-		};
-		prototype.setEmail = function(email) {
-			this.email = email;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.isActive = function() {
-			return this.active;
-		};
-		prototype.setActive = function(active) {
-			this.active = active;
-		};
-		prototype.getSpace = function() {
-			if (this.getFetchOptions().hasSpace()) {
-				return this.space;
-			} else {
-				throw new exceptions.NotFetchedException("Space has not been fetched.");
-			}
-		};
-		prototype.setSpace = function(space) {
-			this.space = space;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-	}, {
-		fetchOptions : "PersonFetchOptions",
-		permId : "PersonPermId",
-		registrationDate : "Date",
-		space : "Space",
-		registrator : "Person"
-	});
-	return Person;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/fetchoptions/PersonFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/fetchoptions/PersonFetchOptions.js
deleted file mode 100644
index e976267203ffe4eca6bc95a41001881bb6c54c13..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/fetchoptions/PersonFetchOptions.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/space/fetchoptions/SpaceFetchOptions", "as/dto/person/fetchoptions/PersonSortOptions" ], function(require, stjs, FetchOptions) {
-	var PersonFetchOptions = function() {
-	};
-	stjs.extend(PersonFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.person.fetchoptions.PersonFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.space = null;
-		prototype.registrator = null;
-		prototype.sort = null;
-		prototype.withSpace = function() {
-			if (this.space == null) {
-				var SpaceFetchOptions = require("as/dto/space/fetchoptions/SpaceFetchOptions");
-				this.space = new SpaceFetchOptions();
-			}
-			return this.space;
-		};
-		prototype.withSpaceUsing = function(fetchOptions) {
-			return this.space = fetchOptions;
-		};
-		prototype.hasSpace = function() {
-			return this.space != null;
-		};
-		prototype.withRegistrator = function() {
-			if (this.registrator == null) {
-				this.registrator = new PersonFetchOptions();
-			}
-			return this.registrator;
-		};
-		prototype.withRegistratorUsing = function(fetchOptions) {
-			return this.registrator = fetchOptions;
-		};
-		prototype.hasRegistrator = function() {
-			return this.registrator != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var PersonSortOptions = require("as/dto/person/fetchoptions/PersonSortOptions");
-				this.sort = new PersonSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		space : "SpaceFetchOptions",
-		registrator : "PersonFetchOptions",
-		sort : "PersonSortOptions"
-	});
-	return PersonFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/fetchoptions/PersonSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/fetchoptions/PersonSortOptions.js
deleted file mode 100644
index 6ff69963e01522e75d0743e14a031df735e09589..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/fetchoptions/PersonSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var PersonSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(PersonSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.person.fetchoptions.PersonSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return PersonSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/id/IPersonId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/id/IPersonId.js
deleted file mode 100644
index 9455cd747f40d188f2a9b3c3711569281b42af2d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/id/IPersonId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a person in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IPersonId = function() {
-	};
-	stjs.extend(IPersonId, null, [ IObjectId ], null, {});
-	return IPersonId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/id/PersonPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/id/PersonPermId.js
deleted file mode 100644
index 09f0d2ff366199f7684c51ba021b67e75d886516..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/person/id/PersonPermId.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Person perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/person/id/IPersonId" ], function(stjs, ObjectPermId, IPersonId) {
-
-	/**
-	 * @param permId
-	 *            Person perm id, e.g. "admin".
-	 */
-	var PersonPermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(PersonPermId, ObjectPermId, [ ObjectPermId, IPersonId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.person.id.PersonPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return PersonPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/Project.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/Project.js
deleted file mode 100644
index c68ee466105911a8bc001f168809a71320260ab0..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/Project.js
+++ /dev/null
@@ -1,161 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Project = function() {
-	};
-	stjs.extend(Project, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.Project';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.identifier = null;
-		prototype.code = null;
-		prototype.description = null;
-		prototype.registrationDate = null;
-		prototype.modificationDate = null;
-		prototype.experiments = null;
-		prototype.history = null;
-		prototype.space = null;
-		prototype.registrator = null;
-		prototype.modifier = null;
-		prototype.leader = null;
-		prototype.attachments = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getIdentifier = function() {
-			return this.identifier;
-		};
-		prototype.setIdentifier = function(identifier) {
-			this.identifier = identifier;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-		prototype.getExperiments = function() {
-			if (this.getFetchOptions().hasExperiments()) {
-				return this.experiments;
-			} else {
-				throw new exceptions.NotFetchedException("Experiments have not been fetched.");
-			}
-		};
-		prototype.setExperiments = function(experiments) {
-			this.experiments = experiments;
-		};
-		prototype.getHistory = function() {
-			if (this.getFetchOptions().hasHistory()) {
-				return this.history;
-			} else {
-				throw new exceptions.NotFetchedException("History have not been fetched.");
-			}
-		};
-		prototype.setHistory = function(history) {
-			this.history = history;
-		};
-		prototype.getSpace = function() {
-			if (this.getFetchOptions().hasSpace()) {
-				return this.space;
-			} else {
-				throw new exceptions.NotFetchedException("Space has not been fetched.");
-			}
-		};
-		prototype.setSpace = function(space) {
-			this.space = space;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-		prototype.getModifier = function() {
-			if (this.getFetchOptions().hasModifier()) {
-				return this.modifier;
-			} else {
-				throw new exceptions.NotFetchedException("Modifier has not been fetched.");
-			}
-		};
-		prototype.setModifier = function(modifier) {
-			this.modifier = modifier;
-		};
-		prototype.getLeader = function() {
-			if (this.getFetchOptions().hasLeader()) {
-				return this.leader;
-			} else {
-				throw new exceptions.NotFetchedException("Leader has not been fetched.");
-			}
-		};
-		prototype.setLeader = function(leader) {
-			this.leader = leader;
-		};
-		prototype.getAttachments = function() {
-			if (this.getFetchOptions().hasAttachments()) {
-				return this.attachments;
-			} else {
-				throw new exceptions.NotFetchedException("Attachments have not been fetched.");
-			}
-		};
-		prototype.setAttachments = function(attachments) {
-			this.attachments = attachments;
-		};
-	}, {
-		fetchOptions : "ProjectFetchOptions",
-		permId : "ProjectPermId",
-		identifier : "ProjectIdentifier",
-		registrationDate : "Date",
-		modificationDate : "Date",
-		history : {
-			name : "List",
-			arguments : [ "HistoryEntry" ]
-		},
-		experiments : {
-			name : "List",
-			arguments : [ "Experiment" ]
-		},
-		space : "Space",
-		registrator : "Person",
-		modifier : "Person",
-		leader : "Person",
-		attachments : {
-			name : "List",
-			arguments : [ "Attachment" ]
-		}
-	});
-	return Project;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/create/ProjectCreation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/create/ProjectCreation.js
deleted file mode 100644
index a2a5a39e0ac511ea3c7003d61444f63911d73cc9..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/create/ProjectCreation.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var ProjectCreation = function() {
-	};
-	stjs.extend(ProjectCreation, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.create.ProjectCreation';
-		constructor.serialVersionUID = 1;
-		prototype.spaceId = null;
-		prototype.code = null;
-		prototype.description = null;
-		prototype.leaderId = null;
-		prototype.attachments = null;
-
-		prototype.getSpaceId = function() {
-			return this.spaceId;
-		};
-		prototype.setSpaceId = function(spaceId) {
-			this.spaceId = spaceId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getLeaderId = function() {
-			return this.leaderId;
-		};
-		prototype.setLeaderId = function(leaderId) {
-			this.leaderId = leaderId;
-		};
-		prototype.getAttachments = function() {
-			return this.attachments;
-		};
-		prototype.setAttachments = function(attachments) {
-			this.attachments = attachments;
-		};
-	}, {
-		spaceId : "ISpaceId",
-		leaderId : "IPersonId",
-		attachments : {
-			name : "List",
-			arguments : [ "AttachmentCreation" ]
-		}
-	});
-	return ProjectCreation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/delete/ProjectDeletionOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/delete/ProjectDeletionOptions.js
deleted file mode 100644
index 56f2bc5a2b69e9d4d8024e9036e7e75092e0a1bb..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/delete/ProjectDeletionOptions.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/deletion/AbstractObjectDeletionOptions" ], function(stjs, AbstractObjectDeletionOptions) {
-	var ProjectDeletionOptions = function() {
-		AbstractObjectDeletionOptions.call(this);
-	};
-	stjs.extend(ProjectDeletionOptions, AbstractObjectDeletionOptions, [ AbstractObjectDeletionOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.delete.ProjectDeletionOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ProjectDeletionOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/fetchoptions/ProjectFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/fetchoptions/ProjectFetchOptions.js
deleted file mode 100644
index 962386dadf52a44fc1c5c0f3e0391b9174fe2eca..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/fetchoptions/ProjectFetchOptions.js
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/person/fetchoptions/PersonFetchOptions', 'as/dto/space/fetchoptions/SpaceFetchOptions',
-		'as/dto/experiment/fetchoptions/ExperimentFetchOptions', 'as/dto/attachment/fetchoptions/AttachmentFetchOptions',
-		'as/dto/project/fetchoptions/ProjectSortOptions', 'as/dto/history/fetchoptions/HistoryEntryFetchOptions' ], function(require, stjs, FetchOptions) {
-	var ProjectFetchOptions = function() {
-	};
-	stjs.extend(ProjectFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.fetchoptions.ProjectFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.experiments = null;
-		prototype.space = null;
-		prototype.registrator = null;
-		prototype.modifier = null;
-		prototype.leader = null;
-		prototype.attachments = null;
-		prototype.history = null;
-		prototype.sort = null;
-		prototype.withExperiments = function() {
-			if (this.experiments == null) {
-				var ExperimentFetchOptions = require("as/dto/experiment/fetchoptions/ExperimentFetchOptions");
-				this.experiments = new ExperimentFetchOptions();
-			}
-			return this.experiments;
-		};
-		prototype.withExperimentsUsing = function(fetchOptions) {
-			return this.experiments = fetchOptions;
-		};
-		prototype.hasExperiments = function() {
-			return this.experiments != null;
-		};
-		prototype.withSpace = function() {
-			if (this.space == null) {
-				var SpaceFetchOptions = require("as/dto/space/fetchoptions/SpaceFetchOptions");
-				this.space = new SpaceFetchOptions();
-			}
-			return this.space;
-		};
-		prototype.withSpaceUsing = function(fetchOptions) {
-			return this.space = fetchOptions;
-		};
-		prototype.hasSpace = function() {
-			return this.space != null;
-		};
-		prototype.withRegistrator = function() {
-			if (this.registrator == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.registrator = new PersonFetchOptions();
-			}
-			return this.registrator;
-		};
-		prototype.withRegistratorUsing = function(fetchOptions) {
-			return this.registrator = fetchOptions;
-		};
-		prototype.hasRegistrator = function() {
-			return this.registrator != null;
-		};
-		prototype.withModifier = function() {
-			if (this.modifier == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.modifier = new PersonFetchOptions();
-			}
-			return this.modifier;
-		};
-		prototype.withModifierUsing = function(fetchOptions) {
-			return this.modifier = fetchOptions;
-		};
-		prototype.hasModifier = function() {
-			return this.modifier != null;
-		};
-		prototype.withLeader = function() {
-			if (this.leader == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.leader = new PersonFetchOptions();
-			}
-			return this.leader;
-		};
-		prototype.withLeaderUsing = function(fetchOptions) {
-			return this.leader = fetchOptions;
-		};
-		prototype.hasLeader = function() {
-			return this.leader != null;
-		};
-		prototype.withAttachments = function() {
-			if (this.attachments == null) {
-				var AttachmentFetchOptions = require("as/dto/attachment/fetchoptions/AttachmentFetchOptions");
-				this.attachments = new AttachmentFetchOptions();
-			}
-			return this.attachments;
-		};
-		prototype.withAttachmentsUsing = function(fetchOptions) {
-			return this.attachments = fetchOptions;
-		};
-		prototype.hasAttachments = function() {
-			return this.attachments != null;
-		};
-		prototype.withHistory = function() {
-			if (this.history == null) {
-				var HistoryEntryFetchOptions = require("as/dto/history/fetchoptions/HistoryEntryFetchOptions");
-				this.history = new HistoryEntryFetchOptions();
-			}
-			return this.history;
-		};
-		prototype.withHistoryUsing = function(fetchOptions) {
-			return this.history = fetchOptions;
-		};
-		prototype.hasHistory = function() {
-			return this.history != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var ProjectSortOptions = require("as/dto/project/fetchoptions/ProjectSortOptions");
-				this.sort = new ProjectSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		experiments : "ExperimentFetchOptions",
-		space : "SpaceFetchOptions",
-		registrator : "PersonFetchOptions",
-		modifier : "PersonFetchOptions",
-		leader : "PersonFetchOptions",
-		attachments : "AttachmentFetchOptions",
-		history : "HistoryEntryFetchOptions",
-		sort : "ProjectSortOptions"
-	});
-	return ProjectFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/fetchoptions/ProjectSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/fetchoptions/ProjectSortOptions.js
deleted file mode 100644
index c9124cd3555b88d7cfb4fc47638f7c7e3f4e0377..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/fetchoptions/ProjectSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/EntitySortOptions" ], function(require, stjs, EntitySortOptions) {
-	var ProjectSortOptions = function() {
-		EntitySortOptions.call(this);
-	};
-	stjs.extend(ProjectSortOptions, EntitySortOptions, [ EntitySortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.fetchoptions.ProjectSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ProjectSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/history/ProjectRelationType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/history/ProjectRelationType.js
deleted file mode 100644
index f6e6218ac365b97e3cb6fc2d88e8eb66027273e4..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/history/ProjectRelationType.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var ProjectRelationType = function() {
-		Enum.call(this, [ "SPACE", "EXPERIMENT" ]);
-	};
-	stjs.extend(ProjectRelationType, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new ProjectRelationType();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/id/IProjectId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/id/IProjectId.js
deleted file mode 100644
index b04fda4b9f311cb3808f4093a9c7c0d4ceb40e56..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/id/IProjectId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a project in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IProjectId = function() {
-	};
-	stjs.extend(IProjectId, null, [ IObjectId ], null, {});
-	return IProjectId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/id/ProjectIdentifier.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/id/ProjectIdentifier.js
deleted file mode 100644
index 6f1ce19f2afa900bd592b234931a519e59fa37dc..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/id/ProjectIdentifier.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Project identifier.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectIdentifier", "as/dto/project/id/IProjectId" ], function(stjs, ObjectIdentifier, IProjectId) {
-	/**
-	 * @param identifier
-	 *            Project identifier, e.g. "/MY_SPACE/MY_PROJECT".
-	 */
-	var ProjectIdentifier = function(identifier) {
-		ObjectIdentifier.call(this, identifier);
-	};
-	stjs.extend(ProjectIdentifier, ObjectIdentifier, [ ObjectIdentifier, IProjectId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.id.ProjectIdentifier';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ProjectIdentifier;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/id/ProjectPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/id/ProjectPermId.js
deleted file mode 100644
index cc1425c0b9ec7fbfa0c5cf45b2f80cbca8973141..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/id/ProjectPermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Project perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/project/id/IProjectId" ], function(stjs, ObjectPermId, IProjectId) {
-	/**
-	 * @param permId
-	 *            Project perm id, e.g. "201108050937246-1031".
-	 */
-	var ProjectPermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(ProjectPermId, ObjectPermId, [ ObjectPermId, IProjectId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.id.ProjectPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return ProjectPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/search/ProjectSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/search/ProjectSearchCriteria.js
deleted file mode 100644
index 35cf131ef828e484b5ac070a8a8d6c3e6de623f8..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/search/ProjectSearchCriteria.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/AbstractCompositeSearchCriteria", "as/dto/common/search/CodeSearchCriteria",
-		"as/dto/common/search/PermIdSearchCriteria", "as/dto/space/search/SpaceSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) {
-	var ProjectSearchCriteria = function() {
-		AbstractObjectSearchCriteria.call(this);
-	};
-	stjs.extend(ProjectSearchCriteria, AbstractObjectSearchCriteria, [ AbstractObjectSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.search.ProjectSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.withCode = function() {
-			var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria");
-			return this.addCriteria(new CodeSearchCriteria());
-		};
-		prototype.withPermId = function() {
-			var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria");
-			return this.addCriteria(new PermIdSearchCriteria());
-		};
-		prototype.withSpace = function() {
-			var SpaceSearchCriteria = require("as/dto/space/search/SpaceSearchCriteria");
-			return this.addCriteria(new SpaceSearchCriteria());
-		};
-	}, {
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return ProjectSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/update/ProjectUpdate.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/update/ProjectUpdate.js
deleted file mode 100644
index 38897edc33a49735ca057608ef1f4b1bcabaf128..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/project/update/ProjectUpdate.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/FieldUpdateValue", "as/dto/attachment/update/AttachmentListUpdateValue" ], function(stjs, FieldUpdateValue, AttachmentListUpdateValue) {
-	var ProjectUpdate = function() {
-		this.spaceId = new FieldUpdateValue();
-		this.description = new FieldUpdateValue();
-		this.attachments = new AttachmentListUpdateValue();
-	};
-	stjs.extend(ProjectUpdate, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.project.update.ProjectUpdate';
-		constructor.serialVersionUID = 1;
-		prototype.projectId = null;
-		prototype.spaceId = null;
-		prototype.description = null;
-		prototype.attachments = null;
-
-		prototype.getProjectId = function() {
-			return this.projectId;
-		};
-		prototype.setProjectId = function(projectId) {
-			this.projectId = projectId;
-		};
-		prototype.getSpaceId = function() {
-			return this.spaceId;
-		};
-		prototype.setSpaceId = function(spaceId) {
-			this.spaceId.setValue(spaceId);
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description.setValue(description);
-		};
-		prototype.getAttachments = function() {
-			return this.attachments;
-		};
-		prototype.setAttachmentsActions = function(actions) {
-			this.attachments.setActions(actions);
-		};
-	}, {
-		projectId : "IProjectId",
-		spaceId : {
-			name : "FieldUpdateValue",
-			arguments : [ "ISpaceId" ]
-		},
-		description : {
-			name : "FieldUpdateValue",
-			arguments : [ null ]
-		},
-		attachments : "AttachmentListUpdateValue"
-	});
-	return ProjectUpdate;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/property/fetchoptions/PropertyFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/property/fetchoptions/PropertyFetchOptions.js
deleted file mode 100644
index f20178722223ac1056bda28aae1ed8f05f52642f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/property/fetchoptions/PropertyFetchOptions.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/fetchoptions/EmptyFetchOptions" ], function(stjs, EmptyFetchOptions) {
-	var PropertyFetchOptions = function() {
-	};
-	stjs.extend(PropertyFetchOptions, EmptyFetchOptions, [ EmptyFetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.property.fetchoptions.PropertyFetchOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return PropertyFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/Sample.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/Sample.js
deleted file mode 100644
index 33813d462053dcaed975f3cbcb07d2839ed3e53d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/Sample.js
+++ /dev/null
@@ -1,279 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Sample = function() {
-	};
-	stjs.extend(Sample, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.Sample';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.identifier = null;
-		prototype.code = null;
-		prototype.registrationDate = null;
-		prototype.modificationDate = null;
-		prototype.type = null;
-		prototype.space = null;
-		prototype.experiment = null;
-		prototype.properties = null;
-		prototype.materialProperties = null;
-		prototype.parents = null;
-		prototype.children = null;
-		prototype.container = null;
-		prototype.components = null;
-		prototype.dataSets = null;
-		prototype.history = null;
-		prototype.tags = null;
-		prototype.registrator = null;
-		prototype.modifier = null;
-		prototype.attachments = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getIdentifier = function() {
-			return this.identifier;
-		};
-		prototype.setIdentifier = function(identifier) {
-			this.identifier = identifier;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-		prototype.getType = function() {
-			if (this.getFetchOptions().hasType()) {
-				return this.type;
-			} else {
-				throw new exceptions.NotFetchedException("Sample type has not been fetched.");
-			}
-		};
-		prototype.setType = function(type) {
-			this.type = type;
-		};
-		prototype.getSpace = function() {
-			if (this.getFetchOptions().hasSpace()) {
-				return this.space;
-			} else {
-				throw new exceptions.NotFetchedException("Space has not been fetched.");
-			}
-		};
-		prototype.setSpace = function(space) {
-			this.space = space;
-		};
-		prototype.getExperiment = function() {
-			if (this.getFetchOptions().hasExperiment()) {
-				return this.experiment;
-			} else {
-				throw new exceptions.NotFetchedException("Experiment has not been fetched.");
-			}
-		};
-		prototype.setExperiment = function(experiment) {
-			this.experiment = experiment;
-		};
-		prototype.getProperty = function(propertyName) {
-			var properties = this.getProperties();
-			return properties ? properties[propertyName] : null;
-		};
-		prototype.getProperties = function() {
-			if (this.getFetchOptions().hasProperties()) {
-				return this.properties;
-			} else {
-				throw new exceptions.NotFetchedException("Properties have not been fetched.");
-			}
-		};
-		prototype.setProperties = function(properties) {
-			this.properties = properties;
-		};
-		prototype.getMaterialProperty = function(propertyName) {
-			var properties = this.getMaterialProperties();
-			return properties ? properties[propertyName] : null;
-		};
-		prototype.getMaterialProperties = function() {
-			if (this.getFetchOptions().hasMaterialProperties()) {
-				return this.materialProperties;
-			} else {
-				throw new exceptions.NotFetchedException("Material properties have not been fetched.");
-			}
-		};
-		prototype.setMaterialProperties = function(materialProperties) {
-			this.materialProperties = materialProperties;
-		};
-		prototype.getParents = function() {
-			if (this.getFetchOptions().hasParents()) {
-				return this.parents;
-			} else {
-				throw new exceptions.NotFetchedException("Parents has not been fetched.");
-			}
-		};
-		prototype.setParents = function(parents) {
-			this.parents = parents;
-		};
-		prototype.getChildren = function() {
-			if (this.getFetchOptions().hasChildren()) {
-				return this.children;
-			} else {
-				throw new exceptions.NotFetchedException("Children has not been fetched.");
-			}
-		};
-		prototype.setChildren = function(children) {
-			this.children = children;
-		};
-		prototype.getContainer = function() {
-			if (this.getFetchOptions().hasContainer()) {
-				return this.container;
-			} else {
-				throw new exceptions.NotFetchedException("Container sample has not been fetched.");
-			}
-		};
-		prototype.setContainer = function(container) {
-			this.container = container;
-		};
-		prototype.getComponents = function() {
-			if (this.getFetchOptions().hasComponents()) {
-				return this.components;
-			} else {
-				throw new exceptions.NotFetchedException("Component samples has not been fetched.");
-			}
-		};
-		prototype.setComponents = function(components) {
-			this.components = components;
-		};
-		prototype.getDataSets = function() {
-			if (this.getFetchOptions().hasDataSets()) {
-				return this.dataSets;
-			} else {
-				throw new exceptions.NotFetchedException("Data sets have not been fetched.");
-			}
-		};
-		prototype.setDataSets = function(dataSets) {
-			this.dataSets = dataSets;
-		};
-		prototype.getHistory = function() {
-			if (this.getFetchOptions().hasHistory()) {
-				return this.history;
-			} else {
-				throw new exceptions.NotFetchedException("History has not been fetched.");
-			}
-		};
-		prototype.setHistory = function(history) {
-			this.history = history;
-		};
-		prototype.getTags = function() {
-			if (this.getFetchOptions().hasTags()) {
-				return this.tags;
-			} else {
-				throw new exceptions.NotFetchedException("Tags has not been fetched.");
-			}
-		};
-		prototype.setTags = function(tags) {
-			this.tags = tags;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-		prototype.getModifier = function() {
-			if (this.getFetchOptions().hasModifier()) {
-				return this.modifier;
-			} else {
-				throw new exceptions.NotFetchedException("Modifier has not been fetched.");
-			}
-		};
-		prototype.setModifier = function(modifier) {
-			this.modifier = modifier;
-		};
-		prototype.getAttachments = function() {
-			if (this.getFetchOptions().hasAttachments()) {
-				return this.attachments;
-			} else {
-				throw new exceptions.NotFetchedException("Attachments has not been fetched.");
-			}
-		};
-		prototype.setAttachments = function(attachments) {
-			this.attachments = attachments;
-		};
-		prototype.toString = function() {
-			return "Sample " + this.permId;
-		};
-	}, {
-		fetchOptions : "SampleFetchOptions",
-		permId : "SamplePermId",
-		identifier : "SampleIdentifier",
-		registrationDate : "Date",
-		modificationDate : "Date",
-		type : "SampleType",
-		space : "Space",
-		experiment : "Experiment",
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		materialProperties : {
-			name : "Map",
-			arguments : [ null, "Material" ]
-		},
-		parents : {
-			name : "List",
-			arguments : [ "Sample" ]
-		},
-		children : {
-			name : "List",
-			arguments : [ "Sample" ]
-		},
-		container : "Sample",
-		components : {
-			name : "List",
-			arguments : [ "Sample" ]
-		},
-		dataSets : {
-			name : "List",
-			arguments : [ "DataSet" ]
-		},
-		history : {
-			name : "List",
-			arguments : [ "HistoryEntry" ]
-		},
-		tags : {
-			name : "Set",
-			arguments : [ "Tag" ]
-		},
-		registrator : "Person",
-		modifier : "Person",
-		attachments : {
-			name : "List",
-			arguments : [ "Attachment" ]
-		}
-	});
-	return Sample;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/SampleType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/SampleType.js
deleted file mode 100644
index 41c09ddc2e51d8ef641315817c0a3e45f4b1fa6d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/SampleType.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs" ], function(stjs) {
-	var SampleType = function() {
-	};
-	stjs.extend(SampleType, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.SampleType';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.code = null;
-		prototype.description = null;
-		prototype.listable = null;
-		prototype.subcodeUnique = null;
-		prototype.autoGeneratedCode = null;
-		prototype.showParentMetadata = null;
-		prototype.generatedCodePrefix = null;
-		prototype.modificationDate = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.isListable = function() {
-			return this.listable;
-		};
-		prototype.setListable = function(listable) {
-			this.listable = listable;
-		};
-		prototype.isSubcodeUnique = function() {
-			return this.subcodeUnique;
-		};
-		prototype.setSubcodeUnique = function(subcodeUnique) {
-			this.subcodeUnique = subcodeUnique;
-		};
-		prototype.isAutoGeneratedCode = function() {
-			return this.autoGeneratedCode;
-		};
-		prototype.setAutoGeneratedCode = function(autoGeneratedCode) {
-			this.autoGeneratedCode = autoGeneratedCode;
-		};
-		prototype.isShowParentMetadata = function() {
-			return this.showParentMetadata;
-		};
-		prototype.setShowParentMetadata = function(showParentMetadata) {
-			this.showParentMetadata = showParentMetadata;
-		};
-		prototype.getGeneratedCodePrefix = function() {
-			return this.generatedCodePrefix;
-		};
-		prototype.setGeneratedCodePrefix = function(generatedCodePrefix) {
-			this.generatedCodePrefix = generatedCodePrefix;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-	}, {
-		fetchOptions : "SampleTypeFetchOptions",
-		permId : "EntityTypePermId",
-		modificationDate : "Date"
-	});
-	return SampleType;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/create/CreateSamplesOperation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/create/CreateSamplesOperation.js
deleted file mode 100644
index d794823d92d7c0d86aa9e79915d3a0fba1bc927c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/create/CreateSamplesOperation.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperation" ], function(stjs, IOperation) {
-	var CreateSamplesOperation = function(creations) {
-		this.creations = creations;
-	};
-	stjs.extend(CreateSamplesOperation, null, [ IOperation ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.create.CreateSamplesOperation';
-		prototype.creations = null;
-		prototype.getCreations = function() {
-			return this.creations;
-		};
-	}, {
-		creations : {
-			name : "List",
-			arguments : [ "SampleCreation" ]
-		}
-	});
-	return CreateSamplesOperation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/create/CreateSamplesResult.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/create/CreateSamplesResult.js
deleted file mode 100644
index 4ff3ff425d6d0e1368519bdf8a7c0c0352e1f667..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/create/CreateSamplesResult.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperationResult" ], function(stjs, IOperationResult) {
-	var CreateSamplesResult = function(permIds) {
-		this.permIds = permIds;
-	};
-	stjs.extend(CreateSamplesResult, null, [ IOperationResult ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.create.CreateSamplesResult';
-		prototype.permIds = null;
-		prototype.getPermIds = function() {
-			return this.permIds;
-		};
-	}, {
-		permIds : {
-			name : "List",
-			arguments : [ "SamplePermId" ]
-		}
-	});
-	return CreateSamplesResult;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/create/SampleCreation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/create/SampleCreation.js
deleted file mode 100644
index e20bef57ecb5693f74167a48ba3dde1bca1ee97b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/create/SampleCreation.js
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var SampleCreation = function() {
-		this.properties = {};
-	};
-	stjs.extend(SampleCreation, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.create.SampleCreation';
-		constructor.serialVersionUID = 1;
-		prototype.typeId = null;
-		prototype.experimentId = null;
-		prototype.spaceId = null;
-		prototype.code = null;
-		prototype.tagIds = null;
-		prototype.containerId = null;
-		prototype.componentIds = null;
-		prototype.parentIds = null;
-		prototype.childIds = null;
-		prototype.attachments = null;
-		prototype.creationId = null;
-		prototype.autoGeneratedCode = null;
-		prototype.getTypeId = function() {
-			return this.typeId;
-		};
-		prototype.setTypeId = function(typeId) {
-			this.typeId = typeId;
-		};
-		prototype.getExperimentId = function() {
-			return this.experimentId;
-		};
-		prototype.setExperimentId = function(experimentId) {
-			this.experimentId = experimentId;
-		};
-		prototype.getSpaceId = function() {
-			return this.spaceId;
-		};
-		prototype.setSpaceId = function(spaceId) {
-			this.spaceId = spaceId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.isAutoGeneratedCode = function() {
-			return this.autoGeneratedCode;
-		}
-		prototype.setAutoGeneratedCode = function(autoGeneratedCode) {
-			this.autoGeneratedCode = autoGeneratedCode;
-		};
-		prototype.getTagIds = function() {
-			return this.tagIds;
-		};
-		prototype.setTagIds = function(tagIds) {
-			this.tagIds = tagIds;
-		};
-		prototype.getContainerId = function() {
-			return this.containerId;
-		};
-		prototype.setContainerId = function(containerId) {
-			this.containerId = containerId;
-		};
-		prototype.getComponentIds = function() {
-			return this.componentIds;
-		};
-		prototype.setComponentIds = function(componentIds) {
-			this.componentIds = componentIds;
-		};
-		prototype.getParentIds = function() {
-			return this.parentIds;
-		};
-		prototype.setParentIds = function(parentIds) {
-			this.parentIds = parentIds;
-		};
-		prototype.getChildIds = function() {
-			return this.childIds;
-		};
-		prototype.setChildIds = function(childIds) {
-			this.childIds = childIds;
-		};
-		prototype.getAttachments = function() {
-			return this.attachments;
-		};
-		prototype.setAttachments = function(attachments) {
-			this.attachments = attachments;
-		};
-		prototype.setProperty = function(key, value) {
-			this.properties[key] = value;
-		};
-		prototype.getProperties = function() {
-			return this.properties;
-		};
-		prototype.getCreationId = function() {
-			return this.creationId;
-		};
-		prototype.setCreationId = function(creationId) {
-			this.creationId = creationId;
-		};
-	}, {
-		typeId : "IEntityTypeId",
-		experimentId : "IExperimentId",
-		spaceId : "ISpaceId",
-		tagIds : {
-			name : "List",
-			arguments : [ "Object" ]
-		},
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		containerId : "ISampleId",
-		componentIds : {
-			name : "List",
-			arguments : [ "Object" ]
-		},
-		parentIds : {
-			name : "List",
-			arguments : [ "Object" ]
-		},
-		childIds : {
-			name : "List",
-			arguments : [ "Object" ]
-		},
-		attachments : {
-			name : "List",
-			arguments : [ "AttachmentCreation" ]
-		},
-		creationId : "CreationId"
-	});
-	return SampleCreation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/delete/SampleDeletionOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/delete/SampleDeletionOptions.js
deleted file mode 100644
index a48354034766bdfeaee92303972b6379db3bb80e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/delete/SampleDeletionOptions.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/deletion/AbstractObjectDeletionOptions" ], function(stjs, AbstractObjectDeletionOptions) {
-	var SampleDeletionOptions = function() {
-		AbstractObjectDeletionOptions.call(this);
-	};
-	stjs.extend(SampleDeletionOptions, AbstractObjectDeletionOptions, [ AbstractObjectDeletionOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.delete.SampleDeletionOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return SampleDeletionOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleFetchOptions.js
deleted file mode 100644
index 3032b4441260fbe3aa82a4d75b6bd38b366d1fcc..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleFetchOptions.js
+++ /dev/null
@@ -1,247 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", 'as/dto/sample/fetchoptions/SampleTypeFetchOptions', 'as/dto/space/fetchoptions/SpaceFetchOptions',
-		'as/dto/experiment/fetchoptions/ExperimentFetchOptions', 'as/dto/property/fetchoptions/PropertyFetchOptions', 'as/dto/tag/fetchoptions/TagFetchOptions',
-		'as/dto/person/fetchoptions/PersonFetchOptions', 'as/dto/attachment/fetchoptions/AttachmentFetchOptions', 'as/dto/material/fetchoptions/MaterialFetchOptions',
-		'as/dto/dataset/fetchoptions/DataSetFetchOptions', 'as/dto/history/fetchoptions/HistoryEntryFetchOptions', 'as/dto/sample/fetchoptions/SampleSortOptions' ], function(require, stjs, FetchOptions) {
-	var SampleFetchOptions = function() {
-	};
-	stjs.extend(SampleFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.fetchoptions.SampleFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.type = null;
-		prototype.space = null;
-		prototype.experiment = null;
-		prototype.properties = null;
-		prototype.materialProperties = null;
-		prototype.parents = null;
-		prototype.children = null;
-		prototype.container = null;
-		prototype.components = null;
-		prototype.dataSets = null;
-		prototype.history = null;
-		prototype.tags = null;
-		prototype.registrator = null;
-		prototype.modifier = null;
-		prototype.attachments = null;
-		prototype.sort = null;
-		prototype.withType = function() {
-			if (this.type == null) {
-				var SampleTypeFetchOptions = require("as/dto/sample/fetchoptions/SampleTypeFetchOptions");
-				this.type = new SampleTypeFetchOptions();
-			}
-			return this.type;
-		};
-		prototype.withTypeUsing = function(fetchOptions) {
-			return this.type = fetchOptions;
-		};
-		prototype.hasType = function() {
-			return this.type != null;
-		};
-		prototype.withSpace = function() {
-			if (this.space == null) {
-				var SpaceFetchOptions = require("as/dto/space/fetchoptions/SpaceFetchOptions");
-				this.space = new SpaceFetchOptions();
-			}
-			return this.space;
-		};
-		prototype.withSpaceUsing = function(fetchOptions) {
-			return this.space = fetchOptions;
-		};
-		prototype.hasSpace = function() {
-			return this.space != null;
-		};
-		prototype.withExperiment = function() {
-			if (this.experiment == null) {
-				var ExperimentFetchOptions = require("as/dto/experiment/fetchoptions/ExperimentFetchOptions");
-				this.experiment = new ExperimentFetchOptions();
-			}
-			return this.experiment;
-		};
-		prototype.withExperimentUsing = function(fetchOptions) {
-			return this.experiment = fetchOptions;
-		};
-		prototype.hasExperiment = function() {
-			return this.experiment != null;
-		};
-		prototype.withProperties = function() {
-			if (this.properties == null) {
-				var PropertyFetchOptions = require("as/dto/property/fetchoptions/PropertyFetchOptions");
-				this.properties = new PropertyFetchOptions();
-			}
-			return this.properties;
-		};
-		prototype.withPropertiesUsing = function(fetchOptions) {
-			return this.properties = fetchOptions;
-		};
-		prototype.hasProperties = function() {
-			return this.properties != null;
-		};
-		prototype.withMaterialProperties = function() {
-			if (this.materialProperties == null) {
-				var MaterialFetchOptions = require("as/dto/material/fetchoptions/MaterialFetchOptions");
-				this.materialProperties = new MaterialFetchOptions();
-			}
-			return this.materialProperties;
-		};
-		prototype.withMaterialPropertiesUsing = function(fetchOptions) {
-			return this.materialProperties = fetchOptions;
-		};
-		prototype.hasMaterialProperties = function() {
-			return this.materialProperties != null;
-		};
-		prototype.withParents = function() {
-			if (this.parents == null) {
-				this.parents = new SampleFetchOptions();
-			}
-			return this.parents;
-		};
-		prototype.withParentsUsing = function(fetchOptions) {
-			return this.parents = fetchOptions;
-		};
-		prototype.hasParents = function() {
-			return this.parents != null;
-		};
-		prototype.withChildren = function() {
-			if (this.children == null) {
-				this.children = new SampleFetchOptions();
-			}
-			return this.children;
-		};
-		prototype.withChildrenUsing = function(fetchOptions) {
-			return this.children = fetchOptions;
-		};
-		prototype.hasChildren = function() {
-			return this.children != null;
-		};
-		prototype.withContainer = function() {
-			if (this.container == null) {
-				this.container = new SampleFetchOptions();
-			}
-			return this.container;
-		};
-		prototype.withContainerUsing = function(fetchOptions) {
-			return this.container = fetchOptions;
-		};
-		prototype.hasContainer = function() {
-			return this.container != null;
-		};
-		prototype.withComponents = function() {
-			if (this.components == null) {
-				this.components = new SampleFetchOptions();
-			}
-			return this.components;
-		};
-		prototype.withComponentsUsing = function(fetchOptions) {
-			return this.components = fetchOptions;
-		};
-		prototype.hasComponents = function() {
-			return this.components != null;
-		};
-		prototype.withDataSets = function() {
-			if (this.dataSets == null) {
-				var DataSetFetchOptions = require("as/dto/dataset/fetchoptions/DataSetFetchOptions");
-				this.dataSets = new DataSetFetchOptions();
-			}
-			return this.dataSets;
-		};
-		prototype.withDataSetsUsing = function(fetchOptions) {
-			return this.dataSets = fetchOptions;
-		};
-		prototype.hasDataSets = function() {
-			return this.dataSets != null;
-		};
-		prototype.withHistory = function() {
-			if (this.history == null) {
-				var HistoryEntryFetchOptions = require("as/dto/history/fetchoptions/HistoryEntryFetchOptions");
-				this.history = new HistoryEntryFetchOptions();
-			}
-			return this.history;
-		};
-		prototype.withHistoryUsing = function(fetchOptions) {
-			return this.history = fetchOptions;
-		};
-		prototype.hasHistory = function() {
-			return this.history != null;
-		};
-		prototype.withTags = function() {
-			if (this.tags == null) {
-				var TagFetchOptions = require("as/dto/tag/fetchoptions/TagFetchOptions");
-				this.tags = new TagFetchOptions();
-			}
-			return this.tags;
-		};
-		prototype.withTagsUsing = function(fetchOptions) {
-			return this.tags = fetchOptions;
-		};
-		prototype.hasTags = function() {
-			return this.tags != null;
-		};
-		prototype.withRegistrator = function() {
-			if (this.registrator == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.registrator = new PersonFetchOptions();
-			}
-			return this.registrator;
-		};
-		prototype.withRegistratorUsing = function(fetchOptions) {
-			return this.registrator = fetchOptions;
-		};
-		prototype.hasRegistrator = function() {
-			return this.registrator != null;
-		};
-		prototype.withModifier = function() {
-			if (this.modifier == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.modifier = new PersonFetchOptions();
-			}
-			return this.modifier;
-		};
-		prototype.withModifierUsing = function(fetchOptions) {
-			return this.modifier = fetchOptions;
-		};
-		prototype.hasModifier = function() {
-			return this.modifier != null;
-		};
-		prototype.withAttachments = function() {
-			if (this.attachments == null) {
-				var AttachmentFetchOptions = require("as/dto/attachment/fetchoptions/AttachmentFetchOptions");
-				this.attachments = new AttachmentFetchOptions();
-			}
-			return this.attachments;
-		};
-		prototype.withAttachmentsUsing = function(fetchOptions) {
-			return this.attachments = fetchOptions;
-		};
-		prototype.hasAttachments = function() {
-			return this.attachments != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var SampleSortOptions = require("as/dto/sample/fetchoptions/SampleSortOptions");
-				this.sort = new SampleSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		type : "SampleTypeFetchOptions",
-		space : "SpaceFetchOptions",
-		experiment : "ExperimentFetchOptions",
-		properties : "PropertyFetchOptions",
-		parents : "SampleFetchOptions",
-		children : "SampleFetchOptions",
-		container : "SampleFetchOptions",
-		components : "SampleFetchOptions",
-		tags : "TagFetchOptions",
-		registrator : "PersonFetchOptions",
-		modifier : "PersonFetchOptions",
-		attachments : "AttachmentFetchOptions",
-		sort : "SampleSortOptions"
-	});
-	return SampleFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleSortOptions.js
deleted file mode 100644
index 9a219aa781cba931d935bc8b3d8078fa692da039..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/EntityWithPropertiesSortOptions" ], function(require, stjs, EntityWithPropertiesSortOptions) {
-	var SampleSortOptions = function() {
-		EntityWithPropertiesSortOptions.call(this);
-	};
-	stjs.extend(SampleSortOptions, EntityWithPropertiesSortOptions, [ EntityWithPropertiesSortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.fetchoptions.SampleSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return SampleSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleTypeFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleTypeFetchOptions.js
deleted file mode 100644
index d0a5e52864ad41a6fbcc8d0245b08f0e33075ec7..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleTypeFetchOptions.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/sample/fetchoptions/SampleTypeSortOptions" ], function(stjs, FetchOptions) {
-	var SampleTypeFetchOptions = function() {
-	};
-	stjs.extend(SampleTypeFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.fetchoptions.SampleTypeFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.sort = null;
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var SampleTypeSortOptions = require("as/dto/sample/fetchoptions/SampleTypeSortOptions");
-				this.sort = new SampleTypeSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		sort : "SampleTypeSortOptions"
-	});
-	return SampleTypeFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleTypeSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleTypeSortOptions.js
deleted file mode 100644
index 23018494199f6aefd8d14b3b69ced20e72c3a9fb..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/fetchoptions/SampleTypeSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var SampleTypeSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(SampleTypeSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.fetchoptions.SampleTypeSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return SampleTypeSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/history/SampleRelationType.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/history/SampleRelationType.js
deleted file mode 100644
index 056e5c3d3c1a8d15db6ff924a9efb8656bf93d25..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/history/SampleRelationType.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var SampleRelationType = function() {
-		Enum.call(this, [ "SPACE", "EXPERIMENT", "PARENT", "CHILD", "CONTAINER", "COMPONENT", "DATA_SET" ]);
-	};
-	stjs.extend(SampleRelationType, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new SampleRelationType();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/id/ISampleId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/id/ISampleId.js
deleted file mode 100644
index 90ae821e4e0485fdf79c2c7cf3a3087f0f1161bb..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/id/ISampleId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a sample in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var ISampleId = function() {
-	};
-	stjs.extend(ISampleId, null, [ IObjectId ], null, {});
-	return ISampleId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/id/SampleIdentifier.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/id/SampleIdentifier.js
deleted file mode 100644
index d4773c141c368979917f13ea3130a49f4186db1d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/id/SampleIdentifier.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Sample identifier.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectIdentifier", "as/dto/sample/id/ISampleId" ], function(stjs, ObjectIdentifier, ISampleId) {
-	/**
-	 * @param identifier
-	 *            Sample identifier, e.g. "/MY_SPACE/MY_SAMPLE" (space sample)
-	 *            or "/MY_SAMPLE" (shared sample)
-	 */
-	var SampleIdentifier = function(identifier) {
-		ObjectIdentifier.call(this, identifier);
-	};
-	stjs.extend(SampleIdentifier, ObjectIdentifier, [ ObjectIdentifier, ISampleId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.id.SampleIdentifier';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return SampleIdentifier;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/id/SamplePermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/id/SamplePermId.js
deleted file mode 100644
index bb2de064a36813b34bf6dd6bc0252aa84f842f1e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/id/SamplePermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Sample perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/sample/id/ISampleId" ], function(stjs, ObjectPermId, ISampleId) {
-	/**
-	 * @param permId
-	 *            Sample perm id, e.g. "201108050937246-1031".
-	 */
-	var SamplePermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(SamplePermId, ObjectPermId, [ ObjectPermId, ISampleId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.id.SamplePermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return SamplePermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/NoSampleContainerSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/NoSampleContainerSearchCriteria.js
deleted file mode 100644
index ea065dcbf543c23a6d764adfdc19ca928b600ec3..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/NoSampleContainerSearchCriteria.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/sample/search/NoSampleSearchCriteria" ], function(stjs, NoSampleSearchCriteria) {
-	var NoSampleContainerSearchCriteria = function() {
-	};
-	stjs.extend(NoSampleContainerSearchCriteria, NoSampleSearchCriteria, [ NoSampleSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.search.NoSampleContainerSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return NoSampleContainerSearchCriteria;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/NoSampleSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/NoSampleSearchCriteria.js
deleted file mode 100644
index f0b7cb48a7118b6bf92f4bdcfc6d0e546db6e24b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/NoSampleSearchCriteria.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/search/ISearchCriteria" ], function(stjs, ISearchCriteria) {
-	var NoSampleSearchCriteria = function() {
-	};
-	stjs.extend(NoSampleSearchCriteria, null, [ ISearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.search.NoSampleSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return NoSampleSearchCriteria;
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/SampleSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/SampleSearchCriteria.js
deleted file mode 100644
index 62fcd50caf5b45ab7341cd2b7b7c69a8c530f89c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/SampleSearchCriteria.js
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "require", "stjs", "as/dto/common/search/AbstractEntitySearchCriteria", "as/dto/common/search/SearchOperator", "as/dto/sample/search/SampleSearchRelation", "as/dto/space/search/SpaceSearchCriteria",
-		"as/dto/experiment/search/ExperimentSearchCriteria", "as/dto/experiment/search/NoExperimentSearchCriteria",
-		"as/dto/sample/search/NoSampleContainerSearchCriteria" ], function(require, stjs, AbstractEntitySearchCriteria, SearchOperator, SampleSearchRelation) {
-
-	var SampleSearchCriteria = function(relation) {
-		AbstractEntitySearchCriteria.call(this);
-		this.relation = relation ? relation : SampleSearchRelation.SAMPLE;
-	};
-	stjs.extend(SampleSearchCriteria, AbstractEntitySearchCriteria, [ AbstractEntitySearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.search.SampleSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.relation = null;
-		prototype.withSpace = function() {
-			var SpaceSearchCriteria = require("as/dto/space/search/SpaceSearchCriteria");
-			return this.addCriteria(new SpaceSearchCriteria());
-		};
-		prototype.withExperiment = function() {
-			var ExperimentSearchCriteria = require("as/dto/experiment/search/ExperimentSearchCriteria");
-			return this.addCriteria(new ExperimentSearchCriteria());
-		};
-		prototype.withoutExperiment = function() {
-			var NoExperimentSearchCriteria = require("as/dto/experiment/search/NoExperimentSearchCriteria");
-			return this.addCriteria(new NoExperimentSearchCriteria());
-		};
-		prototype.withParents = function() {
-			return this.addCriteria(new SampleParentsSearchCriteria());
-		};
-		prototype.withChildren = function() {
-			return this.addCriteria(new SampleChildrenSearchCriteria());
-		};
-		prototype.withContainer = function() {
-			return this.addCriteria(new SampleContainerSearchCriteria());
-		};
-		prototype.withoutContainer = function() {
-			var NoSampleContainerSearchCriteria = require("as/dto/sample/search/NoSampleContainerSearchCriteria");
-			return this.addCriteria(new NoSampleContainerSearchCriteria());
-		};
-		prototype.withOrOperator = function() {
-			return this.withOperator(SearchOperator.OR);
-		};
-		prototype.withAndOperator = function() {
-			return this.withOperator(SearchOperator.AND);
-		};
-		prototype.getRelation = function() {
-			return this.relation;
-		};
-	}, {
-		relation : {
-			name : "Enum",
-			arguments : [ "SampleSearchRelation" ]
-		},
-		operator : {
-			name : "Enum",
-			arguments : [ "SearchOperator" ]
-		},
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-
-	var SampleParentsSearchCriteria = function() {
-		SampleSearchCriteria.call(this, SampleSearchRelation.PARENTS);
-	};
-	stjs.extend(SampleParentsSearchCriteria, SampleSearchCriteria, [ SampleSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.search.SampleParentsSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		relation : {
-			name : "Enum",
-			arguments : [ "SampleSearchRelation" ]
-		},
-		operator : {
-			name : "Enum",
-			arguments : [ "SearchOperator" ]
-		},
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-
-	var SampleChildrenSearchCriteria = function() {
-		SampleSearchCriteria.call(this, SampleSearchRelation.CHILDREN);
-	};
-	stjs.extend(SampleChildrenSearchCriteria, SampleSearchCriteria, [ SampleSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.search.SampleChildrenSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		relation : {
-			name : "Enum",
-			arguments : [ "SampleSearchRelation" ]
-		},
-		operator : {
-			name : "Enum",
-			arguments : [ "SearchOperator" ]
-		},
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-
-	var SampleContainerSearchCriteria = function() {
-		SampleSearchCriteria.call(this, SampleSearchRelation.CONTAINER);
-	};
-	stjs.extend(SampleContainerSearchCriteria, SampleSearchCriteria, [ SampleSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.search.SampleContainerSearchCriteria';
-		constructor.serialVersionUID = 1;
-	}, {
-		relation : {
-			name : "Enum",
-			arguments : [ "SampleSearchRelation" ]
-		},
-		operator : {
-			name : "Enum",
-			arguments : [ "SearchOperator" ]
-		},
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-
-	return SampleSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/SampleSearchRelation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/SampleSearchRelation.js
deleted file mode 100644
index 3af3467437cf91bae525c38613ab9b16b5b03daf..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/search/SampleSearchRelation.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/Enum" ], function(stjs, Enum) {
-	var SampleSearchRelation = function() {
-		Enum.call(this, [ "SAMPLE", "PARENTS", "CHILDREN", "CONTAINER" ]);
-	};
-	stjs.extend(SampleSearchRelation, Enum, [ Enum ], function(constructor, prototype) {
-	}, {});
-	return new SampleSearchRelation();
-})
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/update/SampleUpdate.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/update/SampleUpdate.js
deleted file mode 100644
index d2c8b77c60878a4747b8c01b145de670a7b56951..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/update/SampleUpdate.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/FieldUpdateValue", "as/dto/common/update/IdListUpdateValue", "as/dto/attachment/update/AttachmentListUpdateValue" ], function(stjs, FieldUpdateValue, IdListUpdateValue,
-		AttachmentListUpdateValue) {
-	var SampleUpdate = function() {
-		this.properties = {};
-		this.experimentId = new FieldUpdateValue();
-		this.spaceId = new FieldUpdateValue();
-		this.tagIds = new IdListUpdateValue();
-		this.containerId = new FieldUpdateValue();
-		this.componentIds = new IdListUpdateValue();
-		this.parentIds = new IdListUpdateValue();
-		this.childIds = new IdListUpdateValue();
-		this.attachments = new AttachmentListUpdateValue();
-	};
-	stjs.extend(SampleUpdate, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.update.SampleUpdate';
-		constructor.serialVersionUID = 1;
-		prototype.sampleId = null;
-		prototype.properties = null;
-		prototype.experimentId = null;
-		prototype.spaceId = null;
-		prototype.tagIds = null;
-		prototype.containerId = null;
-		prototype.componentIds = null;
-		prototype.parentIds = null;
-		prototype.childIds = null;
-		prototype.attachments = null;
-
-		prototype.getSampleId = function() {
-			return this.sampleId;
-		};
-		prototype.setSampleId = function(sampleId) {
-			this.sampleId = sampleId;
-		};
-		prototype.getExperimentId = function() {
-			return this.experimentId;
-		};
-		prototype.setExperimentId = function(experimentId) {
-			this.experimentId.setValue(experimentId);
-		};
-		prototype.getSpaceId = function() {
-			return this.spaceId;
-		};
-		prototype.setSpaceId = function(spaceId) {
-			this.spaceId.setValue(spaceId);
-		};
-		prototype.getContainerId = function() {
-			return this.containerId;
-		};
-		prototype.setContainerId = function(containerId) {
-			this.containerId.setValue(containerId);
-		};
-		prototype.setProperty = function(key, value) {
-			this.properties[key] = value;
-		};
-		prototype.getProperties = function() {
-			return this.properties;
-		};
-		prototype.getTagIds = function() {
-			return this.tagIds;
-		};
-		prototype.setTagActions = function(actions) {
-			this.tagIds.setActions(actions);
-		};
-		prototype.getComponentIds = function() {
-			return this.componentIds;
-		};
-		prototype.setComponentActions = function(actions) {
-			this.componentIds.setActions(actions);
-		};
-		prototype.getParentIds = function() {
-			return this.parentIds;
-		};
-		prototype.setParentActions = function(actions) {
-			this.parentIds.setActions(actions);
-		};
-		prototype.getChildIds = function() {
-			return this.childIds;
-		};
-		prototype.setChildActions = function(actions) {
-			this.childIds.setActions(actions);
-		};
-		prototype.getAttachments = function() {
-			return this.attachments;
-		};
-		prototype.setAttachmentsActions = function(actions) {
-			this.attachments.setActions(actions);
-		};
-	}, {
-		sampleId : "ISampleId",
-		experimentId : {
-			name : "FieldUpdateValue",
-			arguments : [ "IExperimentId" ]
-		},
-		spaceId : {
-			name : "FieldUpdateValue",
-			arguments : [ "ISpaceId" ]
-		},
-		tagIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "ITagId" ]
-		},
-		properties : {
-			name : "Map",
-			arguments : [ null, null ]
-		},
-		containerId : {
-			name : "FieldUpdateValue",
-			arguments : [ "ISampleId" ]
-		},
-		componentIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "ISampleId" ]
-		},
-		parentIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "ISampleId" ]
-		},
-		childIds : {
-			name : "IdListUpdateValue",
-			arguments : [ "ISampleId" ]
-		},
-		attachments : "AttachmentListUpdateValue"
-	});
-	return SampleUpdate;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/update/UpdateSamplesOperation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/update/UpdateSamplesOperation.js
deleted file mode 100644
index 2aa34d7fe1954830ad14a70e55455e0b046deee6..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/sample/update/UpdateSamplesOperation.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/operations/IOperation" ], function(stjs, IOperation) {
-	var UpdateSamplesOperation = function(updates) {
-		this.updates = updates;
-	};
-	stjs.extend(UpdateSamplesOperation, null, [ IOperation ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.sample.update.UpdateSamplesOperation';
-		prototype.updates = null;
-		prototype.getUpdates = function() {
-			return this.updates;
-		};
-	}, {
-		updates : {
-			name : "List",
-			arguments : [ "SampleUpdate" ]
-		}
-	});
-	return UpdateSamplesOperation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/CustomASService.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/CustomASService.js
deleted file mode 100644
index cdca7cfd83ce2b3c016f5ad669165ec40ffb41c6..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/CustomASService.js
+++ /dev/null
@@ -1,43 +0,0 @@
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var CustomASService = function() {
-	};
-	stjs.extend(CustomASService, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.service.CustomASService';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.code = null;
-		prototype.label = null;
-		prototype.description = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getLabel = function() {
-			return this.label;
-		};
-		prototype.setLabel = function(label) {
-			this.label = label;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.toString = function() {
-			return "CustomASService " + this.code;
-		};
-	}, {
-		fetchOptions : "CustomASServiceFetchOptions"
-	});
-	return CustomASService;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/CustomASServiceExecutionOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/CustomASServiceExecutionOptions.js
deleted file mode 100644
index c17de38e551725286712b600f4904cebe99e340c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/CustomASServiceExecutionOptions.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define([ "stjs"], function(stjs) {
-	var CustomASServiceExecutionOptions = function() {
-		this.parameters = {};
-	};
-	stjs.extend(CustomASServiceExecutionOptions, null, [ ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.service.CustomASServiceExecutionOptions';
-		constructor.serialVersionUID = 1;
-		prototype.parameters = null;
-		prototype.withParameter = function(parameterName, value) {
-			this.parameters[parameterName] = value;
-			return this;
-		}
-		prototype.getParameters = function() {
-			return this.parameters;
-		}
-	}, {
-		parameters : {
-			name : "Map",
-			arguments : [ null, null ]
-		}
-	});
-	return CustomASServiceExecutionOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/fetchoptions/CustomASServiceFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/fetchoptions/CustomASServiceFetchOptions.js
deleted file mode 100644
index e977bf46f3322edc976bb9bbdbd53ac4b63d43be..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/fetchoptions/CustomASServiceFetchOptions.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/service/fetchoptions/CustomASServiceSortOptions" ], function(require, stjs, FetchOptions) {
-  var CustomASServiceFetchOptions = function() {
-  };
-  stjs.extend(CustomASServiceFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-    prototype['@type'] = 'as.dto.service.fetchoptions.CustomASServiceFetchOptions';
-    constructor.serialVersionUID = 1;
-    prototype.sort = null;
-    prototype.sortBy = function() {
-      if (this.sort == null) {
-        var CustomASServiceSortOptions = require("as/dto/service/fetchoptions/CustomASServiceSortOptions");
-        this.sort = new CustomASServiceSortOptions();
-      }
-      return this.sort;
-    };
-    prototype.getSortBy = function() {
-      return this.sort;
-    };
-  }, {
-    sort : "CustomASServiceSortOptions"
-  });
-  return CustomASServiceFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/fetchoptions/CustomASServiceSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/fetchoptions/CustomASServiceSortOptions.js
deleted file mode 100644
index 10e3357cbdf6496d9eeca999a21dc62911c5d194..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/fetchoptions/CustomASServiceSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-  var CustomASServiceSortOptions = function() {
-    SortOptions.call(this);
-  };
-  stjs.extend(CustomASServiceSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-    prototype['@type'] = 'as.dto.service.fetchoptions.CustomASServiceSortOptions';
-    constructor.serialVersionUID = 1;
-  }, {});
-  return CustomASServiceSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/id/CustomASServiceCode.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/id/CustomASServiceCode.js
deleted file mode 100644
index 26db126cf971dda4d75cfa4e9db4e9294f679a28..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/id/CustomASServiceCode.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Custom AS service code. This is the name of an AS core plugin of type 'services'.
- *
- * @author Franz-Josef Elmer
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/service/id/ICustomASServiceId" ], function(stjs, ObjectPermId, ICustomASServiceId) {
-	var CustomASServiceCode = function(code) {
-		ObjectPermId.call(this, code);
-	};
-	stjs.extend(CustomASServiceCode, ObjectPermId, [ ObjectPermId, ICustomASServiceId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.service.id.CustomASServiceCode';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return CustomASServiceCode;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/id/ICustomASServiceId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/id/ICustomASServiceId.js
deleted file mode 100644
index 6b86eaf50e55153030f9ce7d2ccc96687ac0a757..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/id/ICustomASServiceId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a custom AS service in openBIS.
- *
- * @author Franz-Josef Elmer
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-  var ICustomASServiceId = function() {
-  };
-  stjs.extend(ICustomASServiceId, null, [ IObjectId ], null, {});
-  return ICustomASServiceId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/search/CustomASServiceSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/search/CustomASServiceSearchCriteria.js
deleted file mode 100644
index 323b2f2056264b9eb74e3bb46b1625e0e2f40ca7..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/service/search/CustomASServiceSearchCriteria.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria"], 
-	function(require, stjs, AbstractObjectSearchCriteria) {
-	var CustomASServiceSearchCriteria = function() {
-		AbstractObjectSearchCriteria.call(this);
-	};
-	stjs.extend(CustomASServiceSearchCriteria, AbstractObjectSearchCriteria, [ AbstractObjectSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.service.search.CustomASServiceSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.withCode = function() {
-			var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria");
-			return this.addCriteria(new CodeSearchCriteria());
-		};
-	}, {
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return CustomASServiceSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/Space.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/Space.js
deleted file mode 100644
index 9062fe6cac395911cb990aac39c20c7adefd51a2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/Space.js
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Space = function() {
-	};
-	stjs.extend(Space, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.space.Space';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.code = null;
-		prototype.description = null;
-		prototype.registrationDate = null;
-		prototype.modificationDate = null;
-		prototype.registrator = null;
-		prototype.samples = null;
-		prototype.projects = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-		prototype.getSamples = function() {
-			if (this.getFetchOptions().hasSamples()) {
-				return this.samples;
-			} else {
-				throw new exceptions.NotFetchedException("Samples have not been fetched.");
-			}
-		};
-		prototype.setSamples = function(samples) {
-			this.samples = samples;
-		};
-		prototype.getProjects = function() {
-			if (this.getFetchOptions().hasProjects()) {
-				return this.projects;
-			} else {
-				throw new exceptions.NotFetchedException("Projects have not been fetched.");
-			}
-		};
-		prototype.setProjects = function(projects) {
-			this.projects = projects;
-		};
-	}, {
-		fetchOptions : "SpaceFetchOptions",
-		permId : "SpacePermId",
-		registrationDate : "Date",
-		registrator : "Person",
-		samples : {
-			name : "List",
-			arguments : [ "Sample" ]
-		},
-		projects : {
-			name : "List",
-			arguments : [ "Project" ]
-		}
-	});
-	return Space;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/create/SpaceCreation.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/create/SpaceCreation.js
deleted file mode 100644
index b694e68fca34f5056dbb270207e6eff0f697810f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/create/SpaceCreation.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs" ], function(stjs) {
-	var SpaceCreation = function() {
-	};
-	stjs.extend(SpaceCreation, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.space.create.SpaceCreation';
-		constructor.serialVersionUID = 1;
-		prototype.code = null;
-		prototype.description = null;
-
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-	}, {});
-	return SpaceCreation;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/delete/SpaceDeletionOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/delete/SpaceDeletionOptions.js
deleted file mode 100644
index dd8043e2f08722b5c18101f74de68cad4daea911..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/delete/SpaceDeletionOptions.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/deletion/AbstractObjectDeletionOptions" ], function(stjs, AbstractObjectDeletionOptions) {
-	var SpaceDeletionOptions = function() {
-		AbstractObjectDeletionOptions.call(this);
-	};
-	stjs.extend(SpaceDeletionOptions, AbstractObjectDeletionOptions, [ AbstractObjectDeletionOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.space.delete.SpaceDeletionOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return SpaceDeletionOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/fetchoptions/SpaceFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/fetchoptions/SpaceFetchOptions.js
deleted file mode 100644
index 93af4d40b8e5e022897951ae51829f1aa0ea2900..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/fetchoptions/SpaceFetchOptions.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/person/fetchoptions/PersonFetchOptions", "as/dto/sample/fetchoptions/SampleFetchOptions",
-		"as/dto/project/fetchoptions/ProjectFetchOptions", "as/dto/space/fetchoptions/SpaceSortOptions" ], function(require, stjs, FetchOptions) {
-	var SpaceFetchOptions = function() {
-	};
-	stjs.extend(SpaceFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.space.fetchoptions.SpaceFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.registrator = null;
-		prototype.samples = null;
-		prototype.projects = null;
-		prototype.sort = null;
-		prototype.withRegistrator = function() {
-			if (this.registrator == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.registrator = new PersonFetchOptions();
-			}
-			return this.registrator;
-		};
-		prototype.withRegistratorUsing = function(fetchOptions) {
-			return this.registrator = fetchOptions;
-		};
-		prototype.hasRegistrator = function() {
-			return this.registrator != null;
-		};
-		prototype.withSamples = function() {
-			if (this.samples == null) {
-				var SampleFetchOptions = require("as/dto/sample/fetchoptions/SampleFetchOptions");
-				this.samples = new SampleFetchOptions();
-			}
-			return this.samples;
-		};
-		prototype.withSamplesUsing = function(fetchOptions) {
-			return this.samples = fetchOptions;
-		};
-		prototype.hasSamples = function() {
-			return this.samples != null;
-		};
-		prototype.withProjects = function() {
-			if (this.projects == null) {
-				var ProjectFetchOptions = require("as/dto/project/fetchoptions/ProjectFetchOptions");
-				this.projects = new ProjectFetchOptions();
-			}
-			return this.projects;
-		};
-		prototype.withProjectsUsing = function(fetchOptions) {
-			return this.projects = fetchOptions;
-		};
-		prototype.hasProjects = function() {
-			return this.projects != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var SpaceSortOptions = require("as/dto/space/fetchoptions/SpaceSortOptions");
-				this.sort = new SpaceSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		registrator : "PersonFetchOptions",
-		samples : "SampleFetchOptions",
-		projects : "ProjectFetchOptions",
-		sort : "SpaceSortOptions"
-	});
-	return SpaceFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/fetchoptions/SpaceSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/fetchoptions/SpaceSortOptions.js
deleted file mode 100644
index f9f98f50075f99cb2ccca2b31bd8276953fa7d10..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/fetchoptions/SpaceSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/EntitySortOptions" ], function(require, stjs, EntitySortOptions) {
-	var SpaceSortOptions = function() {
-		EntitySortOptions.call(this);
-	};
-	stjs.extend(SpaceSortOptions, EntitySortOptions, [ EntitySortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.space.fetchoptions.SpaceSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return SpaceSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/id/ISpaceId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/id/ISpaceId.js
deleted file mode 100644
index da7e5a8d03ec4c4eb810efe4875500942847dc8d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/id/ISpaceId.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Holds information that uniquely identifies a space in openBIS.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var ISpaceId = function() {
-	};
-	stjs.extend(ISpaceId, null, [ IObjectId ], null, {});
-	return ISpaceId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/id/SpacePermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/id/SpacePermId.js
deleted file mode 100644
index 5ca23607cb87b97f45d0bb9dbedab888327bc730..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/id/SpacePermId.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Space perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/space/id/ISpaceId" ], function(stjs, ObjectPermId, ISpaceId) {
-	/**
-	 * @param permId
-	 *            Space perm id, e.g. "/MY_SPACE" or "MY_SPACE".
-	 */
-	var SpacePermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(SpacePermId, ObjectPermId, [ ObjectPermId, ISpaceId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.space.id.SpacePermId';
-		constructor.serialVersionUID = 1;
-		prototype.getPermId = function() {
-			var permId = ObjectPermId.prototype.getPermId.call(this);
-			if (permId.startsWith("/")) {
-				return permId.substring(1);
-			} else {
-				return permId;
-			}
-		};
-	}, {});
-	return SpacePermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/search/SpaceSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/search/SpaceSearchCriteria.js
deleted file mode 100644
index 69f39e1c921893c5a6f1c7faa63e0e34c23dcfd5..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/search/SpaceSearchCriteria.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria",
-		"as/dto/common/search/AbstractCompositeSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) {
-	var SpaceSearchCriteria = function() {
-		AbstractObjectSearchCriteria.call(this);
-	};
-	stjs.extend(SpaceSearchCriteria, AbstractObjectSearchCriteria, [ AbstractObjectSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.space.search.SpaceSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.withCode = function() {
-			var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria");
-			return this.addCriteria(new CodeSearchCriteria());
-		};
-		prototype.withPermId = function() {
-			var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria");
-			return this.addCriteria(new PermIdSearchCriteria());
-		};
-	}, {
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return SpaceSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/update/SpaceUpdate.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/update/SpaceUpdate.js
deleted file mode 100644
index 38d275540abf02f3338c8c890c7375ec5037fc5b..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/space/update/SpaceUpdate.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/update/FieldUpdateValue" ], function(stjs, FieldUpdateValue) {
-	var SpaceUpdate = function() {
-		this.description = new FieldUpdateValue();
-	};
-	stjs.extend(SpaceUpdate, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.space.update.SpaceUpdate';
-		constructor.serialVersionUID = 1;
-		prototype.spaceId = null;
-		prototype.description = null;
-		prototype.getSpaceId = function() {
-			return this.spaceId;
-		};
-		prototype.setSpaceId = function(spaceId) {
-			this.spaceId = spaceId;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description.setValue(description);
-		};
-	}, {
-		spaceId : "ISpaceId"
-	});
-	return SpaceUpdate;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/Tag.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/Tag.js
deleted file mode 100644
index 0dfc48068cbf6c292209172bd85735ee77f619ad..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/Tag.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Tag = function() {
-	};
-	stjs.extend(Tag, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.tag.Tag';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.permId = null;
-		prototype.code = null;
-		prototype.description = null;
-		prototype.isPrivate = null;
-		prototype.registrationDate = null;
-		prototype.owner = null;
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getPermId = function() {
-			return this.permId;
-		};
-		prototype.setPermId = function(permId) {
-			this.permId = permId;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.isPrivate = function() {
-			return this.isPrivate;
-		};
-		prototype.setPrivate = function(isPrivate) {
-			this.isPrivate = isPrivate;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getOwner = function() {
-			if (this.getFetchOptions().hasOwner()) {
-				return this.owner;
-			} else {
-				throw new exceptions.NotFetchedException("Owner has not been fetched.");
-			}
-		};
-		prototype.setOwner = function(owner) {
-			this.owner = owner;
-		};
-	}, {
-		fetchOptions : "TagFetchOptions",
-		permId : "TagPermId",
-		registrationDate : "Date",
-		owner : "Person"
-	});
-	return Tag;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/fetchoptions/TagFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/fetchoptions/TagFetchOptions.js
deleted file mode 100644
index 67f2755ac72809efcc8101f7c12bc8fe60a6f09a..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/fetchoptions/TagFetchOptions.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/person/fetchoptions/PersonFetchOptions", "as/dto/tag/fetchoptions/TagSortOptions" ], function(require, stjs, FetchOptions) {
-	var TagFetchOptions = function() {
-	};
-	stjs.extend(TagFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.tag.fetchoptions.TagFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.owner = null;
-		prototype.sort = null;
-		prototype.withOwner = function() {
-			if (this.owner == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.owner = new PersonFetchOptions();
-			}
-			return this.owner;
-		};
-		prototype.withOwnerUsing = function(fetchOptions) {
-			return this.owner = fetchOptions;
-		};
-		prototype.hasOwner = function() {
-			return this.owner != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var TagSortOptions = require("as/dto/tag/fetchoptions/TagSortOptions");
-				this.sort = new TagSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		owner : "PersonFetchOptions",
-		sort : "TagSortOptions"
-	});
-	return TagFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/fetchoptions/TagSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/fetchoptions/TagSortOptions.js
deleted file mode 100644
index 30831d89cb35510ec19625852d70b7f2927f05c0..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/fetchoptions/TagSortOptions.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var TagSortOptions = function() {
-		SortOptions.call(this);
-	};
-
-	var fields = {
-		CODE : "CODE",
-		REGISTRATION_DATE : "REGISTRATION_DATE"
-	};
-
-	stjs.extend(TagSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.tag.fetchoptions.TagSortOptions';
-		constructor.serialVersionUID = 1;
-		prototype.code = function() {
-			return this.getOrCreateSorting(fields.CODE);
-		};
-		prototype.getCode = function() {
-			return this.getSorting(fields.CODE);
-		};
-		prototype.registrationDate = function() {
-			return this.getOrCreateSorting(fields.REGISTRATION_DATE);
-		};
-		prototype.getRegistrationDate = function() {
-			return this.getSorting(fields.REGISTRATION_DATE);
-		};
-	}, {});
-	return TagSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/id/ITagId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/id/ITagId.js
deleted file mode 100644
index 9e4a40d6f2baa048c4faa59ef03eac7ee74a9050..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/id/ITagId.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var ITagId = function() {
-	};
-	stjs.extend(ITagId, null, [ IObjectId ], null, {});
-	return ITagId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/id/TagCode.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/id/TagCode.js
deleted file mode 100644
index 86b9eee5e0c2af0df1b7d30336381a06ea974242..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/id/TagCode.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Tag code.
- * 
- * @author Franz-Josef Elmer
- * @author Jakub Straszewski
- */
-define([ "stjs", "util/Exceptions", "as/dto/tag/id/ITagId" ], function(stjs, exceptions, ITagId) {
-	/**
-	 * @param code
-	 *            Tag code, e.g. "MY_TAG".
-	 */
-	var TagCode = function(code) {
-		this.setCode(code);
-	};
-	stjs.extend(TagCode, null, [ ITagId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.tag.id.TagCode';
-		constructor.serialVersionUID = 1;
-		prototype.code = null;
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			if (code == null) {
-				throw new exceptions.IllegalArgumentException("Code cannot be null");
-			}
-			this.code = code;
-		};
-		prototype.toString = function() {
-			return this.getCode();
-		};
-		prototype.hashCode = function() {
-			return ((this.getCode() == null) ? 0 : this.getCode().hashCode());
-		};
-		prototype.equals = function(obj) {
-			if (this == obj) {
-				return true;
-			}
-			if (obj == null) {
-				return false;
-			}
-			if (this.getClass() != obj.getClass()) {
-				return false;
-			}
-			var other = obj;
-			return this.getCode() == null ? this.getCode() == other.getCode() : this.getCode().equals(other.getCode());
-		};
-	}, {});
-	return TagCode;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/id/TagPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/id/TagPermId.js
deleted file mode 100644
index 857bf8410d21c207ac71abfe33c019f26a504e52..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/id/TagPermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Tag perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/tag/id/ITagId" ], function(stjs, ObjectPermId, ITagId) {
-	/**
-	 * @param permId
-	 *            Tag perm id, e.g. "/MY_USER/MY_TAG".
-	 */
-	var TagPermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(TagPermId, ObjectPermId, [ ObjectPermId, ITagId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.tag.id.TagPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return TagPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/search/TagSearchCriteria.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/search/TagSearchCriteria.js
deleted file mode 100644
index 9ebf822eb067b071eb9071984d69361003889f83..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/tag/search/TagSearchCriteria.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria",
-		"as/dto/common/search/AbstractCompositeSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) {
-	var TagSearchCriteria = function() {
-		AbstractObjectSearchCriteria.call(this);
-	};
-	stjs.extend(TagSearchCriteria, AbstractObjectSearchCriteria, [ AbstractObjectSearchCriteria ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.tag.search.TagSearchCriteria';
-		constructor.serialVersionUID = 1;
-		prototype.withCode = function() {
-			var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria");
-			return this.addCriteria(new CodeSearchCriteria());
-		};
-		prototype.withPermId = function() {
-			var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria");
-			return this.addCriteria(new PermIdSearchCriteria());
-		};
-	}, {
-		criteria : {
-			name : "Collection",
-			arguments : [ "ISearchCriteria" ]
-		}
-	});
-	return TagSearchCriteria;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/Vocabulary.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/Vocabulary.js
deleted file mode 100644
index 7f12bc0190ea2c93fe2fa6d6301855265a3f1258..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/Vocabulary.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var Vocabulary = function() {
-	};
-	stjs.extend(Vocabulary, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.vocabulary.Vocabulary';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.code = null;
-		prototype.description = null;
-		prototype.registrationDate = null;
-		prototype.registrator = null;
-		prototype.modificationDate = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-	}, {
-		fetchOptions : "VocabularyFetchOptions",
-		registrationDate : "Date",
-		registrator : "Person",
-		modificationDate : "Date"
-	});
-	return Vocabulary;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/VocabularyTerm.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/VocabularyTerm.js
deleted file mode 100644
index 27e4dc762d817bacdc7d17ff488584a0ae6f2c5d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/VocabularyTerm.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
-	var VocabularyTerm = function() {
-	};
-	stjs.extend(VocabularyTerm, null, [], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.vocabulary.VocabularyTerm';
-		constructor.serialVersionUID = 1;
-		prototype.fetchOptions = null;
-		prototype.code = null;
-		prototype.label = null;
-		prototype.description = null;
-		prototype.ordinal = null;
-		prototype.official = null;
-		prototype.vocabulary = null;
-		prototype.registrationDate = null;
-		prototype.registrator = null;
-		prototype.modificationDate = null;
-
-		prototype.getFetchOptions = function() {
-			return this.fetchOptions;
-		};
-		prototype.setFetchOptions = function(fetchOptions) {
-			this.fetchOptions = fetchOptions;
-		};
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			this.code = code;
-		};
-		prototype.getLabel = function() {
-			return this.label;
-		};
-		prototype.setLabel = function(label) {
-			this.label = label;
-		};
-		prototype.getDescription = function() {
-			return this.description;
-		};
-		prototype.setDescription = function(description) {
-			this.description = description;
-		};
-		prototype.getOrdinal = function() {
-			return this.ordinal;
-		};
-		prototype.setOrdinal = function(ordinal) {
-			this.ordinal = ordinal;
-		};
-		prototype.isOfficial = function() {
-			return this.official;
-		};
-		prototype.setOfficial = function(official) {
-			this.official = official;
-		};
-		prototype.getVocabulary = function() {
-			if (this.getFetchOptions().hasVocabulary()) {
-				return this.vocabulary;
-			} else {
-				throw new exceptions.NotFetchedException("Vocabulary has not been fetched.");
-			}
-		};
-		prototype.setVocabulary = function(vocabulary) {
-			this.vocabulary = vocabulary;
-		};
-		prototype.getRegistrationDate = function() {
-			return this.registrationDate;
-		};
-		prototype.setRegistrationDate = function(registrationDate) {
-			this.registrationDate = registrationDate;
-		};
-		prototype.getRegistrator = function() {
-			if (this.getFetchOptions().hasRegistrator()) {
-				return this.registrator;
-			} else {
-				throw new exceptions.NotFetchedException("Registrator has not been fetched.");
-			}
-		};
-		prototype.setRegistrator = function(registrator) {
-			this.registrator = registrator;
-		};
-		prototype.getModificationDate = function() {
-			return this.modificationDate;
-		};
-		prototype.setModificationDate = function(modificationDate) {
-			this.modificationDate = modificationDate;
-		};
-	}, {
-		fetchOptions : "VocabularyTermFetchOptions",
-		vocabulary : "Vocabulary",
-		registrationDate : "Date",
-		registrator : "Person",
-		modificationDate : "Date"
-	});
-	return VocabularyTerm;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularyFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularyFetchOptions.js
deleted file mode 100644
index fc720a4b74e417b6d830b54048ef1c45fcfd36b1..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularyFetchOptions.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/person/fetchoptions/PersonFetchOptions", "as/dto/vocabulary/fetchoptions/VocabularySortOptions" ], function(require, stjs,
-		FetchOptions) {
-	var VocabularyFetchOptions = function() {
-	};
-	stjs.extend(VocabularyFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.vocabulary.fetchoptions.VocabularyFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.registrator = null;
-		prototype.sort = null;
-		prototype.withRegistrator = function() {
-			if (this.registrator == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.registrator = new PersonFetchOptions();
-			}
-			return this.registrator;
-		};
-		prototype.withRegistratorUsing = function(fetchOptions) {
-			return this.registrator = fetchOptions;
-		};
-		prototype.hasRegistrator = function() {
-			return this.registrator != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var VocabularySortOptions = require("as/dto/vocabulary/fetchoptions/VocabularySortOptions");
-				this.sort = new VocabularySortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		registrator : "PersonFetchOptions",
-		sort : "VocabularySortOptions"
-	});
-	return VocabularyFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularySortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularySortOptions.js
deleted file mode 100644
index 21f00d638cbb36e3eac49f71f68f43587b5283eb..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularySortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var VocabularySortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(VocabularySortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.vocabulary.fetchoptions.VocabularySortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return VocabularySortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularyTermFetchOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularyTermFetchOptions.js
deleted file mode 100644
index 67d44753dfb69db41df18162f67bc2377a91a96d..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularyTermFetchOptions.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Class automatically generated with
- * {@link ch.ethz.sis.openbis.generic.shared.api.v3.dto.generators.DtoGenerator}
- */
-define([ "require", "stjs", "as/dto/common/fetchoptions/FetchOptions", "as/dto/vocabulary/fetchoptions/VocabularyFetchOptions", "as/dto/person/fetchoptions/PersonFetchOptions",
-		"as/dto/vocabulary/fetchoptions/VocabularyTermSortOptions" ], function(require, stjs, FetchOptions) {
-	var VocabularyTermFetchOptions = function() {
-	};
-	stjs.extend(VocabularyTermFetchOptions, FetchOptions, [ FetchOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.vocabulary.fetchoptions.VocabularyTermFetchOptions';
-		constructor.serialVersionUID = 1;
-		prototype.vocabulary = null;
-		prototype.registrator = null;
-		prototype.sort = null;
-		prototype.withVocabulary = function() {
-			if (this.vocabulary == null) {
-				var VocabularyFetchOptions = require("as/dto/vocabulary/fetchoptions/VocabularyFetchOptions");
-				this.vocabulary = new VocabularyFetchOptions();
-			}
-			return this.vocabulary;
-		};
-		prototype.withVocabularyUsing = function(fetchOptions) {
-			return this.vocabulary = fetchOptions;
-		};
-		prototype.hasVocabulary = function() {
-			return this.vocabulary != null;
-		};
-		prototype.withRegistrator = function() {
-			if (this.registrator == null) {
-				var PersonFetchOptions = require("as/dto/person/fetchoptions/PersonFetchOptions");
-				this.registrator = new PersonFetchOptions();
-			}
-			return this.registrator;
-		};
-		prototype.withRegistratorUsing = function(fetchOptions) {
-			return this.registrator = fetchOptions;
-		};
-		prototype.hasRegistrator = function() {
-			return this.registrator != null;
-		};
-		prototype.sortBy = function() {
-			if (this.sort == null) {
-				var VocabularyTermSortOptions = require("as/dto/vocabulary/fetchoptions/VocabularyTermSortOptions");
-				this.sort = new VocabularyTermSortOptions();
-			}
-			return this.sort;
-		};
-		prototype.getSortBy = function() {
-			return this.sort;
-		};
-	}, {
-		vocabulary : "VocabularyFetchOptions",
-		registrator : "PersonFetchOptions",
-		sort : "VocabularyTermSortOptions"
-	});
-	return VocabularyTermFetchOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularyTermSortOptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularyTermSortOptions.js
deleted file mode 100644
index 49fe6b5559c9dbf686c40a9127a4e3c7c8ffdab1..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/fetchoptions/VocabularyTermSortOptions.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define([ "require", "stjs", "as/dto/common/fetchoptions/SortOptions" ], function(require, stjs, SortOptions) {
-	var VocabularyTermSortOptions = function() {
-		SortOptions.call(this);
-	};
-	stjs.extend(VocabularyTermSortOptions, SortOptions, [ SortOptions ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.vocabulary.fetchoptions.VocabularyTermSortOptions';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return VocabularyTermSortOptions;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/IVocabularyId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/IVocabularyId.js
deleted file mode 100644
index 9ca912acd468201a27105a3f1b112e862ef4ad29..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/IVocabularyId.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IVocabularyId = function() {
-	};
-	stjs.extend(IVocabularyId, null, [ IObjectId ], null, {});
-	return IVocabularyId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/IVocabularyTermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/IVocabularyTermId.js
deleted file mode 100644
index e15625222b1f1c477d853a54743339f884a855dc..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/IVocabularyTermId.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/IObjectId" ], function(stjs, IObjectId) {
-	var IVocabularyTermId = function() {
-	};
-	stjs.extend(IVocabularyTermId, null, [ IObjectId ], null, {});
-	return IVocabularyTermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/VocabularyPermId.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/VocabularyPermId.js
deleted file mode 100644
index 1c0677d345f139cdca3b7c71d32981f6cd239e08..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/VocabularyPermId.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Vocabulary perm id.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "as/dto/common/id/ObjectPermId", "as/dto/vocabulary/id/IVocabularyId" ], function(stjs, ObjectPermId, IVocabularyId) {
-	/**
-	 * @param permId
-	 *            Vocabulary perm id, e.g. "MY_VOCABULARY".
-	 */
-	var VocabularyPermId = function(permId) {
-		ObjectPermId.call(this, permId);
-	};
-	stjs.extend(VocabularyPermId, ObjectPermId, [ ObjectPermId, IVocabularyId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.vocabulary.id.VocabularyPermId';
-		constructor.serialVersionUID = 1;
-	}, {});
-	return VocabularyPermId;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/VocabularyTermCode.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/VocabularyTermCode.js
deleted file mode 100644
index 362076f2e0561c253b149ddd29cf2cff76235b44..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/as/dto/vocabulary/id/VocabularyTermCode.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Vocabulary term code.
- * 
- * @author pkupczyk
- */
-define([ "stjs", "util/Exceptions", "as/dto/vocabulary/id/IVocabularyTermId" ], function(stjs, exceptions, IVocabularyTermId) {
-	/**
-	 * @param code
-	 *            Vocabulary term code, e.g. "MY_TERM".
-	 */
-	var VocabularyTermCode = function(code) {
-		this.setCode(code);
-	};
-	stjs.extend(VocabularyTermCode, null, [ IVocabularyTermId ], function(constructor, prototype) {
-		prototype['@type'] = 'as.dto.vocabulary.id.VocabularyTermCode';
-		constructor.serialVersionUID = 1;
-		prototype.code = null;
-		prototype.getCode = function() {
-			return this.code;
-		};
-		prototype.setCode = function(code) {
-			if (code == null) {
-				throw new exceptions.IllegalArgumentException("Code cannot be null");
-			}
-			this.code = code;
-		};
-		prototype.toString = function() {
-			return this.getCode();
-		};
-		prototype.hashCode = function() {
-			return ((this.getCode() == null) ? 0 : this.getCode().hashCode());
-		};
-		prototype.equals = function(obj) {
-			if (this == obj) {
-				return true;
-			}
-			if (obj == null) {
-				return false;
-			}
-			if (this.getClass() != obj.getClass()) {
-				return false;
-			}
-			var other = obj;
-			return this.getCode() == null ? this.getCode() == other.getCode() : this.getCode().equals(other.getCode());
-		};
-	}, {});
-	return VocabularyTermCode;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/config.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/config.js
deleted file mode 100644
index 260c4af57110416151f0b78b6201149c729b35b6..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/config.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var require = (function() {
-
-	var getBaseUrl = function() {
-		var path = window.location.pathname + "lib/openbis/js/v3";
-		return path;
-	}
-
-	return {
-		baseUrl : getBaseUrl(),
-		paths : {
-			"jquery" : "lib/jquery/js/jquery",
-			"stjs" : "lib/stjs/js/stjs",
-			"underscore" : "lib/underscore/js/underscore",
-			"moment" : "lib/moment/js/moment"
-		},
-		shim : {
-			"stjs" : {
-				exports : "stjs",
-				deps : [ "underscore" ]
-			},
-			"underscore" : {
-				exports : "_"
-			}
-		}
-	}
-
-})();
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/jquery/js/jquery.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/jquery/js/jquery.js
deleted file mode 100644
index 83589daa707a25a1fb3e4112075d382e9a1611ab..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/jquery/js/jquery.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v1.8.3 jquery.com | jquery.org/license */
-(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window);
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/moment/js/moment.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/moment/js/moment.js
deleted file mode 100644
index c635ec0b356079d988d10ecba7db39ad4559dd97..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/moment/js/moment.js
+++ /dev/null
@@ -1,3043 +0,0 @@
-//! moment.js
-//! version : 2.9.0
-//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
-//! license : MIT
-//! momentjs.com
-
-(function (undefined) {
-    /************************************
-        Constants
-    ************************************/
-
-    var moment,
-        VERSION = '2.9.0',
-        // the global-scope this is NOT the global object in Node.js
-        globalScope = (typeof global !== 'undefined' && (typeof window === 'undefined' || window === global.window)) ? global : this,
-        oldGlobalMoment,
-        round = Math.round,
-        hasOwnProperty = Object.prototype.hasOwnProperty,
-        i,
-
-        YEAR = 0,
-        MONTH = 1,
-        DATE = 2,
-        HOUR = 3,
-        MINUTE = 4,
-        SECOND = 5,
-        MILLISECOND = 6,
-
-        // internal storage for locale config files
-        locales = {},
-
-        // extra moment internal properties (plugins register props here)
-        momentProperties = [],
-
-        // check for nodeJS
-        hasModule = (typeof module !== 'undefined' && module && module.exports),
-
-        // ASP.NET json date format regex
-        aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
-        aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
-
-        // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
-        // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
-        isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
-
-        // format tokens
-        formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,
-        localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
-
-        // parsing token regexes
-        parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
-        parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
-        parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999
-        parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
-        parseTokenDigits = /\d+/, // nonzero number of digits
-        parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic.
-        parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
-        parseTokenT = /T/i, // T (ISO separator)
-        parseTokenOffsetMs = /[\+\-]?\d+/, // 1234567890123
-        parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
-
-        //strict parsing regexes
-        parseTokenOneDigit = /\d/, // 0 - 9
-        parseTokenTwoDigits = /\d\d/, // 00 - 99
-        parseTokenThreeDigits = /\d{3}/, // 000 - 999
-        parseTokenFourDigits = /\d{4}/, // 0000 - 9999
-        parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
-        parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
-
-        // iso 8601 regex
-        // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
-        isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
-
-        isoFormat = 'YYYY-MM-DDTHH:mm:ssZ',
-
-        isoDates = [
-            ['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
-            ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/],
-            ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/],
-            ['GGGG-[W]WW', /\d{4}-W\d{2}/],
-            ['YYYY-DDD', /\d{4}-\d{3}/]
-        ],
-
-        // iso time formats and regexes
-        isoTimes = [
-            ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/],
-            ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
-            ['HH:mm', /(T| )\d\d:\d\d/],
-            ['HH', /(T| )\d\d/]
-        ],
-
-        // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-', '15', '30']
-        parseTimezoneChunker = /([\+\-]|\d\d)/gi,
-
-        // getter and setter names
-        proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
-        unitMillisecondFactors = {
-            'Milliseconds' : 1,
-            'Seconds' : 1e3,
-            'Minutes' : 6e4,
-            'Hours' : 36e5,
-            'Days' : 864e5,
-            'Months' : 2592e6,
-            'Years' : 31536e6
-        },
-
-        unitAliases = {
-            ms : 'millisecond',
-            s : 'second',
-            m : 'minute',
-            h : 'hour',
-            d : 'day',
-            D : 'date',
-            w : 'week',
-            W : 'isoWeek',
-            M : 'month',
-            Q : 'quarter',
-            y : 'year',
-            DDD : 'dayOfYear',
-            e : 'weekday',
-            E : 'isoWeekday',
-            gg: 'weekYear',
-            GG: 'isoWeekYear'
-        },
-
-        camelFunctions = {
-            dayofyear : 'dayOfYear',
-            isoweekday : 'isoWeekday',
-            isoweek : 'isoWeek',
-            weekyear : 'weekYear',
-            isoweekyear : 'isoWeekYear'
-        },
-
-        // format function strings
-        formatFunctions = {},
-
-        // default relative time thresholds
-        relativeTimeThresholds = {
-            s: 45,  // seconds to minute
-            m: 45,  // minutes to hour
-            h: 22,  // hours to day
-            d: 26,  // days to month
-            M: 11   // months to year
-        },
-
-        // tokens to ordinalize and pad
-        ordinalizeTokens = 'DDD w W M D d'.split(' '),
-        paddedTokens = 'M D H h m s w W'.split(' '),
-
-        formatTokenFunctions = {
-            M    : function () {
-                return this.month() + 1;
-            },
-            MMM  : function (format) {
-                return this.localeData().monthsShort(this, format);
-            },
-            MMMM : function (format) {
-                return this.localeData().months(this, format);
-            },
-            D    : function () {
-                return this.date();
-            },
-            DDD  : function () {
-                return this.dayOfYear();
-            },
-            d    : function () {
-                return this.day();
-            },
-            dd   : function (format) {
-                return this.localeData().weekdaysMin(this, format);
-            },
-            ddd  : function (format) {
-                return this.localeData().weekdaysShort(this, format);
-            },
-            dddd : function (format) {
-                return this.localeData().weekdays(this, format);
-            },
-            w    : function () {
-                return this.week();
-            },
-            W    : function () {
-                return this.isoWeek();
-            },
-            YY   : function () {
-                return leftZeroFill(this.year() % 100, 2);
-            },
-            YYYY : function () {
-                return leftZeroFill(this.year(), 4);
-            },
-            YYYYY : function () {
-                return leftZeroFill(this.year(), 5);
-            },
-            YYYYYY : function () {
-                var y = this.year(), sign = y >= 0 ? '+' : '-';
-                return sign + leftZeroFill(Math.abs(y), 6);
-            },
-            gg   : function () {
-                return leftZeroFill(this.weekYear() % 100, 2);
-            },
-            gggg : function () {
-                return leftZeroFill(this.weekYear(), 4);
-            },
-            ggggg : function () {
-                return leftZeroFill(this.weekYear(), 5);
-            },
-            GG   : function () {
-                return leftZeroFill(this.isoWeekYear() % 100, 2);
-            },
-            GGGG : function () {
-                return leftZeroFill(this.isoWeekYear(), 4);
-            },
-            GGGGG : function () {
-                return leftZeroFill(this.isoWeekYear(), 5);
-            },
-            e : function () {
-                return this.weekday();
-            },
-            E : function () {
-                return this.isoWeekday();
-            },
-            a    : function () {
-                return this.localeData().meridiem(this.hours(), this.minutes(), true);
-            },
-            A    : function () {
-                return this.localeData().meridiem(this.hours(), this.minutes(), false);
-            },
-            H    : function () {
-                return this.hours();
-            },
-            h    : function () {
-                return this.hours() % 12 || 12;
-            },
-            m    : function () {
-                return this.minutes();
-            },
-            s    : function () {
-                return this.seconds();
-            },
-            S    : function () {
-                return toInt(this.milliseconds() / 100);
-            },
-            SS   : function () {
-                return leftZeroFill(toInt(this.milliseconds() / 10), 2);
-            },
-            SSS  : function () {
-                return leftZeroFill(this.milliseconds(), 3);
-            },
-            SSSS : function () {
-                return leftZeroFill(this.milliseconds(), 3);
-            },
-            Z    : function () {
-                var a = this.utcOffset(),
-                    b = '+';
-                if (a < 0) {
-                    a = -a;
-                    b = '-';
-                }
-                return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2);
-            },
-            ZZ   : function () {
-                var a = this.utcOffset(),
-                    b = '+';
-                if (a < 0) {
-                    a = -a;
-                    b = '-';
-                }
-                return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2);
-            },
-            z : function () {
-                return this.zoneAbbr();
-            },
-            zz : function () {
-                return this.zoneName();
-            },
-            x    : function () {
-                return this.valueOf();
-            },
-            X    : function () {
-                return this.unix();
-            },
-            Q : function () {
-                return this.quarter();
-            }
-        },
-
-        deprecations = {},
-
-        lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'],
-
-        updateInProgress = false;
-
-    // Pick the first defined of two or three arguments. dfl comes from
-    // default.
-    function dfl(a, b, c) {
-        switch (arguments.length) {
-            case 2: return a != null ? a : b;
-            case 3: return a != null ? a : b != null ? b : c;
-            default: throw new Error('Implement me');
-        }
-    }
-
-    function hasOwnProp(a, b) {
-        return hasOwnProperty.call(a, b);
-    }
-
-    function defaultParsingFlags() {
-        // We need to deep clone this object, and es5 standard is not very
-        // helpful.
-        return {
-            empty : false,
-            unusedTokens : [],
-            unusedInput : [],
-            overflow : -2,
-            charsLeftOver : 0,
-            nullInput : false,
-            invalidMonth : null,
-            invalidFormat : false,
-            userInvalidated : false,
-            iso: false
-        };
-    }
-
-    function printMsg(msg) {
-        if (moment.suppressDeprecationWarnings === false &&
-                typeof console !== 'undefined' && console.warn) {
-            console.warn('Deprecation warning: ' + msg);
-        }
-    }
-
-    function deprecate(msg, fn) {
-        var firstTime = true;
-        return extend(function () {
-            if (firstTime) {
-                printMsg(msg);
-                firstTime = false;
-            }
-            return fn.apply(this, arguments);
-        }, fn);
-    }
-
-    function deprecateSimple(name, msg) {
-        if (!deprecations[name]) {
-            printMsg(msg);
-            deprecations[name] = true;
-        }
-    }
-
-    function padToken(func, count) {
-        return function (a) {
-            return leftZeroFill(func.call(this, a), count);
-        };
-    }
-    function ordinalizeToken(func, period) {
-        return function (a) {
-            return this.localeData().ordinal(func.call(this, a), period);
-        };
-    }
-
-    function monthDiff(a, b) {
-        // difference in months
-        var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
-            // b is in (anchor - 1 month, anchor + 1 month)
-            anchor = a.clone().add(wholeMonthDiff, 'months'),
-            anchor2, adjust;
-
-        if (b - anchor < 0) {
-            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
-            // linear across the month
-            adjust = (b - anchor) / (anchor - anchor2);
-        } else {
-            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
-            // linear across the month
-            adjust = (b - anchor) / (anchor2 - anchor);
-        }
-
-        return -(wholeMonthDiff + adjust);
-    }
-
-    while (ordinalizeTokens.length) {
-        i = ordinalizeTokens.pop();
-        formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i);
-    }
-    while (paddedTokens.length) {
-        i = paddedTokens.pop();
-        formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2);
-    }
-    formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3);
-
-
-    function meridiemFixWrap(locale, hour, meridiem) {
-        var isPm;
-
-        if (meridiem == null) {
-            // nothing to do
-            return hour;
-        }
-        if (locale.meridiemHour != null) {
-            return locale.meridiemHour(hour, meridiem);
-        } else if (locale.isPM != null) {
-            // Fallback
-            isPm = locale.isPM(meridiem);
-            if (isPm && hour < 12) {
-                hour += 12;
-            }
-            if (!isPm && hour === 12) {
-                hour = 0;
-            }
-            return hour;
-        } else {
-            // thie is not supposed to happen
-            return hour;
-        }
-    }
-
-    /************************************
-        Constructors
-    ************************************/
-
-    function Locale() {
-    }
-
-    // Moment prototype object
-    function Moment(config, skipOverflow) {
-        if (skipOverflow !== false) {
-            checkOverflow(config);
-        }
-        copyConfig(this, config);
-        this._d = new Date(+config._d);
-        // Prevent infinite loop in case updateOffset creates new moment
-        // objects.
-        if (updateInProgress === false) {
-            updateInProgress = true;
-            moment.updateOffset(this);
-            updateInProgress = false;
-        }
-    }
-
-    // Duration Constructor
-    function Duration(duration) {
-        var normalizedInput = normalizeObjectUnits(duration),
-            years = normalizedInput.year || 0,
-            quarters = normalizedInput.quarter || 0,
-            months = normalizedInput.month || 0,
-            weeks = normalizedInput.week || 0,
-            days = normalizedInput.day || 0,
-            hours = normalizedInput.hour || 0,
-            minutes = normalizedInput.minute || 0,
-            seconds = normalizedInput.second || 0,
-            milliseconds = normalizedInput.millisecond || 0;
-
-        // representation for dateAddRemove
-        this._milliseconds = +milliseconds +
-            seconds * 1e3 + // 1000
-            minutes * 6e4 + // 1000 * 60
-            hours * 36e5; // 1000 * 60 * 60
-        // Because of dateAddRemove treats 24 hours as different from a
-        // day when working around DST, we need to store them separately
-        this._days = +days +
-            weeks * 7;
-        // It is impossible translate months into days without knowing
-        // which months you are are talking about, so we have to store
-        // it separately.
-        this._months = +months +
-            quarters * 3 +
-            years * 12;
-
-        this._data = {};
-
-        this._locale = moment.localeData();
-
-        this._bubble();
-    }
-
-    /************************************
-        Helpers
-    ************************************/
-
-
-    function extend(a, b) {
-        for (var i in b) {
-            if (hasOwnProp(b, i)) {
-                a[i] = b[i];
-            }
-        }
-
-        if (hasOwnProp(b, 'toString')) {
-            a.toString = b.toString;
-        }
-
-        if (hasOwnProp(b, 'valueOf')) {
-            a.valueOf = b.valueOf;
-        }
-
-        return a;
-    }
-
-    function copyConfig(to, from) {
-        var i, prop, val;
-
-        if (typeof from._isAMomentObject !== 'undefined') {
-            to._isAMomentObject = from._isAMomentObject;
-        }
-        if (typeof from._i !== 'undefined') {
-            to._i = from._i;
-        }
-        if (typeof from._f !== 'undefined') {
-            to._f = from._f;
-        }
-        if (typeof from._l !== 'undefined') {
-            to._l = from._l;
-        }
-        if (typeof from._strict !== 'undefined') {
-            to._strict = from._strict;
-        }
-        if (typeof from._tzm !== 'undefined') {
-            to._tzm = from._tzm;
-        }
-        if (typeof from._isUTC !== 'undefined') {
-            to._isUTC = from._isUTC;
-        }
-        if (typeof from._offset !== 'undefined') {
-            to._offset = from._offset;
-        }
-        if (typeof from._pf !== 'undefined') {
-            to._pf = from._pf;
-        }
-        if (typeof from._locale !== 'undefined') {
-            to._locale = from._locale;
-        }
-
-        if (momentProperties.length > 0) {
-            for (i in momentProperties) {
-                prop = momentProperties[i];
-                val = from[prop];
-                if (typeof val !== 'undefined') {
-                    to[prop] = val;
-                }
-            }
-        }
-
-        return to;
-    }
-
-    function absRound(number) {
-        if (number < 0) {
-            return Math.ceil(number);
-        } else {
-            return Math.floor(number);
-        }
-    }
-
-    // left zero fill a number
-    // see http://jsperf.com/left-zero-filling for performance comparison
-    function leftZeroFill(number, targetLength, forceSign) {
-        var output = '' + Math.abs(number),
-            sign = number >= 0;
-
-        while (output.length < targetLength) {
-            output = '0' + output;
-        }
-        return (sign ? (forceSign ? '+' : '') : '-') + output;
-    }
-
-    function positiveMomentsDifference(base, other) {
-        var res = {milliseconds: 0, months: 0};
-
-        res.months = other.month() - base.month() +
-            (other.year() - base.year()) * 12;
-        if (base.clone().add(res.months, 'M').isAfter(other)) {
-            --res.months;
-        }
-
-        res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
-
-        return res;
-    }
-
-    function momentsDifference(base, other) {
-        var res;
-        other = makeAs(other, base);
-        if (base.isBefore(other)) {
-            res = positiveMomentsDifference(base, other);
-        } else {
-            res = positiveMomentsDifference(other, base);
-            res.milliseconds = -res.milliseconds;
-            res.months = -res.months;
-        }
-
-        return res;
-    }
-
-    // TODO: remove 'name' arg after deprecation is removed
-    function createAdder(direction, name) {
-        return function (val, period) {
-            var dur, tmp;
-            //invert the arguments, but complain about it
-            if (period !== null && !isNaN(+period)) {
-                deprecateSimple(name, 'moment().' + name  + '(period, number) is deprecated. Please use moment().' + name + '(number, period).');
-                tmp = val; val = period; period = tmp;
-            }
-
-            val = typeof val === 'string' ? +val : val;
-            dur = moment.duration(val, period);
-            addOrSubtractDurationFromMoment(this, dur, direction);
-            return this;
-        };
-    }
-
-    function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) {
-        var milliseconds = duration._milliseconds,
-            days = duration._days,
-            months = duration._months;
-        updateOffset = updateOffset == null ? true : updateOffset;
-
-        if (milliseconds) {
-            mom._d.setTime(+mom._d + milliseconds * isAdding);
-        }
-        if (days) {
-            rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding);
-        }
-        if (months) {
-            rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding);
-        }
-        if (updateOffset) {
-            moment.updateOffset(mom, days || months);
-        }
-    }
-
-    // check if is an array
-    function isArray(input) {
-        return Object.prototype.toString.call(input) === '[object Array]';
-    }
-
-    function isDate(input) {
-        return Object.prototype.toString.call(input) === '[object Date]' ||
-            input instanceof Date;
-    }
-
-    // compare two arrays, return the number of differences
-    function compareArrays(array1, array2, dontConvert) {
-        var len = Math.min(array1.length, array2.length),
-            lengthDiff = Math.abs(array1.length - array2.length),
-            diffs = 0,
-            i;
-        for (i = 0; i < len; i++) {
-            if ((dontConvert && array1[i] !== array2[i]) ||
-                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
-                diffs++;
-            }
-        }
-        return diffs + lengthDiff;
-    }
-
-    function normalizeUnits(units) {
-        if (units) {
-            var lowered = units.toLowerCase().replace(/(.)s$/, '$1');
-            units = unitAliases[units] || camelFunctions[lowered] || lowered;
-        }
-        return units;
-    }
-
-    function normalizeObjectUnits(inputObject) {
-        var normalizedInput = {},
-            normalizedProp,
-            prop;
-
-        for (prop in inputObject) {
-            if (hasOwnProp(inputObject, prop)) {
-                normalizedProp = normalizeUnits(prop);
-                if (normalizedProp) {
-                    normalizedInput[normalizedProp] = inputObject[prop];
-                }
-            }
-        }
-
-        return normalizedInput;
-    }
-
-    function makeList(field) {
-        var count, setter;
-
-        if (field.indexOf('week') === 0) {
-            count = 7;
-            setter = 'day';
-        }
-        else if (field.indexOf('month') === 0) {
-            count = 12;
-            setter = 'month';
-        }
-        else {
-            return;
-        }
-
-        moment[field] = function (format, index) {
-            var i, getter,
-                method = moment._locale[field],
-                results = [];
-
-            if (typeof format === 'number') {
-                index = format;
-                format = undefined;
-            }
-
-            getter = function (i) {
-                var m = moment().utc().set(setter, i);
-                return method.call(moment._locale, m, format || '');
-            };
-
-            if (index != null) {
-                return getter(index);
-            }
-            else {
-                for (i = 0; i < count; i++) {
-                    results.push(getter(i));
-                }
-                return results;
-            }
-        };
-    }
-
-    function toInt(argumentForCoercion) {
-        var coercedNumber = +argumentForCoercion,
-            value = 0;
-
-        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
-            if (coercedNumber >= 0) {
-                value = Math.floor(coercedNumber);
-            } else {
-                value = Math.ceil(coercedNumber);
-            }
-        }
-
-        return value;
-    }
-
-    function daysInMonth(year, month) {
-        return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
-    }
-
-    function weeksInYear(year, dow, doy) {
-        return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week;
-    }
-
-    function daysInYear(year) {
-        return isLeapYear(year) ? 366 : 365;
-    }
-
-    function isLeapYear(year) {
-        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
-    }
-
-    function checkOverflow(m) {
-        var overflow;
-        if (m._a && m._pf.overflow === -2) {
-            overflow =
-                m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH :
-                m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE :
-                m._a[HOUR] < 0 || m._a[HOUR] > 24 ||
-                    (m._a[HOUR] === 24 && (m._a[MINUTE] !== 0 ||
-                                           m._a[SECOND] !== 0 ||
-                                           m._a[MILLISECOND] !== 0)) ? HOUR :
-                m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE :
-                m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND :
-                m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND :
-                -1;
-
-            if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
-                overflow = DATE;
-            }
-
-            m._pf.overflow = overflow;
-        }
-    }
-
-    function isValid(m) {
-        if (m._isValid == null) {
-            m._isValid = !isNaN(m._d.getTime()) &&
-                m._pf.overflow < 0 &&
-                !m._pf.empty &&
-                !m._pf.invalidMonth &&
-                !m._pf.nullInput &&
-                !m._pf.invalidFormat &&
-                !m._pf.userInvalidated;
-
-            if (m._strict) {
-                m._isValid = m._isValid &&
-                    m._pf.charsLeftOver === 0 &&
-                    m._pf.unusedTokens.length === 0 &&
-                    m._pf.bigHour === undefined;
-            }
-        }
-        return m._isValid;
-    }
-
-    function normalizeLocale(key) {
-        return key ? key.toLowerCase().replace('_', '-') : key;
-    }
-
-    // pick the locale from the array
-    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
-    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
-    function chooseLocale(names) {
-        var i = 0, j, next, locale, split;
-
-        while (i < names.length) {
-            split = normalizeLocale(names[i]).split('-');
-            j = split.length;
-            next = normalizeLocale(names[i + 1]);
-            next = next ? next.split('-') : null;
-            while (j > 0) {
-                locale = loadLocale(split.slice(0, j).join('-'));
-                if (locale) {
-                    return locale;
-                }
-                if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
-                    //the next array item is better than a shallower substring of this one
-                    break;
-                }
-                j--;
-            }
-            i++;
-        }
-        return null;
-    }
-
-    function loadLocale(name) {
-        var oldLocale = null;
-        if (!locales[name] && hasModule) {
-            try {
-                oldLocale = moment.locale();
-                require('./locale/' + name);
-                // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales
-                moment.locale(oldLocale);
-            } catch (e) { }
-        }
-        return locales[name];
-    }
-
-    // Return a moment from input, that is local/utc/utcOffset equivalent to
-    // model.
-    function makeAs(input, model) {
-        var res, diff;
-        if (model._isUTC) {
-            res = model.clone();
-            diff = (moment.isMoment(input) || isDate(input) ?
-                    +input : +moment(input)) - (+res);
-            // Use low-level api, because this fn is low-level api.
-            res._d.setTime(+res._d + diff);
-            moment.updateOffset(res, false);
-            return res;
-        } else {
-            return moment(input).local();
-        }
-    }
-
-    /************************************
-        Locale
-    ************************************/
-
-
-    extend(Locale.prototype, {
-
-        set : function (config) {
-            var prop, i;
-            for (i in config) {
-                prop = config[i];
-                if (typeof prop === 'function') {
-                    this[i] = prop;
-                } else {
-                    this['_' + i] = prop;
-                }
-            }
-            // Lenient ordinal parsing accepts just a number in addition to
-            // number + (possibly) stuff coming from _ordinalParseLenient.
-            this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + /\d{1,2}/.source);
-        },
-
-        _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
-        months : function (m) {
-            return this._months[m.month()];
-        },
-
-        _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
-        monthsShort : function (m) {
-            return this._monthsShort[m.month()];
-        },
-
-        monthsParse : function (monthName, format, strict) {
-            var i, mom, regex;
-
-            if (!this._monthsParse) {
-                this._monthsParse = [];
-                this._longMonthsParse = [];
-                this._shortMonthsParse = [];
-            }
-
-            for (i = 0; i < 12; i++) {
-                // make the regex if we don't have it already
-                mom = moment.utc([2000, i]);
-                if (strict && !this._longMonthsParse[i]) {
-                    this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
-                    this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
-                }
-                if (!strict && !this._monthsParse[i]) {
-                    regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
-                    this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
-                }
-                // test the regex
-                if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
-                    return i;
-                } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
-                    return i;
-                } else if (!strict && this._monthsParse[i].test(monthName)) {
-                    return i;
-                }
-            }
-        },
-
-        _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
-        weekdays : function (m) {
-            return this._weekdays[m.day()];
-        },
-
-        _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
-        weekdaysShort : function (m) {
-            return this._weekdaysShort[m.day()];
-        },
-
-        _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
-        weekdaysMin : function (m) {
-            return this._weekdaysMin[m.day()];
-        },
-
-        weekdaysParse : function (weekdayName) {
-            var i, mom, regex;
-
-            if (!this._weekdaysParse) {
-                this._weekdaysParse = [];
-            }
-
-            for (i = 0; i < 7; i++) {
-                // make the regex if we don't have it already
-                if (!this._weekdaysParse[i]) {
-                    mom = moment([2000, 1]).day(i);
-                    regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
-                    this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
-                }
-                // test the regex
-                if (this._weekdaysParse[i].test(weekdayName)) {
-                    return i;
-                }
-            }
-        },
-
-        _longDateFormat : {
-            LTS : 'h:mm:ss A',
-            LT : 'h:mm A',
-            L : 'MM/DD/YYYY',
-            LL : 'MMMM D, YYYY',
-            LLL : 'MMMM D, YYYY LT',
-            LLLL : 'dddd, MMMM D, YYYY LT'
-        },
-        longDateFormat : function (key) {
-            var output = this._longDateFormat[key];
-            if (!output && this._longDateFormat[key.toUpperCase()]) {
-                output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) {
-                    return val.slice(1);
-                });
-                this._longDateFormat[key] = output;
-            }
-            return output;
-        },
-
-        isPM : function (input) {
-            // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
-            // Using charAt should be more compatible.
-            return ((input + '').toLowerCase().charAt(0) === 'p');
-        },
-
-        _meridiemParse : /[ap]\.?m?\.?/i,
-        meridiem : function (hours, minutes, isLower) {
-            if (hours > 11) {
-                return isLower ? 'pm' : 'PM';
-            } else {
-                return isLower ? 'am' : 'AM';
-            }
-        },
-
-
-        _calendar : {
-            sameDay : '[Today at] LT',
-            nextDay : '[Tomorrow at] LT',
-            nextWeek : 'dddd [at] LT',
-            lastDay : '[Yesterday at] LT',
-            lastWeek : '[Last] dddd [at] LT',
-            sameElse : 'L'
-        },
-        calendar : function (key, mom, now) {
-            var output = this._calendar[key];
-            return typeof output === 'function' ? output.apply(mom, [now]) : output;
-        },
-
-        _relativeTime : {
-            future : 'in %s',
-            past : '%s ago',
-            s : 'a few seconds',
-            m : 'a minute',
-            mm : '%d minutes',
-            h : 'an hour',
-            hh : '%d hours',
-            d : 'a day',
-            dd : '%d days',
-            M : 'a month',
-            MM : '%d months',
-            y : 'a year',
-            yy : '%d years'
-        },
-
-        relativeTime : function (number, withoutSuffix, string, isFuture) {
-            var output = this._relativeTime[string];
-            return (typeof output === 'function') ?
-                output(number, withoutSuffix, string, isFuture) :
-                output.replace(/%d/i, number);
-        },
-
-        pastFuture : function (diff, output) {
-            var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
-            return typeof format === 'function' ? format(output) : format.replace(/%s/i, output);
-        },
-
-        ordinal : function (number) {
-            return this._ordinal.replace('%d', number);
-        },
-        _ordinal : '%d',
-        _ordinalParse : /\d{1,2}/,
-
-        preparse : function (string) {
-            return string;
-        },
-
-        postformat : function (string) {
-            return string;
-        },
-
-        week : function (mom) {
-            return weekOfYear(mom, this._week.dow, this._week.doy).week;
-        },
-
-        _week : {
-            dow : 0, // Sunday is the first day of the week.
-            doy : 6  // The week that contains Jan 1st is the first week of the year.
-        },
-
-        firstDayOfWeek : function () {
-            return this._week.dow;
-        },
-
-        firstDayOfYear : function () {
-            return this._week.doy;
-        },
-
-        _invalidDate: 'Invalid date',
-        invalidDate: function () {
-            return this._invalidDate;
-        }
-    });
-
-    /************************************
-        Formatting
-    ************************************/
-
-
-    function removeFormattingTokens(input) {
-        if (input.match(/\[[\s\S]/)) {
-            return input.replace(/^\[|\]$/g, '');
-        }
-        return input.replace(/\\/g, '');
-    }
-
-    function makeFormatFunction(format) {
-        var array = format.match(formattingTokens), i, length;
-
-        for (i = 0, length = array.length; i < length; i++) {
-            if (formatTokenFunctions[array[i]]) {
-                array[i] = formatTokenFunctions[array[i]];
-            } else {
-                array[i] = removeFormattingTokens(array[i]);
-            }
-        }
-
-        return function (mom) {
-            var output = '';
-            for (i = 0; i < length; i++) {
-                output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
-            }
-            return output;
-        };
-    }
-
-    // format date using native date object
-    function formatMoment(m, format) {
-        if (!m.isValid()) {
-            return m.localeData().invalidDate();
-        }
-
-        format = expandFormat(format, m.localeData());
-
-        if (!formatFunctions[format]) {
-            formatFunctions[format] = makeFormatFunction(format);
-        }
-
-        return formatFunctions[format](m);
-    }
-
-    function expandFormat(format, locale) {
-        var i = 5;
-
-        function replaceLongDateFormatTokens(input) {
-            return locale.longDateFormat(input) || input;
-        }
-
-        localFormattingTokens.lastIndex = 0;
-        while (i >= 0 && localFormattingTokens.test(format)) {
-            format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
-            localFormattingTokens.lastIndex = 0;
-            i -= 1;
-        }
-
-        return format;
-    }
-
-
-    /************************************
-        Parsing
-    ************************************/
-
-
-    // get the regex to find the next token
-    function getParseRegexForToken(token, config) {
-        var a, strict = config._strict;
-        switch (token) {
-        case 'Q':
-            return parseTokenOneDigit;
-        case 'DDDD':
-            return parseTokenThreeDigits;
-        case 'YYYY':
-        case 'GGGG':
-        case 'gggg':
-            return strict ? parseTokenFourDigits : parseTokenOneToFourDigits;
-        case 'Y':
-        case 'G':
-        case 'g':
-            return parseTokenSignedNumber;
-        case 'YYYYYY':
-        case 'YYYYY':
-        case 'GGGGG':
-        case 'ggggg':
-            return strict ? parseTokenSixDigits : parseTokenOneToSixDigits;
-        case 'S':
-            if (strict) {
-                return parseTokenOneDigit;
-            }
-            /* falls through */
-        case 'SS':
-            if (strict) {
-                return parseTokenTwoDigits;
-            }
-            /* falls through */
-        case 'SSS':
-            if (strict) {
-                return parseTokenThreeDigits;
-            }
-            /* falls through */
-        case 'DDD':
-            return parseTokenOneToThreeDigits;
-        case 'MMM':
-        case 'MMMM':
-        case 'dd':
-        case 'ddd':
-        case 'dddd':
-            return parseTokenWord;
-        case 'a':
-        case 'A':
-            return config._locale._meridiemParse;
-        case 'x':
-            return parseTokenOffsetMs;
-        case 'X':
-            return parseTokenTimestampMs;
-        case 'Z':
-        case 'ZZ':
-            return parseTokenTimezone;
-        case 'T':
-            return parseTokenT;
-        case 'SSSS':
-            return parseTokenDigits;
-        case 'MM':
-        case 'DD':
-        case 'YY':
-        case 'GG':
-        case 'gg':
-        case 'HH':
-        case 'hh':
-        case 'mm':
-        case 'ss':
-        case 'ww':
-        case 'WW':
-            return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits;
-        case 'M':
-        case 'D':
-        case 'd':
-        case 'H':
-        case 'h':
-        case 'm':
-        case 's':
-        case 'w':
-        case 'W':
-        case 'e':
-        case 'E':
-            return parseTokenOneOrTwoDigits;
-        case 'Do':
-            return strict ? config._locale._ordinalParse : config._locale._ordinalParseLenient;
-        default :
-            a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i'));
-            return a;
-        }
-    }
-
-    function utcOffsetFromString(string) {
-        string = string || '';
-        var possibleTzMatches = (string.match(parseTokenTimezone) || []),
-            tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [],
-            parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0],
-            minutes = +(parts[1] * 60) + toInt(parts[2]);
-
-        return parts[0] === '+' ? minutes : -minutes;
-    }
-
-    // function to convert string input to date
-    function addTimeToArrayFromToken(token, input, config) {
-        var a, datePartArray = config._a;
-
-        switch (token) {
-        // QUARTER
-        case 'Q':
-            if (input != null) {
-                datePartArray[MONTH] = (toInt(input) - 1) * 3;
-            }
-            break;
-        // MONTH
-        case 'M' : // fall through to MM
-        case 'MM' :
-            if (input != null) {
-                datePartArray[MONTH] = toInt(input) - 1;
-            }
-            break;
-        case 'MMM' : // fall through to MMMM
-        case 'MMMM' :
-            a = config._locale.monthsParse(input, token, config._strict);
-            // if we didn't find a month name, mark the date as invalid.
-            if (a != null) {
-                datePartArray[MONTH] = a;
-            } else {
-                config._pf.invalidMonth = input;
-            }
-            break;
-        // DAY OF MONTH
-        case 'D' : // fall through to DD
-        case 'DD' :
-            if (input != null) {
-                datePartArray[DATE] = toInt(input);
-            }
-            break;
-        case 'Do' :
-            if (input != null) {
-                datePartArray[DATE] = toInt(parseInt(
-                            input.match(/\d{1,2}/)[0], 10));
-            }
-            break;
-        // DAY OF YEAR
-        case 'DDD' : // fall through to DDDD
-        case 'DDDD' :
-            if (input != null) {
-                config._dayOfYear = toInt(input);
-            }
-
-            break;
-        // YEAR
-        case 'YY' :
-            datePartArray[YEAR] = moment.parseTwoDigitYear(input);
-            break;
-        case 'YYYY' :
-        case 'YYYYY' :
-        case 'YYYYYY' :
-            datePartArray[YEAR] = toInt(input);
-            break;
-        // AM / PM
-        case 'a' : // fall through to A
-        case 'A' :
-            config._meridiem = input;
-            // config._isPm = config._locale.isPM(input);
-            break;
-        // HOUR
-        case 'h' : // fall through to hh
-        case 'hh' :
-            config._pf.bigHour = true;
-            /* falls through */
-        case 'H' : // fall through to HH
-        case 'HH' :
-            datePartArray[HOUR] = toInt(input);
-            break;
-        // MINUTE
-        case 'm' : // fall through to mm
-        case 'mm' :
-            datePartArray[MINUTE] = toInt(input);
-            break;
-        // SECOND
-        case 's' : // fall through to ss
-        case 'ss' :
-            datePartArray[SECOND] = toInt(input);
-            break;
-        // MILLISECOND
-        case 'S' :
-        case 'SS' :
-        case 'SSS' :
-        case 'SSSS' :
-            datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000);
-            break;
-        // UNIX OFFSET (MILLISECONDS)
-        case 'x':
-            config._d = new Date(toInt(input));
-            break;
-        // UNIX TIMESTAMP WITH MS
-        case 'X':
-            config._d = new Date(parseFloat(input) * 1000);
-            break;
-        // TIMEZONE
-        case 'Z' : // fall through to ZZ
-        case 'ZZ' :
-            config._useUTC = true;
-            config._tzm = utcOffsetFromString(input);
-            break;
-        // WEEKDAY - human
-        case 'dd':
-        case 'ddd':
-        case 'dddd':
-            a = config._locale.weekdaysParse(input);
-            // if we didn't get a weekday name, mark the date as invalid
-            if (a != null) {
-                config._w = config._w || {};
-                config._w['d'] = a;
-            } else {
-                config._pf.invalidWeekday = input;
-            }
-            break;
-        // WEEK, WEEK DAY - numeric
-        case 'w':
-        case 'ww':
-        case 'W':
-        case 'WW':
-        case 'd':
-        case 'e':
-        case 'E':
-            token = token.substr(0, 1);
-            /* falls through */
-        case 'gggg':
-        case 'GGGG':
-        case 'GGGGG':
-            token = token.substr(0, 2);
-            if (input) {
-                config._w = config._w || {};
-                config._w[token] = toInt(input);
-            }
-            break;
-        case 'gg':
-        case 'GG':
-            config._w = config._w || {};
-            config._w[token] = moment.parseTwoDigitYear(input);
-        }
-    }
-
-    function dayOfYearFromWeekInfo(config) {
-        var w, weekYear, week, weekday, dow, doy, temp;
-
-        w = config._w;
-        if (w.GG != null || w.W != null || w.E != null) {
-            dow = 1;
-            doy = 4;
-
-            // TODO: We need to take the current isoWeekYear, but that depends on
-            // how we interpret now (local, utc, fixed offset). So create
-            // a now version of current config (take local/utc/offset flags, and
-            // create now).
-            weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year);
-            week = dfl(w.W, 1);
-            weekday = dfl(w.E, 1);
-        } else {
-            dow = config._locale._week.dow;
-            doy = config._locale._week.doy;
-
-            weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year);
-            week = dfl(w.w, 1);
-
-            if (w.d != null) {
-                // weekday -- low day numbers are considered next week
-                weekday = w.d;
-                if (weekday < dow) {
-                    ++week;
-                }
-            } else if (w.e != null) {
-                // local weekday -- counting starts from begining of week
-                weekday = w.e + dow;
-            } else {
-                // default to begining of week
-                weekday = dow;
-            }
-        }
-        temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow);
-
-        config._a[YEAR] = temp.year;
-        config._dayOfYear = temp.dayOfYear;
-    }
-
-    // convert an array to a date.
-    // the array should mirror the parameters below
-    // note: all values past the year are optional and will default to the lowest possible value.
-    // [year, month, day , hour, minute, second, millisecond]
-    function dateFromConfig(config) {
-        var i, date, input = [], currentDate, yearToUse;
-
-        if (config._d) {
-            return;
-        }
-
-        currentDate = currentDateArray(config);
-
-        //compute day of the year from weeks and weekdays
-        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
-            dayOfYearFromWeekInfo(config);
-        }
-
-        //if the day of the year is set, figure out what it is
-        if (config._dayOfYear) {
-            yearToUse = dfl(config._a[YEAR], currentDate[YEAR]);
-
-            if (config._dayOfYear > daysInYear(yearToUse)) {
-                config._pf._overflowDayOfYear = true;
-            }
-
-            date = makeUTCDate(yearToUse, 0, config._dayOfYear);
-            config._a[MONTH] = date.getUTCMonth();
-            config._a[DATE] = date.getUTCDate();
-        }
-
-        // Default to current date.
-        // * if no year, month, day of month are given, default to today
-        // * if day of month is given, default month and year
-        // * if month is given, default only year
-        // * if year is given, don't default anything
-        for (i = 0; i < 3 && config._a[i] == null; ++i) {
-            config._a[i] = input[i] = currentDate[i];
-        }
-
-        // Zero out whatever was not defaulted, including time
-        for (; i < 7; i++) {
-            config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
-        }
-
-        // Check for 24:00:00.000
-        if (config._a[HOUR] === 24 &&
-                config._a[MINUTE] === 0 &&
-                config._a[SECOND] === 0 &&
-                config._a[MILLISECOND] === 0) {
-            config._nextDay = true;
-            config._a[HOUR] = 0;
-        }
-
-        config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input);
-        // Apply timezone offset from input. The actual utcOffset can be changed
-        // with parseZone.
-        if (config._tzm != null) {
-            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
-        }
-
-        if (config._nextDay) {
-            config._a[HOUR] = 24;
-        }
-    }
-
-    function dateFromObject(config) {
-        var normalizedInput;
-
-        if (config._d) {
-            return;
-        }
-
-        normalizedInput = normalizeObjectUnits(config._i);
-        config._a = [
-            normalizedInput.year,
-            normalizedInput.month,
-            normalizedInput.day || normalizedInput.date,
-            normalizedInput.hour,
-            normalizedInput.minute,
-            normalizedInput.second,
-            normalizedInput.millisecond
-        ];
-
-        dateFromConfig(config);
-    }
-
-    function currentDateArray(config) {
-        var now = new Date();
-        if (config._useUTC) {
-            return [
-                now.getUTCFullYear(),
-                now.getUTCMonth(),
-                now.getUTCDate()
-            ];
-        } else {
-            return [now.getFullYear(), now.getMonth(), now.getDate()];
-        }
-    }
-
-    // date from string and format string
-    function makeDateFromStringAndFormat(config) {
-        if (config._f === moment.ISO_8601) {
-            parseISO(config);
-            return;
-        }
-
-        config._a = [];
-        config._pf.empty = true;
-
-        // This array is used to make a Date, either with `new Date` or `Date.UTC`
-        var string = '' + config._i,
-            i, parsedInput, tokens, token, skipped,
-            stringLength = string.length,
-            totalParsedInputLength = 0;
-
-        tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
-
-        for (i = 0; i < tokens.length; i++) {
-            token = tokens[i];
-            parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
-            if (parsedInput) {
-                skipped = string.substr(0, string.indexOf(parsedInput));
-                if (skipped.length > 0) {
-                    config._pf.unusedInput.push(skipped);
-                }
-                string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
-                totalParsedInputLength += parsedInput.length;
-            }
-            // don't parse if it's not a known token
-            if (formatTokenFunctions[token]) {
-                if (parsedInput) {
-                    config._pf.empty = false;
-                }
-                else {
-                    config._pf.unusedTokens.push(token);
-                }
-                addTimeToArrayFromToken(token, parsedInput, config);
-            }
-            else if (config._strict && !parsedInput) {
-                config._pf.unusedTokens.push(token);
-            }
-        }
-
-        // add remaining unparsed input length to the string
-        config._pf.charsLeftOver = stringLength - totalParsedInputLength;
-        if (string.length > 0) {
-            config._pf.unusedInput.push(string);
-        }
-
-        // clear _12h flag if hour is <= 12
-        if (config._pf.bigHour === true && config._a[HOUR] <= 12) {
-            config._pf.bigHour = undefined;
-        }
-        // handle meridiem
-        config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR],
-                config._meridiem);
-        dateFromConfig(config);
-        checkOverflow(config);
-    }
-
-    function unescapeFormat(s) {
-        return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
-            return p1 || p2 || p3 || p4;
-        });
-    }
-
-    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
-    function regexpEscape(s) {
-        return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
-    }
-
-    // date from string and array of format strings
-    function makeDateFromStringAndArray(config) {
-        var tempConfig,
-            bestMoment,
-
-            scoreToBeat,
-            i,
-            currentScore;
-
-        if (config._f.length === 0) {
-            config._pf.invalidFormat = true;
-            config._d = new Date(NaN);
-            return;
-        }
-
-        for (i = 0; i < config._f.length; i++) {
-            currentScore = 0;
-            tempConfig = copyConfig({}, config);
-            if (config._useUTC != null) {
-                tempConfig._useUTC = config._useUTC;
-            }
-            tempConfig._pf = defaultParsingFlags();
-            tempConfig._f = config._f[i];
-            makeDateFromStringAndFormat(tempConfig);
-
-            if (!isValid(tempConfig)) {
-                continue;
-            }
-
-            // if there is any input that was not parsed add a penalty for that format
-            currentScore += tempConfig._pf.charsLeftOver;
-
-            //or tokens
-            currentScore += tempConfig._pf.unusedTokens.length * 10;
-
-            tempConfig._pf.score = currentScore;
-
-            if (scoreToBeat == null || currentScore < scoreToBeat) {
-                scoreToBeat = currentScore;
-                bestMoment = tempConfig;
-            }
-        }
-
-        extend(config, bestMoment || tempConfig);
-    }
-
-    // date from iso format
-    function parseISO(config) {
-        var i, l,
-            string = config._i,
-            match = isoRegex.exec(string);
-
-        if (match) {
-            config._pf.iso = true;
-            for (i = 0, l = isoDates.length; i < l; i++) {
-                if (isoDates[i][1].exec(string)) {
-                    // match[5] should be 'T' or undefined
-                    config._f = isoDates[i][0] + (match[6] || ' ');
-                    break;
-                }
-            }
-            for (i = 0, l = isoTimes.length; i < l; i++) {
-                if (isoTimes[i][1].exec(string)) {
-                    config._f += isoTimes[i][0];
-                    break;
-                }
-            }
-            if (string.match(parseTokenTimezone)) {
-                config._f += 'Z';
-            }
-            makeDateFromStringAndFormat(config);
-        } else {
-            config._isValid = false;
-        }
-    }
-
-    // date from iso format or fallback
-    function makeDateFromString(config) {
-        parseISO(config);
-        if (config._isValid === false) {
-            delete config._isValid;
-            moment.createFromInputFallback(config);
-        }
-    }
-
-    function map(arr, fn) {
-        var res = [], i;
-        for (i = 0; i < arr.length; ++i) {
-            res.push(fn(arr[i], i));
-        }
-        return res;
-    }
-
-    function makeDateFromInput(config) {
-        var input = config._i, matched;
-        if (input === undefined) {
-            config._d = new Date();
-        } else if (isDate(input)) {
-            config._d = new Date(+input);
-        } else if ((matched = aspNetJsonRegex.exec(input)) !== null) {
-            config._d = new Date(+matched[1]);
-        } else if (typeof input === 'string') {
-            makeDateFromString(config);
-        } else if (isArray(input)) {
-            config._a = map(input.slice(0), function (obj) {
-                return parseInt(obj, 10);
-            });
-            dateFromConfig(config);
-        } else if (typeof(input) === 'object') {
-            dateFromObject(config);
-        } else if (typeof(input) === 'number') {
-            // from milliseconds
-            config._d = new Date(input);
-        } else {
-            moment.createFromInputFallback(config);
-        }
-    }
-
-    function makeDate(y, m, d, h, M, s, ms) {
-        //can't just apply() to create a date:
-        //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
-        var date = new Date(y, m, d, h, M, s, ms);
-
-        //the date constructor doesn't accept years < 1970
-        if (y < 1970) {
-            date.setFullYear(y);
-        }
-        return date;
-    }
-
-    function makeUTCDate(y) {
-        var date = new Date(Date.UTC.apply(null, arguments));
-        if (y < 1970) {
-            date.setUTCFullYear(y);
-        }
-        return date;
-    }
-
-    function parseWeekday(input, locale) {
-        if (typeof input === 'string') {
-            if (!isNaN(input)) {
-                input = parseInt(input, 10);
-            }
-            else {
-                input = locale.weekdaysParse(input);
-                if (typeof input !== 'number') {
-                    return null;
-                }
-            }
-        }
-        return input;
-    }
-
-    /************************************
-        Relative Time
-    ************************************/
-
-
-    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
-    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
-        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
-    }
-
-    function relativeTime(posNegDuration, withoutSuffix, locale) {
-        var duration = moment.duration(posNegDuration).abs(),
-            seconds = round(duration.as('s')),
-            minutes = round(duration.as('m')),
-            hours = round(duration.as('h')),
-            days = round(duration.as('d')),
-            months = round(duration.as('M')),
-            years = round(duration.as('y')),
-
-            args = seconds < relativeTimeThresholds.s && ['s', seconds] ||
-                minutes === 1 && ['m'] ||
-                minutes < relativeTimeThresholds.m && ['mm', minutes] ||
-                hours === 1 && ['h'] ||
-                hours < relativeTimeThresholds.h && ['hh', hours] ||
-                days === 1 && ['d'] ||
-                days < relativeTimeThresholds.d && ['dd', days] ||
-                months === 1 && ['M'] ||
-                months < relativeTimeThresholds.M && ['MM', months] ||
-                years === 1 && ['y'] || ['yy', years];
-
-        args[2] = withoutSuffix;
-        args[3] = +posNegDuration > 0;
-        args[4] = locale;
-        return substituteTimeAgo.apply({}, args);
-    }
-
-
-    /************************************
-        Week of Year
-    ************************************/
-
-
-    // firstDayOfWeek       0 = sun, 6 = sat
-    //                      the day of the week that starts the week
-    //                      (usually sunday or monday)
-    // firstDayOfWeekOfYear 0 = sun, 6 = sat
-    //                      the first week is the week that contains the first
-    //                      of this day of the week
-    //                      (eg. ISO weeks use thursday (4))
-    function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
-        var end = firstDayOfWeekOfYear - firstDayOfWeek,
-            daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(),
-            adjustedMoment;
-
-
-        if (daysToDayOfWeek > end) {
-            daysToDayOfWeek -= 7;
-        }
-
-        if (daysToDayOfWeek < end - 7) {
-            daysToDayOfWeek += 7;
-        }
-
-        adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd');
-        return {
-            week: Math.ceil(adjustedMoment.dayOfYear() / 7),
-            year: adjustedMoment.year()
-        };
-    }
-
-    //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
-    function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) {
-        var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear;
-
-        d = d === 0 ? 7 : d;
-        weekday = weekday != null ? weekday : firstDayOfWeek;
-        daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0);
-        dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1;
-
-        return {
-            year: dayOfYear > 0 ? year : year - 1,
-            dayOfYear: dayOfYear > 0 ?  dayOfYear : daysInYear(year - 1) + dayOfYear
-        };
-    }
-
-    /************************************
-        Top Level Functions
-    ************************************/
-
-    function makeMoment(config) {
-        var input = config._i,
-            format = config._f,
-            res;
-
-        config._locale = config._locale || moment.localeData(config._l);
-
-        if (input === null || (format === undefined && input === '')) {
-            return moment.invalid({nullInput: true});
-        }
-
-        if (typeof input === 'string') {
-            config._i = input = config._locale.preparse(input);
-        }
-
-        if (moment.isMoment(input)) {
-            return new Moment(input, true);
-        } else if (format) {
-            if (isArray(format)) {
-                makeDateFromStringAndArray(config);
-            } else {
-                makeDateFromStringAndFormat(config);
-            }
-        } else {
-            makeDateFromInput(config);
-        }
-
-        res = new Moment(config);
-        if (res._nextDay) {
-            // Adding is smart enough around DST
-            res.add(1, 'd');
-            res._nextDay = undefined;
-        }
-
-        return res;
-    }
-
-    moment = function (input, format, locale, strict) {
-        var c;
-
-        if (typeof(locale) === 'boolean') {
-            strict = locale;
-            locale = undefined;
-        }
-        // object construction must be done this way.
-        // https://github.com/moment/moment/issues/1423
-        c = {};
-        c._isAMomentObject = true;
-        c._i = input;
-        c._f = format;
-        c._l = locale;
-        c._strict = strict;
-        c._isUTC = false;
-        c._pf = defaultParsingFlags();
-
-        return makeMoment(c);
-    };
-
-    moment.suppressDeprecationWarnings = false;
-
-    moment.createFromInputFallback = deprecate(
-        'moment construction falls back to js Date. This is ' +
-        'discouraged and will be removed in upcoming major ' +
-        'release. Please refer to ' +
-        'https://github.com/moment/moment/issues/1407 for more info.',
-        function (config) {
-            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
-        }
-    );
-
-    // Pick a moment m from moments so that m[fn](other) is true for all
-    // other. This relies on the function fn to be transitive.
-    //
-    // moments should either be an array of moment objects or an array, whose
-    // first element is an array of moment objects.
-    function pickBy(fn, moments) {
-        var res, i;
-        if (moments.length === 1 && isArray(moments[0])) {
-            moments = moments[0];
-        }
-        if (!moments.length) {
-            return moment();
-        }
-        res = moments[0];
-        for (i = 1; i < moments.length; ++i) {
-            if (moments[i][fn](res)) {
-                res = moments[i];
-            }
-        }
-        return res;
-    }
-
-    moment.min = function () {
-        var args = [].slice.call(arguments, 0);
-
-        return pickBy('isBefore', args);
-    };
-
-    moment.max = function () {
-        var args = [].slice.call(arguments, 0);
-
-        return pickBy('isAfter', args);
-    };
-
-    // creating with utc
-    moment.utc = function (input, format, locale, strict) {
-        var c;
-
-        if (typeof(locale) === 'boolean') {
-            strict = locale;
-            locale = undefined;
-        }
-        // object construction must be done this way.
-        // https://github.com/moment/moment/issues/1423
-        c = {};
-        c._isAMomentObject = true;
-        c._useUTC = true;
-        c._isUTC = true;
-        c._l = locale;
-        c._i = input;
-        c._f = format;
-        c._strict = strict;
-        c._pf = defaultParsingFlags();
-
-        return makeMoment(c).utc();
-    };
-
-    // creating with unix timestamp (in seconds)
-    moment.unix = function (input) {
-        return moment(input * 1000);
-    };
-
-    // duration
-    moment.duration = function (input, key) {
-        var duration = input,
-            // matching against regexp is expensive, do it on demand
-            match = null,
-            sign,
-            ret,
-            parseIso,
-            diffRes;
-
-        if (moment.isDuration(input)) {
-            duration = {
-                ms: input._milliseconds,
-                d: input._days,
-                M: input._months
-            };
-        } else if (typeof input === 'number') {
-            duration = {};
-            if (key) {
-                duration[key] = input;
-            } else {
-                duration.milliseconds = input;
-            }
-        } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) {
-            sign = (match[1] === '-') ? -1 : 1;
-            duration = {
-                y: 0,
-                d: toInt(match[DATE]) * sign,
-                h: toInt(match[HOUR]) * sign,
-                m: toInt(match[MINUTE]) * sign,
-                s: toInt(match[SECOND]) * sign,
-                ms: toInt(match[MILLISECOND]) * sign
-            };
-        } else if (!!(match = isoDurationRegex.exec(input))) {
-            sign = (match[1] === '-') ? -1 : 1;
-            parseIso = function (inp) {
-                // We'd normally use ~~inp for this, but unfortunately it also
-                // converts floats to ints.
-                // inp may be undefined, so careful calling replace on it.
-                var res = inp && parseFloat(inp.replace(',', '.'));
-                // apply sign while we're at it
-                return (isNaN(res) ? 0 : res) * sign;
-            };
-            duration = {
-                y: parseIso(match[2]),
-                M: parseIso(match[3]),
-                d: parseIso(match[4]),
-                h: parseIso(match[5]),
-                m: parseIso(match[6]),
-                s: parseIso(match[7]),
-                w: parseIso(match[8])
-            };
-        } else if (duration == null) {// checks for null or undefined
-            duration = {};
-        } else if (typeof duration === 'object' &&
-                ('from' in duration || 'to' in duration)) {
-            diffRes = momentsDifference(moment(duration.from), moment(duration.to));
-
-            duration = {};
-            duration.ms = diffRes.milliseconds;
-            duration.M = diffRes.months;
-        }
-
-        ret = new Duration(duration);
-
-        if (moment.isDuration(input) && hasOwnProp(input, '_locale')) {
-            ret._locale = input._locale;
-        }
-
-        return ret;
-    };
-
-    // version number
-    moment.version = VERSION;
-
-    // default format
-    moment.defaultFormat = isoFormat;
-
-    // constant that refers to the ISO standard
-    moment.ISO_8601 = function () {};
-
-    // Plugins that add properties should also add the key here (null value),
-    // so we can properly clone ourselves.
-    moment.momentProperties = momentProperties;
-
-    // This function will be called whenever a moment is mutated.
-    // It is intended to keep the offset in sync with the timezone.
-    moment.updateOffset = function () {};
-
-    // This function allows you to set a threshold for relative time strings
-    moment.relativeTimeThreshold = function (threshold, limit) {
-        if (relativeTimeThresholds[threshold] === undefined) {
-            return false;
-        }
-        if (limit === undefined) {
-            return relativeTimeThresholds[threshold];
-        }
-        relativeTimeThresholds[threshold] = limit;
-        return true;
-    };
-
-    moment.lang = deprecate(
-        'moment.lang is deprecated. Use moment.locale instead.',
-        function (key, value) {
-            return moment.locale(key, value);
-        }
-    );
-
-    // This function will load locale and then set the global locale.  If
-    // no arguments are passed in, it will simply return the current global
-    // locale key.
-    moment.locale = function (key, values) {
-        var data;
-        if (key) {
-            if (typeof(values) !== 'undefined') {
-                data = moment.defineLocale(key, values);
-            }
-            else {
-                data = moment.localeData(key);
-            }
-
-            if (data) {
-                moment.duration._locale = moment._locale = data;
-            }
-        }
-
-        return moment._locale._abbr;
-    };
-
-    moment.defineLocale = function (name, values) {
-        if (values !== null) {
-            values.abbr = name;
-            if (!locales[name]) {
-                locales[name] = new Locale();
-            }
-            locales[name].set(values);
-
-            // backwards compat for now: also set the locale
-            moment.locale(name);
-
-            return locales[name];
-        } else {
-            // useful for testing
-            delete locales[name];
-            return null;
-        }
-    };
-
-    moment.langData = deprecate(
-        'moment.langData is deprecated. Use moment.localeData instead.',
-        function (key) {
-            return moment.localeData(key);
-        }
-    );
-
-    // returns locale data
-    moment.localeData = function (key) {
-        var locale;
-
-        if (key && key._locale && key._locale._abbr) {
-            key = key._locale._abbr;
-        }
-
-        if (!key) {
-            return moment._locale;
-        }
-
-        if (!isArray(key)) {
-            //short-circuit everything else
-            locale = loadLocale(key);
-            if (locale) {
-                return locale;
-            }
-            key = [key];
-        }
-
-        return chooseLocale(key);
-    };
-
-    // compare moment object
-    moment.isMoment = function (obj) {
-        return obj instanceof Moment ||
-            (obj != null && hasOwnProp(obj, '_isAMomentObject'));
-    };
-
-    // for typechecking Duration objects
-    moment.isDuration = function (obj) {
-        return obj instanceof Duration;
-    };
-
-    for (i = lists.length - 1; i >= 0; --i) {
-        makeList(lists[i]);
-    }
-
-    moment.normalizeUnits = function (units) {
-        return normalizeUnits(units);
-    };
-
-    moment.invalid = function (flags) {
-        var m = moment.utc(NaN);
-        if (flags != null) {
-            extend(m._pf, flags);
-        }
-        else {
-            m._pf.userInvalidated = true;
-        }
-
-        return m;
-    };
-
-    moment.parseZone = function () {
-        return moment.apply(null, arguments).parseZone();
-    };
-
-    moment.parseTwoDigitYear = function (input) {
-        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
-    };
-
-    moment.isDate = isDate;
-
-    /************************************
-        Moment Prototype
-    ************************************/
-
-
-    extend(moment.fn = Moment.prototype, {
-
-        clone : function () {
-            return moment(this);
-        },
-
-        valueOf : function () {
-            return +this._d - ((this._offset || 0) * 60000);
-        },
-
-        unix : function () {
-            return Math.floor(+this / 1000);
-        },
-
-        toString : function () {
-            return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
-        },
-
-        toDate : function () {
-            return this._offset ? new Date(+this) : this._d;
-        },
-
-        toISOString : function () {
-            var m = moment(this).utc();
-            if (0 < m.year() && m.year() <= 9999) {
-                if ('function' === typeof Date.prototype.toISOString) {
-                    // native implementation is ~50x faster, use it when we can
-                    return this.toDate().toISOString();
-                } else {
-                    return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
-                }
-            } else {
-                return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
-            }
-        },
-
-        toArray : function () {
-            var m = this;
-            return [
-                m.year(),
-                m.month(),
-                m.date(),
-                m.hours(),
-                m.minutes(),
-                m.seconds(),
-                m.milliseconds()
-            ];
-        },
-
-        isValid : function () {
-            return isValid(this);
-        },
-
-        isDSTShifted : function () {
-            if (this._a) {
-                return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0;
-            }
-
-            return false;
-        },
-
-        parsingFlags : function () {
-            return extend({}, this._pf);
-        },
-
-        invalidAt: function () {
-            return this._pf.overflow;
-        },
-
-        utc : function (keepLocalTime) {
-            return this.utcOffset(0, keepLocalTime);
-        },
-
-        local : function (keepLocalTime) {
-            if (this._isUTC) {
-                this.utcOffset(0, keepLocalTime);
-                this._isUTC = false;
-
-                if (keepLocalTime) {
-                    this.subtract(this._dateUtcOffset(), 'm');
-                }
-            }
-            return this;
-        },
-
-        format : function (inputString) {
-            var output = formatMoment(this, inputString || moment.defaultFormat);
-            return this.localeData().postformat(output);
-        },
-
-        add : createAdder(1, 'add'),
-
-        subtract : createAdder(-1, 'subtract'),
-
-        diff : function (input, units, asFloat) {
-            var that = makeAs(input, this),
-                zoneDiff = (that.utcOffset() - this.utcOffset()) * 6e4,
-                anchor, diff, output, daysAdjust;
-
-            units = normalizeUnits(units);
-
-            if (units === 'year' || units === 'month' || units === 'quarter') {
-                output = monthDiff(this, that);
-                if (units === 'quarter') {
-                    output = output / 3;
-                } else if (units === 'year') {
-                    output = output / 12;
-                }
-            } else {
-                diff = this - that;
-                output = units === 'second' ? diff / 1e3 : // 1000
-                    units === 'minute' ? diff / 6e4 : // 1000 * 60
-                    units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60
-                    units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
-                    units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
-                    diff;
-            }
-            return asFloat ? output : absRound(output);
-        },
-
-        from : function (time, withoutSuffix) {
-            return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
-        },
-
-        fromNow : function (withoutSuffix) {
-            return this.from(moment(), withoutSuffix);
-        },
-
-        calendar : function (time) {
-            // We want to compare the start of today, vs this.
-            // Getting start-of-today depends on whether we're locat/utc/offset
-            // or not.
-            var now = time || moment(),
-                sod = makeAs(now, this).startOf('day'),
-                diff = this.diff(sod, 'days', true),
-                format = diff < -6 ? 'sameElse' :
-                    diff < -1 ? 'lastWeek' :
-                    diff < 0 ? 'lastDay' :
-                    diff < 1 ? 'sameDay' :
-                    diff < 2 ? 'nextDay' :
-                    diff < 7 ? 'nextWeek' : 'sameElse';
-            return this.format(this.localeData().calendar(format, this, moment(now)));
-        },
-
-        isLeapYear : function () {
-            return isLeapYear(this.year());
-        },
-
-        isDST : function () {
-            return (this.utcOffset() > this.clone().month(0).utcOffset() ||
-                this.utcOffset() > this.clone().month(5).utcOffset());
-        },
-
-        day : function (input) {
-            var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
-            if (input != null) {
-                input = parseWeekday(input, this.localeData());
-                return this.add(input - day, 'd');
-            } else {
-                return day;
-            }
-        },
-
-        month : makeAccessor('Month', true),
-
-        startOf : function (units) {
-            units = normalizeUnits(units);
-            // the following switch intentionally omits break keywords
-            // to utilize falling through the cases.
-            switch (units) {
-            case 'year':
-                this.month(0);
-                /* falls through */
-            case 'quarter':
-            case 'month':
-                this.date(1);
-                /* falls through */
-            case 'week':
-            case 'isoWeek':
-            case 'day':
-                this.hours(0);
-                /* falls through */
-            case 'hour':
-                this.minutes(0);
-                /* falls through */
-            case 'minute':
-                this.seconds(0);
-                /* falls through */
-            case 'second':
-                this.milliseconds(0);
-                /* falls through */
-            }
-
-            // weeks are a special case
-            if (units === 'week') {
-                this.weekday(0);
-            } else if (units === 'isoWeek') {
-                this.isoWeekday(1);
-            }
-
-            // quarters are also special
-            if (units === 'quarter') {
-                this.month(Math.floor(this.month() / 3) * 3);
-            }
-
-            return this;
-        },
-
-        endOf: function (units) {
-            units = normalizeUnits(units);
-            if (units === undefined || units === 'millisecond') {
-                return this;
-            }
-            return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
-        },
-
-        isAfter: function (input, units) {
-            var inputMs;
-            units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
-            if (units === 'millisecond') {
-                input = moment.isMoment(input) ? input : moment(input);
-                return +this > +input;
-            } else {
-                inputMs = moment.isMoment(input) ? +input : +moment(input);
-                return inputMs < +this.clone().startOf(units);
-            }
-        },
-
-        isBefore: function (input, units) {
-            var inputMs;
-            units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
-            if (units === 'millisecond') {
-                input = moment.isMoment(input) ? input : moment(input);
-                return +this < +input;
-            } else {
-                inputMs = moment.isMoment(input) ? +input : +moment(input);
-                return +this.clone().endOf(units) < inputMs;
-            }
-        },
-
-        isBetween: function (from, to, units) {
-            return this.isAfter(from, units) && this.isBefore(to, units);
-        },
-
-        isSame: function (input, units) {
-            var inputMs;
-            units = normalizeUnits(units || 'millisecond');
-            if (units === 'millisecond') {
-                input = moment.isMoment(input) ? input : moment(input);
-                return +this === +input;
-            } else {
-                inputMs = +moment(input);
-                return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units));
-            }
-        },
-
-        min: deprecate(
-                 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548',
-                 function (other) {
-                     other = moment.apply(null, arguments);
-                     return other < this ? this : other;
-                 }
-         ),
-
-        max: deprecate(
-                'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548',
-                function (other) {
-                    other = moment.apply(null, arguments);
-                    return other > this ? this : other;
-                }
-        ),
-
-        zone : deprecate(
-                'moment().zone is deprecated, use moment().utcOffset instead. ' +
-                'https://github.com/moment/moment/issues/1779',
-                function (input, keepLocalTime) {
-                    if (input != null) {
-                        if (typeof input !== 'string') {
-                            input = -input;
-                        }
-
-                        this.utcOffset(input, keepLocalTime);
-
-                        return this;
-                    } else {
-                        return -this.utcOffset();
-                    }
-                }
-        ),
-
-        // keepLocalTime = true means only change the timezone, without
-        // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
-        // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
-        // +0200, so we adjust the time as needed, to be valid.
-        //
-        // Keeping the time actually adds/subtracts (one hour)
-        // from the actual represented time. That is why we call updateOffset
-        // a second time. In case it wants us to change the offset again
-        // _changeInProgress == true case, then we have to adjust, because
-        // there is no such time in the given timezone.
-        utcOffset : function (input, keepLocalTime) {
-            var offset = this._offset || 0,
-                localAdjust;
-            if (input != null) {
-                if (typeof input === 'string') {
-                    input = utcOffsetFromString(input);
-                }
-                if (Math.abs(input) < 16) {
-                    input = input * 60;
-                }
-                if (!this._isUTC && keepLocalTime) {
-                    localAdjust = this._dateUtcOffset();
-                }
-                this._offset = input;
-                this._isUTC = true;
-                if (localAdjust != null) {
-                    this.add(localAdjust, 'm');
-                }
-                if (offset !== input) {
-                    if (!keepLocalTime || this._changeInProgress) {
-                        addOrSubtractDurationFromMoment(this,
-                                moment.duration(input - offset, 'm'), 1, false);
-                    } else if (!this._changeInProgress) {
-                        this._changeInProgress = true;
-                        moment.updateOffset(this, true);
-                        this._changeInProgress = null;
-                    }
-                }
-
-                return this;
-            } else {
-                return this._isUTC ? offset : this._dateUtcOffset();
-            }
-        },
-
-        isLocal : function () {
-            return !this._isUTC;
-        },
-
-        isUtcOffset : function () {
-            return this._isUTC;
-        },
-
-        isUtc : function () {
-            return this._isUTC && this._offset === 0;
-        },
-
-        zoneAbbr : function () {
-            return this._isUTC ? 'UTC' : '';
-        },
-
-        zoneName : function () {
-            return this._isUTC ? 'Coordinated Universal Time' : '';
-        },
-
-        parseZone : function () {
-            if (this._tzm) {
-                this.utcOffset(this._tzm);
-            } else if (typeof this._i === 'string') {
-                this.utcOffset(utcOffsetFromString(this._i));
-            }
-            return this;
-        },
-
-        hasAlignedHourOffset : function (input) {
-            if (!input) {
-                input = 0;
-            }
-            else {
-                input = moment(input).utcOffset();
-            }
-
-            return (this.utcOffset() - input) % 60 === 0;
-        },
-
-        daysInMonth : function () {
-            return daysInMonth(this.year(), this.month());
-        },
-
-        dayOfYear : function (input) {
-            var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1;
-            return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
-        },
-
-        quarter : function (input) {
-            return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
-        },
-
-        weekYear : function (input) {
-            var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year;
-            return input == null ? year : this.add((input - year), 'y');
-        },
-
-        isoWeekYear : function (input) {
-            var year = weekOfYear(this, 1, 4).year;
-            return input == null ? year : this.add((input - year), 'y');
-        },
-
-        week : function (input) {
-            var week = this.localeData().week(this);
-            return input == null ? week : this.add((input - week) * 7, 'd');
-        },
-
-        isoWeek : function (input) {
-            var week = weekOfYear(this, 1, 4).week;
-            return input == null ? week : this.add((input - week) * 7, 'd');
-        },
-
-        weekday : function (input) {
-            var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
-            return input == null ? weekday : this.add(input - weekday, 'd');
-        },
-
-        isoWeekday : function (input) {
-            // behaves the same as moment#day except
-            // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
-            // as a setter, sunday should belong to the previous week.
-            return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);
-        },
-
-        isoWeeksInYear : function () {
-            return weeksInYear(this.year(), 1, 4);
-        },
-
-        weeksInYear : function () {
-            var weekInfo = this.localeData()._week;
-            return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
-        },
-
-        get : function (units) {
-            units = normalizeUnits(units);
-            return this[units]();
-        },
-
-        set : function (units, value) {
-            var unit;
-            if (typeof units === 'object') {
-                for (unit in units) {
-                    this.set(unit, units[unit]);
-                }
-            }
-            else {
-                units = normalizeUnits(units);
-                if (typeof this[units] === 'function') {
-                    this[units](value);
-                }
-            }
-            return this;
-        },
-
-        // If passed a locale key, it will set the locale for this
-        // instance.  Otherwise, it will return the locale configuration
-        // variables for this instance.
-        locale : function (key) {
-            var newLocaleData;
-
-            if (key === undefined) {
-                return this._locale._abbr;
-            } else {
-                newLocaleData = moment.localeData(key);
-                if (newLocaleData != null) {
-                    this._locale = newLocaleData;
-                }
-                return this;
-            }
-        },
-
-        lang : deprecate(
-            'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
-            function (key) {
-                if (key === undefined) {
-                    return this.localeData();
-                } else {
-                    return this.locale(key);
-                }
-            }
-        ),
-
-        localeData : function () {
-            return this._locale;
-        },
-
-        _dateUtcOffset : function () {
-            // On Firefox.24 Date#getTimezoneOffset returns a floating point.
-            // https://github.com/moment/moment/pull/1871
-            return -Math.round(this._d.getTimezoneOffset() / 15) * 15;
-        }
-
-    });
-
-    function rawMonthSetter(mom, value) {
-        var dayOfMonth;
-
-        // TODO: Move this out of here!
-        if (typeof value === 'string') {
-            value = mom.localeData().monthsParse(value);
-            // TODO: Another silent failure?
-            if (typeof value !== 'number') {
-                return mom;
-            }
-        }
-
-        dayOfMonth = Math.min(mom.date(),
-                daysInMonth(mom.year(), value));
-        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
-        return mom;
-    }
-
-    function rawGetter(mom, unit) {
-        return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]();
-    }
-
-    function rawSetter(mom, unit, value) {
-        if (unit === 'Month') {
-            return rawMonthSetter(mom, value);
-        } else {
-            return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
-        }
-    }
-
-    function makeAccessor(unit, keepTime) {
-        return function (value) {
-            if (value != null) {
-                rawSetter(this, unit, value);
-                moment.updateOffset(this, keepTime);
-                return this;
-            } else {
-                return rawGetter(this, unit);
-            }
-        };
-    }
-
-    moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false);
-    moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false);
-    moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false);
-    // Setting the hour should keep the time, because the user explicitly
-    // specified which hour he wants. So trying to maintain the same hour (in
-    // a new timezone) makes sense. Adding/subtracting hours does not follow
-    // this rule.
-    moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true);
-    // moment.fn.month is defined separately
-    moment.fn.date = makeAccessor('Date', true);
-    moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true));
-    moment.fn.year = makeAccessor('FullYear', true);
-    moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true));
-
-    // add plural methods
-    moment.fn.days = moment.fn.day;
-    moment.fn.months = moment.fn.month;
-    moment.fn.weeks = moment.fn.week;
-    moment.fn.isoWeeks = moment.fn.isoWeek;
-    moment.fn.quarters = moment.fn.quarter;
-
-    // add aliased format methods
-    moment.fn.toJSON = moment.fn.toISOString;
-
-    // alias isUtc for dev-friendliness
-    moment.fn.isUTC = moment.fn.isUtc;
-
-    /************************************
-        Duration Prototype
-    ************************************/
-
-
-    function daysToYears (days) {
-        // 400 years have 146097 days (taking into account leap year rules)
-        return days * 400 / 146097;
-    }
-
-    function yearsToDays (years) {
-        // years * 365 + absRound(years / 4) -
-        //     absRound(years / 100) + absRound(years / 400);
-        return years * 146097 / 400;
-    }
-
-    extend(moment.duration.fn = Duration.prototype, {
-
-        _bubble : function () {
-            var milliseconds = this._milliseconds,
-                days = this._days,
-                months = this._months,
-                data = this._data,
-                seconds, minutes, hours, years = 0;
-
-            // The following code bubbles up values, see the tests for
-            // examples of what that means.
-            data.milliseconds = milliseconds % 1000;
-
-            seconds = absRound(milliseconds / 1000);
-            data.seconds = seconds % 60;
-
-            minutes = absRound(seconds / 60);
-            data.minutes = minutes % 60;
-
-            hours = absRound(minutes / 60);
-            data.hours = hours % 24;
-
-            days += absRound(hours / 24);
-
-            // Accurately convert days to years, assume start from year 0.
-            years = absRound(daysToYears(days));
-            days -= absRound(yearsToDays(years));
-
-            // 30 days to a month
-            // TODO (iskren): Use anchor date (like 1st Jan) to compute this.
-            months += absRound(days / 30);
-            days %= 30;
-
-            // 12 months -> 1 year
-            years += absRound(months / 12);
-            months %= 12;
-
-            data.days = days;
-            data.months = months;
-            data.years = years;
-        },
-
-        abs : function () {
-            this._milliseconds = Math.abs(this._milliseconds);
-            this._days = Math.abs(this._days);
-            this._months = Math.abs(this._months);
-
-            this._data.milliseconds = Math.abs(this._data.milliseconds);
-            this._data.seconds = Math.abs(this._data.seconds);
-            this._data.minutes = Math.abs(this._data.minutes);
-            this._data.hours = Math.abs(this._data.hours);
-            this._data.months = Math.abs(this._data.months);
-            this._data.years = Math.abs(this._data.years);
-
-            return this;
-        },
-
-        weeks : function () {
-            return absRound(this.days() / 7);
-        },
-
-        valueOf : function () {
-            return this._milliseconds +
-              this._days * 864e5 +
-              (this._months % 12) * 2592e6 +
-              toInt(this._months / 12) * 31536e6;
-        },
-
-        humanize : function (withSuffix) {
-            var output = relativeTime(this, !withSuffix, this.localeData());
-
-            if (withSuffix) {
-                output = this.localeData().pastFuture(+this, output);
-            }
-
-            return this.localeData().postformat(output);
-        },
-
-        add : function (input, val) {
-            // supports only 2.0-style add(1, 's') or add(moment)
-            var dur = moment.duration(input, val);
-
-            this._milliseconds += dur._milliseconds;
-            this._days += dur._days;
-            this._months += dur._months;
-
-            this._bubble();
-
-            return this;
-        },
-
-        subtract : function (input, val) {
-            var dur = moment.duration(input, val);
-
-            this._milliseconds -= dur._milliseconds;
-            this._days -= dur._days;
-            this._months -= dur._months;
-
-            this._bubble();
-
-            return this;
-        },
-
-        get : function (units) {
-            units = normalizeUnits(units);
-            return this[units.toLowerCase() + 's']();
-        },
-
-        as : function (units) {
-            var days, months;
-            units = normalizeUnits(units);
-
-            if (units === 'month' || units === 'year') {
-                days = this._days + this._milliseconds / 864e5;
-                months = this._months + daysToYears(days) * 12;
-                return units === 'month' ? months : months / 12;
-            } else {
-                // handle milliseconds separately because of floating point math errors (issue #1867)
-                days = this._days + Math.round(yearsToDays(this._months / 12));
-                switch (units) {
-                    case 'week': return days / 7 + this._milliseconds / 6048e5;
-                    case 'day': return days + this._milliseconds / 864e5;
-                    case 'hour': return days * 24 + this._milliseconds / 36e5;
-                    case 'minute': return days * 24 * 60 + this._milliseconds / 6e4;
-                    case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000;
-                    // Math.floor prevents floating point math errors here
-                    case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds;
-                    default: throw new Error('Unknown unit ' + units);
-                }
-            }
-        },
-
-        lang : moment.fn.lang,
-        locale : moment.fn.locale,
-
-        toIsoString : deprecate(
-            'toIsoString() is deprecated. Please use toISOString() instead ' +
-            '(notice the capitals)',
-            function () {
-                return this.toISOString();
-            }
-        ),
-
-        toISOString : function () {
-            // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
-            var years = Math.abs(this.years()),
-                months = Math.abs(this.months()),
-                days = Math.abs(this.days()),
-                hours = Math.abs(this.hours()),
-                minutes = Math.abs(this.minutes()),
-                seconds = Math.abs(this.seconds() + this.milliseconds() / 1000);
-
-            if (!this.asSeconds()) {
-                // this is the same as C#'s (Noda) and python (isodate)...
-                // but not other JS (goog.date)
-                return 'P0D';
-            }
-
-            return (this.asSeconds() < 0 ? '-' : '') +
-                'P' +
-                (years ? years + 'Y' : '') +
-                (months ? months + 'M' : '') +
-                (days ? days + 'D' : '') +
-                ((hours || minutes || seconds) ? 'T' : '') +
-                (hours ? hours + 'H' : '') +
-                (minutes ? minutes + 'M' : '') +
-                (seconds ? seconds + 'S' : '');
-        },
-
-        localeData : function () {
-            return this._locale;
-        },
-
-        toJSON : function () {
-            return this.toISOString();
-        }
-    });
-
-    moment.duration.fn.toString = moment.duration.fn.toISOString;
-
-    function makeDurationGetter(name) {
-        moment.duration.fn[name] = function () {
-            return this._data[name];
-        };
-    }
-
-    for (i in unitMillisecondFactors) {
-        if (hasOwnProp(unitMillisecondFactors, i)) {
-            makeDurationGetter(i.toLowerCase());
-        }
-    }
-
-    moment.duration.fn.asMilliseconds = function () {
-        return this.as('ms');
-    };
-    moment.duration.fn.asSeconds = function () {
-        return this.as('s');
-    };
-    moment.duration.fn.asMinutes = function () {
-        return this.as('m');
-    };
-    moment.duration.fn.asHours = function () {
-        return this.as('h');
-    };
-    moment.duration.fn.asDays = function () {
-        return this.as('d');
-    };
-    moment.duration.fn.asWeeks = function () {
-        return this.as('weeks');
-    };
-    moment.duration.fn.asMonths = function () {
-        return this.as('M');
-    };
-    moment.duration.fn.asYears = function () {
-        return this.as('y');
-    };
-
-    /************************************
-        Default Locale
-    ************************************/
-
-
-    // Set default locale, other locale will inherit from English.
-    moment.locale('en', {
-        ordinalParse: /\d{1,2}(th|st|nd|rd)/,
-        ordinal : function (number) {
-            var b = number % 10,
-                output = (toInt(number % 100 / 10) === 1) ? 'th' :
-                (b === 1) ? 'st' :
-                (b === 2) ? 'nd' :
-                (b === 3) ? 'rd' : 'th';
-            return number + output;
-        }
-    });
-
-    /* EMBED_LOCALES */
-
-    /************************************
-        Exposing Moment
-    ************************************/
-
-    function makeGlobal(shouldDeprecate) {
-        /*global ender:false */
-        if (typeof ender !== 'undefined') {
-            return;
-        }
-        oldGlobalMoment = globalScope.moment;
-        if (shouldDeprecate) {
-            globalScope.moment = deprecate(
-                    'Accessing Moment through the global scope is ' +
-                    'deprecated, and will be removed in an upcoming ' +
-                    'release.',
-                    moment);
-        } else {
-            globalScope.moment = moment;
-        }
-    }
-
-    // CommonJS module is defined
-    if (hasModule) {
-        module.exports = moment;
-    } else if (typeof define === 'function' && define.amd) {
-        define(function (require, exports, module) {
-            if (module.config && module.config() && module.config().noGlobal === true) {
-                // release the global variable
-                globalScope.moment = oldGlobalMoment;
-            }
-
-            return moment;
-        });
-        makeGlobal(true);
-    } else {
-        makeGlobal();
-    }
-}).call(this);
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/stjs/js/stjs.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/stjs/js/stjs.js
deleted file mode 100644
index 62ec0c1d3605626fadd81369a1b18f04f18ddc1e..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/stjs/js/stjs.js
+++ /dev/null
@@ -1,761 +0,0 @@
-/*
- *  Copyright 2011 Alexandru Craciun, Eyal Kaspi
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *       http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-/**** Functionality in Java, but not in JS ********
- * methods added to JS prototypes
- */
-
-var NOT_IMPLEMENTED = function(){
-	throw "This method is not implemented in Javascript.";
-}
-
-JavalikeEquals = function(value){
-	if (value == null)
-		return false;
-	if (value.valueOf)
-		return this.valueOf() === value.valueOf();
-	return this === value;
-}
-
-/* String */
-if (!String.prototype.equals) {
-	String.prototype.equals=JavalikeEquals;
-}
-if (!String.prototype.getBytes) {
-	String.prototype.getBytes=NOT_IMPLEMENTED;
-}
-if (!String.prototype.getChars) {
-	String.prototype.getChars=NOT_IMPLEMENTED;
-}
-if (!String.prototype.contentEquals){
-	String.prototype.contentEquals=NOT_IMPLEMENTED;
-}
-if (!String.prototype.startsWith) {
-	String.prototype.startsWith=function(start, from){
-		var f = from != null ? from : 0;
-		return this.substring(f, f + start.length) == start;
-	}
-}
-if (!String.prototype.endsWith) {
-	String.prototype.endsWith=function(end){
-		if (end == null)
-			return false;
-		if (this.length < end.length)
-			return false;
-		return this.substring(this.length - end.length, this.length) == end;
-	}
-}
-if (!String.prototype.trim) {
-	var trimLeft = /^\s+/;
-	var trimRight = /\s+$/;
-	String.prototype.trim = function(  ) {
-		return this.replace( trimLeft, "" ).replace( trimRight, "" );
-	}
-}
-if (!String.prototype.matches){
-	String.prototype.matches=function(regexp){
-		return this.match("^" + regexp + "$") != null;
-	}
-}
-if (!String.prototype.compareTo){
-	String.prototype.compareTo=function(other){
-		if (other == null)
-			return 1;
-		if (this < other)
-			return -1;
-		if (this == other)
-			return 0;
-		return 1;
-	}
-}
-
-if (!String.prototype.compareToIgnoreCase){
-	String.prototype.compareToIgnoreCase=function(other){
-		if (other == null)
-			return 1;
-		return this.toLowerCase().compareTo(other.toLowerCase());
-	}
-}
-
-if (!String.prototype.equalsIgnoreCase){
-	String.prototype.equalsIgnoreCase=function(other){
-		if (other == null)
-			return false;
-		return this.toLowerCase() === other.toLowerCase();
-	}
-}
-
-if (!String.prototype.codePointAt){
-	String.prototype.codePointAt=String.prototype.charCodeAt;
-}
-
-if (!String.prototype.codePointBefore){
-	String.prototype.codePointBefore=NOT_IMPLEMENTED;
-}
-if (!String.prototype.codePointCount){
-	String.prototype.codePointCount=NOT_IMPLEMENTED;
-}
-
-if (!String.prototype.replaceAll){
-	String.prototype.replaceAll=function(regexp, replace){
-		return this.replace(new RegExp(regexp, "g"), replace);
-	}
-}
-
-if (!String.prototype.replaceFirst){
-	String.prototype.replaceFirst=function(regexp, replace){
-		return this.replace(new RegExp(regexp), replace);
-	}
-}
-
-if (!String.prototype.regionMatches){
-	String.prototype.regionMatches=function(ignoreCase, toffset, other, ooffset, len){
-		if (arguments.length == 4){
-			len=arguments[3];
-			ooffset=arguments[2];
-			other=arguments[1];
-			toffset=arguments[0];
-			ignoreCase=false;
-		}
-		if (toffset < 0 || ooffset < 0 || other == null || toffset + len > this.length || ooffset + len > other.length)
-			return false;
-		var s1 = this.substring(toffset, toffset + len);
-		var s2 = other.substring(ooffset, ooffset + len);
-		return ignoreCase ? s1.equalsIgnoreCase(s2) : s1 === s2;
-	}
-}
-
-
-
-//force valueof to match the Java's behavior
-String.valueOf=function(value){
-	return new String(value);
-}
-
-/* Number */
-var Byte=Number;
-var Double=Number;
-var Float=Number;
-var Integer=Number;
-var Long=Number;
-var Short=Number;
-
-/* type conversion - approximative as Javascript only has integers and doubles */
-if (!Number.prototype.intValue) {
-	Number.prototype.intValue=function(){
-		return parseInt(this);
-	}
-}
-if (!Number.prototype.shortValue) {
-	Number.prototype.shortValue=function(){
-		return parseInt(this);
-	}
-}
-if (!Number.prototype.longValue) {
-	Number.prototype.longValue=function(){
-		return parseInt(this);
-	}
-}
-if (!Number.prototype.byteValue) {
-	Number.prototype.byteValue=function(){
-		return parseInt(this);
-	}
-}
-
-if (!Number.prototype.floatValue) {
-	Number.prototype.floatValue=function(){
-		return parseFloat(this);
-	}
-}
-
-if (!Number.prototype.doubleValue) {
-	Number.prototype.doubleValue=function(){
-		return parseFloat(this);
-	}
-}
-
-if (!Number.parseInt) {
-	Number.parseInt = parseInt;
-}
-if (!Number.parseShort) {
-	Number.parseShort = parseInt;
-}
-if (!Number.parseLong) {
-	Number.parseLong = parseInt;
-}
-if (!Number.parseByte) {
-	Number.parseByte = parseInt;
-}
-
-if (!Number.parseDouble) {
-	Number.parseDouble = parseFloat;
-}
-
-if (!Number.parseFloat) {
-	Number.parseFloat = parseFloat;
-}
-
-if (!Number.isNaN) {
-	Number.isNaN = isNaN;
-}
-
-if (!Number.prototype.isNaN) {
-	Number.prototype.isNaN = isNaN;
-}
-if (!Number.prototype.equals) {
-	Number.prototype.equals=JavalikeEquals;
-}
-
-//force valueof to match approximately the Java's behavior (for Integer.valueOf it returns in fact a double)
-Number.valueOf=function(value){
-	return new Number(value).valueOf();
-}
-
-/* Boolean */
-if (!Boolean.prototype.equals) {
-	Boolean.prototype.equals=JavalikeEquals;
-}
-
-//force valueof to match the Java's behavior
-Boolean.valueOf=function(value){
-	return new Boolean(value).valueOf();
-}
-
-
-
-/************* STJS helper functions ***************/
-var stjs={};
-
-stjs.global=this;
-stjs.skipCopy = {"prototype":true, "constructor": true, "$typeDescription":true, "$inherit" : true};
-
-stjs.ns=function(path){
-	var p = path.split(".");
-	var obj = stjs.global;
-	for(var i = 0; i < p.length; ++i){
-		var part = p[i];
-		obj = obj[part] = obj[part] || {};
-	}
-	return obj;
-};
-
-stjs.copyProps=function(from, to){
-	for(key in from){
-		if (!stjs.skipCopy[key])
-			to[key]	= from[key];
-	}
-	return to;
-};
-
-stjs.copyInexistentProps=function(from, to){
-	for(key in from){
-		if (!stjs.skipCopy[key] && !to[key])
-			to[key]	= from[key];
-	}
-	return to;
-};
-
-stjs.extend=function(_constructor, _super, _implements, _initializer, _typeDescription){
-	if(typeof(_typeDescription) !== "object"){
-		// stjs 1.3+ always passes an non-null object to _typeDescription => The code calling stjs.extend
-		// was generated with version 1.2 or earlier, so let's call the 1.2 version of stjs.extend
-		return stjs.extend12.apply(this, arguments);
-	}
-
-	_constructor.$inherit=[];
-	var key, a;
-	if(_super != null){
-		// I is used as a no-op constructor that has the same prototype as _super
-		// we do this because we cannot predict the result of calling new _super()
-		// without parameters (it might throw an exception).
-		// Basically, the following 3 lines are a safe equivalent for
-		// _constructor.prototype = new _super();
-		var I = function(){};
-		I.prototype	= _super.prototype;
-		_constructor.prototype	= new I();
-
-		// copy static properties for super
-		// assign every method from proto instance
-		stjs.copyProps(_super, _constructor);
-		stjs.copyProps(_super.$typeDescription, _typeDescription);
-
-		//add the super class to inherit array
-		_constructor.$inherit.push(_super);
-	}
-
-	// copy static properties and default methods from interfaces
-	for(a = 0; a < _implements.length; ++a){
-		stjs.copyProps(_implements[a], _constructor);
-		stjs.copyInexistentProps(_implements[a].prototype, _constructor.prototype);
-		_constructor.$inherit.push(_implements[a]);
-	}
-
-	// remember the correct constructor
-	_constructor.prototype.constructor	= _constructor;
-
-	// run the initializer to assign all static and instance variables/functions
-	if(_initializer != null){
-		_initializer(_constructor, _constructor.prototype);
-	}
-
-	_constructor.$typeDescription = _typeDescription;
-
-	// add the default equals method if it is not present yet, and we don't have a superclass
-	if(_super == null && !_constructor.prototype.equals){
-		_constructor.prototype.equals = JavalikeEquals;
-	}
-	
-	_constructor.prototype.toJSON = function() {
-		function flatten(x) {
-			if (_.isArray(x)) {
-				return _.map(x, function(el) { return flatten(el) });
-			} else if (_.isObject(x)) {
-				var result = Object.create(null);
-
-			    for(var i in x) {
-			    	if (!_.isFunction(x[i])) {
-			    		result[i] = flatten(x[i]);
-			    	}
-			    }
-			    return result;
-			}
-			
-			return x;
-		}
-		
-		var r = flatten(this);
-		var res = JSON.stringify(r);
-		return r;
-	}
-
-	// build package and assign
-	return	_constructor;
-};
-
-/**
- * 1.2 and earlier version of stjs.extend. Included for backwards compatibility
- */
-stjs.extend12=function( _constructor,  _super, _implements){
-	var key, a;
-	var I = function(){};
-	I.prototype	= _super.prototype;
-	_constructor.prototype	= new I();
-
-	//copy static properties for super and interfaces
-	// assign every method from proto instance
-	for(a = 1; a < arguments.length; ++a){
-		stjs.copyProps(arguments[a], _constructor);
-	}
-	// remember the correct constructor
-	_constructor.prototype.constructor	= _constructor;
-
-	// add the default equals method if we don't have a superclass. Code generated with version 1.2 will
-	// override this method is equals() is present in the original java code.
-	// this was not part of the original 1.2 version of extends, however forward compatibility
-	// with 1.3 requires it
-	if(_super == null){
-		_constructor.prototype.equals = JavalikeEquals;
-	}
-
-	// build package and assign
-	return	_constructor;
-};
-
-/**
- * checks if the child is an instanceof parent. it checks recursively if "parent" is the child itself or it's found somewhere in the $inherit array
- */
-stjs.isInstanceOf=function(child, parent){
-	if (child === parent)
-		return true;
-	if (!child.$inherit)
-		return false;
-	for(var i in child.$inherit){
-		if (stjs.isInstanceOf(child.$inherit[i], parent)) {
-			return true;
-		}
-	}
-	return false;
-}
-stjs.enumEntry=function(idx, name){
-	this._name = name;
-	this._ordinal = idx;
-};
-
-stjs.enumEntry.prototype.name=function(){
-	return this._name;
-};
-stjs.enumEntry.prototype.ordinal=function(){
-	return this._ordinal;
-};
-stjs.enumEntry.prototype.toString=function(){
-	return this._name;
-};
-stjs.enumEntry.prototype.equals=JavalikeEquals;
-
-stjs.enumeration=function(){
-	var i;
-	var e = {};
-	e._values = [];
-	for(i = 0; i < arguments.length; ++i){
-		e[arguments[i]] = new stjs.enumEntry(i, arguments[i]);
-		e._values[i] = e[arguments[i]];
-	}
-	e.values = function(){return this._values;};
-	e.valueOf=function(label){
-		return this[label];
-	}
-	return e;
-};
-
-
-/**
- * if true the execution of generated main methods is disabled.
- * this is useful when executing unit tests, to no have the main methods executing before the tests
- */
-stjs.mainCallDisabled = false;
-
-stjs.exception=function(err){
-	return err;
-}
-
-stjs.isEnum=function(obj){
-	return obj != null && obj.constructor == stjs.enumEntry;
-}
-
-stjs.trunc=function(n) {
-	if (n == null)
-		return null;
-	return n | 0;
-}
-
-stjs.converters = {
-	Date : function(s, type) {
-		var a = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)$/
-				.exec(s);
-		if (a) {
-			return new Date(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6]);
-		}
-		return null;
-	},
-
-	Enum : function(s, type){
-		return eval(type.arguments[0])[s];
-	}
-};
-
-/** *********** global ************** */
-function exception(err){
-	return err;
-}
-
-function isEnum(obj){
-	return obj != null && obj.constructor == stjs.enumEntry;
-}
-
-/******* parsing *************/
-
-/**
- * parse a json string using the type definition to build a typed object hierarchy
- */
-stjs.parseJSON = (function () {
-	  var number
-	      = '(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)';
-	  var oneChar = '(?:[^\\0-\\x08\\x0a-\\x1f\"\\\\]'
-	      + '|\\\\(?:[\"/\\\\bfnrt]|u[0-9A-Fa-f]{4}))';
-	  var string = '(?:\"' + oneChar + '*\")';
-
-	  // Will match a value in a well-formed JSON file.
-	  // If the input is not well-formed, may match strangely, but not in an unsafe
-	  // way.
-	  // Since this only matches value tokens, it does not match whitespace, colons,
-	  // or commas.
-	  var jsonToken = new RegExp(
-	      '(?:false|true|null|[\\{\\}\\[\\]]'
-	      + '|' + number
-	      + '|' + string
-	      + ')', 'g');
-
-	  // Matches escape sequences in a string literal
-	  var escapeSequence = new RegExp('\\\\(?:([^u])|u(.{4}))', 'g');
-
-	  // Decodes escape sequences in object literals
-	  var escapes = {
-	    '"': '"',
-	    '/': '/',
-	    '\\': '\\',
-	    'b': '\b',
-	    'f': '\f',
-	    'n': '\n',
-	    'r': '\r',
-	    't': '\t'
-	  };
-	  function unescapeOne(_, ch, hex) {
-	    return ch ? escapes[ch] : String.fromCharCode(parseInt(hex, 16));
-	  }
-
-	  var constructors = {};
-
-	  function constr(name, param){
-		  var c = constructors[name];
-		  if (!c)
-			  constructors[name] = c = eval(name);
-		  return new c(param);
-	  }
-
-	  function convert(type, json){
-		  if (!type)
-			  return json;
-		  var cv = stjs.converters[type.name || type];
-		  if (cv)
-			  return cv(json, type);
-		  //hopefully the type has a string constructor
-		 return constr(type, json);
-	  }
-
-	  function builder(type){
-		  if (!type)
-			  return {};
-			if (typeof type == "function")
-				return new type();
-			if (type.name) {
-				if (type.name == "Map")
-					return {};
-				if (type.name == "Array")
-					return [];
-				return constr(type.name);
-			}
-			return constr(type);
-	  }
-
-	  // A non-falsy value that coerces to the empty string when used as a key.
-	  var EMPTY_STRING = new String('');
-	  var SLASH = '\\';
-
-	  // Constructor to use based on an open token.
-	  var firstTokenCtors = { '{': Object, '[': Array };
-
-	  var hop = Object.hasOwnProperty;
-
-	  function nextMatch(str){
-		  var m = jsonToken.exec(str);
-		  return m != null ? m[0] : null;
-	  }
-	  return function (json, type) {
-	    // Split into tokens
-	    // Construct the object to return
-	    var result;
-	    var tok = nextMatch(json);
-	    var topLevelPrimitive = false;
-	    if ('{' === tok) {
-	      result = builder(type, null);
-	    } else if ('[' === tok) {
-	      result = [];
-	    } else {
-	      // The RFC only allows arrays or objects at the top level, but the JSON.parse
-	      // defined by the EcmaScript 5 draft does allow strings, booleans, numbers, and null
-	      // at the top level.
-	      result = [];
-	      topLevelPrimitive = true;
-	    }
-
-	    // If undefined, the key in an object key/value record to use for the next
-	    // value parsed.
-	    var key;
-	    // Loop over remaining tokens maintaining a stack of uncompleted objects and
-	    // arrays.
-	    var stack = [result];
-	    var stack2 = [type];
-	    for (tok = nextMatch(json); tok != null; tok = nextMatch(json)) {
-
-	      var cont;
-	      switch (tok.charCodeAt(0)) {
-	        default:  // sign or digit
-	          cont = stack[0];
-	          cont[key || cont.length] = +(tok);
-	          key = void 0;
-	          break;
-	        case 0x22:  // '"'
-	          tok = tok.substring(1, tok.length - 1);
-	          if (tok.indexOf(SLASH) !== -1) {
-	            tok = tok.replace(escapeSequence, unescapeOne);
-	          }
-	          cont = stack[0];
-	          if (!key) {
-	            if (cont instanceof Array) {
-	              key = cont.length;
-	            } else {
-	              key = tok || EMPTY_STRING;  // Use as key for next value seen.
-	              stack2[0] = cont.constructor.$typeDescription ? cont.constructor.$typeDescription[key] : stack2[1].arguments[1];
-	              break;
-	            }
-	          }
-	          cont[key] = convert(stack2[0],tok);
-	          key = void 0;
-	          break;
-	        case 0x5b:  // '['
-	          cont = stack[0];
-	          stack.unshift(cont[key || cont.length] = []);
-	          stack2.unshift(stack2[0].arguments[0]);
-	          //put the element type desc
-	          key = void 0;
-	          break;
-	        case 0x5d:  // ']'
-	          stack.shift();
-	          stack2.shift();
-	          break;
-	        case 0x66:  // 'f'
-	          cont = stack[0];
-	          cont[key || cont.length] = false;
-	          key = void 0;
-	          break;
-	        case 0x6e:  // 'n'
-	          cont = stack[0];
-	          cont[key || cont.length] = null;
-	          key = void 0;
-	          break;
-	        case 0x74:  // 't'
-	          cont = stack[0];
-	          cont[key || cont.length] = true;
-	          key = void 0;
-	          break;
-	        case 0x7b:  // '{'
-	          cont = stack[0];
-	          stack.unshift(cont[key || cont.length] = builder(stack2[0]));
-	          stack2.unshift(null);
-	          key = void 0;
-	          break;
-	        case 0x7d:  // '}'
-	          stack.shift();
-	          stack2.shift();
-	          break;
-	      }
-	    }
-	    // Fail if we've got an uncompleted object.
-	    if (topLevelPrimitive) {
-	      if (stack.length !== 1) { throw new Error(); }
-	      result = result[0];
-	    } else {
-	      if (stack.length) { throw new Error(); }
-	    }
-
-	    return result;
-	  };
-})();
-
-/************* STJS asserts ***************/
-var stjsAssertHandler = function(position, code, msg) {
-	throw msg + " at " + position;
-}
-function setAssertHandler(a) {
-	stjsAssertHandler = a;
-}
-
-function assertArgEquals(position, code, expectedValue, testValue) {
-	if (expectedValue != testValue && stjsAssertHandler)
-		stjsAssertHandler(position, code, "Wrong argument. Expected: " + expectedValue + ", got:" + testValue);
-}
-
-function assertArgNotNull(position, code, testValue) {
-	if (testValue == null && stjsAssertHandler)
-		stjsAssertHandler(position, code, "Wrong argument. Null value");
-}
-
-function assertArgTrue(position, code, condition) {
-	if (!condition && stjsAssertHandler)
-		stjsAssertHandler(position, code, "Wrong argument. Condition is false");
-}
-
-function assertStateEquals(position, code, expectedValue, testValue) {
-	if (expectedValue != testValue && stjsAssertHandler)
-		stjsAssertHandler(position, code, "Wrong state. Expected: " + expectedValue + ", got:" + testValue);
-}
-
-function assertStateNotNull(position, code, testValue) {
-	if (testValue == null && stjsAssertHandler)
-		stjsAssertHandler(position, code, "Wrong state. Null value");
-}
-
-function assertStateTrue(position, code, condition) {
-	if (!condition && stjsAssertHandler)
-		stjsAssertHandler(position, code, "Wrong state. Condition is false");
-}
-/** exception **/
-var Throwable = function(message, cause){
-	if (typeof message === "string"){
-		this.detailMessage  = message;
-		this.message = message;
-		this.cause = cause;
-	} else {
-		this.cause = message;
-	}
-};
-stjs.extend(Throwable, Error, [], function(constructor, prototype){
-	prototype.detailMessage = null;
-	prototype.cause = null;
-	prototype.getMessage = function() {
-        return this.detailMessage;
-    };
-
-	prototype.getLocalizedMessage = function() {
-        return this.getMessage();
-    };
-
-	prototype.getCause = function() {
-        return (this.cause==this ? null : this.cause);
-    };
-
-	prototype.toString = function() {
-	        var s = "Exception";//TODO should get the exception's type name here
-	        var message = this.getLocalizedMessage();
-	        return (message != null) ? (s + ": " + message) : s;
-	 };
-
-	 //TODO use stacktrace.js script
-	 prototype.getStackTrace = function() {
-		 return this.stack;
-	 };
-
-	 //TODO use stacktrace.js script
-	 prototype.printStackTrace = function(){
-		 console.error(this.getStackTrace());
-	 };
-}, {});
-
-var Exception = function(message, cause){
-	Throwable.call(this, message, cause);
-};
-stjs.extend(Exception, Throwable, [], function(constructor, prototype){
-}, {});
-
-var RuntimeException = function(message, cause){
-	Exception.call(this, message, cause);
-};
-stjs.extend(RuntimeException, Exception, [], function(constructor, prototype){
-}, {});
-
-/** stjs field manipulation */
-stjs.setField=function(obj, field, value, returnOldValue){
-	if (stjs.setFieldHandler)
-		return stjs.setFieldHandler(obj, field, value, returnOldValue);
-	var toReturn = returnOldValue ? obj[field] : value;
-	obj[field] = value;
-	return toReturn;
-}
-
-stjs.getField=function(obj, field){
-	if (stjs.getFieldHandler)
-		return stjs.getFieldHandler(obj, field);
-	return obj[field];
-}
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/underscore/js/underscore.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/underscore/js/underscore.js
deleted file mode 100644
index b29332f945b859cea0075bb69e8bd5c1c113f05c..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/lib/underscore/js/underscore.js
+++ /dev/null
@@ -1,1548 +0,0 @@
-//     Underscore.js 1.8.3
-//     http://underscorejs.org
-//     (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
-//     Underscore may be freely distributed under the MIT license.
-
-(function() {
-
-  // Baseline setup
-  // --------------
-
-  // Establish the root object, `window` in the browser, or `exports` on the server.
-  var root = this;
-
-  // Save the previous value of the `_` variable.
-  var previousUnderscore = root._;
-
-  // Save bytes in the minified (but not gzipped) version:
-  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
-
-  // Create quick reference variables for speed access to core prototypes.
-  var
-    push             = ArrayProto.push,
-    slice            = ArrayProto.slice,
-    toString         = ObjProto.toString,
-    hasOwnProperty   = ObjProto.hasOwnProperty;
-
-  // All **ECMAScript 5** native function implementations that we hope to use
-  // are declared here.
-  var
-    nativeIsArray      = Array.isArray,
-    nativeKeys         = Object.keys,
-    nativeBind         = FuncProto.bind,
-    nativeCreate       = Object.create;
-
-  // Naked function reference for surrogate-prototype-swapping.
-  var Ctor = function(){};
-
-  // Create a safe reference to the Underscore object for use below.
-  var _ = function(obj) {
-    if (obj instanceof _) return obj;
-    if (!(this instanceof _)) return new _(obj);
-    this._wrapped = obj;
-  };
-
-  // Export the Underscore object for **Node.js**, with
-  // backwards-compatibility for the old `require()` API. If we're in
-  // the browser, add `_` as a global object.
-  if (typeof exports !== 'undefined') {
-    if (typeof module !== 'undefined' && module.exports) {
-      exports = module.exports = _;
-    }
-    exports._ = _;
-  } else {
-    root._ = _;
-  }
-
-  // Current version.
-  _.VERSION = '1.8.3';
-
-  // Internal function that returns an efficient (for current engines) version
-  // of the passed-in callback, to be repeatedly applied in other Underscore
-  // functions.
-  var optimizeCb = function(func, context, argCount) {
-    if (context === void 0) return func;
-    switch (argCount == null ? 3 : argCount) {
-      case 1: return function(value) {
-        return func.call(context, value);
-      };
-      case 2: return function(value, other) {
-        return func.call(context, value, other);
-      };
-      case 3: return function(value, index, collection) {
-        return func.call(context, value, index, collection);
-      };
-      case 4: return function(accumulator, value, index, collection) {
-        return func.call(context, accumulator, value, index, collection);
-      };
-    }
-    return function() {
-      return func.apply(context, arguments);
-    };
-  };
-
-  // A mostly-internal function to generate callbacks that can be applied
-  // to each element in a collection, returning the desired result — either
-  // identity, an arbitrary callback, a property matcher, or a property accessor.
-  var cb = function(value, context, argCount) {
-    if (value == null) return _.identity;
-    if (_.isFunction(value)) return optimizeCb(value, context, argCount);
-    if (_.isObject(value)) return _.matcher(value);
-    return _.property(value);
-  };
-  _.iteratee = function(value, context) {
-    return cb(value, context, Infinity);
-  };
-
-  // An internal function for creating assigner functions.
-  var createAssigner = function(keysFunc, undefinedOnly) {
-    return function(obj) {
-      var length = arguments.length;
-      if (length < 2 || obj == null) return obj;
-      for (var index = 1; index < length; index++) {
-        var source = arguments[index],
-            keys = keysFunc(source),
-            l = keys.length;
-        for (var i = 0; i < l; i++) {
-          var key = keys[i];
-          if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];
-        }
-      }
-      return obj;
-    };
-  };
-
-  // An internal function for creating a new object that inherits from another.
-  var baseCreate = function(prototype) {
-    if (!_.isObject(prototype)) return {};
-    if (nativeCreate) return nativeCreate(prototype);
-    Ctor.prototype = prototype;
-    var result = new Ctor;
-    Ctor.prototype = null;
-    return result;
-  };
-
-  var property = function(key) {
-    return function(obj) {
-      return obj == null ? void 0 : obj[key];
-    };
-  };
-
-  // Helper for collection methods to determine whether a collection
-  // should be iterated as an array or as an object
-  // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
-  // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094
-  var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
-  var getLength = property('length');
-  var isArrayLike = function(collection) {
-    var length = getLength(collection);
-    return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
-  };
-
-  // Collection Functions
-  // --------------------
-
-  // The cornerstone, an `each` implementation, aka `forEach`.
-  // Handles raw objects in addition to array-likes. Treats all
-  // sparse array-likes as if they were dense.
-  _.each = _.forEach = function(obj, iteratee, context) {
-    iteratee = optimizeCb(iteratee, context);
-    var i, length;
-    if (isArrayLike(obj)) {
-      for (i = 0, length = obj.length; i < length; i++) {
-        iteratee(obj[i], i, obj);
-      }
-    } else {
-      var keys = _.keys(obj);
-      for (i = 0, length = keys.length; i < length; i++) {
-        iteratee(obj[keys[i]], keys[i], obj);
-      }
-    }
-    return obj;
-  };
-
-  // Return the results of applying the iteratee to each element.
-  _.map = _.collect = function(obj, iteratee, context) {
-    iteratee = cb(iteratee, context);
-    var keys = !isArrayLike(obj) && _.keys(obj),
-        length = (keys || obj).length,
-        results = Array(length);
-    for (var index = 0; index < length; index++) {
-      var currentKey = keys ? keys[index] : index;
-      results[index] = iteratee(obj[currentKey], currentKey, obj);
-    }
-    return results;
-  };
-
-  // Create a reducing function iterating left or right.
-  function createReduce(dir) {
-    // Optimized iterator function as using arguments.length
-    // in the main function will deoptimize the, see #1991.
-    function iterator(obj, iteratee, memo, keys, index, length) {
-      for (; index >= 0 && index < length; index += dir) {
-        var currentKey = keys ? keys[index] : index;
-        memo = iteratee(memo, obj[currentKey], currentKey, obj);
-      }
-      return memo;
-    }
-
-    return function(obj, iteratee, memo, context) {
-      iteratee = optimizeCb(iteratee, context, 4);
-      var keys = !isArrayLike(obj) && _.keys(obj),
-          length = (keys || obj).length,
-          index = dir > 0 ? 0 : length - 1;
-      // Determine the initial value if none is provided.
-      if (arguments.length < 3) {
-        memo = obj[keys ? keys[index] : index];
-        index += dir;
-      }
-      return iterator(obj, iteratee, memo, keys, index, length);
-    };
-  }
-
-  // **Reduce** builds up a single result from a list of values, aka `inject`,
-  // or `foldl`.
-  _.reduce = _.foldl = _.inject = createReduce(1);
-
-  // The right-associative version of reduce, also known as `foldr`.
-  _.reduceRight = _.foldr = createReduce(-1);
-
-  // Return the first value which passes a truth test. Aliased as `detect`.
-  _.find = _.detect = function(obj, predicate, context) {
-    var key;
-    if (isArrayLike(obj)) {
-      key = _.findIndex(obj, predicate, context);
-    } else {
-      key = _.findKey(obj, predicate, context);
-    }
-    if (key !== void 0 && key !== -1) return obj[key];
-  };
-
-  // Return all the elements that pass a truth test.
-  // Aliased as `select`.
-  _.filter = _.select = function(obj, predicate, context) {
-    var results = [];
-    predicate = cb(predicate, context);
-    _.each(obj, function(value, index, list) {
-      if (predicate(value, index, list)) results.push(value);
-    });
-    return results;
-  };
-
-  // Return all the elements for which a truth test fails.
-  _.reject = function(obj, predicate, context) {
-    return _.filter(obj, _.negate(cb(predicate)), context);
-  };
-
-  // Determine whether all of the elements match a truth test.
-  // Aliased as `all`.
-  _.every = _.all = function(obj, predicate, context) {
-    predicate = cb(predicate, context);
-    var keys = !isArrayLike(obj) && _.keys(obj),
-        length = (keys || obj).length;
-    for (var index = 0; index < length; index++) {
-      var currentKey = keys ? keys[index] : index;
-      if (!predicate(obj[currentKey], currentKey, obj)) return false;
-    }
-    return true;
-  };
-
-  // Determine if at least one element in the object matches a truth test.
-  // Aliased as `any`.
-  _.some = _.any = function(obj, predicate, context) {
-    predicate = cb(predicate, context);
-    var keys = !isArrayLike(obj) && _.keys(obj),
-        length = (keys || obj).length;
-    for (var index = 0; index < length; index++) {
-      var currentKey = keys ? keys[index] : index;
-      if (predicate(obj[currentKey], currentKey, obj)) return true;
-    }
-    return false;
-  };
-
-  // Determine if the array or object contains a given item (using `===`).
-  // Aliased as `includes` and `include`.
-  _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {
-    if (!isArrayLike(obj)) obj = _.values(obj);
-    if (typeof fromIndex != 'number' || guard) fromIndex = 0;
-    return _.indexOf(obj, item, fromIndex) >= 0;
-  };
-
-  // Invoke a method (with arguments) on every item in a collection.
-  _.invoke = function(obj, method) {
-    var args = slice.call(arguments, 2);
-    var isFunc = _.isFunction(method);
-    return _.map(obj, function(value) {
-      var func = isFunc ? method : value[method];
-      return func == null ? func : func.apply(value, args);
-    });
-  };
-
-  // Convenience version of a common use case of `map`: fetching a property.
-  _.pluck = function(obj, key) {
-    return _.map(obj, _.property(key));
-  };
-
-  // Convenience version of a common use case of `filter`: selecting only objects
-  // containing specific `key:value` pairs.
-  _.where = function(obj, attrs) {
-    return _.filter(obj, _.matcher(attrs));
-  };
-
-  // Convenience version of a common use case of `find`: getting the first object
-  // containing specific `key:value` pairs.
-  _.findWhere = function(obj, attrs) {
-    return _.find(obj, _.matcher(attrs));
-  };
-
-  // Return the maximum element (or element-based computation).
-  _.max = function(obj, iteratee, context) {
-    var result = -Infinity, lastComputed = -Infinity,
-        value, computed;
-    if (iteratee == null && obj != null) {
-      obj = isArrayLike(obj) ? obj : _.values(obj);
-      for (var i = 0, length = obj.length; i < length; i++) {
-        value = obj[i];
-        if (value > result) {
-          result = value;
-        }
-      }
-    } else {
-      iteratee = cb(iteratee, context);
-      _.each(obj, function(value, index, list) {
-        computed = iteratee(value, index, list);
-        if (computed > lastComputed || computed === -Infinity && result === -Infinity) {
-          result = value;
-          lastComputed = computed;
-        }
-      });
-    }
-    return result;
-  };
-
-  // Return the minimum element (or element-based computation).
-  _.min = function(obj, iteratee, context) {
-    var result = Infinity, lastComputed = Infinity,
-        value, computed;
-    if (iteratee == null && obj != null) {
-      obj = isArrayLike(obj) ? obj : _.values(obj);
-      for (var i = 0, length = obj.length; i < length; i++) {
-        value = obj[i];
-        if (value < result) {
-          result = value;
-        }
-      }
-    } else {
-      iteratee = cb(iteratee, context);
-      _.each(obj, function(value, index, list) {
-        computed = iteratee(value, index, list);
-        if (computed < lastComputed || computed === Infinity && result === Infinity) {
-          result = value;
-          lastComputed = computed;
-        }
-      });
-    }
-    return result;
-  };
-
-  // Shuffle a collection, using the modern version of the
-  // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).
-  _.shuffle = function(obj) {
-    var set = isArrayLike(obj) ? obj : _.values(obj);
-    var length = set.length;
-    var shuffled = Array(length);
-    for (var index = 0, rand; index < length; index++) {
-      rand = _.random(0, index);
-      if (rand !== index) shuffled[index] = shuffled[rand];
-      shuffled[rand] = set[index];
-    }
-    return shuffled;
-  };
-
-  // Sample **n** random values from a collection.
-  // If **n** is not specified, returns a single random element.
-  // The internal `guard` argument allows it to work with `map`.
-  _.sample = function(obj, n, guard) {
-    if (n == null || guard) {
-      if (!isArrayLike(obj)) obj = _.values(obj);
-      return obj[_.random(obj.length - 1)];
-    }
-    return _.shuffle(obj).slice(0, Math.max(0, n));
-  };
-
-  // Sort the object's values by a criterion produced by an iteratee.
-  _.sortBy = function(obj, iteratee, context) {
-    iteratee = cb(iteratee, context);
-    return _.pluck(_.map(obj, function(value, index, list) {
-      return {
-        value: value,
-        index: index,
-        criteria: iteratee(value, index, list)
-      };
-    }).sort(function(left, right) {
-      var a = left.criteria;
-      var b = right.criteria;
-      if (a !== b) {
-        if (a > b || a === void 0) return 1;
-        if (a < b || b === void 0) return -1;
-      }
-      return left.index - right.index;
-    }), 'value');
-  };
-
-  // An internal function used for aggregate "group by" operations.
-  var group = function(behavior) {
-    return function(obj, iteratee, context) {
-      var result = {};
-      iteratee = cb(iteratee, context);
-      _.each(obj, function(value, index) {
-        var key = iteratee(value, index, obj);
-        behavior(result, value, key);
-      });
-      return result;
-    };
-  };
-
-  // Groups the object's values by a criterion. Pass either a string attribute
-  // to group by, or a function that returns the criterion.
-  _.groupBy = group(function(result, value, key) {
-    if (_.has(result, key)) result[key].push(value); else result[key] = [value];
-  });
-
-  // Indexes the object's values by a criterion, similar to `groupBy`, but for
-  // when you know that your index values will be unique.
-  _.indexBy = group(function(result, value, key) {
-    result[key] = value;
-  });
-
-  // Counts instances of an object that group by a certain criterion. Pass
-  // either a string attribute to count by, or a function that returns the
-  // criterion.
-  _.countBy = group(function(result, value, key) {
-    if (_.has(result, key)) result[key]++; else result[key] = 1;
-  });
-
-  // Safely create a real, live array from anything iterable.
-  _.toArray = function(obj) {
-    if (!obj) return [];
-    if (_.isArray(obj)) return slice.call(obj);
-    if (isArrayLike(obj)) return _.map(obj, _.identity);
-    return _.values(obj);
-  };
-
-  // Return the number of elements in an object.
-  _.size = function(obj) {
-    if (obj == null) return 0;
-    return isArrayLike(obj) ? obj.length : _.keys(obj).length;
-  };
-
-  // Split a collection into two arrays: one whose elements all satisfy the given
-  // predicate, and one whose elements all do not satisfy the predicate.
-  _.partition = function(obj, predicate, context) {
-    predicate = cb(predicate, context);
-    var pass = [], fail = [];
-    _.each(obj, function(value, key, obj) {
-      (predicate(value, key, obj) ? pass : fail).push(value);
-    });
-    return [pass, fail];
-  };
-
-  // Array Functions
-  // ---------------
-
-  // Get the first element of an array. Passing **n** will return the first N
-  // values in the array. Aliased as `head` and `take`. The **guard** check
-  // allows it to work with `_.map`.
-  _.first = _.head = _.take = function(array, n, guard) {
-    if (array == null) return void 0;
-    if (n == null || guard) return array[0];
-    return _.initial(array, array.length - n);
-  };
-
-  // Returns everything but the last entry of the array. Especially useful on
-  // the arguments object. Passing **n** will return all the values in
-  // the array, excluding the last N.
-  _.initial = function(array, n, guard) {
-    return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));
-  };
-
-  // Get the last element of an array. Passing **n** will return the last N
-  // values in the array.
-  _.last = function(array, n, guard) {
-    if (array == null) return void 0;
-    if (n == null || guard) return array[array.length - 1];
-    return _.rest(array, Math.max(0, array.length - n));
-  };
-
-  // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.
-  // Especially useful on the arguments object. Passing an **n** will return
-  // the rest N values in the array.
-  _.rest = _.tail = _.drop = function(array, n, guard) {
-    return slice.call(array, n == null || guard ? 1 : n);
-  };
-
-  // Trim out all falsy values from an array.
-  _.compact = function(array) {
-    return _.filter(array, _.identity);
-  };
-
-  // Internal implementation of a recursive `flatten` function.
-  var flatten = function(input, shallow, strict, startIndex) {
-    var output = [], idx = 0;
-    for (var i = startIndex || 0, length = getLength(input); i < length; i++) {
-      var value = input[i];
-      if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {
-        //flatten current level of array or arguments object
-        if (!shallow) value = flatten(value, shallow, strict);
-        var j = 0, len = value.length;
-        output.length += len;
-        while (j < len) {
-          output[idx++] = value[j++];
-        }
-      } else if (!strict) {
-        output[idx++] = value;
-      }
-    }
-    return output;
-  };
-
-  // Flatten out an array, either recursively (by default), or just one level.
-  _.flatten = function(array, shallow) {
-    return flatten(array, shallow, false);
-  };
-
-  // Return a version of the array that does not contain the specified value(s).
-  _.without = function(array) {
-    return _.difference(array, slice.call(arguments, 1));
-  };
-
-  // Produce a duplicate-free version of the array. If the array has already
-  // been sorted, you have the option of using a faster algorithm.
-  // Aliased as `unique`.
-  _.uniq = _.unique = function(array, isSorted, iteratee, context) {
-    if (!_.isBoolean(isSorted)) {
-      context = iteratee;
-      iteratee = isSorted;
-      isSorted = false;
-    }
-    if (iteratee != null) iteratee = cb(iteratee, context);
-    var result = [];
-    var seen = [];
-    for (var i = 0, length = getLength(array); i < length; i++) {
-      var value = array[i],
-          computed = iteratee ? iteratee(value, i, array) : value;
-      if (isSorted) {
-        if (!i || seen !== computed) result.push(value);
-        seen = computed;
-      } else if (iteratee) {
-        if (!_.contains(seen, computed)) {
-          seen.push(computed);
-          result.push(value);
-        }
-      } else if (!_.contains(result, value)) {
-        result.push(value);
-      }
-    }
-    return result;
-  };
-
-  // Produce an array that contains the union: each distinct element from all of
-  // the passed-in arrays.
-  _.union = function() {
-    return _.uniq(flatten(arguments, true, true));
-  };
-
-  // Produce an array that contains every item shared between all the
-  // passed-in arrays.
-  _.intersection = function(array) {
-    var result = [];
-    var argsLength = arguments.length;
-    for (var i = 0, length = getLength(array); i < length; i++) {
-      var item = array[i];
-      if (_.contains(result, item)) continue;
-      for (var j = 1; j < argsLength; j++) {
-        if (!_.contains(arguments[j], item)) break;
-      }
-      if (j === argsLength) result.push(item);
-    }
-    return result;
-  };
-
-  // Take the difference between one array and a number of other arrays.
-  // Only the elements present in just the first array will remain.
-  _.difference = function(array) {
-    var rest = flatten(arguments, true, true, 1);
-    return _.filter(array, function(value){
-      return !_.contains(rest, value);
-    });
-  };
-
-  // Zip together multiple lists into a single array -- elements that share
-  // an index go together.
-  _.zip = function() {
-    return _.unzip(arguments);
-  };
-
-  // Complement of _.zip. Unzip accepts an array of arrays and groups
-  // each array's elements on shared indices
-  _.unzip = function(array) {
-    var length = array && _.max(array, getLength).length || 0;
-    var result = Array(length);
-
-    for (var index = 0; index < length; index++) {
-      result[index] = _.pluck(array, index);
-    }
-    return result;
-  };
-
-  // Converts lists into objects. Pass either a single array of `[key, value]`
-  // pairs, or two parallel arrays of the same length -- one of keys, and one of
-  // the corresponding values.
-  _.object = function(list, values) {
-    var result = {};
-    for (var i = 0, length = getLength(list); i < length; i++) {
-      if (values) {
-        result[list[i]] = values[i];
-      } else {
-        result[list[i][0]] = list[i][1];
-      }
-    }
-    return result;
-  };
-
-  // Generator function to create the findIndex and findLastIndex functions
-  function createPredicateIndexFinder(dir) {
-    return function(array, predicate, context) {
-      predicate = cb(predicate, context);
-      var length = getLength(array);
-      var index = dir > 0 ? 0 : length - 1;
-      for (; index >= 0 && index < length; index += dir) {
-        if (predicate(array[index], index, array)) return index;
-      }
-      return -1;
-    };
-  }
-
-  // Returns the first index on an array-like that passes a predicate test
-  _.findIndex = createPredicateIndexFinder(1);
-  _.findLastIndex = createPredicateIndexFinder(-1);
-
-  // Use a comparator function to figure out the smallest index at which
-  // an object should be inserted so as to maintain order. Uses binary search.
-  _.sortedIndex = function(array, obj, iteratee, context) {
-    iteratee = cb(iteratee, context, 1);
-    var value = iteratee(obj);
-    var low = 0, high = getLength(array);
-    while (low < high) {
-      var mid = Math.floor((low + high) / 2);
-      if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;
-    }
-    return low;
-  };
-
-  // Generator function to create the indexOf and lastIndexOf functions
-  function createIndexFinder(dir, predicateFind, sortedIndex) {
-    return function(array, item, idx) {
-      var i = 0, length = getLength(array);
-      if (typeof idx == 'number') {
-        if (dir > 0) {
-            i = idx >= 0 ? idx : Math.max(idx + length, i);
-        } else {
-            length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
-        }
-      } else if (sortedIndex && idx && length) {
-        idx = sortedIndex(array, item);
-        return array[idx] === item ? idx : -1;
-      }
-      if (item !== item) {
-        idx = predicateFind(slice.call(array, i, length), _.isNaN);
-        return idx >= 0 ? idx + i : -1;
-      }
-      for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
-        if (array[idx] === item) return idx;
-      }
-      return -1;
-    };
-  }
-
-  // Return the position of the first occurrence of an item in an array,
-  // or -1 if the item is not included in the array.
-  // If the array is large and already in sort order, pass `true`
-  // for **isSorted** to use binary search.
-  _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);
-  _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);
-
-  // Generate an integer Array containing an arithmetic progression. A port of
-  // the native Python `range()` function. See
-  // [the Python documentation](http://docs.python.org/library/functions.html#range).
-  _.range = function(start, stop, step) {
-    if (stop == null) {
-      stop = start || 0;
-      start = 0;
-    }
-    step = step || 1;
-
-    var length = Math.max(Math.ceil((stop - start) / step), 0);
-    var range = Array(length);
-
-    for (var idx = 0; idx < length; idx++, start += step) {
-      range[idx] = start;
-    }
-
-    return range;
-  };
-
-  // Function (ahem) Functions
-  // ------------------
-
-  // Determines whether to execute a function as a constructor
-  // or a normal function with the provided arguments
-  var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {
-    if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);
-    var self = baseCreate(sourceFunc.prototype);
-    var result = sourceFunc.apply(self, args);
-    if (_.isObject(result)) return result;
-    return self;
-  };
-
-  // Create a function bound to a given object (assigning `this`, and arguments,
-  // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if
-  // available.
-  _.bind = function(func, context) {
-    if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
-    if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');
-    var args = slice.call(arguments, 2);
-    var bound = function() {
-      return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));
-    };
-    return bound;
-  };
-
-  // Partially apply a function by creating a version that has had some of its
-  // arguments pre-filled, without changing its dynamic `this` context. _ acts
-  // as a placeholder, allowing any combination of arguments to be pre-filled.
-  _.partial = function(func) {
-    var boundArgs = slice.call(arguments, 1);
-    var bound = function() {
-      var position = 0, length = boundArgs.length;
-      var args = Array(length);
-      for (var i = 0; i < length; i++) {
-        args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];
-      }
-      while (position < arguments.length) args.push(arguments[position++]);
-      return executeBound(func, bound, this, this, args);
-    };
-    return bound;
-  };
-
-  // Bind a number of an object's methods to that object. Remaining arguments
-  // are the method names to be bound. Useful for ensuring that all callbacks
-  // defined on an object belong to it.
-  _.bindAll = function(obj) {
-    var i, length = arguments.length, key;
-    if (length <= 1) throw new Error('bindAll must be passed function names');
-    for (i = 1; i < length; i++) {
-      key = arguments[i];
-      obj[key] = _.bind(obj[key], obj);
-    }
-    return obj;
-  };
-
-  // Memoize an expensive function by storing its results.
-  _.memoize = function(func, hasher) {
-    var memoize = function(key) {
-      var cache = memoize.cache;
-      var address = '' + (hasher ? hasher.apply(this, arguments) : key);
-      if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);
-      return cache[address];
-    };
-    memoize.cache = {};
-    return memoize;
-  };
-
-  // Delays a function for the given number of milliseconds, and then calls
-  // it with the arguments supplied.
-  _.delay = function(func, wait) {
-    var args = slice.call(arguments, 2);
-    return setTimeout(function(){
-      return func.apply(null, args);
-    }, wait);
-  };
-
-  // Defers a function, scheduling it to run after the current call stack has
-  // cleared.
-  _.defer = _.partial(_.delay, _, 1);
-
-  // Returns a function, that, when invoked, will only be triggered at most once
-  // during a given window of time. Normally, the throttled function will run
-  // as much as it can, without ever going more than once per `wait` duration;
-  // but if you'd like to disable the execution on the leading edge, pass
-  // `{leading: false}`. To disable execution on the trailing edge, ditto.
-  _.throttle = function(func, wait, options) {
-    var context, args, result;
-    var timeout = null;
-    var previous = 0;
-    if (!options) options = {};
-    var later = function() {
-      previous = options.leading === false ? 0 : _.now();
-      timeout = null;
-      result = func.apply(context, args);
-      if (!timeout) context = args = null;
-    };
-    return function() {
-      var now = _.now();
-      if (!previous && options.leading === false) previous = now;
-      var remaining = wait - (now - previous);
-      context = this;
-      args = arguments;
-      if (remaining <= 0 || remaining > wait) {
-        if (timeout) {
-          clearTimeout(timeout);
-          timeout = null;
-        }
-        previous = now;
-        result = func.apply(context, args);
-        if (!timeout) context = args = null;
-      } else if (!timeout && options.trailing !== false) {
-        timeout = setTimeout(later, remaining);
-      }
-      return result;
-    };
-  };
-
-  // Returns a function, that, as long as it continues to be invoked, will not
-  // be triggered. The function will be called after it stops being called for
-  // N milliseconds. If `immediate` is passed, trigger the function on the
-  // leading edge, instead of the trailing.
-  _.debounce = function(func, wait, immediate) {
-    var timeout, args, context, timestamp, result;
-
-    var later = function() {
-      var last = _.now() - timestamp;
-
-      if (last < wait && last >= 0) {
-        timeout = setTimeout(later, wait - last);
-      } else {
-        timeout = null;
-        if (!immediate) {
-          result = func.apply(context, args);
-          if (!timeout) context = args = null;
-        }
-      }
-    };
-
-    return function() {
-      context = this;
-      args = arguments;
-      timestamp = _.now();
-      var callNow = immediate && !timeout;
-      if (!timeout) timeout = setTimeout(later, wait);
-      if (callNow) {
-        result = func.apply(context, args);
-        context = args = null;
-      }
-
-      return result;
-    };
-  };
-
-  // Returns the first function passed as an argument to the second,
-  // allowing you to adjust arguments, run code before and after, and
-  // conditionally execute the original function.
-  _.wrap = function(func, wrapper) {
-    return _.partial(wrapper, func);
-  };
-
-  // Returns a negated version of the passed-in predicate.
-  _.negate = function(predicate) {
-    return function() {
-      return !predicate.apply(this, arguments);
-    };
-  };
-
-  // Returns a function that is the composition of a list of functions, each
-  // consuming the return value of the function that follows.
-  _.compose = function() {
-    var args = arguments;
-    var start = args.length - 1;
-    return function() {
-      var i = start;
-      var result = args[start].apply(this, arguments);
-      while (i--) result = args[i].call(this, result);
-      return result;
-    };
-  };
-
-  // Returns a function that will only be executed on and after the Nth call.
-  _.after = function(times, func) {
-    return function() {
-      if (--times < 1) {
-        return func.apply(this, arguments);
-      }
-    };
-  };
-
-  // Returns a function that will only be executed up to (but not including) the Nth call.
-  _.before = function(times, func) {
-    var memo;
-    return function() {
-      if (--times > 0) {
-        memo = func.apply(this, arguments);
-      }
-      if (times <= 1) func = null;
-      return memo;
-    };
-  };
-
-  // Returns a function that will be executed at most one time, no matter how
-  // often you call it. Useful for lazy initialization.
-  _.once = _.partial(_.before, 2);
-
-  // Object Functions
-  // ----------------
-
-  // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.
-  var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');
-  var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',
-                      'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
-
-  function collectNonEnumProps(obj, keys) {
-    var nonEnumIdx = nonEnumerableProps.length;
-    var constructor = obj.constructor;
-    var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;
-
-    // Constructor is a special case.
-    var prop = 'constructor';
-    if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);
-
-    while (nonEnumIdx--) {
-      prop = nonEnumerableProps[nonEnumIdx];
-      if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {
-        keys.push(prop);
-      }
-    }
-  }
-
-  // Retrieve the names of an object's own properties.
-  // Delegates to **ECMAScript 5**'s native `Object.keys`
-  _.keys = function(obj) {
-    if (!_.isObject(obj)) return [];
-    if (nativeKeys) return nativeKeys(obj);
-    var keys = [];
-    for (var key in obj) if (_.has(obj, key)) keys.push(key);
-    // Ahem, IE < 9.
-    if (hasEnumBug) collectNonEnumProps(obj, keys);
-    return keys;
-  };
-
-  // Retrieve all the property names of an object.
-  _.allKeys = function(obj) {
-    if (!_.isObject(obj)) return [];
-    var keys = [];
-    for (var key in obj) keys.push(key);
-    // Ahem, IE < 9.
-    if (hasEnumBug) collectNonEnumProps(obj, keys);
-    return keys;
-  };
-
-  // Retrieve the values of an object's properties.
-  _.values = function(obj) {
-    var keys = _.keys(obj);
-    var length = keys.length;
-    var values = Array(length);
-    for (var i = 0; i < length; i++) {
-      values[i] = obj[keys[i]];
-    }
-    return values;
-  };
-
-  // Returns the results of applying the iteratee to each element of the object
-  // In contrast to _.map it returns an object
-  _.mapObject = function(obj, iteratee, context) {
-    iteratee = cb(iteratee, context);
-    var keys =  _.keys(obj),
-          length = keys.length,
-          results = {},
-          currentKey;
-      for (var index = 0; index < length; index++) {
-        currentKey = keys[index];
-        results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
-      }
-      return results;
-  };
-
-  // Convert an object into a list of `[key, value]` pairs.
-  _.pairs = function(obj) {
-    var keys = _.keys(obj);
-    var length = keys.length;
-    var pairs = Array(length);
-    for (var i = 0; i < length; i++) {
-      pairs[i] = [keys[i], obj[keys[i]]];
-    }
-    return pairs;
-  };
-
-  // Invert the keys and values of an object. The values must be serializable.
-  _.invert = function(obj) {
-    var result = {};
-    var keys = _.keys(obj);
-    for (var i = 0, length = keys.length; i < length; i++) {
-      result[obj[keys[i]]] = keys[i];
-    }
-    return result;
-  };
-
-  // Return a sorted list of the function names available on the object.
-  // Aliased as `methods`
-  _.functions = _.methods = function(obj) {
-    var names = [];
-    for (var key in obj) {
-      if (_.isFunction(obj[key])) names.push(key);
-    }
-    return names.sort();
-  };
-
-  // Extend a given object with all the properties in passed-in object(s).
-  _.extend = createAssigner(_.allKeys);
-
-  // Assigns a given object with all the own properties in the passed-in object(s)
-  // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
-  _.extendOwn = _.assign = createAssigner(_.keys);
-
-  // Returns the first key on an object that passes a predicate test
-  _.findKey = function(obj, predicate, context) {
-    predicate = cb(predicate, context);
-    var keys = _.keys(obj), key;
-    for (var i = 0, length = keys.length; i < length; i++) {
-      key = keys[i];
-      if (predicate(obj[key], key, obj)) return key;
-    }
-  };
-
-  // Return a copy of the object only containing the whitelisted properties.
-  _.pick = function(object, oiteratee, context) {
-    var result = {}, obj = object, iteratee, keys;
-    if (obj == null) return result;
-    if (_.isFunction(oiteratee)) {
-      keys = _.allKeys(obj);
-      iteratee = optimizeCb(oiteratee, context);
-    } else {
-      keys = flatten(arguments, false, false, 1);
-      iteratee = function(value, key, obj) { return key in obj; };
-      obj = Object(obj);
-    }
-    for (var i = 0, length = keys.length; i < length; i++) {
-      var key = keys[i];
-      var value = obj[key];
-      if (iteratee(value, key, obj)) result[key] = value;
-    }
-    return result;
-  };
-
-   // Return a copy of the object without the blacklisted properties.
-  _.omit = function(obj, iteratee, context) {
-    if (_.isFunction(iteratee)) {
-      iteratee = _.negate(iteratee);
-    } else {
-      var keys = _.map(flatten(arguments, false, false, 1), String);
-      iteratee = function(value, key) {
-        return !_.contains(keys, key);
-      };
-    }
-    return _.pick(obj, iteratee, context);
-  };
-
-  // Fill in a given object with default properties.
-  _.defaults = createAssigner(_.allKeys, true);
-
-  // Creates an object that inherits from the given prototype object.
-  // If additional properties are provided then they will be added to the
-  // created object.
-  _.create = function(prototype, props) {
-    var result = baseCreate(prototype);
-    if (props) _.extendOwn(result, props);
-    return result;
-  };
-
-  // Create a (shallow-cloned) duplicate of an object.
-  _.clone = function(obj) {
-    if (!_.isObject(obj)) return obj;
-    return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
-  };
-
-  // Invokes interceptor with the obj, and then returns obj.
-  // The primary purpose of this method is to "tap into" a method chain, in
-  // order to perform operations on intermediate results within the chain.
-  _.tap = function(obj, interceptor) {
-    interceptor(obj);
-    return obj;
-  };
-
-  // Returns whether an object has a given set of `key:value` pairs.
-  _.isMatch = function(object, attrs) {
-    var keys = _.keys(attrs), length = keys.length;
-    if (object == null) return !length;
-    var obj = Object(object);
-    for (var i = 0; i < length; i++) {
-      var key = keys[i];
-      if (attrs[key] !== obj[key] || !(key in obj)) return false;
-    }
-    return true;
-  };
-
-
-  // Internal recursive comparison function for `isEqual`.
-  var eq = function(a, b, aStack, bStack) {
-    // Identical objects are equal. `0 === -0`, but they aren't identical.
-    // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).
-    if (a === b) return a !== 0 || 1 / a === 1 / b;
-    // A strict comparison is necessary because `null == undefined`.
-    if (a == null || b == null) return a === b;
-    // Unwrap any wrapped objects.
-    if (a instanceof _) a = a._wrapped;
-    if (b instanceof _) b = b._wrapped;
-    // Compare `[[Class]]` names.
-    var className = toString.call(a);
-    if (className !== toString.call(b)) return false;
-    switch (className) {
-      // Strings, numbers, regular expressions, dates, and booleans are compared by value.
-      case '[object RegExp]':
-      // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')
-      case '[object String]':
-        // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
-        // equivalent to `new String("5")`.
-        return '' + a === '' + b;
-      case '[object Number]':
-        // `NaN`s are equivalent, but non-reflexive.
-        // Object(NaN) is equivalent to NaN
-        if (+a !== +a) return +b !== +b;
-        // An `egal` comparison is performed for other numeric values.
-        return +a === 0 ? 1 / +a === 1 / b : +a === +b;
-      case '[object Date]':
-      case '[object Boolean]':
-        // Coerce dates and booleans to numeric primitive values. Dates are compared by their
-        // millisecond representations. Note that invalid dates with millisecond representations
-        // of `NaN` are not equivalent.
-        return +a === +b;
-    }
-
-    var areArrays = className === '[object Array]';
-    if (!areArrays) {
-      if (typeof a != 'object' || typeof b != 'object') return false;
-
-      // Objects with different constructors are not equivalent, but `Object`s or `Array`s
-      // from different frames are.
-      var aCtor = a.constructor, bCtor = b.constructor;
-      if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&
-                               _.isFunction(bCtor) && bCtor instanceof bCtor)
-                          && ('constructor' in a && 'constructor' in b)) {
-        return false;
-      }
-    }
-    // Assume equality for cyclic structures. The algorithm for detecting cyclic
-    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
-
-    // Initializing stack of traversed objects.
-    // It's done here since we only need them for objects and arrays comparison.
-    aStack = aStack || [];
-    bStack = bStack || [];
-    var length = aStack.length;
-    while (length--) {
-      // Linear search. Performance is inversely proportional to the number of
-      // unique nested structures.
-      if (aStack[length] === a) return bStack[length] === b;
-    }
-
-    // Add the first object to the stack of traversed objects.
-    aStack.push(a);
-    bStack.push(b);
-
-    // Recursively compare objects and arrays.
-    if (areArrays) {
-      // Compare array lengths to determine if a deep comparison is necessary.
-      length = a.length;
-      if (length !== b.length) return false;
-      // Deep compare the contents, ignoring non-numeric properties.
-      while (length--) {
-        if (!eq(a[length], b[length], aStack, bStack)) return false;
-      }
-    } else {
-      // Deep compare objects.
-      var keys = _.keys(a), key;
-      length = keys.length;
-      // Ensure that both objects contain the same number of properties before comparing deep equality.
-      if (_.keys(b).length !== length) return false;
-      while (length--) {
-        // Deep compare each member
-        key = keys[length];
-        if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;
-      }
-    }
-    // Remove the first object from the stack of traversed objects.
-    aStack.pop();
-    bStack.pop();
-    return true;
-  };
-
-  // Perform a deep comparison to check if two objects are equal.
-  _.isEqual = function(a, b) {
-    return eq(a, b);
-  };
-
-  // Is a given array, string, or object empty?
-  // An "empty" object has no enumerable own-properties.
-  _.isEmpty = function(obj) {
-    if (obj == null) return true;
-    if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;
-    return _.keys(obj).length === 0;
-  };
-
-  // Is a given value a DOM element?
-  _.isElement = function(obj) {
-    return !!(obj && obj.nodeType === 1);
-  };
-
-  // Is a given value an array?
-  // Delegates to ECMA5's native Array.isArray
-  _.isArray = nativeIsArray || function(obj) {
-    return toString.call(obj) === '[object Array]';
-  };
-
-  // Is a given variable an object?
-  _.isObject = function(obj) {
-    var type = typeof obj;
-    return type === 'function' || type === 'object' && !!obj;
-  };
-
-  // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.
-  _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {
-    _['is' + name] = function(obj) {
-      return toString.call(obj) === '[object ' + name + ']';
-    };
-  });
-
-  // Define a fallback version of the method in browsers (ahem, IE < 9), where
-  // there isn't any inspectable "Arguments" type.
-  if (!_.isArguments(arguments)) {
-    _.isArguments = function(obj) {
-      return _.has(obj, 'callee');
-    };
-  }
-
-  // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,
-  // IE 11 (#1621), and in Safari 8 (#1929).
-  if (typeof /./ != 'function' && typeof Int8Array != 'object') {
-    _.isFunction = function(obj) {
-      return typeof obj == 'function' || false;
-    };
-  }
-
-  // Is a given object a finite number?
-  _.isFinite = function(obj) {
-    return isFinite(obj) && !isNaN(parseFloat(obj));
-  };
-
-  // Is the given value `NaN`? (NaN is the only number which does not equal itself).
-  _.isNaN = function(obj) {
-    return _.isNumber(obj) && obj !== +obj;
-  };
-
-  // Is a given value a boolean?
-  _.isBoolean = function(obj) {
-    return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
-  };
-
-  // Is a given value equal to null?
-  _.isNull = function(obj) {
-    return obj === null;
-  };
-
-  // Is a given variable undefined?
-  _.isUndefined = function(obj) {
-    return obj === void 0;
-  };
-
-  // Shortcut function for checking if an object has a given property directly
-  // on itself (in other words, not on a prototype).
-  _.has = function(obj, key) {
-    return obj != null && hasOwnProperty.call(obj, key);
-  };
-
-  // Utility Functions
-  // -----------------
-
-  // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
-  // previous owner. Returns a reference to the Underscore object.
-  _.noConflict = function() {
-    root._ = previousUnderscore;
-    return this;
-  };
-
-  // Keep the identity function around for default iteratees.
-  _.identity = function(value) {
-    return value;
-  };
-
-  // Predicate-generating functions. Often useful outside of Underscore.
-  _.constant = function(value) {
-    return function() {
-      return value;
-    };
-  };
-
-  _.noop = function(){};
-
-  _.property = property;
-
-  // Generates a function for a given object that returns a given property.
-  _.propertyOf = function(obj) {
-    return obj == null ? function(){} : function(key) {
-      return obj[key];
-    };
-  };
-
-  // Returns a predicate for checking whether an object has a given set of
-  // `key:value` pairs.
-  _.matcher = _.matches = function(attrs) {
-    attrs = _.extendOwn({}, attrs);
-    return function(obj) {
-      return _.isMatch(obj, attrs);
-    };
-  };
-
-  // Run a function **n** times.
-  _.times = function(n, iteratee, context) {
-    var accum = Array(Math.max(0, n));
-    iteratee = optimizeCb(iteratee, context, 1);
-    for (var i = 0; i < n; i++) accum[i] = iteratee(i);
-    return accum;
-  };
-
-  // Return a random integer between min and max (inclusive).
-  _.random = function(min, max) {
-    if (max == null) {
-      max = min;
-      min = 0;
-    }
-    return min + Math.floor(Math.random() * (max - min + 1));
-  };
-
-  // A (possibly faster) way to get the current timestamp as an integer.
-  _.now = Date.now || function() {
-    return new Date().getTime();
-  };
-
-   // List of HTML entities for escaping.
-  var escapeMap = {
-    '&': '&amp;',
-    '<': '&lt;',
-    '>': '&gt;',
-    '"': '&quot;',
-    "'": '&#x27;',
-    '`': '&#x60;'
-  };
-  var unescapeMap = _.invert(escapeMap);
-
-  // Functions for escaping and unescaping strings to/from HTML interpolation.
-  var createEscaper = function(map) {
-    var escaper = function(match) {
-      return map[match];
-    };
-    // Regexes for identifying a key that needs to be escaped
-    var source = '(?:' + _.keys(map).join('|') + ')';
-    var testRegexp = RegExp(source);
-    var replaceRegexp = RegExp(source, 'g');
-    return function(string) {
-      string = string == null ? '' : '' + string;
-      return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;
-    };
-  };
-  _.escape = createEscaper(escapeMap);
-  _.unescape = createEscaper(unescapeMap);
-
-  // If the value of the named `property` is a function then invoke it with the
-  // `object` as context; otherwise, return it.
-  _.result = function(object, property, fallback) {
-    var value = object == null ? void 0 : object[property];
-    if (value === void 0) {
-      value = fallback;
-    }
-    return _.isFunction(value) ? value.call(object) : value;
-  };
-
-  // Generate a unique integer id (unique within the entire client session).
-  // Useful for temporary DOM ids.
-  var idCounter = 0;
-  _.uniqueId = function(prefix) {
-    var id = ++idCounter + '';
-    return prefix ? prefix + id : id;
-  };
-
-  // By default, Underscore uses ERB-style template delimiters, change the
-  // following template settings to use alternative delimiters.
-  _.templateSettings = {
-    evaluate    : /<%([\s\S]+?)%>/g,
-    interpolate : /<%=([\s\S]+?)%>/g,
-    escape      : /<%-([\s\S]+?)%>/g
-  };
-
-  // When customizing `templateSettings`, if you don't want to define an
-  // interpolation, evaluation or escaping regex, we need one that is
-  // guaranteed not to match.
-  var noMatch = /(.)^/;
-
-  // Certain characters need to be escaped so that they can be put into a
-  // string literal.
-  var escapes = {
-    "'":      "'",
-    '\\':     '\\',
-    '\r':     'r',
-    '\n':     'n',
-    '\u2028': 'u2028',
-    '\u2029': 'u2029'
-  };
-
-  var escaper = /\\|'|\r|\n|\u2028|\u2029/g;
-
-  var escapeChar = function(match) {
-    return '\\' + escapes[match];
-  };
-
-  // JavaScript micro-templating, similar to John Resig's implementation.
-  // Underscore templating handles arbitrary delimiters, preserves whitespace,
-  // and correctly escapes quotes within interpolated code.
-  // NB: `oldSettings` only exists for backwards compatibility.
-  _.template = function(text, settings, oldSettings) {
-    if (!settings && oldSettings) settings = oldSettings;
-    settings = _.defaults({}, settings, _.templateSettings);
-
-    // Combine delimiters into one regular expression via alternation.
-    var matcher = RegExp([
-      (settings.escape || noMatch).source,
-      (settings.interpolate || noMatch).source,
-      (settings.evaluate || noMatch).source
-    ].join('|') + '|$', 'g');
-
-    // Compile the template source, escaping string literals appropriately.
-    var index = 0;
-    var source = "__p+='";
-    text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
-      source += text.slice(index, offset).replace(escaper, escapeChar);
-      index = offset + match.length;
-
-      if (escape) {
-        source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
-      } else if (interpolate) {
-        source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
-      } else if (evaluate) {
-        source += "';\n" + evaluate + "\n__p+='";
-      }
-
-      // Adobe VMs need the match returned to produce the correct offest.
-      return match;
-    });
-    source += "';\n";
-
-    // If a variable is not specified, place data values in local scope.
-    if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n';
-
-    source = "var __t,__p='',__j=Array.prototype.join," +
-      "print=function(){__p+=__j.call(arguments,'');};\n" +
-      source + 'return __p;\n';
-
-    try {
-      var render = new Function(settings.variable || 'obj', '_', source);
-    } catch (e) {
-      e.source = source;
-      throw e;
-    }
-
-    var template = function(data) {
-      return render.call(this, data, _);
-    };
-
-    // Provide the compiled source as a convenience for precompilation.
-    var argument = settings.variable || 'obj';
-    template.source = 'function(' + argument + '){\n' + source + '}';
-
-    return template;
-  };
-
-  // Add a "chain" function. Start chaining a wrapped Underscore object.
-  _.chain = function(obj) {
-    var instance = _(obj);
-    instance._chain = true;
-    return instance;
-  };
-
-  // OOP
-  // ---------------
-  // If Underscore is called as a function, it returns a wrapped object that
-  // can be used OO-style. This wrapper holds altered versions of all the
-  // underscore functions. Wrapped objects may be chained.
-
-  // Helper function to continue chaining intermediate results.
-  var result = function(instance, obj) {
-    return instance._chain ? _(obj).chain() : obj;
-  };
-
-  // Add your own custom functions to the Underscore object.
-  _.mixin = function(obj) {
-    _.each(_.functions(obj), function(name) {
-      var func = _[name] = obj[name];
-      _.prototype[name] = function() {
-        var args = [this._wrapped];
-        push.apply(args, arguments);
-        return result(this, func.apply(_, args));
-      };
-    });
-  };
-
-  // Add all of the Underscore functions to the wrapper object.
-  _.mixin(_);
-
-  // Add all mutator Array functions to the wrapper.
-  _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
-    var method = ArrayProto[name];
-    _.prototype[name] = function() {
-      var obj = this._wrapped;
-      method.apply(obj, arguments);
-      if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];
-      return result(this, obj);
-    };
-  });
-
-  // Add all accessor Array functions to the wrapper.
-  _.each(['concat', 'join', 'slice'], function(name) {
-    var method = ArrayProto[name];
-    _.prototype[name] = function() {
-      return result(this, method.apply(this._wrapped, arguments));
-    };
-  });
-
-  // Extracts the result from a wrapped and chained object.
-  _.prototype.value = function() {
-    return this._wrapped;
-  };
-
-  // Provide unwrapping proxy for some methods used in engine operations
-  // such as arithmetic and JSON stringification.
-  _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;
-
-  _.prototype.toString = function() {
-    return '' + this._wrapped;
-  };
-
-  // AMD registration happens at the end for compatibility with AMD loaders
-  // that may not enforce next-turn semantics on modules. Even though general
-  // practice for AMD registration is to be anonymous, underscore registers
-  // as a named module because, like jQuery, it is a base library that is
-  // popular enough to be bundled in a third party lib, but not be part of
-  // an AMD load request. Those cases could generate an error when an
-  // anonymous define() is called outside of a loader request.
-  if (typeof define === 'function' && define.amd) {
-    define('underscore', [], function() {
-      return _;
-    });
-  }
-}.call(this));
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/openbis.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/openbis.js
deleted file mode 100644
index 800858443e601c3cbf1b017d63bcf2de68e34bf2..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/openbis.js
+++ /dev/null
@@ -1,593 +0,0 @@
-define([ 'util/Json' ], function(stjsUtil) {
-
-	var __private = function() {
-
-		this.ajaxRequest = function(settings) {
-			var thisPrivate = this;
-
-			settings.type = "POST";
-			settings.processData = false;
-			settings.dataType = "json";
-
-			var returnType = settings.returnType;
-			if (returnType) {
-				delete settings.returnType;
-			}
-
-			var data = settings.data;
-			data["id"] = "1";
-			data["jsonrpc"] = "2.0";
-			settings.data = JSON.stringify(stjsUtil.decycle(data));
-
-			var originalSuccess = settings.success || function() {
-			};
-			var originalError = settings.error || function() {
-			};
-
-			var dfd = $.Deferred();
-			function success(response) {
-				if (response.error) {
-					thisPrivate.log("Request failed - data: " + JSON.stringify(settings.data) + ", error: " + JSON.stringify(response.error));
-					originalError(response.error);
-					dfd.reject(response.error);
-				} else {
-					thisPrivate.log("Request succeeded - data: " + JSON.stringify(settings.data));
-					stjsUtil.fromJson(returnType, response.result).done(function(dtos) {
-						originalSuccess(dtos);
-						dfd.resolve(dtos);
-					}).fail(function() {
-						originalError(arguments);
-						dfd.reject(arguments);
-					});
-				}
-			}
-
-			function error(xhr, status, error) {
-				thisPrivate.log("Request failed - data: " + JSON.stringify(settings.data) + ", error: " + JSON.stringify(error));
-				originalError(error);
-				dfd.reject(error);
-			}
-
-			$.ajax(settings).done(success).fail(error);
-
-			return dfd.promise();
-		};
-
-		this.loginCommon = function(user, isAnonymousUser, response) {
-			var thisPrivate = this;
-			var dfd = $.Deferred();
-
-			response.done(function(sessionToken) {
-				if (sessionToken && (isAnonymousUser || sessionToken.indexOf(user) > -1)) {
-					thisPrivate.sessionToken = sessionToken;
-					dfd.resolve(sessionToken);
-				} else {
-					dfd.reject();
-				}
-			}).fail(function() {
-				dfd.reject();
-			});
-			return dfd.promise();
-		};
-
-		this.log = function(msg) {
-			if (console) {
-				console.log(msg);
-			}
-		}
-	}
-
-	var facade = function(openbisUrl) {
-
-		if (!openbisUrl) {
-			openbisUrl = "/openbis/openbis/rmi-application-server-v3.json";
-		}
-
-		this._private = new __private();
-
-		this.login = function(user, password) {
-			var thisFacade = this;
-			return thisFacade._private.loginCommon(user, false, thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "login",
-					"params" : [ user, password ]
-				}
-			}));
-		}
-
-		this.loginAs = function(user, password, asUserId) {
-			var thisFacade = this;
-			return thisFacade._private.loginCommon(asUserId, false, thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "loginAs",
-					"params" : [ user, password, asUserId ]
-				}
-			}));
-		}
-
-		this.loginAsAnonymousUser = function() {
-			var thisFacade = this;
-			return thisFacade._private.loginCommon(null, true, thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "loginAsAnonymousUser",
-					"params" : []
-				}
-			}));
-		}
-
-		this.logout = function() {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "logout",
-					"params" : [ thisFacade._private.sessionToken ]
-				}
-			}).done(function() {
-				thisFacade._private.sessionToken = null;
-			});
-		}
-
-		this.createSpaces = function(creations) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "createSpaces",
-					"params" : [ thisFacade._private.sessionToken, creations ]
-				},
-				returnType : {
-					name : "List",
-					arguments : [ "SpacePermId" ]
-				}
-			});
-		}
-
-		this.createProjects = function(creations) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "createProjects",
-					"params" : [ thisFacade._private.sessionToken, creations ]
-				},
-				returnType : {
-					name : "List",
-					arguments : [ "ProjectPermId" ]
-				}
-			});
-		}
-
-		this.createExperiments = function(creations) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "createExperiments",
-					"params" : [ thisFacade._private.sessionToken, creations ]
-				},
-				returnType : {
-					name : "List",
-					arguments : [ "ExperimentPermId" ]
-				}
-			});
-		}
-
-		this.createSamples = function(creations) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "createSamples",
-					"params" : [ thisFacade._private.sessionToken, creations ]
-				},
-				returnType : {
-					name : "List",
-					arguments : [ "SamplePermId" ]
-				}
-			});
-		}
-
-		this.createMaterials = function(creations) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "createMaterials",
-					"params" : [ thisFacade._private.sessionToken, creations ]
-				},
-				returnType : {
-					name : "List",
-					arguments : [ "MaterialPermId" ]
-				}
-			});
-		}
-
-		this.updateSpaces = function(updates) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "updateSpaces",
-					"params" : [ thisFacade._private.sessionToken, updates ]
-				}
-			});
-		}
-
-		this.updateProjects = function(updates) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "updateProjects",
-					"params" : [ thisFacade._private.sessionToken, updates ]
-				}
-			});
-		}
-
-		this.updateExperiments = function(updates) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "updateExperiments",
-					"params" : [ thisFacade._private.sessionToken, updates ]
-				}
-			});
-		}
-
-		this.updateSamples = function(updates) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "updateSamples",
-					"params" : [ thisFacade._private.sessionToken, updates ]
-				}
-			});
-		}
-
-		this.updateDataSets = function(updates) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "updateDataSets",
-					"params" : [ thisFacade._private.sessionToken, updates ]
-				}
-			});
-		}
-
-		this.updateMaterials = function(updates) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "updateMaterials",
-					"params" : [ thisFacade._private.sessionToken, updates ]
-				}
-			});
-		}
-
-		this.mapSpaces = function(ids, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "mapSpaces",
-					"params" : [ thisFacade._private.sessionToken, ids, fetchOptions ]
-				},
-				returnType : {
-					name : "Map",
-					arguments : [ "ISpaceId", "Space" ]
-				}
-			});
-		}
-
-		this.mapProjects = function(ids, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "mapProjects",
-					"params" : [ thisFacade._private.sessionToken, ids, fetchOptions ]
-				},
-				returnType : {
-					name : "Map",
-					arguments : [ "IProjectId", "Project" ]
-				}
-			});
-		}
-
-		this.mapExperiments = function(ids, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "mapExperiments",
-					"params" : [ thisFacade._private.sessionToken, ids, fetchOptions ]
-				},
-				returnType : {
-					name : "Map",
-					arguments : [ "IExperimentId", "Experiment" ]
-				}
-			});
-		}
-
-		this.mapSamples = function(ids, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "mapSamples",
-					"params" : [ thisFacade._private.sessionToken, ids, fetchOptions ]
-				},
-				returnType : {
-					name : "Map",
-					arguments : [ "ISampleId", "Sample" ]
-				}
-			});
-		}
-
-		this.mapDataSets = function(ids, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "mapDataSets",
-					"params" : [ thisFacade._private.sessionToken, ids, fetchOptions ]
-				},
-				returnType : {
-					name : "Map",
-					arguments : [ "IDataSetId", "DataSet" ]
-				}
-			});
-		}
-
-		this.mapMaterials = function(ids, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "mapMaterials",
-					"params" : [ thisFacade._private.sessionToken, ids, fetchOptions ]
-				},
-				returnType : {
-					name : "Map",
-					arguments : [ "IMaterialId", "Material" ]
-				}
-			});
-		}
-
-		this.searchSpaces = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchSpaces",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : "SearchResult"
-			});
-		}
-
-		this.searchProjects = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchProjects",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : "SearchResult"
-			});
-		}
-
-		this.searchExperiments = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchExperiments",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : "SearchResult"
-			})
-		}
-
-		this.searchSamples = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchSamples",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : "SearchResult"
-			});
-		}
-
-		this.searchDataSets = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchDataSets",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : "SearchResult"
-			});
-		}
-
-		this.searchMaterials = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchMaterials",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : "SearchResult"
-			});
-		}
-
-		this.searchCustomASServices = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchCustomASServices",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : "SearchResult"
-			});
-		}
-
-		this.searchObjectKindModifications = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchObjectKindModifications",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : "SearchResult"
-			});
-		}
-
-		this.searchGlobally = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchGlobally",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : "SearchResult"
-			});
-		}
-
-		this.deleteSpaces = function(ids, deletionOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "deleteSpaces",
-					"params" : [ thisFacade._private.sessionToken, ids, deletionOptions ]
-				}
-			});
-		}
-
-		this.deleteProjects = function(ids, deletionOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "deleteProjects",
-					"params" : [ thisFacade._private.sessionToken, ids, deletionOptions ]
-				}
-			});
-		}
-
-		this.deleteExperiments = function(ids, deletionOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "deleteExperiments",
-					"params" : [ thisFacade._private.sessionToken, ids, deletionOptions ]
-				},
-				returnType : "IDeletionId"
-			});
-		}
-
-		this.deleteSamples = function(ids, deletionOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "deleteSamples",
-					"params" : [ thisFacade._private.sessionToken, ids, deletionOptions ]
-				},
-				returnType : "IDeletionId"
-			});
-		}
-
-		this.deleteDataSets = function(ids, deletionOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "deleteDataSets",
-					"params" : [ thisFacade._private.sessionToken, ids, deletionOptions ]
-				},
-				returnType : "IDeletionId"
-			});
-		}
-
-		this.deleteMaterials = function(ids, deletionOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "deleteMaterials",
-					"params" : [ thisFacade._private.sessionToken, ids, deletionOptions ]
-				}
-			});
-		}
-
-		this.searchDeletions = function(criteria, fetchOptions) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "searchDeletions",
-					"params" : [ thisFacade._private.sessionToken, criteria, fetchOptions ]
-				},
-				returnType : {
-					name : "List",
-					arguments : [ "Deletion" ]
-				}
-			});
-		}
-
-		this.revertDeletions = function(ids) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "revertDeletions",
-					"params" : [ thisFacade._private.sessionToken, ids ]
-				}
-			});
-		}
-
-		this.confirmDeletions = function(ids) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "confirmDeletions",
-					"params" : [ thisFacade._private.sessionToken, ids ]
-				}
-			});
-		}
-
-		this.executeCustomASService = function(serviceId, options) {
-			var thisFacade = this;
-			return thisFacade._private.ajaxRequest({
-				url : openbisUrl,
-				data : {
-					"method" : "executeCustomASService",
-					"params" : [ thisFacade._private.sessionToken, serviceId, options ]
-				}
-			});
-		}
-	}
-
-	return facade;
-
-});
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/require.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/require.js
deleted file mode 100644
index 77a5bb1d3be75c2f6e0d7f8484d00b890319da0f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/require.js
+++ /dev/null
@@ -1,2076 +0,0 @@
-/** vim: et:ts=4:sw=4:sts=4
- * @license RequireJS 2.1.15 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
- * Available via the MIT or new BSD license.
- * see: http://github.com/jrburke/requirejs for details
- */
-//Not using strict: uneven strict support in browsers, #392, and causes
-//problems with requirejs.exec()/transpiler plugins that may not be strict.
-/*jslint regexp: true, nomen: true, sloppy: true */
-/*global window, navigator, document, importScripts, setTimeout, opera */
-
-var requirejs, require, define;
-(function (global) {
-    var req, s, head, baseElement, dataMain, src,
-        interactiveScript, currentlyAddingScript, mainScript, subPath,
-        version = '2.1.15',
-        commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
-        cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
-        jsSuffixRegExp = /\.js$/,
-        currDirRegExp = /^\.\//,
-        op = Object.prototype,
-        ostring = op.toString,
-        hasOwn = op.hasOwnProperty,
-        ap = Array.prototype,
-        apsp = ap.splice,
-        isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document),
-        isWebWorker = !isBrowser && typeof importScripts !== 'undefined',
-        //PS3 indicates loaded and complete, but need to wait for complete
-        //specifically. Sequence is 'loading', 'loaded', execution,
-        // then 'complete'. The UA check is unfortunate, but not sure how
-        //to feature test w/o causing perf issues.
-        readyRegExp = isBrowser && navigator.platform === 'PLAYSTATION 3' ?
-                      /^complete$/ : /^(complete|loaded)$/,
-        defContextName = '_',
-        //Oh the tragedy, detecting opera. See the usage of isOpera for reason.
-        isOpera = typeof opera !== 'undefined' && opera.toString() === '[object Opera]',
-        contexts = {},
-        cfg = {},
-        globalDefQueue = [],
-        useInteractive = false;
-
-    function isFunction(it) {
-        return ostring.call(it) === '[object Function]';
-    }
-
-    function isArray(it) {
-        return ostring.call(it) === '[object Array]';
-    }
-
-    /**
-     * Helper function for iterating over an array. If the func returns
-     * a true value, it will break out of the loop.
-     */
-    function each(ary, func) {
-        if (ary) {
-            var i;
-            for (i = 0; i < ary.length; i += 1) {
-                if (ary[i] && func(ary[i], i, ary)) {
-                    break;
-                }
-            }
-        }
-    }
-
-    /**
-     * Helper function for iterating over an array backwards. If the func
-     * returns a true value, it will break out of the loop.
-     */
-    function eachReverse(ary, func) {
-        if (ary) {
-            var i;
-            for (i = ary.length - 1; i > -1; i -= 1) {
-                if (ary[i] && func(ary[i], i, ary)) {
-                    break;
-                }
-            }
-        }
-    }
-
-    function hasProp(obj, prop) {
-        return hasOwn.call(obj, prop);
-    }
-
-    function getOwn(obj, prop) {
-        return hasProp(obj, prop) && obj[prop];
-    }
-
-    /**
-     * Cycles over properties in an object and calls a function for each
-     * property value. If the function returns a truthy value, then the
-     * iteration is stopped.
-     */
-    function eachProp(obj, func) {
-        var prop;
-        for (prop in obj) {
-            if (hasProp(obj, prop)) {
-                if (func(obj[prop], prop)) {
-                    break;
-                }
-            }
-        }
-    }
-
-    /**
-     * Simple function to mix in properties from source into target,
-     * but only if target does not already have a property of the same name.
-     */
-    function mixin(target, source, force, deepStringMixin) {
-        if (source) {
-            eachProp(source, function (value, prop) {
-                if (force || !hasProp(target, prop)) {
-                    if (deepStringMixin && typeof value === 'object' && value &&
-                        !isArray(value) && !isFunction(value) &&
-                        !(value instanceof RegExp)) {
-
-                        if (!target[prop]) {
-                            target[prop] = {};
-                        }
-                        mixin(target[prop], value, force, deepStringMixin);
-                    } else {
-                        target[prop] = value;
-                    }
-                }
-            });
-        }
-        return target;
-    }
-
-    //Similar to Function.prototype.bind, but the 'this' object is specified
-    //first, since it is easier to read/figure out what 'this' will be.
-    function bind(obj, fn) {
-        return function () {
-            return fn.apply(obj, arguments);
-        };
-    }
-
-    function scripts() {
-        return document.getElementsByTagName('script');
-    }
-
-    function defaultOnError(err) {
-        throw err;
-    }
-
-    //Allow getting a global that is expressed in
-    //dot notation, like 'a.b.c'.
-    function getGlobal(value) {
-        if (!value) {
-            return value;
-        }
-        var g = global;
-        each(value.split('.'), function (part) {
-            g = g[part];
-        });
-        return g;
-    }
-
-    /**
-     * Constructs an error with a pointer to an URL with more information.
-     * @param {String} id the error ID that maps to an ID on a web page.
-     * @param {String} message human readable error.
-     * @param {Error} [err] the original error, if there is one.
-     *
-     * @returns {Error}
-     */
-    function makeError(id, msg, err, requireModules) {
-        var e = new Error(msg + '\nhttp://requirejs.org/docs/errors.html#' + id);
-        e.requireType = id;
-        e.requireModules = requireModules;
-        if (err) {
-            e.originalError = err;
-        }
-        return e;
-    }
-
-    if (typeof define !== 'undefined') {
-        //If a define is already in play via another AMD loader,
-        //do not overwrite.
-        return;
-    }
-
-    if (typeof requirejs !== 'undefined') {
-        if (isFunction(requirejs)) {
-            //Do not overwrite an existing requirejs instance.
-            return;
-        }
-        cfg = requirejs;
-        requirejs = undefined;
-    }
-
-    //Allow for a require config object
-    if (typeof require !== 'undefined' && !isFunction(require)) {
-        //assume it is a config object.
-        cfg = require;
-        require = undefined;
-    }
-
-    function newContext(contextName) {
-        var inCheckLoaded, Module, context, handlers,
-            checkLoadedTimeoutId,
-            config = {
-                //Defaults. Do not set a default for map
-                //config to speed up normalize(), which
-                //will run faster if there is no default.
-                waitSeconds: 7,
-                baseUrl: './',
-                paths: {},
-                bundles: {},
-                pkgs: {},
-                shim: {},
-                config: {}
-            },
-            registry = {},
-            //registry of just enabled modules, to speed
-            //cycle breaking code when lots of modules
-            //are registered, but not activated.
-            enabledRegistry = {},
-            undefEvents = {},
-            defQueue = [],
-            defined = {},
-            urlFetched = {},
-            bundlesMap = {},
-            requireCounter = 1,
-            unnormalizedCounter = 1;
-
-        /**
-         * Trims the . and .. from an array of path segments.
-         * It will keep a leading path segment if a .. will become
-         * the first path segment, to help with module name lookups,
-         * which act like paths, but can be remapped. But the end result,
-         * all paths that use this function should look normalized.
-         * NOTE: this method MODIFIES the input array.
-         * @param {Array} ary the array of path segments.
-         */
-        function trimDots(ary) {
-            var i, part;
-            for (i = 0; i < ary.length; i++) {
-                part = ary[i];
-                if (part === '.') {
-                    ary.splice(i, 1);
-                    i -= 1;
-                } else if (part === '..') {
-                    // If at the start, or previous value is still ..,
-                    // keep them so that when converted to a path it may
-                    // still work when converted to a path, even though
-                    // as an ID it is less than ideal. In larger point
-                    // releases, may be better to just kick out an error.
-                    if (i === 0 || (i == 1 && ary[2] === '..') || ary[i - 1] === '..') {
-                        continue;
-                    } else if (i > 0) {
-                        ary.splice(i - 1, 2);
-                        i -= 2;
-                    }
-                }
-            }
-        }
-
-        /**
-         * Given a relative module name, like ./something, normalize it to
-         * a real name that can be mapped to a path.
-         * @param {String} name the relative name
-         * @param {String} baseName a real name that the name arg is relative
-         * to.
-         * @param {Boolean} applyMap apply the map config to the value. Should
-         * only be done if this normalization is for a dependency ID.
-         * @returns {String} normalized name
-         */
-        function normalize(name, baseName, applyMap) {
-            var pkgMain, mapValue, nameParts, i, j, nameSegment, lastIndex,
-                foundMap, foundI, foundStarMap, starI, normalizedBaseParts,
-                baseParts = (baseName && baseName.split('/')),
-                map = config.map,
-                starMap = map && map['*'];
-
-            //Adjust any relative paths.
-            if (name) {
-                name = name.split('/');
-                lastIndex = name.length - 1;
-
-                // If wanting node ID compatibility, strip .js from end
-                // of IDs. Have to do this here, and not in nameToUrl
-                // because node allows either .js or non .js to map
-                // to same file.
-                if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
-                    name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
-                }
-
-                // Starts with a '.' so need the baseName
-                if (name[0].charAt(0) === '.' && baseParts) {
-                    //Convert baseName to array, and lop off the last part,
-                    //so that . matches that 'directory' and not name of the baseName's
-                    //module. For instance, baseName of 'one/two/three', maps to
-                    //'one/two/three.js', but we want the directory, 'one/two' for
-                    //this normalization.
-                    normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
-                    name = normalizedBaseParts.concat(name);
-                }
-
-                trimDots(name);
-                name = name.join('/');
-            }
-
-            //Apply map config if available.
-            if (applyMap && map && (baseParts || starMap)) {
-                nameParts = name.split('/');
-
-                outerLoop: for (i = nameParts.length; i > 0; i -= 1) {
-                    nameSegment = nameParts.slice(0, i).join('/');
-
-                    if (baseParts) {
-                        //Find the longest baseName segment match in the config.
-                        //So, do joins on the biggest to smallest lengths of baseParts.
-                        for (j = baseParts.length; j > 0; j -= 1) {
-                            mapValue = getOwn(map, baseParts.slice(0, j).join('/'));
-
-                            //baseName segment has config, find if it has one for
-                            //this name.
-                            if (mapValue) {
-                                mapValue = getOwn(mapValue, nameSegment);
-                                if (mapValue) {
-                                    //Match, update name to the new value.
-                                    foundMap = mapValue;
-                                    foundI = i;
-                                    break outerLoop;
-                                }
-                            }
-                        }
-                    }
-
-                    //Check for a star map match, but just hold on to it,
-                    //if there is a shorter segment match later in a matching
-                    //config, then favor over this star map.
-                    if (!foundStarMap && starMap && getOwn(starMap, nameSegment)) {
-                        foundStarMap = getOwn(starMap, nameSegment);
-                        starI = i;
-                    }
-                }
-
-                if (!foundMap && foundStarMap) {
-                    foundMap = foundStarMap;
-                    foundI = starI;
-                }
-
-                if (foundMap) {
-                    nameParts.splice(0, foundI, foundMap);
-                    name = nameParts.join('/');
-                }
-            }
-
-            // If the name points to a package's name, use
-            // the package main instead.
-            pkgMain = getOwn(config.pkgs, name);
-
-            return pkgMain ? pkgMain : name;
-        }
-
-        function removeScript(name) {
-            if (isBrowser) {
-                each(scripts(), function (scriptNode) {
-                    if (scriptNode.getAttribute('data-requiremodule') === name &&
-                            scriptNode.getAttribute('data-requirecontext') === context.contextName) {
-                        scriptNode.parentNode.removeChild(scriptNode);
-                        return true;
-                    }
-                });
-            }
-        }
-
-        function hasPathFallback(id) {
-            var pathConfig = getOwn(config.paths, id);
-            if (pathConfig && isArray(pathConfig) && pathConfig.length > 1) {
-                //Pop off the first array value, since it failed, and
-                //retry
-                pathConfig.shift();
-                context.require.undef(id);
-
-                //Custom require that does not do map translation, since
-                //ID is "absolute", already mapped/resolved.
-                context.makeRequire(null, {
-                    skipMap: true
-                })([id]);
-
-                return true;
-            }
-        }
-
-        //Turns a plugin!resource to [plugin, resource]
-        //with the plugin being undefined if the name
-        //did not have a plugin prefix.
-        function splitPrefix(name) {
-            var prefix,
-                index = name ? name.indexOf('!') : -1;
-            if (index > -1) {
-                prefix = name.substring(0, index);
-                name = name.substring(index + 1, name.length);
-            }
-            return [prefix, name];
-        }
-
-        /**
-         * Creates a module mapping that includes plugin prefix, module
-         * name, and path. If parentModuleMap is provided it will
-         * also normalize the name via require.normalize()
-         *
-         * @param {String} name the module name
-         * @param {String} [parentModuleMap] parent module map
-         * for the module name, used to resolve relative names.
-         * @param {Boolean} isNormalized: is the ID already normalized.
-         * This is true if this call is done for a define() module ID.
-         * @param {Boolean} applyMap: apply the map config to the ID.
-         * Should only be true if this map is for a dependency.
-         *
-         * @returns {Object}
-         */
-        function makeModuleMap(name, parentModuleMap, isNormalized, applyMap) {
-            var url, pluginModule, suffix, nameParts,
-                prefix = null,
-                parentName = parentModuleMap ? parentModuleMap.name : null,
-                originalName = name,
-                isDefine = true,
-                normalizedName = '';
-
-            //If no name, then it means it is a require call, generate an
-            //internal name.
-            if (!name) {
-                isDefine = false;
-                name = '_@r' + (requireCounter += 1);
-            }
-
-            nameParts = splitPrefix(name);
-            prefix = nameParts[0];
-            name = nameParts[1];
-
-            if (prefix) {
-                prefix = normalize(prefix, parentName, applyMap);
-                pluginModule = getOwn(defined, prefix);
-            }
-
-            //Account for relative paths if there is a base name.
-            if (name) {
-                if (prefix) {
-                    if (pluginModule && pluginModule.normalize) {
-                        //Plugin is loaded, use its normalize method.
-                        normalizedName = pluginModule.normalize(name, function (name) {
-                            return normalize(name, parentName, applyMap);
-                        });
-                    } else {
-                        // If nested plugin references, then do not try to
-                        // normalize, as it will not normalize correctly. This
-                        // places a restriction on resourceIds, and the longer
-                        // term solution is not to normalize until plugins are
-                        // loaded and all normalizations to allow for async
-                        // loading of a loader plugin. But for now, fixes the
-                        // common uses. Details in #1131
-                        normalizedName = name.indexOf('!') === -1 ?
-                                         normalize(name, parentName, applyMap) :
-                                         name;
-                    }
-                } else {
-                    //A regular module.
-                    normalizedName = normalize(name, parentName, applyMap);
-
-                    //Normalized name may be a plugin ID due to map config
-                    //application in normalize. The map config values must
-                    //already be normalized, so do not need to redo that part.
-                    nameParts = splitPrefix(normalizedName);
-                    prefix = nameParts[0];
-                    normalizedName = nameParts[1];
-                    isNormalized = true;
-
-                    url = context.nameToUrl(normalizedName);
-                }
-            }
-
-            //If the id is a plugin id that cannot be determined if it needs
-            //normalization, stamp it with a unique ID so two matching relative
-            //ids that may conflict can be separate.
-            suffix = prefix && !pluginModule && !isNormalized ?
-                     '_unnormalized' + (unnormalizedCounter += 1) :
-                     '';
-
-            return {
-                prefix: prefix,
-                name: normalizedName,
-                parentMap: parentModuleMap,
-                unnormalized: !!suffix,
-                url: url,
-                originalName: originalName,
-                isDefine: isDefine,
-                id: (prefix ?
-                        prefix + '!' + normalizedName :
-                        normalizedName) + suffix
-            };
-        }
-
-        function getModule(depMap) {
-            var id = depMap.id,
-                mod = getOwn(registry, id);
-
-            if (!mod) {
-                mod = registry[id] = new context.Module(depMap);
-            }
-
-            return mod;
-        }
-
-        function on(depMap, name, fn) {
-            var id = depMap.id,
-                mod = getOwn(registry, id);
-
-            if (hasProp(defined, id) &&
-                    (!mod || mod.defineEmitComplete)) {
-                if (name === 'defined') {
-                    fn(defined[id]);
-                }
-            } else {
-                mod = getModule(depMap);
-                if (mod.error && name === 'error') {
-                    fn(mod.error);
-                } else {
-                    mod.on(name, fn);
-                }
-            }
-        }
-
-        function onError(err, errback) {
-            var ids = err.requireModules,
-                notified = false;
-
-            if (errback) {
-                errback(err);
-            } else {
-                each(ids, function (id) {
-                    var mod = getOwn(registry, id);
-                    if (mod) {
-                        //Set error on module, so it skips timeout checks.
-                        mod.error = err;
-                        if (mod.events.error) {
-                            notified = true;
-                            mod.emit('error', err);
-                        }
-                    }
-                });
-
-                if (!notified) {
-                    req.onError(err);
-                }
-            }
-        }
-
-        /**
-         * Internal method to transfer globalQueue items to this context's
-         * defQueue.
-         */
-        function takeGlobalQueue() {
-            //Push all the globalDefQueue items into the context's defQueue
-            if (globalDefQueue.length) {
-                //Array splice in the values since the context code has a
-                //local var ref to defQueue, so cannot just reassign the one
-                //on context.
-                apsp.apply(defQueue,
-                           [defQueue.length, 0].concat(globalDefQueue));
-                globalDefQueue = [];
-            }
-        }
-
-        handlers = {
-            'require': function (mod) {
-                if (mod.require) {
-                    return mod.require;
-                } else {
-                    return (mod.require = context.makeRequire(mod.map));
-                }
-            },
-            'exports': function (mod) {
-                mod.usingExports = true;
-                if (mod.map.isDefine) {
-                    if (mod.exports) {
-                        return (defined[mod.map.id] = mod.exports);
-                    } else {
-                        return (mod.exports = defined[mod.map.id] = {});
-                    }
-                }
-            },
-            'module': function (mod) {
-                if (mod.module) {
-                    return mod.module;
-                } else {
-                    return (mod.module = {
-                        id: mod.map.id,
-                        uri: mod.map.url,
-                        config: function () {
-                            return  getOwn(config.config, mod.map.id) || {};
-                        },
-                        exports: mod.exports || (mod.exports = {})
-                    });
-                }
-            }
-        };
-
-        function cleanRegistry(id) {
-            //Clean up machinery used for waiting modules.
-            delete registry[id];
-            delete enabledRegistry[id];
-        }
-
-        function breakCycle(mod, traced, processed) {
-            var id = mod.map.id;
-
-            if (mod.error) {
-                mod.emit('error', mod.error);
-            } else {
-                traced[id] = true;
-                each(mod.depMaps, function (depMap, i) {
-                    var depId = depMap.id,
-                        dep = getOwn(registry, depId);
-
-                    //Only force things that have not completed
-                    //being defined, so still in the registry,
-                    //and only if it has not been matched up
-                    //in the module already.
-                    if (dep && !mod.depMatched[i] && !processed[depId]) {
-                        if (getOwn(traced, depId)) {
-                            mod.defineDep(i, defined[depId]);
-                            mod.check(); //pass false?
-                        } else {
-                            breakCycle(dep, traced, processed);
-                        }
-                    }
-                });
-                processed[id] = true;
-            }
-        }
-
-        function checkLoaded() {
-            var err, usingPathFallback,
-                waitInterval = config.waitSeconds * 1000,
-                //It is possible to disable the wait interval by using waitSeconds of 0.
-                expired = waitInterval && (context.startTime + waitInterval) < new Date().getTime(),
-                noLoads = [],
-                reqCalls = [],
-                stillLoading = false,
-                needCycleCheck = true;
-
-            //Do not bother if this call was a result of a cycle break.
-            if (inCheckLoaded) {
-                return;
-            }
-
-            inCheckLoaded = true;
-
-            //Figure out the state of all the modules.
-            eachProp(enabledRegistry, function (mod) {
-                var map = mod.map,
-                    modId = map.id;
-
-                //Skip things that are not enabled or in error state.
-                if (!mod.enabled) {
-                    return;
-                }
-
-                if (!map.isDefine) {
-                    reqCalls.push(mod);
-                }
-
-                if (!mod.error) {
-                    //If the module should be executed, and it has not
-                    //been inited and time is up, remember it.
-                    if (!mod.inited && expired) {
-                        if (hasPathFallback(modId)) {
-                            usingPathFallback = true;
-                            stillLoading = true;
-                        } else {
-                            noLoads.push(modId);
-                            removeScript(modId);
-                        }
-                    } else if (!mod.inited && mod.fetched && map.isDefine) {
-                        stillLoading = true;
-                        if (!map.prefix) {
-                            //No reason to keep looking for unfinished
-                            //loading. If the only stillLoading is a
-                            //plugin resource though, keep going,
-                            //because it may be that a plugin resource
-                            //is waiting on a non-plugin cycle.
-                            return (needCycleCheck = false);
-                        }
-                    }
-                }
-            });
-
-            if (expired && noLoads.length) {
-                //If wait time expired, throw error of unloaded modules.
-                err = makeError('timeout', 'Load timeout for modules: ' + noLoads, null, noLoads);
-                err.contextName = context.contextName;
-                return onError(err);
-            }
-
-            //Not expired, check for a cycle.
-            if (needCycleCheck) {
-                each(reqCalls, function (mod) {
-                    breakCycle(mod, {}, {});
-                });
-            }
-
-            //If still waiting on loads, and the waiting load is something
-            //other than a plugin resource, or there are still outstanding
-            //scripts, then just try back later.
-            if ((!expired || usingPathFallback) && stillLoading) {
-                //Something is still waiting to load. Wait for it, but only
-                //if a timeout is not already in effect.
-                if ((isBrowser || isWebWorker) && !checkLoadedTimeoutId) {
-                    checkLoadedTimeoutId = setTimeout(function () {
-                        checkLoadedTimeoutId = 0;
-                        checkLoaded();
-                    }, 50);
-                }
-            }
-
-            inCheckLoaded = false;
-        }
-
-        Module = function (map) {
-            this.events = getOwn(undefEvents, map.id) || {};
-            this.map = map;
-            this.shim = getOwn(config.shim, map.id);
-            this.depExports = [];
-            this.depMaps = [];
-            this.depMatched = [];
-            this.pluginMaps = {};
-            this.depCount = 0;
-
-            /* this.exports this.factory
-               this.depMaps = [],
-               this.enabled, this.fetched
-            */
-        };
-
-        Module.prototype = {
-            init: function (depMaps, factory, errback, options) {
-                options = options || {};
-
-                //Do not do more inits if already done. Can happen if there
-                //are multiple define calls for the same module. That is not
-                //a normal, common case, but it is also not unexpected.
-                if (this.inited) {
-                    return;
-                }
-
-                this.factory = factory;
-
-                if (errback) {
-                    //Register for errors on this module.
-                    this.on('error', errback);
-                } else if (this.events.error) {
-                    //If no errback already, but there are error listeners
-                    //on this module, set up an errback to pass to the deps.
-                    errback = bind(this, function (err) {
-                        this.emit('error', err);
-                    });
-                }
-
-                //Do a copy of the dependency array, so that
-                //source inputs are not modified. For example
-                //"shim" deps are passed in here directly, and
-                //doing a direct modification of the depMaps array
-                //would affect that config.
-                this.depMaps = depMaps && depMaps.slice(0);
-
-                this.errback = errback;
-
-                //Indicate this module has be initialized
-                this.inited = true;
-
-                this.ignore = options.ignore;
-
-                //Could have option to init this module in enabled mode,
-                //or could have been previously marked as enabled. However,
-                //the dependencies are not known until init is called. So
-                //if enabled previously, now trigger dependencies as enabled.
-                if (options.enabled || this.enabled) {
-                    //Enable this module and dependencies.
-                    //Will call this.check()
-                    this.enable();
-                } else {
-                    this.check();
-                }
-            },
-
-            defineDep: function (i, depExports) {
-                //Because of cycles, defined callback for a given
-                //export can be called more than once.
-                if (!this.depMatched[i]) {
-                    this.depMatched[i] = true;
-                    this.depCount -= 1;
-                    this.depExports[i] = depExports;
-                }
-            },
-
-            fetch: function () {
-                if (this.fetched) {
-                    return;
-                }
-                this.fetched = true;
-
-                context.startTime = (new Date()).getTime();
-
-                var map = this.map;
-
-                //If the manager is for a plugin managed resource,
-                //ask the plugin to load it now.
-                if (this.shim) {
-                    context.makeRequire(this.map, {
-                        enableBuildCallback: true
-                    })(this.shim.deps || [], bind(this, function () {
-                        return map.prefix ? this.callPlugin() : this.load();
-                    }));
-                } else {
-                    //Regular dependency.
-                    return map.prefix ? this.callPlugin() : this.load();
-                }
-            },
-
-            load: function () {
-                var url = this.map.url;
-
-                //Regular dependency.
-                if (!urlFetched[url]) {
-                    urlFetched[url] = true;
-                    context.load(this.map.id, url);
-                }
-            },
-
-            /**
-             * Checks if the module is ready to define itself, and if so,
-             * define it.
-             */
-            check: function () {
-                if (!this.enabled || this.enabling) {
-                    return;
-                }
-
-                var err, cjsModule,
-                    id = this.map.id,
-                    depExports = this.depExports,
-                    exports = this.exports,
-                    factory = this.factory;
-
-                if (!this.inited) {
-                    this.fetch();
-                } else if (this.error) {
-                    this.emit('error', this.error);
-                } else if (!this.defining) {
-                    //The factory could trigger another require call
-                    //that would result in checking this module to
-                    //define itself again. If already in the process
-                    //of doing that, skip this work.
-                    this.defining = true;
-
-                    if (this.depCount < 1 && !this.defined) {
-                        if (isFunction(factory)) {
-                            //If there is an error listener, favor passing
-                            //to that instead of throwing an error. However,
-                            //only do it for define()'d  modules. require
-                            //errbacks should not be called for failures in
-                            //their callbacks (#699). However if a global
-                            //onError is set, use that.
-                            if ((this.events.error && this.map.isDefine) ||
-                                req.onError !== defaultOnError) {
-                                try {
-                                    exports = context.execCb(id, factory, depExports, exports);
-                                } catch (e) {
-                                    err = e;
-                                }
-                            } else {
-                                exports = context.execCb(id, factory, depExports, exports);
-                            }
-
-                            // Favor return value over exports. If node/cjs in play,
-                            // then will not have a return value anyway. Favor
-                            // module.exports assignment over exports object.
-                            if (this.map.isDefine && exports === undefined) {
-                                cjsModule = this.module;
-                                if (cjsModule) {
-                                    exports = cjsModule.exports;
-                                } else if (this.usingExports) {
-                                    //exports already set the defined value.
-                                    exports = this.exports;
-                                }
-                            }
-
-                            if (err) {
-                                err.requireMap = this.map;
-                                err.requireModules = this.map.isDefine ? [this.map.id] : null;
-                                err.requireType = this.map.isDefine ? 'define' : 'require';
-                                return onError((this.error = err));
-                            }
-
-                        } else {
-                            //Just a literal value
-                            exports = factory;
-                        }
-
-                        this.exports = exports;
-
-                        if (this.map.isDefine && !this.ignore) {
-                            defined[id] = exports;
-
-                            if (req.onResourceLoad) {
-                                req.onResourceLoad(context, this.map, this.depMaps);
-                            }
-                        }
-
-                        //Clean up
-                        cleanRegistry(id);
-
-                        this.defined = true;
-                    }
-
-                    //Finished the define stage. Allow calling check again
-                    //to allow define notifications below in the case of a
-                    //cycle.
-                    this.defining = false;
-
-                    if (this.defined && !this.defineEmitted) {
-                        this.defineEmitted = true;
-                        this.emit('defined', this.exports);
-                        this.defineEmitComplete = true;
-                    }
-
-                }
-            },
-
-            callPlugin: function () {
-                var map = this.map,
-                    id = map.id,
-                    //Map already normalized the prefix.
-                    pluginMap = makeModuleMap(map.prefix);
-
-                //Mark this as a dependency for this plugin, so it
-                //can be traced for cycles.
-                this.depMaps.push(pluginMap);
-
-                on(pluginMap, 'defined', bind(this, function (plugin) {
-                    var load, normalizedMap, normalizedMod,
-                        bundleId = getOwn(bundlesMap, this.map.id),
-                        name = this.map.name,
-                        parentName = this.map.parentMap ? this.map.parentMap.name : null,
-                        localRequire = context.makeRequire(map.parentMap, {
-                            enableBuildCallback: true
-                        });
-
-                    //If current map is not normalized, wait for that
-                    //normalized name to load instead of continuing.
-                    if (this.map.unnormalized) {
-                        //Normalize the ID if the plugin allows it.
-                        if (plugin.normalize) {
-                            name = plugin.normalize(name, function (name) {
-                                return normalize(name, parentName, true);
-                            }) || '';
-                        }
-
-                        //prefix and name should already be normalized, no need
-                        //for applying map config again either.
-                        normalizedMap = makeModuleMap(map.prefix + '!' + name,
-                                                      this.map.parentMap);
-                        on(normalizedMap,
-                            'defined', bind(this, function (value) {
-                                this.init([], function () { return value; }, null, {
-                                    enabled: true,
-                                    ignore: true
-                                });
-                            }));
-
-                        normalizedMod = getOwn(registry, normalizedMap.id);
-                        if (normalizedMod) {
-                            //Mark this as a dependency for this plugin, so it
-                            //can be traced for cycles.
-                            this.depMaps.push(normalizedMap);
-
-                            if (this.events.error) {
-                                normalizedMod.on('error', bind(this, function (err) {
-                                    this.emit('error', err);
-                                }));
-                            }
-                            normalizedMod.enable();
-                        }
-
-                        return;
-                    }
-
-                    //If a paths config, then just load that file instead to
-                    //resolve the plugin, as it is built into that paths layer.
-                    if (bundleId) {
-                        this.map.url = context.nameToUrl(bundleId);
-                        this.load();
-                        return;
-                    }
-
-                    load = bind(this, function (value) {
-                        this.init([], function () { return value; }, null, {
-                            enabled: true
-                        });
-                    });
-
-                    load.error = bind(this, function (err) {
-                        this.inited = true;
-                        this.error = err;
-                        err.requireModules = [id];
-
-                        //Remove temp unnormalized modules for this module,
-                        //since they will never be resolved otherwise now.
-                        eachProp(registry, function (mod) {
-                            if (mod.map.id.indexOf(id + '_unnormalized') === 0) {
-                                cleanRegistry(mod.map.id);
-                            }
-                        });
-
-                        onError(err);
-                    });
-
-                    //Allow plugins to load other code without having to know the
-                    //context or how to 'complete' the load.
-                    load.fromText = bind(this, function (text, textAlt) {
-                        /*jslint evil: true */
-                        var moduleName = map.name,
-                            moduleMap = makeModuleMap(moduleName),
-                            hasInteractive = useInteractive;
-
-                        //As of 2.1.0, support just passing the text, to reinforce
-                        //fromText only being called once per resource. Still
-                        //support old style of passing moduleName but discard
-                        //that moduleName in favor of the internal ref.
-                        if (textAlt) {
-                            text = textAlt;
-                        }
-
-                        //Turn off interactive script matching for IE for any define
-                        //calls in the text, then turn it back on at the end.
-                        if (hasInteractive) {
-                            useInteractive = false;
-                        }
-
-                        //Prime the system by creating a module instance for
-                        //it.
-                        getModule(moduleMap);
-
-                        //Transfer any config to this other module.
-                        if (hasProp(config.config, id)) {
-                            config.config[moduleName] = config.config[id];
-                        }
-
-                        try {
-                            req.exec(text);
-                        } catch (e) {
-                            return onError(makeError('fromtexteval',
-                                             'fromText eval for ' + id +
-                                            ' failed: ' + e,
-                                             e,
-                                             [id]));
-                        }
-
-                        if (hasInteractive) {
-                            useInteractive = true;
-                        }
-
-                        //Mark this as a dependency for the plugin
-                        //resource
-                        this.depMaps.push(moduleMap);
-
-                        //Support anonymous modules.
-                        context.completeLoad(moduleName);
-
-                        //Bind the value of that module to the value for this
-                        //resource ID.
-                        localRequire([moduleName], load);
-                    });
-
-                    //Use parentName here since the plugin's name is not reliable,
-                    //could be some weird string with no path that actually wants to
-                    //reference the parentName's path.
-                    plugin.load(map.name, localRequire, load, config);
-                }));
-
-                context.enable(pluginMap, this);
-                this.pluginMaps[pluginMap.id] = pluginMap;
-            },
-
-            enable: function () {
-                enabledRegistry[this.map.id] = this;
-                this.enabled = true;
-
-                //Set flag mentioning that the module is enabling,
-                //so that immediate calls to the defined callbacks
-                //for dependencies do not trigger inadvertent load
-                //with the depCount still being zero.
-                this.enabling = true;
-
-                //Enable each dependency
-                each(this.depMaps, bind(this, function (depMap, i) {
-                    var id, mod, handler;
-
-                    if (typeof depMap === 'string') {
-                        //Dependency needs to be converted to a depMap
-                        //and wired up to this module.
-                        depMap = makeModuleMap(depMap,
-                                               (this.map.isDefine ? this.map : this.map.parentMap),
-                                               false,
-                                               !this.skipMap);
-                        this.depMaps[i] = depMap;
-
-                        handler = getOwn(handlers, depMap.id);
-
-                        if (handler) {
-                            this.depExports[i] = handler(this);
-                            return;
-                        }
-
-                        this.depCount += 1;
-
-                        on(depMap, 'defined', bind(this, function (depExports) {
-                            this.defineDep(i, depExports);
-                            this.check();
-                        }));
-
-                        if (this.errback) {
-                            on(depMap, 'error', bind(this, this.errback));
-                        }
-                    }
-
-                    id = depMap.id;
-                    mod = registry[id];
-
-                    //Skip special modules like 'require', 'exports', 'module'
-                    //Also, don't call enable if it is already enabled,
-                    //important in circular dependency cases.
-                    if (!hasProp(handlers, id) && mod && !mod.enabled) {
-                        context.enable(depMap, this);
-                    }
-                }));
-
-                //Enable each plugin that is used in
-                //a dependency
-                eachProp(this.pluginMaps, bind(this, function (pluginMap) {
-                    var mod = getOwn(registry, pluginMap.id);
-                    if (mod && !mod.enabled) {
-                        context.enable(pluginMap, this);
-                    }
-                }));
-
-                this.enabling = false;
-
-                this.check();
-            },
-
-            on: function (name, cb) {
-                var cbs = this.events[name];
-                if (!cbs) {
-                    cbs = this.events[name] = [];
-                }
-                cbs.push(cb);
-            },
-
-            emit: function (name, evt) {
-                each(this.events[name], function (cb) {
-                    cb(evt);
-                });
-                if (name === 'error') {
-                    //Now that the error handler was triggered, remove
-                    //the listeners, since this broken Module instance
-                    //can stay around for a while in the registry.
-                    delete this.events[name];
-                }
-            }
-        };
-
-        function callGetModule(args) {
-            //Skip modules already defined.
-            if (!hasProp(defined, args[0])) {
-                getModule(makeModuleMap(args[0], null, true)).init(args[1], args[2]);
-            }
-        }
-
-        function removeListener(node, func, name, ieName) {
-            //Favor detachEvent because of IE9
-            //issue, see attachEvent/addEventListener comment elsewhere
-            //in this file.
-            if (node.detachEvent && !isOpera) {
-                //Probably IE. If not it will throw an error, which will be
-                //useful to know.
-                if (ieName) {
-                    node.detachEvent(ieName, func);
-                }
-            } else {
-                node.removeEventListener(name, func, false);
-            }
-        }
-
-        /**
-         * Given an event from a script node, get the requirejs info from it,
-         * and then removes the event listeners on the node.
-         * @param {Event} evt
-         * @returns {Object}
-         */
-        function getScriptData(evt) {
-            //Using currentTarget instead of target for Firefox 2.0's sake. Not
-            //all old browsers will be supported, but this one was easy enough
-            //to support and still makes sense.
-            var node = evt.currentTarget || evt.srcElement;
-
-            //Remove the listeners once here.
-            removeListener(node, context.onScriptLoad, 'load', 'onreadystatechange');
-            removeListener(node, context.onScriptError, 'error');
-
-            return {
-                node: node,
-                id: node && node.getAttribute('data-requiremodule')
-            };
-        }
-
-        function intakeDefines() {
-            var args;
-
-            //Any defined modules in the global queue, intake them now.
-            takeGlobalQueue();
-
-            //Make sure any remaining defQueue items get properly processed.
-            while (defQueue.length) {
-                args = defQueue.shift();
-                if (args[0] === null) {
-                    return onError(makeError('mismatch', 'Mismatched anonymous define() module: ' + args[args.length - 1]));
-                } else {
-                    //args are id, deps, factory. Should be normalized by the
-                    //define() function.
-                    callGetModule(args);
-                }
-            }
-        }
-
-        context = {
-            config: config,
-            contextName: contextName,
-            registry: registry,
-            defined: defined,
-            urlFetched: urlFetched,
-            defQueue: defQueue,
-            Module: Module,
-            makeModuleMap: makeModuleMap,
-            nextTick: req.nextTick,
-            onError: onError,
-
-            /**
-             * Set a configuration for the context.
-             * @param {Object} cfg config object to integrate.
-             */
-            configure: function (cfg) {
-                //Make sure the baseUrl ends in a slash.
-                if (cfg.baseUrl) {
-                    if (cfg.baseUrl.charAt(cfg.baseUrl.length - 1) !== '/') {
-                        cfg.baseUrl += '/';
-                    }
-                }
-
-                //Save off the paths since they require special processing,
-                //they are additive.
-                var shim = config.shim,
-                    objs = {
-                        paths: true,
-                        bundles: true,
-                        config: true,
-                        map: true
-                    };
-
-                eachProp(cfg, function (value, prop) {
-                    if (objs[prop]) {
-                        if (!config[prop]) {
-                            config[prop] = {};
-                        }
-                        mixin(config[prop], value, true, true);
-                    } else {
-                        config[prop] = value;
-                    }
-                });
-
-                //Reverse map the bundles
-                if (cfg.bundles) {
-                    eachProp(cfg.bundles, function (value, prop) {
-                        each(value, function (v) {
-                            if (v !== prop) {
-                                bundlesMap[v] = prop;
-                            }
-                        });
-                    });
-                }
-
-                //Merge shim
-                if (cfg.shim) {
-                    eachProp(cfg.shim, function (value, id) {
-                        //Normalize the structure
-                        if (isArray(value)) {
-                            value = {
-                                deps: value
-                            };
-                        }
-                        if ((value.exports || value.init) && !value.exportsFn) {
-                            value.exportsFn = context.makeShimExports(value);
-                        }
-                        shim[id] = value;
-                    });
-                    config.shim = shim;
-                }
-
-                //Adjust packages if necessary.
-                if (cfg.packages) {
-                    each(cfg.packages, function (pkgObj) {
-                        var location, name;
-
-                        pkgObj = typeof pkgObj === 'string' ? { name: pkgObj } : pkgObj;
-
-                        name = pkgObj.name;
-                        location = pkgObj.location;
-                        if (location) {
-                            config.paths[name] = pkgObj.location;
-                        }
-
-                        //Save pointer to main module ID for pkg name.
-                        //Remove leading dot in main, so main paths are normalized,
-                        //and remove any trailing .js, since different package
-                        //envs have different conventions: some use a module name,
-                        //some use a file name.
-                        config.pkgs[name] = pkgObj.name + '/' + (pkgObj.main || 'main')
-                                     .replace(currDirRegExp, '')
-                                     .replace(jsSuffixRegExp, '');
-                    });
-                }
-
-                //If there are any "waiting to execute" modules in the registry,
-                //update the maps for them, since their info, like URLs to load,
-                //may have changed.
-                eachProp(registry, function (mod, id) {
-                    //If module already has init called, since it is too
-                    //late to modify them, and ignore unnormalized ones
-                    //since they are transient.
-                    if (!mod.inited && !mod.map.unnormalized) {
-                        mod.map = makeModuleMap(id);
-                    }
-                });
-
-                //If a deps array or a config callback is specified, then call
-                //require with those args. This is useful when require is defined as a
-                //config object before require.js is loaded.
-                if (cfg.deps || cfg.callback) {
-                    context.require(cfg.deps || [], cfg.callback);
-                }
-            },
-
-            makeShimExports: function (value) {
-                function fn() {
-                    var ret;
-                    if (value.init) {
-                        ret = value.init.apply(global, arguments);
-                    }
-                    return ret || (value.exports && getGlobal(value.exports));
-                }
-                return fn;
-            },
-
-            makeRequire: function (relMap, options) {
-                options = options || {};
-
-                function localRequire(deps, callback, errback) {
-                    var id, map, requireMod;
-
-                    if (options.enableBuildCallback && callback && isFunction(callback)) {
-                        callback.__requireJsBuild = true;
-                    }
-
-                    if (typeof deps === 'string') {
-                        if (isFunction(callback)) {
-                            //Invalid call
-                            return onError(makeError('requireargs', 'Invalid require call'), errback);
-                        }
-
-                        //If require|exports|module are requested, get the
-                        //value for them from the special handlers. Caveat:
-                        //this only works while module is being defined.
-                        if (relMap && hasProp(handlers, deps)) {
-                            return handlers[deps](registry[relMap.id]);
-                        }
-
-                        //Synchronous access to one module. If require.get is
-                        //available (as in the Node adapter), prefer that.
-                        if (req.get) {
-                            return req.get(context, deps, relMap, localRequire);
-                        }
-
-                        //Normalize module name, if it contains . or ..
-                        map = makeModuleMap(deps, relMap, false, true);
-                        id = map.id;
-
-                        if (!hasProp(defined, id)) {
-                            return onError(makeError('notloaded', 'Module name "' +
-                                        id +
-                                        '" has not been loaded yet for context: ' +
-                                        contextName +
-                                        (relMap ? '' : '. Use require([])')));
-                        }
-                        return defined[id];
-                    }
-
-                    //Grab defines waiting in the global queue.
-                    intakeDefines();
-
-                    //Mark all the dependencies as needing to be loaded.
-                    context.nextTick(function () {
-                        //Some defines could have been added since the
-                        //require call, collect them.
-                        intakeDefines();
-
-                        requireMod = getModule(makeModuleMap(null, relMap));
-
-                        //Store if map config should be applied to this require
-                        //call for dependencies.
-                        requireMod.skipMap = options.skipMap;
-
-                        requireMod.init(deps, callback, errback, {
-                            enabled: true
-                        });
-
-                        checkLoaded();
-                    });
-
-                    return localRequire;
-                }
-
-                mixin(localRequire, {
-                    isBrowser: isBrowser,
-
-                    /**
-                     * Converts a module name + .extension into an URL path.
-                     * *Requires* the use of a module name. It does not support using
-                     * plain URLs like nameToUrl.
-                     */
-                    toUrl: function (moduleNamePlusExt) {
-                        var ext,
-                            index = moduleNamePlusExt.lastIndexOf('.'),
-                            segment = moduleNamePlusExt.split('/')[0],
-                            isRelative = segment === '.' || segment === '..';
-
-                        //Have a file extension alias, and it is not the
-                        //dots from a relative path.
-                        if (index !== -1 && (!isRelative || index > 1)) {
-                            ext = moduleNamePlusExt.substring(index, moduleNamePlusExt.length);
-                            moduleNamePlusExt = moduleNamePlusExt.substring(0, index);
-                        }
-
-                        return context.nameToUrl(normalize(moduleNamePlusExt,
-                                                relMap && relMap.id, true), ext,  true);
-                    },
-
-                    defined: function (id) {
-                        return hasProp(defined, makeModuleMap(id, relMap, false, true).id);
-                    },
-
-                    specified: function (id) {
-                        id = makeModuleMap(id, relMap, false, true).id;
-                        return hasProp(defined, id) || hasProp(registry, id);
-                    }
-                });
-
-                //Only allow undef on top level require calls
-                if (!relMap) {
-                    localRequire.undef = function (id) {
-                        //Bind any waiting define() calls to this context,
-                        //fix for #408
-                        takeGlobalQueue();
-
-                        var map = makeModuleMap(id, relMap, true),
-                            mod = getOwn(registry, id);
-
-                        removeScript(id);
-
-                        delete defined[id];
-                        delete urlFetched[map.url];
-                        delete undefEvents[id];
-
-                        //Clean queued defines too. Go backwards
-                        //in array so that the splices do not
-                        //mess up the iteration.
-                        eachReverse(defQueue, function(args, i) {
-                            if(args[0] === id) {
-                                defQueue.splice(i, 1);
-                            }
-                        });
-
-                        if (mod) {
-                            //Hold on to listeners in case the
-                            //module will be attempted to be reloaded
-                            //using a different config.
-                            if (mod.events.defined) {
-                                undefEvents[id] = mod.events;
-                            }
-
-                            cleanRegistry(id);
-                        }
-                    };
-                }
-
-                return localRequire;
-            },
-
-            /**
-             * Called to enable a module if it is still in the registry
-             * awaiting enablement. A second arg, parent, the parent module,
-             * is passed in for context, when this method is overridden by
-             * the optimizer. Not shown here to keep code compact.
-             */
-            enable: function (depMap) {
-                var mod = getOwn(registry, depMap.id);
-                if (mod) {
-                    getModule(depMap).enable();
-                }
-            },
-
-            /**
-             * Internal method used by environment adapters to complete a load event.
-             * A load event could be a script load or just a load pass from a synchronous
-             * load call.
-             * @param {String} moduleName the name of the module to potentially complete.
-             */
-            completeLoad: function (moduleName) {
-                var found, args, mod,
-                    shim = getOwn(config.shim, moduleName) || {},
-                    shExports = shim.exports;
-
-                takeGlobalQueue();
-
-                while (defQueue.length) {
-                    args = defQueue.shift();
-                    if (args[0] === null) {
-                        args[0] = moduleName;
-                        //If already found an anonymous module and bound it
-                        //to this name, then this is some other anon module
-                        //waiting for its completeLoad to fire.
-                        if (found) {
-                            break;
-                        }
-                        found = true;
-                    } else if (args[0] === moduleName) {
-                        //Found matching define call for this script!
-                        found = true;
-                    }
-
-                    callGetModule(args);
-                }
-
-                //Do this after the cycle of callGetModule in case the result
-                //of those calls/init calls changes the registry.
-                mod = getOwn(registry, moduleName);
-
-                if (!found && !hasProp(defined, moduleName) && mod && !mod.inited) {
-                    if (config.enforceDefine && (!shExports || !getGlobal(shExports))) {
-                        if (hasPathFallback(moduleName)) {
-                            return;
-                        } else {
-                            return onError(makeError('nodefine',
-                                             'No define call for ' + moduleName,
-                                             null,
-                                             [moduleName]));
-                        }
-                    } else {
-                        //A script that does not call define(), so just simulate
-                        //the call for it.
-                        callGetModule([moduleName, (shim.deps || []), shim.exportsFn]);
-                    }
-                }
-
-                checkLoaded();
-            },
-
-            /**
-             * Converts a module name to a file path. Supports cases where
-             * moduleName may actually be just an URL.
-             * Note that it **does not** call normalize on the moduleName,
-             * it is assumed to have already been normalized. This is an
-             * internal API, not a public one. Use toUrl for the public API.
-             */
-            nameToUrl: function (moduleName, ext, skipExt) {
-                var paths, syms, i, parentModule, url,
-                    parentPath, bundleId,
-                    pkgMain = getOwn(config.pkgs, moduleName);
-
-                if (pkgMain) {
-                    moduleName = pkgMain;
-                }
-
-                bundleId = getOwn(bundlesMap, moduleName);
-
-                if (bundleId) {
-                    return context.nameToUrl(bundleId, ext, skipExt);
-                }
-
-                //If a colon is in the URL, it indicates a protocol is used and it is just
-                //an URL to a file, or if it starts with a slash, contains a query arg (i.e. ?)
-                //or ends with .js, then assume the user meant to use an url and not a module id.
-                //The slash is important for protocol-less URLs as well as full paths.
-                if (req.jsExtRegExp.test(moduleName)) {
-                    //Just a plain path, not module name lookup, so just return it.
-                    //Add extension if it is included. This is a bit wonky, only non-.js things pass
-                    //an extension, this method probably needs to be reworked.
-                    url = moduleName + (ext || '');
-                } else {
-                    //A module that needs to be converted to a path.
-                    paths = config.paths;
-
-                    syms = moduleName.split('/');
-                    //For each module name segment, see if there is a path
-                    //registered for it. Start with most specific name
-                    //and work up from it.
-                    for (i = syms.length; i > 0; i -= 1) {
-                        parentModule = syms.slice(0, i).join('/');
-
-                        parentPath = getOwn(paths, parentModule);
-                        if (parentPath) {
-                            //If an array, it means there are a few choices,
-                            //Choose the one that is desired
-                            if (isArray(parentPath)) {
-                                parentPath = parentPath[0];
-                            }
-                            syms.splice(0, i, parentPath);
-                            break;
-                        }
-                    }
-
-                    //Join the path parts together, then figure out if baseUrl is needed.
-                    url = syms.join('/');
-                    url += (ext || (/^data\:|\?/.test(url) || skipExt ? '' : '.js'));
-                    url = (url.charAt(0) === '/' || url.match(/^[\w\+\.\-]+:/) ? '' : config.baseUrl) + url;
-                }
-
-                return config.urlArgs ? url +
-                                        ((url.indexOf('?') === -1 ? '?' : '&') +
-                                         config.urlArgs) : url;
-            },
-
-            //Delegates to req.load. Broken out as a separate function to
-            //allow overriding in the optimizer.
-            load: function (id, url) {
-                req.load(context, id, url);
-            },
-
-            /**
-             * Executes a module callback function. Broken out as a separate function
-             * solely to allow the build system to sequence the files in the built
-             * layer in the right sequence.
-             *
-             * @private
-             */
-            execCb: function (name, callback, args, exports) {
-                return callback.apply(exports, args);
-            },
-
-            /**
-             * callback for script loads, used to check status of loading.
-             *
-             * @param {Event} evt the event from the browser for the script
-             * that was loaded.
-             */
-            onScriptLoad: function (evt) {
-                //Using currentTarget instead of target for Firefox 2.0's sake. Not
-                //all old browsers will be supported, but this one was easy enough
-                //to support and still makes sense.
-                if (evt.type === 'load' ||
-                        (readyRegExp.test((evt.currentTarget || evt.srcElement).readyState))) {
-                    //Reset interactive script so a script node is not held onto for
-                    //to long.
-                    interactiveScript = null;
-
-                    //Pull out the name of the module and the context.
-                    var data = getScriptData(evt);
-                    context.completeLoad(data.id);
-                }
-            },
-
-            /**
-             * Callback for script errors.
-             */
-            onScriptError: function (evt) {
-                var data = getScriptData(evt);
-                if (!hasPathFallback(data.id)) {
-                    return onError(makeError('scripterror', 'Script error for: ' + data.id, evt, [data.id]));
-                }
-            }
-        };
-
-        context.require = context.makeRequire();
-        return context;
-    }
-
-    /**
-     * Main entry point.
-     *
-     * If the only argument to require is a string, then the module that
-     * is represented by that string is fetched for the appropriate context.
-     *
-     * If the first argument is an array, then it will be treated as an array
-     * of dependency string names to fetch. An optional function callback can
-     * be specified to execute when all of those dependencies are available.
-     *
-     * Make a local req variable to help Caja compliance (it assumes things
-     * on a require that are not standardized), and to give a short
-     * name for minification/local scope use.
-     */
-    req = requirejs = function (deps, callback, errback, optional) {
-
-        //Find the right context, use default
-        var context, config,
-            contextName = defContextName;
-
-        // Determine if have config object in the call.
-        if (!isArray(deps) && typeof deps !== 'string') {
-            // deps is a config object
-            config = deps;
-            if (isArray(callback)) {
-                // Adjust args if there are dependencies
-                deps = callback;
-                callback = errback;
-                errback = optional;
-            } else {
-                deps = [];
-            }
-        }
-
-        if (config && config.context) {
-            contextName = config.context;
-        }
-
-        context = getOwn(contexts, contextName);
-        if (!context) {
-            context = contexts[contextName] = req.s.newContext(contextName);
-        }
-
-        if (config) {
-            context.configure(config);
-        }
-
-        return context.require(deps, callback, errback);
-    };
-
-    /**
-     * Support require.config() to make it easier to cooperate with other
-     * AMD loaders on globally agreed names.
-     */
-    req.config = function (config) {
-        return req(config);
-    };
-
-    /**
-     * Execute something after the current tick
-     * of the event loop. Override for other envs
-     * that have a better solution than setTimeout.
-     * @param  {Function} fn function to execute later.
-     */
-    req.nextTick = typeof setTimeout !== 'undefined' ? function (fn) {
-        setTimeout(fn, 4);
-    } : function (fn) { fn(); };
-
-    /**
-     * Export require as a global, but only if it does not already exist.
-     */
-    if (!require) {
-        require = req;
-    }
-
-    req.version = version;
-
-    //Used to filter out dependencies that are already paths.
-    req.jsExtRegExp = /^\/|:|\?|\.js$/;
-    req.isBrowser = isBrowser;
-    s = req.s = {
-        contexts: contexts,
-        newContext: newContext
-    };
-
-    //Create default context.
-    req({});
-
-    //Exports some context-sensitive methods on global require.
-    each([
-        'toUrl',
-        'undef',
-        'defined',
-        'specified'
-    ], function (prop) {
-        //Reference from contexts instead of early binding to default context,
-        //so that during builds, the latest instance of the default context
-        //with its config gets used.
-        req[prop] = function () {
-            var ctx = contexts[defContextName];
-            return ctx.require[prop].apply(ctx, arguments);
-        };
-    });
-
-    if (isBrowser) {
-        head = s.head = document.getElementsByTagName('head')[0];
-        //If BASE tag is in play, using appendChild is a problem for IE6.
-        //When that browser dies, this can be removed. Details in this jQuery bug:
-        //http://dev.jquery.com/ticket/2709
-        baseElement = document.getElementsByTagName('base')[0];
-        if (baseElement) {
-            head = s.head = baseElement.parentNode;
-        }
-    }
-
-    /**
-     * Any errors that require explicitly generates will be passed to this
-     * function. Intercept/override it if you want custom error handling.
-     * @param {Error} err the error object.
-     */
-    req.onError = defaultOnError;
-
-    /**
-     * Creates the node for the load command. Only used in browser envs.
-     */
-    req.createNode = function (config, moduleName, url) {
-        var node = config.xhtml ?
-                document.createElementNS('http://www.w3.org/1999/xhtml', 'html:script') :
-                document.createElement('script');
-        node.type = config.scriptType || 'text/javascript';
-        node.charset = 'utf-8';
-        node.async = true;
-        return node;
-    };
-
-    /**
-     * Does the request to load a module for the browser case.
-     * Make this a separate function to allow other environments
-     * to override it.
-     *
-     * @param {Object} context the require context to find state.
-     * @param {String} moduleName the name of the module.
-     * @param {Object} url the URL to the module.
-     */
-    req.load = function (context, moduleName, url) {
-        var config = (context && context.config) || {},
-            node;
-        if (isBrowser) {
-            //In the browser so use a script tag
-            node = req.createNode(config, moduleName, url);
-
-            node.setAttribute('data-requirecontext', context.contextName);
-            node.setAttribute('data-requiremodule', moduleName);
-
-            //Set up load listener. Test attachEvent first because IE9 has
-            //a subtle issue in its addEventListener and script onload firings
-            //that do not match the behavior of all other browsers with
-            //addEventListener support, which fire the onload event for a
-            //script right after the script execution. See:
-            //https://connect.microsoft.com/IE/feedback/details/648057/script-onload-event-is-not-fired-immediately-after-script-execution
-            //UNFORTUNATELY Opera implements attachEvent but does not follow the script
-            //script execution mode.
-            if (node.attachEvent &&
-                    //Check if node.attachEvent is artificially added by custom script or
-                    //natively supported by browser
-                    //read https://github.com/jrburke/requirejs/issues/187
-                    //if we can NOT find [native code] then it must NOT natively supported.
-                    //in IE8, node.attachEvent does not have toString()
-                    //Note the test for "[native code" with no closing brace, see:
-                    //https://github.com/jrburke/requirejs/issues/273
-                    !(node.attachEvent.toString && node.attachEvent.toString().indexOf('[native code') < 0) &&
-                    !isOpera) {
-                //Probably IE. IE (at least 6-8) do not fire
-                //script onload right after executing the script, so
-                //we cannot tie the anonymous define call to a name.
-                //However, IE reports the script as being in 'interactive'
-                //readyState at the time of the define call.
-                useInteractive = true;
-
-                node.attachEvent('onreadystatechange', context.onScriptLoad);
-                //It would be great to add an error handler here to catch
-                //404s in IE9+. However, onreadystatechange will fire before
-                //the error handler, so that does not help. If addEventListener
-                //is used, then IE will fire error before load, but we cannot
-                //use that pathway given the connect.microsoft.com issue
-                //mentioned above about not doing the 'script execute,
-                //then fire the script load event listener before execute
-                //next script' that other browsers do.
-                //Best hope: IE10 fixes the issues,
-                //and then destroys all installs of IE 6-9.
-                //node.attachEvent('onerror', context.onScriptError);
-            } else {
-                node.addEventListener('load', context.onScriptLoad, false);
-                node.addEventListener('error', context.onScriptError, false);
-            }
-            node.src = url;
-
-            //For some cache cases in IE 6-8, the script executes before the end
-            //of the appendChild execution, so to tie an anonymous define
-            //call to the module name (which is stored on the node), hold on
-            //to a reference to this node, but clear after the DOM insertion.
-            currentlyAddingScript = node;
-            if (baseElement) {
-                head.insertBefore(node, baseElement);
-            } else {
-                head.appendChild(node);
-            }
-            currentlyAddingScript = null;
-
-            return node;
-        } else if (isWebWorker) {
-            try {
-                //In a web worker, use importScripts. This is not a very
-                //efficient use of importScripts, importScripts will block until
-                //its script is downloaded and evaluated. However, if web workers
-                //are in play, the expectation that a build has been done so that
-                //only one script needs to be loaded anyway. This may need to be
-                //reevaluated if other use cases become common.
-                importScripts(url);
-
-                //Account for anonymous modules
-                context.completeLoad(moduleName);
-            } catch (e) {
-                context.onError(makeError('importscripts',
-                                'importScripts failed for ' +
-                                    moduleName + ' at ' + url,
-                                e,
-                                [moduleName]));
-            }
-        }
-    };
-
-    function getInteractiveScript() {
-        if (interactiveScript && interactiveScript.readyState === 'interactive') {
-            return interactiveScript;
-        }
-
-        eachReverse(scripts(), function (script) {
-            if (script.readyState === 'interactive') {
-                return (interactiveScript = script);
-            }
-        });
-        return interactiveScript;
-    }
-
-    //Look for a data-main script attribute, which could also adjust the baseUrl.
-    if (isBrowser && !cfg.skipDataMain) {
-        //Figure out baseUrl. Get it from the script tag with require.js in it.
-        eachReverse(scripts(), function (script) {
-            //Set the 'head' where we can append children by
-            //using the script's parent.
-            if (!head) {
-                head = script.parentNode;
-            }
-
-            //Look for a data-main attribute to set main script for the page
-            //to load. If it is there, the path to data main becomes the
-            //baseUrl, if it is not already set.
-            dataMain = script.getAttribute('data-main');
-            if (dataMain) {
-                //Preserve dataMain in case it is a path (i.e. contains '?')
-                mainScript = dataMain;
-
-                //Set final baseUrl if there is not already an explicit one.
-                if (!cfg.baseUrl) {
-                    //Pull off the directory of data-main for use as the
-                    //baseUrl.
-                    src = mainScript.split('/');
-                    mainScript = src.pop();
-                    subPath = src.length ? src.join('/')  + '/' : './';
-
-                    cfg.baseUrl = subPath;
-                }
-
-                //Strip off any trailing .js since mainScript is now
-                //like a module name.
-                mainScript = mainScript.replace(jsSuffixRegExp, '');
-
-                 //If mainScript is still a path, fall back to dataMain
-                if (req.jsExtRegExp.test(mainScript)) {
-                    mainScript = dataMain;
-                }
-
-                //Put the data-main script in the files to load.
-                cfg.deps = cfg.deps ? cfg.deps.concat(mainScript) : [mainScript];
-
-                return true;
-            }
-        });
-    }
-
-    /**
-     * The function that handles definitions of modules. Differs from
-     * require() in that a string for the module should be the first argument,
-     * and the function to execute after dependencies are loaded should
-     * return a value to define the module corresponding to the first argument's
-     * name.
-     */
-    define = function (name, deps, callback) {
-        var node, context;
-
-        //Allow for anonymous modules
-        if (typeof name !== 'string') {
-            //Adjust args appropriately
-            callback = deps;
-            deps = name;
-            name = null;
-        }
-
-        //This module may not have dependencies
-        if (!isArray(deps)) {
-            callback = deps;
-            deps = null;
-        }
-
-        //If no name, and callback is a function, then figure out if it a
-        //CommonJS thing with dependencies.
-        if (!deps && isFunction(callback)) {
-            deps = [];
-            //Remove comments from the callback string,
-            //look for require calls, and pull them into the dependencies,
-            //but only if there are function args.
-            if (callback.length) {
-                callback
-                    .toString()
-                    .replace(commentRegExp, '')
-                    .replace(cjsRequireRegExp, function (match, dep) {
-                        deps.push(dep);
-                    });
-
-                //May be a CommonJS thing even without require calls, but still
-                //could use exports, and module. Avoid doing exports and module
-                //work though if it just needs require.
-                //REQUIRES the function to expect the CommonJS variables in the
-                //order listed below.
-                deps = (callback.length === 1 ? ['require'] : ['require', 'exports', 'module']).concat(deps);
-            }
-        }
-
-        //If in IE 6-8 and hit an anonymous define() call, do the interactive
-        //work.
-        if (useInteractive) {
-            node = currentlyAddingScript || getInteractiveScript();
-            if (node) {
-                if (!name) {
-                    name = node.getAttribute('data-requiremodule');
-                }
-                context = contexts[node.getAttribute('data-requirecontext')];
-            }
-        }
-
-        //Always save off evaluating the def call until the script onload handler.
-        //This allows multiple modules to be in a file without prematurely
-        //tracing dependencies, and allows for anonymous module support,
-        //where the module name is not known until the script onload event
-        //occurs. If no context, use the global queue, and get it processed
-        //in the onscript load callback.
-        (context ? context.defQueue : globalDefQueue).push([name, deps, callback]);
-    };
-
-    define.amd = {
-        jQuery: true
-    };
-
-
-    /**
-     * Executes the text. Normally just uses eval, but can be modified
-     * to use a better, environment-specific call. Only used for transpiling
-     * loader plugins, not for plain JS modules.
-     * @param {String} text the text to execute/evaluate.
-     */
-    req.exec = function (text) {
-        /*jslint evil: true */
-        return eval(text);
-    };
-
-    //Set up with config info.
-    req(cfg);
-}(this));
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/util/DateFormat.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/util/DateFormat.js
deleted file mode 100644
index ca423282d5f0a5f8d518a3de76264a1a6a7760b5..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/util/DateFormat.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define([ 'moment', 'util/Exceptions' ], function(moment, exceptions) {
-	var DateFormat = function(format) {
-		this.format = format;
-		this.lenient = true;
-	}
-
-	DateFormat.prototype.setLenient = function(lenient) {
-		this.lenient = lenient;
-	};
-
-	DateFormat.prototype.parse = function(str) {
-		var m = moment(str, this.format, this.lenient === false);
-		if (m.isValid()) {
-			return m.toDate();
-		}
-		throw new exceptions.IllegalArgumentExcpetion("invalid date string: " + str);
-	};
-
-	return DateFormat;
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/util/Exceptions.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/util/Exceptions.js
deleted file mode 100644
index eb531c76255f60493d5b39eb2ffa4b183527f15f..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/util/Exceptions.js
+++ /dev/null
@@ -1,25 +0,0 @@
-define(function() {
-	function RuntimeException(message) {
-	    this.name = "RuntimeException";
-	    this.message = (message || "");
-	}
-	RuntimeException.prototype = Error.prototype;
-
-	function IllegalArgumentException(message) {
-	    this.name = "IllegalArgumentException";
-	    this.message = (message || "");
-	}
-	IllegalArgumentException.prototype = Error.prototype;
-
-	function NotFetchedException(message) {
-	    this.name = "NotFetchedException";
-	    this.message = (message || "");
-	}
-	NotFetchedException.prototype = Error.prototype;
-
-	return {
-		RuntimeException: RuntimeException,
-		IllegalArgumentException: IllegalArgumentException,
-		NotFetchedException: NotFetchedException
-	}
-})
\ No newline at end of file
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/util/Json.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/util/Json.js
deleted file mode 100644
index 82b676a177b42c8aebe571710d71d1e12a99ac55..0000000000000000000000000000000000000000
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/lib/openbis/js/v3/util/Json.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/**
- * Library
- */
-define([ "underscore" ], function(_) {
-	var Json = function() {
-	}
-
-	Json.prototype.fromJson = function(jsonType, jsonObject) {
-		var dfd = $.Deferred();
-
-		var types = {}
-		collectTypes(jsonObject, types);
-
-		var moduleNames = Object.keys(types).map(function(type) {
-			return typeToModuleName(type);
-		});
-		require(moduleNames, function() {
-			var moduleMap = {};
-
-			for (var i = 0; i < arguments.length; i++) {
-				var moduleName = moduleNames[i];
-				var module = arguments[i];
-				moduleMap[moduleName] = module;
-			}
-
-			var dto = fromJsonObjectWithTypeOrArrayOrMap(jsonType, jsonObject, {}, moduleMap);
-			dfd.resolve(dto);
-		});
-
-		return dfd.promise();
-	}
-
-	Json.prototype.decycle = function(object) {
-		return decycleLocal(object, []);
-	}
-
-	var collectTypes = function(jsonObject, types) {
-		if (jsonObject instanceof Array) {
-			jsonObject.forEach(function(item) {
-				collectTypes(item, types);
-			});
-		} else if (jsonObject instanceof Object) {
-			Object.keys(jsonObject).forEach(function(key) {
-				var value = jsonObject[key];
-				if (key == "@type") {
-					types[value] = value;
-				} else {
-					collectTypes(value, types);
-				}
-			});
-		}
-	}
-
-	var typeToModuleName = function(type) {
-		return type.replace(/\./g, '/');
-	}
-
-	var fromJsonObjectWithTypeOrArrayOrMap = function(jsonType, jsonObject, hashedObjects, modulesMap) {
-		if (jsonObject instanceof Array) {
-			if (jsonType && _.isString(jsonType) && jsonObject.length == 2) {
-				return jsonObject[1];
-			} else {
-				var array = [];
-				var jsonType = jsonType ? jsonType["arguments"][0] : null;
-
-				jsonObject.forEach(function(item, index) {
-					var dto = fromJsonObjectWithTypeOrArrayOrMap(jsonType, item, hashedObjects, modulesMap);
-					array.push(dto);
-				});
-				return array;
-			}
-		} else if (jsonObject instanceof Object) {
-			if (jsonObject["@type"]) {
-				return fromJsonObjectWithType(jsonObject, hashedObjects, modulesMap)
-			} else {
-				var map = {};
-				var jsonType = jsonType ? jsonType["arguments"][1] : null;
-
-				Object.keys(jsonObject).forEach(function(key) {
-					var dto = fromJsonObjectWithTypeOrArrayOrMap(jsonType, jsonObject[key], hashedObjects, modulesMap);
-					map[key] = dto;
-				});
-				return map;
-			}
-		} else {
-			if (_.isNumber(jsonObject) && jsonType && jsonType != "Date") {
-				if (jsonObject in hashedObjects) {
-					return hashedObjects[jsonObject];
-				} else {
-					throw "Object with id: " + JSON.stringify(jsonObject) + " and type: " + jsonType + " haven't been found in cache";
-				}
-			} else {
-				return jsonObject;
-			}
-		}
-	}
-
-	var fromJsonObjectWithType = function(jsonObject, hashedObjects, modulesMap) {
-		var jsonId = jsonObject["@id"]
-		var jsonType = jsonObject["@type"]
-
-		var moduleName = typeToModuleName(jsonType);
-		var module = modulesMap[moduleName];
-		var moduleFieldTypeMap = module.$typeDescription || {};
-		try {
-			var object = new module(""); // some entities have a mandatory non-null constructor parameters
-		} catch(e) {
-			throw "Failed deserializing object " + JSON.stringify(jsonObject) + " into type " + jsonType + " with error " + e.message;
-		}
-
-		if (jsonId) {
-			if (jsonId in hashedObjects) {
-				throw "This object has already been cached!"
-			}
-			hashedObjects[jsonId] = object
-		}
-
-		for ( var key in jsonObject) {
-			var fieldType = moduleFieldTypeMap[key];
-			var fieldValue = jsonObject[key];
-
-			if (object["_" + key] !== undefined) {
-				key = "_" + key;
-			}
-
-			object[key] = fromJsonObjectWithTypeOrArrayOrMap(fieldType, fieldValue, hashedObjects, modulesMap)
-		}
-		return object;
-	};
-
-	var decycleLocal = function(object, references) {
-		if (object === null) {
-			return object;
-		}
-		index = _.indexOf(references, object);
-		if (index >= 0) {
-			return index;
-		}
-		if (_.isArray(object)) {
-			return _.map(object, function(el, key) {
-				return decycleLocal(el, references)
-			});
-		} else if (_.isObject(object)) {
-			var result = {};
-			if (object["@type"] != null) {
-				id = references.length;
-				result["@id"] = id;
-				references.push(object);
-			}
-			for ( var i in object) {
-				if (_.isFunction(object[i]) === false && i !== "@id") {
-					var value = decycleLocal(object[i], references);
-					if (i.indexOf("_") == 0) {
-						i = i.substring(1);
-					}
-					result[i] = value;
-
-				}
-			}
-			return result;
-		}
-		return object;
-	};
-
-	return new Json();
-});
\ No newline at end of file