Reorganise Archetype for NetBeans Module
diff --git a/Jenkinsfile-site.groovy b/Jenkinsfile-site.groovy
deleted file mode 100644
index 3b8810a..0000000
--- a/Jenkinsfile-site.groovy
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-
-pipeline {
-    agent none
-    tools { 
-        maven 'Maven 3.3.9' 
-        jdk 'JDK 1.8 (latest)' 
-    }
-    stages {
-        stage('SCM operation'){
-            agent {label 'ubuntu'}
-            steps {
-                checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CloneOption', noTags: true, reference: '', shallow: true], [$class: 'MessageExclusion', excludedMessage: 'Automated site publishing.*'], [$class: 'RelativeTargetDirectory', relativeTargetDir: 'master-branch']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/apache/incubator-netbeans-mavenutils/']]])
-
-                sh 'rm -rf stagedsite'
-		sh 'mkdir stagedsite'
-		sh 'rm -f mavenusite.zip'
-            }
-        }
-        stage('Build Site'){ 
-            agent {label 'ubuntu'}
-            steps {
-                // build site skin
-                script {
-                    def mvnfoldersforsite  = ['parent','webskin']
-                    def BASEDIR = pwd()
-                    for (String mvnproject in mvnfoldersforsite) {
-                        dir('master-branch/'+mvnproject) {
-                            sh "mvn clean install -Dmaven.repo.local=${BASEDIR}/.repository"
-                        }
-                    }
-                }
-                // build site
-                script {
-                    def mvnfoldersforsite  = ['parent','nbm-shared','nb-repository-plugin',/*'nbm-maven-harness',*/ 'nbm-maven-plugin']
-                    def BASEDIR = pwd()
-                    for (String mvnproject in mvnfoldersforsite) {
-                        dir('master-branch/'+mvnproject) {
-                            sh "mvn clean install site -Dmaven.repo.local=${BASEDIR}/.repository"
-                            sh "mv target/site ${BASEDIR}/stagedsite/${mvnproject}/"
-                        }
-                    }
-                }
-                zip zipFile:'mavenusite.zip',archive:false,dir:'stagedsite'
-                archiveArtifacts artifacts:'mavenusite.zip'
-  
-                
-            }
-        }               
-    }
-}
diff --git a/README.md b/README.md
index a08926e..3484359 100755
--- a/README.md
+++ b/README.md
@@ -19,13 +19,13 @@
 
 -->
 
-# Apache NetBeans Maven Utilities
+# Apache NetBeans Maven Archetypes - NetBeans Module
 
 ### Get In Touch
 
-[Subscribe](mailto:users-subscribe@netbeans.incubator.apache.org) or [mail](mailto:users@netbeans.incubator.apache.org) the [users@netbeans.incubator.apache.org](mailto:users@netbeans.incubator.apache.org) list - Ask questions, find answers, and also help other users.
+[Subscribe](mailto:users-subscribe@netbeans.apache.org) or [mail](mailto:users@netbeans.apache.org) the [users@netbeans.apache.org](mailto:users@netbeans.apache.org) list - Ask questions, find answers, and also help other users.
 
-[Subscribe](mailto:dev-subscribe@netbeans.incubator.apache.org) or [mail](mailto:dev@netbeans.incubator.apache.org) the [dev@netbeans.incubator.apache.org](mailto:dev@netbeans.incubator.apache.org) list - Join developement discussions, propose new ideas and connect with contributors.
+[Subscribe](mailto:dev-subscribe@netbeans.apache.org) or [mail](mailto:dev@netbeans.apache.org) the [dev@netbeans.apache.org](mailto:dev@netbeans.apache.org) list - Join developement discussions, propose new ideas and connect with contributors.
 
 ### Reporting Bugs
 
diff --git a/archetype/nbm-suite-root/pom.xml b/archetype/nbm-suite-root/pom.xml
deleted file mode 100644
index 66154f1..0000000
--- a/archetype/nbm-suite-root/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.netbeans.maven</groupId>
-        <artifactId>utilities-parent</artifactId>
-        <version>1-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.netbeans.maven.archetypes</groupId>
-    <artifactId>nbm-suite-root</artifactId>
-    <version>1.11-SNAPSHOT</version>
-    <packaging>maven-archetype</packaging>
-    
-    <name>Apache Netbeans Maven Utilties - NetBeans Module Suite Archetype</name>
-    <description>Root project archetype for creating multi module projects developing NetBeans IDE modules. Approximately similar in functionality to module suites in NetBeans Ant projects.</description>
-    <licenses>
-        <license>
-            <name>Apache License 2</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <issueManagement>
-        <system>jira</system>
-        <url>https://issues.apache.org/jira/projects/NETBEANS</url>
-    </issueManagement>
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
-    </scm> 
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <artifactId>maven-archetype-plugin</artifactId>
-                    <version>2.0</version>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-        <extensions>
-            <extension>
-                <groupId>org.apache.maven.archetype</groupId>
-                <artifactId>archetype-packaging</artifactId>
-                <version>2.0</version>
-            </extension>
-        </extensions>
-    </build>
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <version>0.12</version>
-                <configuration>
-                    <excludes>
-                        <exclude>src/main/resources/archetype-resources/**</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-</project>
diff --git a/archetype/nbm-suite-root/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetype/nbm-suite-root/src/main/resources/META-INF/maven/archetype-metadata.xml
deleted file mode 100644
index 74d169d..0000000
--- a/archetype/nbm-suite-root/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<archetype-descriptor xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
-  partial="false" name="NetBeans module suite archetype">
-  <fileSets>
-    <fileSet filtered="true" packaged="false">
-      <directory></directory>
-      <includes>
-        <include>nbactions.xml</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-  <requiredProperties>
-    <requiredProperty key="netbeansVersion">
-      <defaultValue>RELEASE74</defaultValue>
-    </requiredProperty>
-  </requiredProperties>
-</archetype-descriptor>
diff --git a/archetype/nbm-suite-root/src/main/resources/archetype-resources/nbactions.xml b/archetype/nbm-suite-root/src/main/resources/archetype-resources/nbactions.xml
deleted file mode 100644
index 498859b..0000000
--- a/archetype/nbm-suite-root/src/main/resources/archetype-resources/nbactions.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-#set( $D = '$' )
-<actions>
-    <action>
-        <actionName>run</actionName>
-        <goals>
-            <goal>package</goal>
-            <goal>nbm:cluster</goal>
-            <goal>nbm:run-ide</goal>
-        </goals>
-    </action>
-    <action>
-        <actionName>debug</actionName>
-        <goals>
-            <goal>package</goal>
-            <goal>nbm:cluster</goal>
-            <goal>nbm:run-ide</goal>
-        </goals>
-        <properties>
-            <jpda.listen>true</jpda.listen>
-            <netbeans.run.params.debug>-J-Xdebug -J-Xnoagent -J-Xrunjdwp:transport=dt_socket,suspend=n,server=n,address=${D}{jpda.address}</netbeans.run.params.debug>
-        </properties>
-    </action>
-</actions>
diff --git a/archetype/nbm-suite-root/src/main/resources/archetype-resources/pom.xml b/archetype/nbm-suite-root/src/main/resources/archetype-resources/pom.xml
deleted file mode 100644
index 8589192..0000000
--- a/archetype/nbm-suite-root/src/main/resources/archetype-resources/pom.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-#set( $D = '$' )
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>${groupId}</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${version}</version>
-    <packaging>pom</packaging>
-
-    <name>${artifactId}</name>
-
-    <repositories>
-        <!--
-        Repository hosting NetBeans modules, especially APIs.
-        Versions are based on IDE releases, e.g.: RELEASE691
-        To create your own repository, use: nbm:populate-repository
-        -->
-        <repository>
-            <id>netbeans</id>
-            <name>NetBeans</name>
-            <url>http://bits.netbeans.org/nexus/content/groups/netbeans/</url>
-        </repository>
-    </repositories>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>junit</groupId>
-                <artifactId>junit</artifactId>
-                <version>4.10</version>
-                <scope>test</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>nbm-maven-plugin</artifactId>
-                    <version>3.13</version>
-                    <configuration>
-                        <cluster>${artifactId.toLowerCase().replaceAll("[^a-z0-9_]+", "_")}</cluster>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <!-- NetBeans 6.9+ requires JDK 6, starting NetBeans 7.4 source 1.7 is required-->
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>2.5.1</version>
-                    <configuration>
-                        <source>1.7</source>
-                        <target>1.7</target>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>updatesite</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>nbm-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>site</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>autoupdate</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-    <properties>
-        <netbeans.version>${netbeansVersion}</netbeans.version>
-    </properties>
-</project>
diff --git a/archetype/netbeans-platform-app-archetype/pom.xml b/archetype/netbeans-platform-app-archetype/pom.xml
deleted file mode 100644
index 78074cb..0000000
--- a/archetype/netbeans-platform-app-archetype/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.netbeans.maven</groupId>
-        <artifactId>utilities-parent</artifactId>
-        <version>1-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.netbeans.maven.archetypes</groupId>
-    <artifactId>netbeans-platform-app-archetype</artifactId>
-    <version>1.21-SNAPSHOT</version>
-    <packaging>maven-archetype</packaging>
-    <name>Apache Netbeans Maven Utilties - NetBeans Platform Application Archetype</name>
-    <description>Archetype for sample application based on NetBeans Platform. Creates parent POM with branding and empty NBM project.</description>
-    <licenses>
-        <license>
-            <name>Apache License 2</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>   
-    <issueManagement>
-        <system>jira</system>
-        <url>https://issues.apache.org/jira/projects/NETBEANS</url>
-    </issueManagement>
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
-        <tag>master</tag>
-    </scm>
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <artifactId>maven-archetype-plugin</artifactId>
-                    <version>2.0</version>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-        <extensions>
-            <extension>
-                <groupId>org.apache.maven.archetype</groupId>
-                <artifactId>archetype-packaging</artifactId>
-                <version>2.0</version>
-            </extension>
-        </extensions>
-    </build>
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <version>0.12</version>
-                <configuration>
-                    <excludes>
-                        <exclude>src/main/resources/archetype-resources/**</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-</project>
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetype/netbeans-platform-app-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
deleted file mode 100644
index 81edb21..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<archetype-descriptor xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
-  partial="false" name="NetBeans Platform Application Archetype">
-    <fileSets>
-        <fileSet filtered="true">
-            <directory>branding</directory>
-            <includes>
-                <include>pom.xml</include>
-            </includes>
-        </fileSet>
-        <fileSet filtered="true">
-            <directory>branding/src/main/nbm-branding</directory>
-            <includes>
-                <include>**/*.*</include>
-            </includes>
-        </fileSet>
-        <fileSet filtered="true" packaged="true">
-            <directory>branding/src/main/resources</directory>
-            <includes>
-                <include>**/*.*</include>
-            </includes>
-        </fileSet>
-        <fileSet filtered="true">
-            <directory>branding/src/main/nbm</directory>
-            <includes>
-                <include>**/*.*</include>
-            </includes>
-        </fileSet>
-        <fileSet filtered="true">
-            <directory>application</directory>
-            <includes>
-                <include>pom.xml</include>
-            </includes>
-        </fileSet>
-        <fileSet filtered="true" packaged="true">
-            <directory>application/src/test/java</directory>
-            <includes>
-                <include>**/*.*</include>
-            </includes>
-        </fileSet>
-    </fileSets>
-  <requiredProperties>
-    <requiredProperty key="netbeansVersion">
-      <defaultValue>RELEASE81</defaultValue>
-    </requiredProperty>
-  </requiredProperties>
-</archetype-descriptor>
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/application/pom.xml b/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/application/pom.xml
deleted file mode 100644
index 21ee414..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/application/pom.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-#set( $D = '$' )
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>${groupId}</groupId>
-        <artifactId>${artifactId}-parent</artifactId>
-        <version>${version}</version>
-    </parent>
-
-    <artifactId>${artifactId}-app</artifactId>
-    <packaging>nbm-application</packaging>
-
-    <name>${artifactId}-app</name>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <all.clusters>${D}{project.build.directory}/${D}{brandingToken}</all.clusters>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.netbeans.cluster</groupId>
-            <artifactId>platform</artifactId>
-            <version>${D}{netbeans.version}</version>
-            <type>pom</type>
-        </dependency>
-        <dependency>
-            <groupId>${D}{project.groupId}</groupId>
-            <artifactId>${artifactId}-branding</artifactId>
-            <version>${D}{project.version}</version>
-        </dependency>
-        <!-- NbModuleSuite functional in RELEASE70 or later: -->
-        <dependency>
-            <groupId>org.netbeans.api</groupId>
-            <artifactId>org-netbeans-modules-nbjunit</artifactId>
-            <version>${D}{netbeans.version}</version>
-            <scope>test</scope> <!-- beyond platform cluster, this often needs to be dropped down to compile/runtime, some other modules in IDE clusters depend on it -->
-        </dependency>
-#if (${netbeansVersion} == "RELEASE71")
-        <!-- Cf.: https://netbeans.org/bugzilla/show_bug.cgi?id=207956 -->
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.10</version>
-            <scope>test</scope>
-        </dependency>
-#end
-        <!-- To use Jelly Tools in your functional tests, add or replace with:
-        <dependency>
-            <groupId>org.netbeans.api</groupId>
-            <artifactId>org-netbeans-modules-jellytools-platform</artifactId>
-            <version>${D}{netbeans.version}</version>
-            <scope>test</scope>
-        </dependency>
-        -->
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-            </plugin>
-            <!-- Permits NbModuleSuite to be run in integration-test phase: -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.12.2</version>
-                <configuration>
-#if (${netbeansVersion} == "RELEASE70" || ${netbeansVersion} == "RELEASE701")
-                    <!-- For RELEASE70 or RELEASE701 only (adding in any other clusters imported by your app); RELEASE71+ uses all.clusters directly, plus branding.token: -->
-                    <systemPropertyVariables>
-                        <cluster.path.final>${D}{all.clusters}/${D}{brandingToken}:${D}{all.clusters}/platform</cluster.path.final>
-                    </systemPropertyVariables>
-#else
-                    <systemPropertyVariables>
-                        <all.clusters>${D}{all.clusters}</all.clusters>
-                        <branding.token>${D}{brandingToken}</branding.token>
-                    </systemPropertyVariables>
-#end
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>deployment</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>nbm-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>extra</id>
-                                <goals>
-                                    <goal>autoupdate</goal>
-                                    <goal>webstart-app</goal>
-                                    <goal>build-installers</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/application/src/test/java/ApplicationTest.java b/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/application/src/test/java/ApplicationTest.java
deleted file mode 100644
index 1b73255..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/application/src/test/java/ApplicationTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package ${package};
-
-import java.util.logging.Level;
-import junit.framework.Test;
-import org.netbeans.junit.NbModuleSuite;
-import org.netbeans.junit.NbTestCase;
-
-public class ApplicationTest extends NbTestCase {
-
-    public static Test suite() {
-        return NbModuleSuite.createConfiguration(ApplicationTest.class).
-                gui(false).
-                failOnMessage(Level.WARNING). // works at least in RELEASE71
-                failOnException(Level.INFO).
-                enableClasspathModules(false). 
-                clusters(".*").
-                suite(); // RELEASE71+, else use NbModuleSuite.create(NbModuleSuite.createConfiguration(...))
-    }
-
-    public ApplicationTest(String n) {
-        super(n);
-    }
-
-    public void testApplication() {
-        // pass if there are merely no warnings/exceptions
-        /* Example of using Jelly Tools (additional test dependencies required) with gui(true):
-        new ActionNoBlock("Help|About", null).performMenu();
-        new NbDialogOperator("About").closeByButton();
-         */
-    }
-
-}
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/pom.xml b/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/pom.xml
deleted file mode 100644
index 36ba370..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-#set( $D = '$' )
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-      <groupId>${groupId}</groupId>
-      <artifactId>${artifactId}-parent</artifactId>
-      <version>${version}</version>
-  </parent>
-
-  <artifactId>${artifactId}-branding</artifactId>
-  <packaging>nbm</packaging>
-
-  <name>${artifactId}-branding</name>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.netbeans.api</groupId>
-      <artifactId>org-netbeans-api-annotations-common</artifactId>
-      <version>${D}{netbeans.version}</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-      <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <configuration>
-                    <!-- to have the jar plugin pickup the nbm generated manifest -->
-                    <useDefaultManifestFile>true</useDefaultManifestFile>
-                </configuration>
-            </plugin>
-      </plugins>
-  </build>
-</project>
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm-branding/core/core.jar/org/netbeans/core/startup/Bundle.properties b/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm-branding/core/core.jar/org/netbeans/core/startup/Bundle.properties
deleted file mode 100644
index 0c991e6..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm-branding/core/core.jar/org/netbeans/core/startup/Bundle.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-currentVersion=${artifactId} {0}
-LBL_splash_window_title=Starting ${artifactId}
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
deleted file mode 100644
index b68602c..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-CTL_MainWindow_Title=${artifactId} {0}
-CTL_MainWindow_Title_No_Project=${artifactId} {0}
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm-branding/modules/org-netbeans-core.jar/org/netbeans/core/ui/Bundle.properties b/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm-branding/modules/org-netbeans-core.jar/org/netbeans/core/ui/Bundle.properties
deleted file mode 100644
index 157512a..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm-branding/modules/org-netbeans-core.jar/org/netbeans/core/ui/Bundle.properties
+++ /dev/null
@@ -1 +0,0 @@
-LBL_ProductInformation=${artifactId}
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm/manifest.mf b/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm/manifest.mf
deleted file mode 100644
index e5d042b..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/nbm/manifest.mf
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-#set( $slashed = $package.replaceAll("([.])", "/") )
-OpenIDE-Module-Localizing-Bundle: $slashed/branding/Bundle.properties
-AutoUpdate-Essential-Module: true
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/resources/branding/Bundle.properties b/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/resources/branding/Bundle.properties
deleted file mode 100644
index e999176..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/branding/src/main/resources/branding/Bundle.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-# Localized module labels. Defaults taken from POM (<name>, <description>, <groupId>) if unset.
-#OpenIDE-Module-Name=
-#OpenIDE-Module-Short-Description=
-#OpenIDE-Module-Long-Description=
-#OpenIDE-Module-Display-Category=
diff --git a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/pom.xml b/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/pom.xml
deleted file mode 100644
index 3d0e03a..0000000
--- a/archetype/netbeans-platform-app-archetype/src/main/resources/archetype-resources/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-#set( $D = '$' )
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>${groupId}</groupId>
-    <artifactId>${artifactId}-parent</artifactId>
-    <version>${version}</version>
-    <packaging>pom</packaging>
-
-    <name>${artifactId}-parent</name>
-
-    <repositories>
-        <!--
-        Repository hosting NetBeans modules, especially APIs.
-        Versions are based on IDE releases, e.g.: RELEASE691
-        To create your own repository, use: nbm:populate-repository
-        -->
-        <repository>
-            <id>netbeans</id>
-            <name>NetBeans</name>
-            <url>http://bits.netbeans.org/nexus/content/groups/netbeans/</url>
-        </repository>
-    </repositories>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>nbm-maven-plugin</artifactId>
-                    <version>4.1</version>
-                    <extensions>true</extensions>
-                    <configuration>
-                        <brandingToken>${D}{brandingToken}</brandingToken>
-                        <cluster>${D}{brandingToken}</cluster>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <!-- NetBeans 6.9+ requires JDK 6, starting NetBeans 7.4 source 1.7 is required -->
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>2.5.1</version>
-                    <configuration>
-                        <source>1.7</source>
-                        <target>1.7</target>
-                    </configuration>
-                </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>2.4</version>
-            </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-
-    <modules>
-        <module>branding</module>
-        <module>application</module>
-    </modules>
-
-    <properties>
-        <netbeans.version>${netbeansVersion}</netbeans.version>
-## XXX better to pass toLowerCase(java.util.Locale.ENGLISH), to fix Turkish problem, but Velocity rejects that syntax
-## XXX some other patterns are also rejected by NbBundle; it wants /[a-z][a-z0-9]*(_[a-z][a-z0-9]*)*/
-        <brandingToken>${artifactId.toLowerCase().replaceAll("[^a-z0-9]+", "")}</brandingToken>
-    </properties>
-</project>
diff --git a/nb-repository-plugin/README.md b/nb-repository-plugin/README.md
deleted file mode 100644
index bd2fea0..0000000
--- a/nb-repository-plugin/README.md
+++ /dev/null
@@ -1,66 +0,0 @@
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you 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.
-
--->
-
-#NetBeans Repository plugin
-
-The plugin is capable of populating the local or remote maven repository with module jars and NBM files from a given NetBeans installation. Useful for
-module development, modules with public APIs are separated from those without a public API.
-See the `populate` goal.
-
- To get access to a repository with NetBeans.org module artifacts and metadata, add [http://bits.netbeans.org/maven2/](http://bits.netbeans.org/maven2/) repository to your project POM
-or the repository manager you are using. The repository hosts binaries of NetBeans 6.5 and later.
-
- Also see: [Maven NBM development FAQs](http://wiki.netbeans.org/NetBeansDeveloperFAQ#Mavenized_Builds)
- 
-## HOWTO: Upload NetBeans release binaries to a Maven repository
-
-There is a `populate` goal that converts the NetBeans module information into Maven metadata
-and is capable of uploading the module jar file, javadoc, sources and nbm files to local
-and remote repositories. 
-
-For a binary-only upload (jar files and nbm files only), it's possible to download the bits from official sites. See below for URLs.
-
-For the complete upload, you will need to checkout the sources of the IDE/Platform you
-want to upload. See this FAQ entry on [HowTo checkout sources from Hg](http://wiki.netbeans.org/DevFaqAccessSourcesUsingMercurial)
-
-
- The goal has multiple input parameters that link the goal to binaries prepared beforehand.
-
-* `netbeansInstallDirectory` designates the base directory where resides the NetBeans installation
-that shall be uploaded. It can be either [downloaded as zip](http://www.netbeans.org/downloads/index.html) or built from sources.
-Run `ant` in your local hg clone to build the distribution at `nbbuild/netbeans` sundirectory.
-
-* `netbeansNbmDirectory` designates the base directory where the nbm files are located.
-Run `ant build-nbms` in your local `hg clone` to build the nbms at `nbbuild/nbms` directory or download it from the
-[http://updates.netbeans.org/netbeans](http://updates.netbeans.org/netbeans) space eg.
-final *6.5* version at [http://updates.netbeans.org/netbeans/*6.5*/final/uc/](http://updates.netbeans.org/netbeans/6.5/final/uc/).
-Use a tool like `wget` to download the complete directory tree to a directory designated by the `netbeansNbmDirectory` parameter.
-
-* `netbeansSourcesDirectory` designates the base directory containing zip files with module jar sources.
-Run `ant build-source-zips` in your local hg clone to build the nbms at `nbbuild/build/source-zips` directory.
-
-* `netbeansJavadocDirectory` designates the base directory containing zip files with javadoc zips for modules with public apis.
-Run `ant build-javadoc` in your local hg clone to build the nbms at `nbbuild/build/javadoc` directory.
-
-* To have external dependencies correctly identified by their real GAV, you will need to download the index from central (or other) repository using the `download` goal.
-
-
-
diff --git a/nb-repository-plugin/pom.xml b/nb-repository-plugin/pom.xml
deleted file mode 100644
index 7d9ac8c..0000000
--- a/nb-repository-plugin/pom.xml
+++ /dev/null
@@ -1,434 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.apache.netbeans.utilities</groupId>
-        <artifactId>utilities-parent</artifactId>
-        <version>1-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>nb-repository-plugin</artifactId>
-    <version>1.4-SNAPSHOT</version>
-    <packaging>maven-plugin</packaging>
-
-    <name>Apache NetBeans Maven Utilities - NB Repository Plugin</name>
-    <description>Maven plugin for creating Maven Repository out of a NetBeans installation (and other sources) for consumption by the projects using nbm-maven-plugin.
-    </description>
-    <inceptionYear>2005</inceptionYear>
-    <url>http://bits.netbeans.org/mavenutilities/nb-repository-plugin</url>
-    <issueManagement>
-        <system>jira</system>
-        <url>https://issues.apache.org/jira/browse/NETBEANS</url>
-    </issueManagement>
-    <prerequisites>
-        <maven>3.1.1</maven>
-    </prerequisites>
-    <licenses>
-        <license>
-            <name>Apache License 2</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
-    </scm>
-    <developers>
-        <developer>
-            <id>mkleint</id>
-            <name>Milos Kleint</name>
-            <email>mkleint@gmail.com</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>jglick</id>
-            <name>Jesse Glick</name>
-            <email>jglick@codehaus.org</email>
-            <organization>Codehaus</organization>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>ebarboni</id>
-            <name>Eric Barboni</name>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-    </developers>
-    <contributors>
-        <contributor>
-            <name>Johan Andrén</name>
-            <email>protected</email>
-            <roles>
-                <role>Patch Contributor</role>
-                <role>Goal Contributor</role>
-            </roles>
-        </contributor>
-        <contributor>
-            <name>Mykola Nikishov</name>
-            <email>mn@mn.com.ua</email>
-            <roles>
-                <role>Patch Contributor</role>
-            </roles>
-        </contributor>
-        <contributor>
-            <name>Frantisek Mantlik</name>
-            <email>frantisek@mantlik.cz</email>
-            <roles>
-                <role>Goal Contributor</role>
-            </roles>
-        </contributor>
-    </contributors>
-    
-
-    <!-- TODO need to override parent version value... I suppose this will eventually end up in mojo parent pom, check regularly -->    
-
-    <build>
-        <plugins>
-            <plugin>
-                <!-- TODO need to override parent version value... I suppose this will eventually end up in mojo parent pom, check regularly -->
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-plugin</artifactId>
-                <version>3.5</version>
-                <configuration>
-                    <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>mojo-descriptor</id>
-                        <phase>process-classes</phase>
-                        <goals>
-                            <goal>descriptor</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>help-goal</id>
-                        <goals>
-                            <goal>helpmojo</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>animal-sniffer-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                        <configuration>
-                            <signature>
-                                <groupId>org.codehaus.mojo.signature</groupId>
-                                <artifactId>java17</artifactId>
-                                <version>1.0</version>
-                            </signature>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <reportSets>
-                    <reportSet>
-                        <reports>
-                            <report>plugins</report>
-                            <!-- <report>cim</report> -->
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-changes-plugin</artifactId>
-                <configuration>
-                    <!-- configure github milestone ? -->
-                    <!--<onlyMilestoneIssues>false</onlyMilestoneIssues>
-                    <onlyCurrentVersion>false</onlyCurrentVersion>-->
-                    <skip>true</skip>
-                </configuration>
-               
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>                           
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jxr-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-plugin</artifactId>
-                <version>3.5</version>
-                <configuration>
-                    <requirements>
-                        <!--
-                        NOTE: Maven 2.x does not interpolate properties of the form project.*|pom.* so the Maven Plugin Plugin
-                        gets garbage when manually examining the config of the Maven Compiler Plugin.
-                        -->
-                        <jdk>${mojo.java.target}</jdk>
-                    </requirements>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <configuration>
-                    <quiet>true</quiet>
-                    <links>
-                        <!--<link>http://download-llnw.oracle.com/javaee/1.4/api/</link>-->
-                        <!-- unreachable site <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>-->
-                        <link>http://commons.apache.org/dbcp/apidocs/</link>
-                        <link>http://commons.apache.org/fileupload/apidocs/</link>
-                        <link>http://commons.apache.org/logging/apidocs/</link>
-                        <link>http://commons.apache.org/pool/apidocs/</link>
-                        <link>http://junit.sourceforge.net/javadoc/</link>
-                        <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
-                        <!-- unreachable site <link>http://jakarta.apache.org/regexp/apidocs/</link> -->
-                        <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-artifact/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-model/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-plugin-api/apidocs/</link>
-                        <!-- unreachable site <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-project/apidocs/</link>-->
-                        <!-- unreachable site <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-reporting/maven-reporting-api/apidocs/</link>-->
-                        <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-settings/apidocs/</link>
-                    </links>
-                    <tagletArtifacts>
-                        <tagletArtifact>
-                            <groupId>org.apache.maven.plugin-tools</groupId>
-                            <artifactId>maven-plugin-tools-javadoc</artifactId>
-                            <version>3.4</version>
-                        </tagletArtifact>
-                        <tagletArtifact>
-                            <groupId>org.codehaus.plexus</groupId>
-                            <artifactId>plexus-component-javadoc</artifactId>
-                            <version>1.6</version>
-                        </tagletArtifact>
-                    </tagletArtifacts>
-                </configuration>
-               
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-pmd-plugin</artifactId>
-               <configuration>
-                    <targetJdk>1.6</targetJdk>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-linkcheck-plugin</artifactId>
-                <configuration>
-                    <excludedLinks>
-                        <excludedLink>../../images/codehaus-small.png</excludedLink>
-                        <excludedLink>../../images/mojo_logo.png</excludedLink>
-                        <excludedLink>plugin-info.html</excludedLink>
-                    </excludedLinks>
-                    <!--<excludedPages>
-                        <excludedPage>dependencies.html</excludedPage> 
-                    </excludedPages>-->
-                </configuration>	       
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>cobertura-maven-plugin</artifactId>
-                <version>2.7</version>
-                <configuration>
-                    <instrumentation>
-                        <excludes>
-                            <exclude>**/HelpMojo.class</exclude>
-                        </excludes>
-                    </instrumentation>    
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>taglist-maven-plugin</artifactId>
-                <version>2.4</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <version>0.12</version>
-            </plugin>
-        </plugins>
-    </reporting>
-    <profiles>
-        <profile>
-            <id>run-its</id>
-            <build>
-
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-invoker-plugin</artifactId>
-                        <version>2.0.0</version>
-                        <configuration>
-                            <debug>false</debug>
-                            <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
-                            <pomIncludes>
-                                <pomInclude>*/pom.xml</pomInclude>
-                            </pomIncludes>
-                            <postBuildHookScript>verify</postBuildHookScript>
-                            <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
-                            <settingsFile>src/it/settings.xml</settingsFile>
-                            <goals>
-                                <!-- default build in netbeans IDE -->
-                                <goal>clean</goal>
-                                <goal>install</goal>
-                            </goals>
-                            <filterProperties>
-                                <netbeans.version>RELEASE82</netbeans.version> 
-                            </filterProperties>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>integration-test</id>
-                                <goals>
-                                    <goal>install</goal>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-
-            </build>
-        </profile>
-    </profiles>
-    <!--profiles>
-        <profile>
-            <id>tools.jar</id>
-            <activation>
-                <file>
-                    <exists>${java.home}/../lib/tools.jar</exists>
-                </file>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun</groupId>
-                    <artifactId>tools</artifactId>
-                    <version>1.5.0</version>
-                    <scope>system</scope>
-                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles-->
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-artifact</artifactId>
-            <version>${maven.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-            <version>${maven.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <version>3.5</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-utils</artifactId>
-            <version>3.1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.lucene</groupId>
-            <artifactId>lucene-core</artifactId>
-            <version>5.5.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-model</artifactId>
-            <version>${maven.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-core</artifactId>
-            <version>${maven.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-testing</groupId>
-            <artifactId>maven-plugin-testing-harness</artifactId>
-            <version>3.3.0</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-compat</artifactId>
-            <version>${maven.version}</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant</artifactId>
-            <version>1.8.2</version>
-            <scope>compile</scope>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.indexer</groupId>
-            <artifactId>indexer-core</artifactId>
-            <version>6.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.wagon</groupId>
-            <artifactId>wagon-http</artifactId>
-            <version>${wagon.version}</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>nb-shared</artifactId>
-            <version>1.3-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.wagon</groupId>
-            <artifactId>wagon-provider-api</artifactId>
-            <version>${wagon.version}</version>
-            <scope>compile</scope>
-        </dependency>
-    </dependencies>
-    <properties>
-        <mojo.java.target>1.6</mojo.java.target>
-        <wagon.version>3.0.0</wagon.version>
-        <maven.version>3.1.1</maven.version>
-    </properties>
-</project>
diff --git a/nb-repository-plugin/src/it/folder/pom.xml b/nb-repository-plugin/src/it/folder/pom.xml
deleted file mode 100644
index 4c6c5e4..0000000
--- a/nb-repository-plugin/src/it/folder/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>nb-repository-plugin-it-root</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-    <artifactId>nb-repository-plugin-it-single-module</artifactId>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nb-repository-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>install</phase>
-                        <goals>
-                            <goal>download</goal>
-                        </goals>
-                        <configuration>
-                            <nexusIndexDirectory>${project.build.directory}/indextest</nexusIndexDirectory>
-                            <repositoryUrl>http://repo1.maven.org/maven2</repositoryUrl>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
\ No newline at end of file
diff --git a/nb-repository-plugin/src/it/pom.xml b/nb-repository-plugin/src/it/pom.xml
deleted file mode 100644
index 84b1664..0000000
--- a/nb-repository-plugin/src/it/pom.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.codehaus.mojo</groupId>
-    <artifactId>nb-repository-plugin-it-root</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-  
-    <build>
-        <pluginManagement>
-            <plugins>
-               
-                <plugin>  
-                    <groupId>@project.groupId@</groupId>
-                    <artifactId>@project.artifactId@</artifactId>  
-                    <version>@project.version@</version>
-                </plugin>
-                <!--<plugin>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>@compilerPluginVersion@</version>
-                    <configuration>
-                        <source>@testJavaVersion@</source>
-                        <target>@testJavaVersion@</target>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>@surefirePluginVersion@</version>
-                </plugin>-->
-            </plugins>
-        </pluginManagement>
-    </build>
-    <properties>
-        <jar.plugin.version>3.0.2</jar.plugin.version>
-    </properties>
-</project>
\ No newline at end of file
diff --git a/nb-repository-plugin/src/it/settings.xml b/nb-repository-plugin/src/it/settings.xml
deleted file mode 100644
index 5ee363c..0000000
--- a/nb-repository-plugin/src/it/settings.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-
-<settings>
-    <profiles>
-        <profile>
-            <id>it-repo</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <repositories>
-                <repository>
-                    <id>local.central</id>
-                    <url>@localRepositoryUrl@</url>
-                    <releases>
-                        <enabled>true</enabled>
-                    </releases>
-                    <snapshots>
-                        <enabled>true</enabled>
-                    </snapshots>
-                </repository>
-            </repositories>
-            <pluginRepositories>
-                <pluginRepository>
-                    <id>local.central</id>
-                    <url>@localRepositoryUrl@</url>
-                    <releases>
-                        <enabled>true</enabled>
-                    </releases>
-                    <snapshots>
-                        <enabled>true</enabled>
-                    </snapshots>
-                </pluginRepository>
-            </pluginRepositories>
-        </profile>
-    </profiles>
-</settings>
diff --git a/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/DownloadIndexMojo.java b/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/DownloadIndexMojo.java
deleted file mode 100644
index 1845303..0000000
--- a/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/DownloadIndexMojo.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright 2012 Codehaus.
- *
- * 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.
- */
-
-
-package org.netbeans.nbm.repository;
-
-import java.io.File;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-import org.apache.maven.artifact.manager.WagonManager;
-import org.apache.maven.index.NexusIndexer;
-import org.apache.maven.index.context.IndexCreator;
-import org.apache.maven.index.context.IndexingContext;
-import org.apache.maven.index.updater.IndexUpdateRequest;
-import org.apache.maven.index.updater.IndexUpdater;
-import org.apache.maven.index.updater.ResourceFetcher;
-import org.apache.maven.index.updater.WagonHelper;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.wagon.Wagon;
-import org.apache.maven.wagon.events.TransferEvent;
-import org.apache.maven.wagon.events.TransferListener;
-import org.apache.maven.wagon.providers.http.HttpWagon;
-import org.apache.maven.wagon.proxy.ProxyInfo;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
-
-/**
- * Goal for retrieving and expanding the lucene index of the given repository. That in turn is used by the <code>populate</code>
- * goal.
- * @author mkleint
- */
-@Mojo(name="download", aggregator=true, requiresProject=false)
-public class DownloadIndexMojo extends AbstractMojo implements Contextualizable {
-    
-    /**
-     * url of the repository to download index from. Please note that if you already have
-     * an existing index at <code>nexusIndexDirectory</code>, you should always use the same url for that directory.
-     */
-    @Parameter(required=true, property="repositoryUrl")
-    private String repositoryUrl;
-    
-    /**
-     * location on disk where the index should be created. either empty or with existing index from same repository. then only update check will
-     * be performed.
-     */
-    @Parameter(required=true, property="nexusIndexDirectory")
-    private File nexusIndexDirectory;
- 
-    @Component
-    IndexUpdater remoteIndexUpdater;
-    
-    @Component
-    NexusIndexer indexer;
-    
-    PlexusContainer container;
-    
-    
-    @Component
-    WagonManager wagonManager;
-    
-    @Override
-    public void execute() throws MojoExecutionException, MojoFailureException
-    {
-        try        
-        {
-            List<IndexCreator> creators = new ArrayList<IndexCreator>();
-            creators.addAll(container.lookupList(IndexCreator.class));
-            String indexurl = repositoryUrl + (!repositoryUrl.endsWith( "/") ? "/" : "") + ".index";
-            IndexingContext indexingContext = indexer.addIndexingContextForced(
-                                    "central", // context id
-                                    "central", // repository id
-                                    null, // repository folder
-                                    nexusIndexDirectory,
-                                    repositoryUrl,// repositoryUrl
-                                    indexurl,
-                                    creators);
-
-            String protocol = URI.create(repositoryUrl).getScheme();
-            ProxyInfo wagonProxy = wagonManager.getProxy( protocol );
-            TransferListener tr = new TransferListener() {
-
-                @Override
-                public void transferInitiated( TransferEvent transferEvent )
-                {
-                    getLog().info( "Initiated connection to " + repositoryUrl);
-                }
-
-                @Override
-                public void transferStarted( TransferEvent transferEvent )
-                {
-                    getLog().info( "Started transfer of " + repositoryUrl + "/.index/" + transferEvent.getResource().toString());
-                }
-
-                @Override
-                public void transferProgress( TransferEvent transferEvent, byte[] buffer, int length )
-                {
-                }
-
-                @Override
-                public void transferCompleted( TransferEvent transferEvent )
-                {
-                    getLog().info( "Finished transfer of " + repositoryUrl + "/.index/" + transferEvent.getResource().toString());
-                }
-
-                @Override
-                public void transferError( TransferEvent transferEvent )
-                {
-                    getLog().error( "Failed transfer of " + repositoryUrl + "/.index/" + transferEvent.getResource().toString(), transferEvent.getException());
-                }
-
-                @Override
-                public void debug( String message )
-                {
-                }
-            };
-            // MINDEXER-42: cannot use WagonHelper.getWagonResourceFetcher
-            Wagon wagon = container.lookup(Wagon.class, protocol);
-            if (wagon instanceof HttpWagon) { //#216401
-                HttpWagon httpwagon = (HttpWagon) wagon;
-                //#215343
-                Properties p = new Properties();
-                p.setProperty("User-Agent", "mojo/nb-repository-plugin");
-                httpwagon.setHttpHeaders(p);
-            }
-
-            ResourceFetcher fetcher = new WagonHelper.WagonFetcher(wagon, tr, null, wagonProxy);
-            IndexUpdateRequest iur = new IndexUpdateRequest(indexingContext, fetcher);
-
-            remoteIndexUpdater.fetchAndUpdateIndex(iur);
-            indexer.removeIndexingContext(indexingContext, false);
-        }
-        catch ( Exception ex )
-        {
-            throw new MojoExecutionException( "Cannot download index", ex);
-        }
-    }
-
-    @Override
-    public void contextualize( Context context ) throws ContextException
-    {
-        this.container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
-    }
-
-    
-}
diff --git a/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/PopulateRepositoryMojo.java b/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/PopulateRepositoryMojo.java
deleted file mode 100644
index 1cbdb17..0000000
--- a/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/PopulateRepositoryMojo.java
+++ /dev/null
@@ -1,1303 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2006 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm.repository;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.math.BigInteger;
-import java.security.DigestOutputStream;
-import java.security.MessageDigest;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.jar.Attributes;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Manifest;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexableField;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TopScoreDocCollector;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.FSDirectory;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.deployer.ArtifactDeployer;
-import org.apache.maven.artifact.deployer.ArtifactDeploymentException;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-import org.apache.maven.artifact.installer.ArtifactInstallationException;
-import org.apache.maven.artifact.installer.ArtifactInstaller;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.artifact.resolver.AbstractArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Parent;
-import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.project.artifact.AttachedArtifact;
-import org.apache.maven.project.artifact.ProjectArtifactMetadata;
-import org.netbeans.nbm.utils.AbstractNetbeansMojo;
-import org.netbeans.nbm.utils.ExamineManifest;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.Input;
-import org.apache.tools.ant.taskdefs.PathConvert;
-import org.apache.tools.ant.types.FileSet;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * A goal for identifying NetBeans modules from the installation and populating the local
- * repository with them. Optionally you can also deploy to a remote repository.
- * <p>
- * If you are looking for an existing remote repository for NetBeans artifacts, check out
- * <a href="http://bits.netbeans.org/nexus/content/groups/netbeans/">http://bits.netbeans.org/nexus/content/groups/netbeans/</a>,
- * it contains API artifacts for multiple releases.
- * <a href="http://bits.netbeans.org/netbeans/trunk/maven-snapshot/">http://bits.netbeans.org/netbeans/trunk/maven-snapshot/</a>
- * may also be used for <code>SNAPSHOT</code> artifacts if you wish to test development builds.
- * </p><p>
- * See this <a href="http://mojo.codehaus.org/nbm-maven/nbm-maven-plugin/repository.html">HOWTO</a> on how to generate the NetBeans binaries required
- * by this goal.
- * </p>
- *
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- */
-@Mojo(name="populate", aggregator=true, requiresProject=false)
-public class PopulateRepositoryMojo
-    extends AbstractNetbeansMojo
-{
-    private static final String GROUP_API = ".api";
-    private static final String GROUP_IMPL = ".modules";
-    private static final String GROUP_EXTERNAL = ".external";
-    private static final String GROUP_CLUSTER = ".cluster";
-
-    
-    /**
-     * a prefix for groupId of generated content, 
-     * eg. for org.netbeans value will generate org.netbeans.cluster groupId for clusters and org.netbeans.modules for module artifacts.
-     * @since 1.2
-     */
-    @Parameter(property="groupIdPrefix", defaultValue = "org.netbeans")
-    private String groupIdPrefix;
-    
-    /**
-     * an url where to deploy the NetBeans artifacts. Optional, if not specified, the artifacts will be only installed
-     * in local repository, if you need to give credentials to access remote repo, the id of the server is hardwired to "netbeans".
-     */
-    @Parameter(property="deployUrl")
-    private String deployUrl;
-
-    /**
-     * By default the generated metadata is installed in local repository.
-     * Setting this parameter to false will avoid installing the bits. Only meaningful together with
-     * a defined "deployUrl" parameter.
-     * @since 3.0
-     */
-    @Parameter(defaultValue="false", property="skipInstall")
-    private boolean skipLocalInstall;
-
-
-    /**
-     * Location of NetBeans installation
-     */
-    @Parameter(property="netbeansInstallDirectory", required=true)
-    protected File netbeansInstallDirectory;
-
-    /**
-     * If you want to install/deploy also NetBeans api javadocs, download the javadoc zip file from netbeans.org
-     * expand it to a directory, it should contain multiple zip files. Define this parameter as absolute path to the zip files folder.
-     *
-     */
-    @Parameter(property="netbeansJavadocDirectory")
-    protected File netbeansJavadocDirectory;
-
-    /**
-     * Assumes a folder with &lt;code-name-base&gt;.zip files containing sources for modules.
-     */
-    @Parameter(property="netbeansSourcesDirectory")
-    protected File netbeansSourcesDirectory;
-
-    /**
-     * If defined, will match the nbm files found in the designated folder with the modules
-     * and upload the nbm file next to the module jar in local and remote repositories.
-     *
-     * Assumes a folder with &lt;code-name-base&gt;.nbm files containing nbm files for modules.
-     * @since 3.0
-     */
-    @Parameter(property="netbeansNbmDirectory", required=true)
-    protected File netbeansNbmDirectory;
-
-    /**
-     * When specified, will force all modules to have the designated version.
-     * Good when depending on releases. Then you would for example specify RELEASE50 in this parameter and
-     * all modules get this version in the repository. If not defined, the maven version is
-     * derived from the OpenIDE-Module-Specification-Version manifest attribute.
-     * <p>
-     * Highly Recommended!
-     * </p>
-     */
-    @Parameter(property="forcedVersion")
-    protected String forcedVersion;
-
-    /**
-     * When specified it points to a directory containing a Maven Indexer
-     * (Nexus) Lucene index. This index will be used to find external libraries that
-     * are referenced by NetBeans modules and populate the POM metadata with correct
-     * dependencies. Any dependencies not found this way, will be generated with a unique
-     * id under the org.netbeans.external groupId.
-     * <p/>
-     * Use the {@code download} goal to retrieve the index.
-     * @since 3.0
-     */
-    @Parameter(property="nexusIndexDirectory")
-    private File nexusIndexDirectory;
-
-    /**
-     * Whether to create cluster POMs in the {@code org.netbeans.cluster} group.
-     * Only meaningful when {@code forcedVersion} is defined.
-     * @since 3.7
-     */
-    @Parameter(defaultValue="true", property="defineCluster")   
-    private boolean defineCluster;
-
-    /**
-     * Optional remote repository to use for inspecting remote dependencies.
-     * This may be used to populate just part of an installation,
-     * when base modules are already available in Maven format.
-     * Currently only supported when {@code forcedVersion} is defined.
-     * @since 3.7
-     */
-    @Parameter(property="dependencyRepositoryUrl")
-    private String dependencyRepositoryUrl;
-
-    /**
-     * Repository ID to use when inspecting remote dependencies.
-     * Only meaningful when {@code dependencyRepositoryUrl} is defined.
-     * @since 3.7
-     */
-    @Parameter(defaultValue="temp", property="dependencyRepositoryId")
-    private String dependencyRepositoryId;
-
-    /**
-     * Colon separated artefact coordinate groupId:artefactId:version that
-     * represent parent to be used
-     *
-     * @since 1.4
-     */
-    @Parameter(property = "parentGAV", required = false)
-    private String parentGAV;
-    
-    // <editor-fold defaultstate="collapsed" desc="Component parameters">
-    /**
-     * Local maven repository.
-     */
-    @Parameter(required=true, readonly=true, defaultValue="${localRepository}")
-    protected ArtifactRepository localRepository;
-
-    /**
-     * Maven ArtifactFactory.
-     */
-    @Component
-    private ArtifactFactory artifactFactory;
-
-    /**
-     * Maven ArtifactInstaller.
-     */
-    @Component
-    private ArtifactInstaller artifactInstaller;
-
-    /**
-     * Maven ArtifactDeployer.
-     *
-     */
-    @Component
-    private ArtifactDeployer artifactDeployer;
-
-    /**
-     * Maven ArtifactHandlerManager
-     *
-     */
-    @Component
-    private ArtifactHandlerManager artifactHandlerManager;
-
-    /**
-     * Maven ArtifactRepositoryFactory.
-     *
-     */
-    @Component
-    private ArtifactRepositoryFactory repositoryFactory;
-
-    @Component
-    private ArtifactResolver artifactResolver;
-
-    @Component
-    private ArtifactRepositoryLayout artifactRepositoryLayout;
-// </editor-fold>
-
-    // parent handler in case we have one
-    private Parent artefactParent = null;
-
-    @Override
-    public void execute()
-        throws MojoExecutionException
-    {
-        getLog().info( "Populate repository with NetBeans modules" );
-        Project antProject = antProject();
-        ArtifactRepository deploymentRepository = null;
-
-        if (parentGAV != null) 
-        {
-            // populate artefactParent
-            artefactParent = new Parent();
-            String[] split = parentGAV.split(":");
-            if (split.length != 3) {
-                throw new MojoExecutionException(
-                    "parentGAV should respect the following format groupId:artefactId:version" );
-            }
-            artefactParent.setGroupId( split[0] );
-            artefactParent.setArtifactId( split[1] );
-            artefactParent.setVersion( split[2] );
-        }
-
-        if ( deployUrl != null )
-        {
-            ArtifactRepositoryLayout layout = new DefaultRepositoryLayout();
-            deploymentRepository = repositoryFactory.createDeploymentArtifactRepository(
-                "netbeans", deployUrl, layout, true );
-        }
-        else if ( skipLocalInstall )
-        {
-            throw new MojoExecutionException(
-                    "When skipping install to local repository, one shall define the deployUrl parameter" );
-        }
-
-        IndexSearcher searcher = null;
-        if ( nexusIndexDirectory != null && nexusIndexDirectory.exists() )
-        {
-            try
-            {
-                Directory nexusDir = FSDirectory.open( nexusIndexDirectory.toPath() );
-                IndexReader nexusReader = DirectoryReader.open( nexusDir );
-                searcher = new IndexSearcher( nexusReader );
-                getLog().info( "Opened index with " + nexusReader.numDocs() + " documents" );
-            }
-            catch ( IOException ex )
-            {
-                getLog().error( "Could not open " + nexusIndexDirectory, ex );
-            }
-        }
-
-        if ( netbeansInstallDirectory == null )
-        {
-            Input input = (Input) antProject.createTask( "input" );
-            input.setMessage( "Please enter NetBeans installation directory:" );
-            input.setAddproperty( "installDir" );
-            try
-            {
-                input.execute();
-            }
-            catch ( BuildException e )
-            {
-                getLog().error( "Cannot run ant:input" );
-                throw new MojoExecutionException( e.getMessage(), e );
-            }
-            String prop = antProject.getProperty( "installDir" );
-            netbeansInstallDirectory = new File( prop );
-        }
-
-        File rootDir = netbeansInstallDirectory;
-        if ( !rootDir.exists() )
-        {
-            getLog().error( "NetBeans installation doesn't exist." );
-            throw new MojoExecutionException( "NetBeans installation doesn't exist." );
-        }
-        getLog().info( "Copying NetBeans artifacts from " + netbeansInstallDirectory );
-
-        PathConvert convert = (PathConvert) antProject.createTask( "pathconvert" );
-        convert.setPathSep( "," );
-        convert.setProperty( "netbeansincludes" );
-        FileSet set = new FileSet();
-        set.setDir( rootDir );
-        set.createInclude().setName( "**/modules/*.jar" );
-        set.createInclude().setName( "*/core/*.jar" );
-        set.createInclude().setName( "platform*/lib/*.jar" );
-
-        convert.createPath().addFileset( set );
-        try
-        {
-            convert.execute();
-        }
-        catch ( BuildException e )
-        {
-            getLog().error( "Cannot run ant:pathconvert" );
-            throw new MojoExecutionException( e.getMessage(), e );
-        }
-
-        String prop = antProject.getProperty( "netbeansincludes" );
-        StringTokenizer tok = new StringTokenizer( prop, "," );
-        HashMap<ModuleWrapper, Artifact> moduleDefinitions = new HashMap<ModuleWrapper, Artifact>();
-        HashMap<String, Collection<ModuleWrapper>> clusters = new HashMap<String, Collection<ModuleWrapper>>();
-        while ( tok.hasMoreTokens() )
-        {
-            String token = tok.nextToken();
-            File module = new File( token );
-            String clust = module.getAbsolutePath().substring( rootDir.getAbsolutePath().length() + 1 );
-            clust = clust.substring( 0, clust.indexOf( File.separator ) );
-            ExamineManifest examinator = new ExamineManifest( getLog() );
-            examinator.setPopulateDependencies( true );
-            examinator.setJarFile( module );
-            examinator.checkFile();
-            if ( examinator.isNetBeansModule() || examinator.isOsgiBundle() )
-            {
-                //TODO get artifact id from the module's manifest?
-                String artifact = module.getName().substring( 0, module.getName().indexOf( ".jar" ) );
-                if ( "boot".equals( artifact ) )
-                {
-                    artifact = "org-netbeans-bootstrap";
-                }
-                if ( "core".equals( artifact ) )
-                {
-                    artifact = "org-netbeans-core-startup";
-                }
-                if ( "core-base".equals( artifact ) )
-                {
-                    artifact = "org-netbeans-core-startup-base";
-                }                
-                String version = forcedVersion == null ? examinator.getSpecVersion() : forcedVersion;
-                String group = groupIdPrefix + (examinator.isOsgiBundle() ? GROUP_EXTERNAL : examinator.hasPublicPackages() ? GROUP_API : GROUP_IMPL);
-                Artifact art = createArtifact( artifact, version, group );
-                if ( examinator.isOsgiBundle() )
-                {
-                    Dependency dep = findExternal( searcher, module );
-                    if ( dep != null )
-                    {
-                        // XXX use those coords instead of publishing this
-                        // (for now all bundles are from Orbit, which does not publish to Central, or specially built)
-                    }
-                }
-                ModuleWrapper wr = new ModuleWrapper( artifact, version, group, examinator, module );
-                wr.setCluster( clust );
-                moduleDefinitions.put( wr, art );
-                Collection<ModuleWrapper> col = clusters.get( clust );
-                if ( col == null )
-                {
-                    col = new ArrayList<ModuleWrapper>();
-                    clusters.put( clust, col );
-                }
-                col.add( wr );
-            }
-        }
-        List<ModuleWrapper> wrapperList = new ArrayList<ModuleWrapper>( moduleDefinitions.keySet() );
-        int count = wrapperList.size() + 1;
-        int index = 0;
-        File javadocRoot = null;
-        if ( netbeansJavadocDirectory != null )
-        {
-            javadocRoot = netbeansJavadocDirectory ;
-            if ( !javadocRoot.exists() )
-            {
-                javadocRoot = null;
-                throw new MojoExecutionException(
-                    "The netbeansJavadocDirectory parameter doesn't point to an existing folder" );
-            }
-        }
-        File sourceRoot = null;
-        if ( netbeansSourcesDirectory != null )
-        {
-            sourceRoot = netbeansSourcesDirectory;
-            if ( !sourceRoot.exists() )
-            {
-                sourceRoot = null;
-                throw new MojoExecutionException(
-                    "The netbeansSourceDirectory parameter doesn't point to an existing folder" );
-            }
-        }
-
-        File nbmRoot = null;
-        if ( netbeansNbmDirectory != null )
-        {
-            nbmRoot = netbeansNbmDirectory;
-            if ( !nbmRoot.exists() )
-            {
-                nbmRoot = null;
-                throw new MojoExecutionException(
-                    "The nbmDirectory parameter doesn't point to an existing folder" );
-            }
-        }
-
-        List<ExternalsWrapper> externals = new ArrayList<ExternalsWrapper>();
-        try
-        {
-            for ( Map.Entry<ModuleWrapper, Artifact> elem : moduleDefinitions.entrySet() )
-            {
-                ModuleWrapper man = elem.getKey();
-                Artifact art = elem.getValue();
-                index = index + 1;
-                getLog().info( "Processing " + index + "/" + count );
-                File pom = createMavenProject( man, wrapperList, externals, searcher );
-                ArtifactMetadata metadata = new ProjectArtifactMetadata( art, pom );
-                art.addMetadata( metadata );
-                File javadoc = null;
-                Artifact javadocArt = null;
-                if ( javadocRoot != null )
-                {
-                    File zip = new File( javadocRoot, art.getArtifactId() + ".zip" );
-                    if ( zip.exists() )
-                    {
-                        javadoc = zip;
-                        javadocArt = createAttachedArtifact( art, javadoc, "jar", "javadoc" );
-                    }
-                }
-                File source = null;
-                Artifact sourceArt = null;
-                if ( sourceRoot != null )
-                {
-                    File zip = new File( sourceRoot, art.getArtifactId() + ".zip" );
-                    if ( zip.exists() )
-                    {
-                        source = zip;
-                        sourceArt = createAttachedArtifact( art, source, "jar", "sources" );
-                    }
-                }
-                File nbm = null;
-                Artifact nbmArt = null;
-                if ( nbmRoot != null )
-                {
-                    File zip = new File( nbmRoot, art.getArtifactId() + ".nbm" );
-
-                    if ( !zip.exists() )
-                    {
-                        zip = new File( nbmRoot,
-                            man.getCluster() + File.separator + art.getArtifactId() + ".nbm" );
-                    }
-                    if ( zip.exists() )
-                    {
-                        nbm = zip;
-                        nbmArt = createAttachedArtifact( art, nbm, "nbm-file", null );
-                        if ( nbmArt.getArtifactHandler().getExtension().equals( "nbm-file" ) )
-                        {
-                            // Maven 2.x compatibility.
-                            nbmArt = createAttachedArtifact( art, nbm, "nbm", null );
-                        }
-                        assert nbmArt.getArtifactHandler().getExtension().equals( "nbm" );
-                    }
-                }
-                File moduleJar = man.getFile();
-                File moduleJarMinusCP = null;
-                if ( ! man.getModuleManifest().getClasspath().isEmpty() )
-                {
-                    try
-                    {
-                        moduleJarMinusCP = File.createTempFile( man.getArtifact(), ".jar" );
-                        moduleJarMinusCP.deleteOnExit();
-                        InputStream is = new FileInputStream( moduleJar );
-                        try
-                        {
-                            OutputStream os = new FileOutputStream( moduleJarMinusCP );
-                            try
-                            {
-                                JarInputStream jis = new JarInputStream( is );
-                                Manifest mani = new Manifest( jis.getManifest() );
-                                mani.getMainAttributes().remove( Attributes.Name.CLASS_PATH );
-                                if ( !man.deps.isEmpty() )
-                                { // MNBMODULE-132
-                                    StringBuilder b = new StringBuilder();
-                                    for ( Dependency dep : man.deps )
-                                    {
-                                        if ( b.length() > 0 )
-                                        {
-                                            b.append( ' ' );
-                                        }
-                                        b.append( dep.getGroupId() ).append( ':' ).append( dep.getArtifactId() ).append( ':' ).append( dep.getVersion() );
-                                        if (dep.getClassifier() != null) {
-                                            b.append(":").append(dep.getClassifier());
-                                        }
-                                    }
-                                    mani.getMainAttributes().putValue( "Maven-Class-Path", b.toString() );
-                                }
-                                else
-                                {
-                                    getLog().warn( "did not find any external artifacts for " + man.getModule() );
-                                }
-                                JarOutputStream jos = new JarOutputStream( os, mani );
-                                JarEntry entry;
-                                while ( ( entry = jis.getNextJarEntry() ) != null )
-                                {
-                                    if ( entry.getName().matches( "META-INF/.+[.]SF" ) )
-                                    {
-                                        throw new IOException( "cannot handle signed JARs" );
-                                    }
-                                    jos.putNextEntry( entry );
-                                    byte[] buf = new byte[(int) entry.getSize()];
-                                    int read = jis.read( buf, 0, buf.length );
-                                    if ( read != buf.length )
-                                    {
-                                        throw new IOException( "read wrong amount" );
-                                    }
-                                    jos.write( buf );
-                                }
-                                jos.close();
-                            }
-                            finally
-                            {
-                                os.close();
-                            }
-                        }
-                        finally
-                        {
-                            is.close();
-                        }
-                    }
-                    catch ( IOException x )
-                    {
-                        getLog().warn( "Could not process " + moduleJar + ": " + x, x );
-                        moduleJarMinusCP.delete();
-                        moduleJarMinusCP = null;
-                    }
-                }
-                try
-                {
-                    if ( !skipLocalInstall )
-                    {
-                        install( moduleJarMinusCP != null ? moduleJarMinusCP : moduleJar, art );
-                        if ( javadoc != null )
-                        {
-                            install( javadoc, javadocArt );
-                        }
-                        if ( source != null )
-                        {
-                            install( source, sourceArt );
-                        }
-                        if ( nbm != null )
-                        {
-                            install( nbm, nbmArt );
-                        }
-                    }
-                    try
-                    {
-                        if ( deploymentRepository != null )
-                        {
-                            artifactDeployer.deploy( moduleJarMinusCP != null ? moduleJarMinusCP : moduleJar, art,
-                                                     deploymentRepository, localRepository );
-                            if ( javadoc != null )
-                            {
-                                artifactDeployer.deploy( javadoc, javadocArt, deploymentRepository, localRepository );
-                            }
-                            if ( source != null )
-                            {
-                                artifactDeployer.deploy( source, sourceArt, deploymentRepository, localRepository );
-                            }
-                            if ( nbm != null )
-                            {
-                                artifactDeployer.deploy( nbm, nbmArt, deploymentRepository, localRepository );
-                            }
-                        }
-                    }
-                    catch ( ArtifactDeploymentException ex )
-                    {
-                        throw new MojoExecutionException( "Error Deploying artifact", ex );
-                    }
-                }
-                finally
-                {
-                    if ( moduleJarMinusCP != null )
-                    {
-                        moduleJarMinusCP.delete();
-                    }
-                }
-            }
-        }
-        finally
-        {
-            /*if ( searcher != null )
-            {
-                try
-                {
-                    searcher.close();
-                }
-                catch ( IOException ex )
-                {
-                    getLog().error( ex );
-                }
-            }*/
-        }
-
-        //process collected non-recognized external jars..
-        if ( externals.size() > 0 )
-        {
-            index = 0;
-            count = externals.size();
-            for ( ExternalsWrapper ex : externals )
-            {
-                Artifact art = createArtifact( ex.getArtifact(), ex.getVersion(), ex.getGroupid() );
-                index = index + 1;
-                getLog().info( "Processing external " + index + "/" + count );
-                File pom = createExternalProject( ex );
-                ArtifactMetadata metadata = new ProjectArtifactMetadata( art, pom );
-                art.addMetadata( metadata );
-                if ( !skipLocalInstall )
-                {
-                    install( ex.getFile(), art );
-                }
-                try
-                {
-                    if ( deploymentRepository != null )
-                    {
-                        artifactDeployer.deploy( ex.getFile(), art,
-                            deploymentRepository, localRepository );
-                    }
-                }
-                catch ( ArtifactDeploymentException exc )
-                {
-                    throw new MojoExecutionException( "Error Deploying artifact", exc );
-                }
-            }
-        }
-
-        if ( ! defineCluster )
-        {
-            getLog().info( "Not creating cluster POMs." );
-        }
-        else if ( forcedVersion == null )
-        {
-            getLog().warn( "Version not specified, cannot create cluster POMs." );
-        }
-        else
-        {
-            for ( Map.Entry<String, Collection<ModuleWrapper>> elem : clusters.entrySet() )
-            {
-                String cluster = stripClusterName( elem.getKey() );
-                Collection<ModuleWrapper> modules = elem.getValue();
-                getLog().info( "Processing cluster " + cluster );
-                Artifact art = createClusterArtifact( cluster, forcedVersion );
-                File pom = createClusterProject( art, modules );
-                ProjectArtifactMetadata metadata = new ProjectArtifactMetadata( art, pom );
-                art.addMetadata( metadata );
-                if ( !skipLocalInstall )
-                {
-                    install( pom, art );
-                }
-                try
-                {
-                    if ( deploymentRepository != null )
-                    {
-                        artifactDeployer.deploy( pom, art, deploymentRepository, localRepository );
-                    }
-                }
-                catch ( ArtifactDeploymentException ex )
-                {
-                    throw new MojoExecutionException( "Error Deploying artifact", ex );
-                }
-            }
-
-        }
-    }
-
-    void install( File file, Artifact art )
-        throws MojoExecutionException
-    {
-        assert localRepository != null;
-        try
-        {
-            artifactInstaller.install( file, art, localRepository );
-        }
-        catch ( ArtifactInstallationException e )
-        {
-            // TODO: install exception that does not give a trace
-            throw new MojoExecutionException( "Error installing artifact", e );
-        }
-    }
-
-    //performs the same tasks as the MavenProjectHelper
-    Artifact createAttachedArtifact( Artifact primary, File file, String type, String classifier )
-    {
-        assert type != null;
-
-        ArtifactHandler handler;
-
-        handler = artifactHandlerManager.getArtifactHandler( type );
-
-        if ( handler == null )
-        {
-            getLog().warn( "No artifact handler for " + type );
-            handler = artifactHandlerManager.getArtifactHandler( "jar" );
-        }
-
-        Artifact artifact = new AttachedArtifact( primary, type, classifier, handler );
-
-        artifact.setFile( file );
-        artifact.setResolved( true );
-        return artifact;
-    }
-
-    private File createMavenProject( ModuleWrapper wrapper, List<ModuleWrapper> wrapperList,
-                                     List<ExternalsWrapper> externalsList, IndexSearcher searcher )
-            throws MojoExecutionException
-    {
-        Model mavenModel = new Model();
-
-        mavenModel.setGroupId( wrapper.getGroup() );
-        mavenModel.setArtifactId( wrapper.getArtifact() );
-        mavenModel.setVersion( wrapper.getVersion() );
-        mavenModel.setPackaging( "jar" );
-        mavenModel.setModelVersion( "4.0.0" );
-        if ( artefactParent != null ) {
-            mavenModel.setParent( artefactParent );
-        }
-        ExamineManifest man = wrapper.getModuleManifest();
-        List<Dependency> deps = new ArrayList<Dependency>();
-        if ( !man.getDependencyTokens().isEmpty() )
-        {
-            for ( String elem : man.getDependencyTokens() )
-            {
-                // create pseudo wrapper
-                ModuleWrapper wr = new ModuleWrapper( elem );
-                int index = wrapperList.indexOf( wr );
-                if ( index > -1 )
-                {
-                    wr = wrapperList.get( index );
-                    Dependency dep = new Dependency();
-                    dep.setArtifactId( wr.getArtifact() );
-                    dep.setGroupId( wr.getGroup() );
-                    dep.setVersion( wr.getVersion() );
-                    dep.setType( "jar" );
-                    //we don't want the API modules to depend on non-api ones..
-                    // otherwise the transitive dependency mechanism pollutes your classpath..
-                    if ( wrapper.getModuleManifest().hasPublicPackages() && !wr.getModuleManifest().hasPublicPackages() )
-                    {
-                        dep.setScope( "runtime" );
-                    }
-                    deps.add( dep );
-                }
-                else if ( dependencyRepositoryUrl != null )
-                {
-                    Dependency dep = new Dependency();
-                    dep.setType( "jar" );
-                    String artifactId = elem.replace( '.', '-' );
-                    dep.setArtifactId( artifactId );
-                    if ( forcedVersion == null )
-                    {
-                        throw new MojoExecutionException( "Cannot use dependencyRepositoryUrl without forcedVersion" );
-                    }
-                    dep.setVersion( forcedVersion );
-                    ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy();
-                    List<ArtifactRepository> repos = Collections.singletonList(
-                            repositoryFactory.createArtifactRepository( dependencyRepositoryId, dependencyRepositoryUrl, artifactRepositoryLayout, policy, policy) );
-                    try
-                    {
-                        artifactResolver.resolve( artifactFactory.createBuildArtifact( groupIdPrefix + GROUP_API, artifactId, forcedVersion, "pom" ), repos, localRepository );
-                        dep.setGroupId( groupIdPrefix + GROUP_API );
-                    }
-                    catch ( AbstractArtifactResolutionException x )
-                    {
-                        try
-                        {
-                            artifactResolver.resolve( artifactFactory.createBuildArtifact( groupIdPrefix + GROUP_IMPL, artifactId, forcedVersion, "pom" ), repos, localRepository );
-                            dep.setGroupId( groupIdPrefix + GROUP_IMPL );
-                            if ( wrapper.getModuleManifest().hasPublicPackages() )
-                            {
-                                dep.setScope( "runtime" );
-                            }
-                        }
-                        catch ( AbstractArtifactResolutionException x2 )
-                        {
-                            try
-                            {
-                                artifactResolver.resolve( artifactFactory.createBuildArtifact( groupIdPrefix + GROUP_EXTERNAL, artifactId, forcedVersion, "pom" ), repos, localRepository );
-                                dep.setGroupId( groupIdPrefix + GROUP_EXTERNAL );
-                                if ( wrapper.getModuleManifest().hasPublicPackages() )
-                                {
-                                    dep.setScope( "runtime" );
-                                }
-                            }
-                            catch ( AbstractArtifactResolutionException x3 )
-                            {
-                                getLog().warn( x3.getOriginalMessage() );
-                                throw new MojoExecutionException( "No module found for dependency '" + elem + "'", x );
-                            }
-
-                           
-                        }
-
-                    }
-                    deps.add( dep );
-                }
-                else
-                {
-                    getLog().warn( "No module found for dependency '" + elem + "'" );
-                }
-            }
-        }
-        //need some generic way to handle Classpath: items.
-        //how to figure the right version?
-        String cp = wrapper.getModuleManifest().getClasspath();
-        if ( !cp.isEmpty() )
-        {
-            StringTokenizer tok = new StringTokenizer( cp );
-            while ( tok.hasMoreTokens() )
-            {
-                String path = tok.nextToken();
-                File f = new File( wrapper.getFile().getParentFile(), path );
-                if ( f.exists() )
-                {
-                    Dependency dep = findExternal( searcher, f );
-                    if ( dep != null )
-                    {
-                        deps.add( dep );
-                        // XXX MNBMODULE-170: repack NBM with *.external
-                    }
-                    else
-                    {
-                        ExternalsWrapper ex = new ExternalsWrapper();
-                        ex.setFile( f );
-                        String artId = f.getName();
-                        if ( artId.endsWith( ".jar" ) )
-                        {
-                            artId = artId.substring( 0, artId.length() - ".jar".length() );
-                        }
-                        ex.setVersion( wrapper.getVersion() );
-                        ex.setArtifact( artId );
-                        ex.setGroupid( groupIdPrefix + GROUP_EXTERNAL );
-                        externalsList.add( ex );
-                        dep = new Dependency();
-                        dep.setArtifactId( artId );
-                        dep.setGroupId( groupIdPrefix + GROUP_EXTERNAL );
-                        dep.setVersion( wrapper.getVersion() );
-                        dep.setType( "jar" );
-                        deps.add( dep );
-                    }
-                }
-            }
-        }
-
-        wrapper.deps = deps;
-        mavenModel.setDependencies( deps );
-        FileWriter writer = null;
-        File fil = null;
-        try
-        {
-            MavenXpp3Writer xpp = new MavenXpp3Writer();
-            fil = File.createTempFile( "maven", ".pom" );
-            fil.deleteOnExit();
-            writer = new FileWriter( fil );
-            xpp.write( writer, mavenModel );
-        }
-        catch ( IOException ex )
-        {
-            ex.printStackTrace();
-
-        }
-        finally
-        {
-            if ( writer != null )
-            {
-                try
-                {
-                    writer.close();
-                }
-                catch ( IOException io )
-                {
-                    io.printStackTrace();
-                }
-            }
-        }
-        return fil;
-    }
-
-    private Dependency findExternal( IndexSearcher searcher, File f )
-    {
-        if ( searcher == null )
-        {
-            return null;
-        }
-        try
-        {
-            MessageDigest shaDig = MessageDigest.getInstance( "SHA1" );
-            InputStream is = new FileInputStream( f );
-            try {
-                OutputStream os = new DigestOutputStream( new NullOutputStream(), shaDig );
-                IOUtil.copy( is, os );
-                os.close();
-            }
-            finally
-            {
-                is.close();
-            }
-            String sha = encode( shaDig.digest() );
-            TermQuery q = new TermQuery( new Term( "1", sha ) );
-            TopScoreDocCollector collector = TopScoreDocCollector.create( 5 );
-            searcher.search(q, collector);
-            ScoreDoc[] hits = collector.topDocs().scoreDocs;
-            if ( hits.length >= 1 )
-            {
-                int docId = hits[0].doc;    
-                Document doc = searcher.doc(docId);                
-                IndexableField idField = doc.getField( "u" );
-                if ( idField != null )
-                {
-                    String id = idField.stringValue();
-                    String[] splits = StringUtils.split( id, "|" );
-                    Dependency dep = new Dependency();
-                    dep.setArtifactId( splits[1] );
-                    dep.setGroupId( splits[0] );
-                    dep.setVersion( splits[2] );
-                    dep.setType( "jar" );
-                    if ( splits.length > 3 && !"NA".equals( splits[3] ) )
-                    {
-                        dep.setClassifier( splits[3] );
-                    }
-                    getLog().info( "found match " + splits[0] + ":" + splits[1] + ":" + splits[2] + " for " + f.getName() );
-                    return dep;
-                }
-                else
-                {
-                    getLog().error( "no idField for " + q );
-                }
-            }
-            else
-            {
-                getLog().info( "no repository match for " + f.getName() );
-            }
-        }
-        catch ( Exception x )
-        {
-            getLog().error( x );
-        }
-        return null;
-    }
-
-    File createExternalProject( ExternalsWrapper wrapper )
-    {
-        Model mavenModel = new Model();
-
-        mavenModel.setGroupId( wrapper.getGroupid() );
-        mavenModel.setArtifactId( wrapper.getArtifact() );
-        mavenModel.setVersion( wrapper.getVersion() );
-        mavenModel.setPackaging( "jar" );
-        mavenModel.setModelVersion( "4.0.0" );
-        if ( artefactParent != null ) {
-            mavenModel.setParent( artefactParent );
-        }
-        mavenModel.setName( 
-            "Maven definition for " + wrapper.getFile().getName() + " - external part of NetBeans module." );
-        mavenModel.setDescription( 
-            "POM and identification for artifact that was not possible to uniquely identify as a maven dependency." );
-        FileWriter writer = null;
-        File fil = null;
-        try
-        {
-            MavenXpp3Writer xpp = new MavenXpp3Writer();
-            fil = File.createTempFile( "maven", ".pom" );
-            fil.deleteOnExit();
-            writer = new FileWriter( fil );
-            xpp.write( writer, mavenModel );
-        }
-        catch ( IOException ex )
-        {
-            ex.printStackTrace();
-        }
-        finally
-        {
-            if ( writer != null )
-            {
-                try
-                {
-                    writer.close();
-                }
-                catch ( IOException io )
-                {
-                    io.printStackTrace();
-                }
-            }
-        }
-        return fil;
-
-    }
-
-    private File createClusterProject( Artifact cluster, Collection<ModuleWrapper> mods )
-    {
-        Model mavenModel = new Model();
-
-        mavenModel.setGroupId( cluster.getGroupId() );
-        mavenModel.setArtifactId( cluster.getArtifactId() );
-        mavenModel.setVersion( cluster.getVersion() );
-//        mavenModel.setPackaging("nbm-application");
-        mavenModel.setPackaging( "pom" );
-        mavenModel.setModelVersion( "4.0.0" );
-        if ( artefactParent != null ) {
-            mavenModel.setParent( artefactParent );
-        }
-        List<Dependency> deps = new ArrayList<Dependency>();
-        for ( ModuleWrapper wr : mods )
-        {
-            Dependency dep = new Dependency();
-            dep.setArtifactId( wr.getArtifact() );
-            dep.setGroupId( wr.getGroup() );
-            dep.setVersion( wr.getVersion() );
-            if ( wr.getModuleManifest().isNetBeansModule() )
-            {
-                dep.setType( "nbm-file" );
-            }
-            deps.add( dep );
-        }
-        mavenModel.setDependencies( deps );
-//        
-//        
-//        Build build = new Build();
-//        Plugin plg = new Plugin();
-//        plg.setGroupId("org.codehaus.mojo");
-//        plg.setArtifactId("nbm-maven-plugin");
-//        plg.setVersion("2.7-SNAPSHOT");
-//        plg.setExtensions(true);
-//        build.addPlugin(plg);
-//        mavenModel.setBuild(build);
-
-        FileWriter writer = null;
-        File fil = null;
-        try
-        {
-            MavenXpp3Writer xpp = new MavenXpp3Writer();
-            fil = File.createTempFile( "maven", ".pom" );
-            fil.deleteOnExit();
-            writer = new FileWriter( fil );
-            xpp.write( writer, mavenModel );
-        }
-        catch ( IOException ex )
-        {
-            ex.printStackTrace();
-        }
-        finally
-        {
-            IOUtil.close( writer );
-        }
-        return fil;
-    }
-
-    Artifact createArtifact( String artifact, String version, String group )
-    {
-        return artifactFactory.createBuildArtifact( group, artifact, version, "jar" );
-    }
-
-    private Artifact createClusterArtifact( String artifact, String version )
-    {
-        return artifactFactory.createBuildArtifact( groupIdPrefix + GROUP_CLUSTER, artifact, version, "pom" );
-    }
-
-    private static Pattern PATTERN_CLUSTER = Pattern.compile( "([a-zA-Z]+)[0-9\\.]*" );
-    static String stripClusterName( String key )
-    {
-        Matcher m = PATTERN_CLUSTER.matcher( key );
-        if ( m.matches() )
-        {
-            return m.group( 1 );
-        }
-        return key;
-    }
-
-    private static class ExternalsWrapper
-    {
-
-        private File file;
-
-        private String artifact;
-
-        private String groupid;
-
-        public String getArtifact()
-        {
-            return artifact;
-        }
-
-        public void setArtifact( String artifact )
-        {
-            this.artifact = artifact;
-        }
-
-        public File getFile()
-        {
-            return file;
-        }
-
-        public void setFile( File file )
-        {
-            this.file = file;
-        }
-
-        public String getGroupid()
-        {
-            return groupid;
-        }
-
-        public void setGroupid( String groupid )
-        {
-            this.groupid = groupid;
-        }
-
-        public String getVersion()
-        {
-            return version;
-        }
-
-        public void setVersion( String version )
-        {
-            this.version = version;
-        }
-        private String version;
-
-    }
-
-    private static class ModuleWrapper
-    {
-
-        ExamineManifest man;
-
-        private String artifact;
-
-        private String version;
-
-        private String group;
-
-        private File file;
-
-        private String cluster;
-
-        String module;
-
-        List<Dependency> deps;
-
-        public ModuleWrapper( String module )
-        {
-            this.module = module;
-        }
-
-        public ModuleWrapper( String art, String ver, String grp, ExamineManifest manifest, File fil )
-        {
-            man = manifest;
-            artifact = art;
-            version = ver;
-            group = grp;
-            file = fil;
-        }
-
-        @Override
-        public int hashCode()
-        {
-            return getModule().hashCode();
-        }
-
-        @Override
-        public boolean equals( Object obj )
-        {
-            return obj instanceof ModuleWrapper && getModule().equals( ( (ModuleWrapper) obj ).getModule() );
-        }
-
-        public String getModule()
-        {
-            return module != null ? module : getModuleManifest().getModule();
-        }
-
-        public ExamineManifest getModuleManifest()
-        {
-            return man;
-        }
-
-        private String getArtifact()
-        {
-            return artifact;
-        }
-
-        private String getVersion()
-        {
-            return version;
-        }
-
-        private String getGroup()
-        {
-            return group;
-        }
-
-        private File getFile()
-        {
-            return file;
-        }
-
-        void setCluster( String clust )
-        {
-            cluster = clust;
-        }
-
-        String getCluster()
-        {
-            return cluster;
-        }
-    }
-
-    private static class NullOutputStream
-        extends OutputStream
-    {
-
-        @Override
-        public void write( int b )
-            throws IOException
-        {
-        }
-    }
-
-    /**
-     * Encodes a 128 bit or 160-bit byte array into a String.
-     *
-     * @param binaryData Array containing the digest
-     * @return Encoded hex string, or null if encoding failed
-     */
-    static String encode( byte[] binaryData )
-    {
-        int bitLength = binaryData.length * 8;
-        if ( bitLength != 128 && bitLength != 160 )
-        {
-            throw new IllegalArgumentException(
-                "Unrecognised length for binary data: " + bitLength + " bits" );
-        }
-        return String.format( "%0" + bitLength / 4 + "x", new BigInteger( 1, binaryData ) );
-    }
-}
diff --git a/nb-repository-plugin/src/site/apt/index.apt b/nb-repository-plugin/src/site/apt/index.apt
deleted file mode 100644
index ab28c76..0000000
--- a/nb-repository-plugin/src/site/apt/index.apt
+++ /dev/null
@@ -1,36 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you 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.
-
- ------
- Maven 2 NB Repository Plugin 
- ------
- Milos Kleint
- <mkleint@codehaus.org>
- ------
- 2012-10-19
-
-NetBeans Repository plugin
-
- The plugin is capable of populating the local or remote maven repository with module jars and NBM files from a given NetBeans installation. Useful for
-module development, modules with public APIs are separated from those without a public API.
-See the {{{./populate-mojo.html}<<<populate>>>}} goal and the {{{./repository.html}HOWTO document}} for details.
-
- To get access to a repository with NetBeans.org module artifacts and metadata, add {{{http://bits.netbeans.org/maven2/}http://bits.netbeans.org/maven2/}} repository to your project POM
-or the repository manager you are using. The repository hosts binaries of NetBeans 6.5 and later.
-
- Also see: {{{http://wiki.netbeans.org/NetBeansDeveloperFAQ#Mavenized_Builds}Maven NBM development FAQs}}
-
diff --git a/nb-repository-plugin/src/site/apt/repository.apt b/nb-repository-plugin/src/site/apt/repository.apt
deleted file mode 100644
index 758634b..0000000
--- a/nb-repository-plugin/src/site/apt/repository.apt
+++ /dev/null
@@ -1,58 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you 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.
-
- ------
- Maven 2 NB Repository Plugin 
- ------
- Milos Kleint
- <mkleint@codehaus.org>
- ------
- 2012-10-19
-
-HOWTO: Upload NetBeans release binaries to a Maven repository
-
-
- There is a goal that converts the NetBeans module information into Maven metadata
-and is capable of uploading the module jar file, javadoc, sources and nbm files to local
-and remote repositories. See {{{./populate-mojo.html}<<<populate>>> goal}} description.
-
- For a binary-only upload (jar files and nbm files only), it's possible to download the bits from official sites. See below for URLs.
-For the complete upload, you will need to checkout the sources of the IDE/Platform you
-want to upload. See this FAQ entry on {{{http://wiki.netbeans.org/DevFaqAccessSourcesUsingMercurial}HowTo checkout sources from Hg}}
-
- To have external dependencies correctly identified by their real GAV, you will need to download the index from central (or other) repository. 
-See {{{./download-mojo.html}<<<download>>> goal}}
-
- The goal has multiple input parameters that link the goal to binaries prepared beforehand.
-
-   * <<netbeansInstallDirectory>> designates the base directory where resides the NetBeans installation
-that shall be uploaded. It can be either {{{http://www.netbeans.org/downloads/index.html}downloaded as zip}} or built from sources.
-Run <<<ant>>> in your local hg clone to build the distribution at <<<nbbuild/netbeans>>> sundirectory.
-
-   * <<netbeansNbmDirectory>> designates the base directory where the nbm files are located.
-Run <<<ant build-nbms>>> in your local <<<hg clone>>> to build the nbms at <<<nbbuild/nbms>>> directory or download it from the
-{{{http://updates.netbeans.org/netbeans}http://updates.netbeans.org/netbeans}} space eg.
-final <<6.5>> version at {{{http://updates.netbeans.org/netbeans/6.5/final/uc/}http://updates.netbeans.org/netbeans/<<6.5>>/final/uc/}}.
-Use a tool like <<<wget>>> to download the complete directory tree to a directory designated by the <<netbeansNbmDirectory>> parameter.
-
-  * <<netbeansSourcesDirectory>> designates the base directory containing zip files with module jar sources.
-Run <<<ant build-source-zips>>> in your local hg clone to build the nbms at <<<nbbuild/build/source-zips>>> directory.
-
-  * <<netbeansJavadocDirectory>> designates the base directory containing zip files with javadoc zips for modules with public apis.
-Run <<<ant build-javadoc>>> in your local hg clone to build the nbms at <<<nbbuild/build/javadoc>>> directory.
-
-
diff --git a/nb-repository-plugin/src/site/site.xml b/nb-repository-plugin/src/site/site.xml
deleted file mode 100644
index 9b708e3..0000000
--- a/nb-repository-plugin/src/site/site.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
-    <skin>
-        <groupId>org.netbeans.maven</groupId>
-        <artifactId>maven-netbeans-skin</artifactId>
-        <version>1.0-SNAPSHOT</version>
-    </skin>
-    <body>
-    <menu name="Overview">
-      <item name="Usage" href="index.html"/>
-      <item name="Plugin Goals" href="plugin-info.html"/>
-      <!-- <item name="Javadoc" href="apidocs/index.html"/> -->
-      <!--item name="FAQ" href="faq.html"/-->
-    </menu>
-    <!--<menu name="Upgrade">   
-      <item name="2.4 -> 2.5 upgrade" href="2425upgrade.html"/>
-      <item name="2.6 -> 3.0 upgrade" href="2630upgrade.html"/>
-    </menu>-->
-    <menu name="HOWTOs ">
-      <item name="Populate repository" href="repository.html"/>
-    </menu>
-  </body>
-</project>
-
diff --git a/nb-repository-plugin/src/test/java/org/netbeans/nbm/repository/PopulateRepositoryMojoTest.java b/nb-repository-plugin/src/test/java/org/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
deleted file mode 100644
index 369544b..0000000
--- a/nb-repository-plugin/src/test/java/org/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *  Copyright 2010 mkleint.
- * 
- *  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.
- *  under the License.
- */
-
-package org.netbeans.nbm.repository;
-
-import org.netbeans.nbm.repository.PopulateRepositoryMojo;
-import java.io.File;
-import junit.framework.TestCase;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
-import org.codehaus.plexus.util.FileUtils;
-
-public class PopulateRepositoryMojoTest extends TestCase /** AbstractMojoTestCase  the only way out of dependency hell.**/{
-    
-    public void testStripClusterName()
-    {
-        assertEquals( "platform", PopulateRepositoryMojo.stripClusterName( "platform9" ) );
-        assertEquals( "platform", PopulateRepositoryMojo.stripClusterName( "platform11" ) );
-        assertEquals( "nb", PopulateRepositoryMojo.stripClusterName( "nb6.9" ) );
-        assertEquals( "extra", PopulateRepositoryMojo.stripClusterName( "extra" ) );
-    }
-
-    public void testInstall() throws Exception
-    {
-//TODO how is this done on maven3?
-//        PopulateRepositoryMojo mojo = ( PopulateRepositoryMojo ) lookupMojo( "populate", new File( getBasedir(), "src/test/resources/PopulateMojoTest.xml" ) );
-//        File repo = new File( System.getProperty( "java.io.tmpdir" ), "PopulateRepositoryMojoTest" );
-//        FileUtils.deleteDirectory( repo );
-//        mojo.localRepository = new DefaultArtifactRepository( "test", repo.toURI().toString(), new DefaultRepositoryLayout() );
-//        Artifact art1 = mojo.createArtifact( "testarg", "1.0", "testgrp" );
-//        File f = File.createTempFile( "PopulateRepositoryMojoTest", ".nbm" );
-//        f.deleteOnExit();
-//        Artifact art2 = mojo.createAttachedArtifact( art1, f, "nbm-file", null );
-//        assertEquals( "nbm", art2.getArtifactHandler().getExtension() );
-//        //TODO does not work because of missing session
-////        mojo.install( f, art2 );
-////        assertTrue( new File( repo, "testgrp/testarg/1.0/testarg-1.0.nbm" ).isFile() );
-////        assertFalse( new File( repo, "testgrp/testarg/1.0/testarg-1.0.jar" ).isFile() );
-    }
-
-    public void testEncode() throws Exception
-    {
-        assertEquals( "057558504e1d03e57ce6fd80ad983b3c2e803b40", PopulateRepositoryMojo.encode( new byte[] {
-            (byte) 0x05, (byte) 0x75, (byte) 0x58, (byte) 0x50, (byte) 0x4e, (byte) 0x1d, (byte) 0x03, (byte) 0xe5, (byte) 0x7c, (byte) 0xe6,
-            (byte) 0xfd, (byte) 0x80, (byte) 0xad, (byte) 0x98, (byte) 0x3b, (byte) 0x3c, (byte) 0x2e, (byte) 0x80, (byte) 0x3b, (byte) 0x40,
-        } ) );
-        assertEquals( "ca70822c47a67fc3a11670270567c2d01566dae1", PopulateRepositoryMojo.encode( new byte[] {
-            (byte) 0xca, (byte) 0x70, (byte) 0x82, (byte) 0x2c, (byte) 0x47, (byte) 0xa6, (byte) 0x7f, (byte) 0xc3, (byte) 0xa1, (byte) 0x16,
-            (byte) 0x70, (byte) 0x27, (byte) 0x05, (byte) 0x67, (byte) 0xc2, (byte) 0xd0, (byte) 0x15, (byte) 0x66, (byte) 0xda, (byte) 0xe1,
-        } ) );
-    }
-
-}
diff --git a/nb-repository-plugin/src/test/resources/PopulateMojoTest.xml b/nb-repository-plugin/src/test/resources/PopulateMojoTest.xml
deleted file mode 100644
index 233d42c..0000000
--- a/nb-repository-plugin/src/test/resources/PopulateMojoTest.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nb-repository-plugin</artifactId>
-                <configuration/>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/nbm-maven-harness/pom.xml b/nbm-maven-harness/pom.xml
deleted file mode 100644
index 69dd510..0000000
--- a/nbm-maven-harness/pom.xml
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.netbeans.utilities</groupId>
-        <artifactId>utilities-parent</artifactId>
-        <version>1-SNAPSHOT</version>
-    </parent>
-    <artifactId>nbm-maven-harness</artifactId>
-    <version>9.0-SNAPSHOT</version>
-    <name>Apache NetBeans Maven Utilities - NBM Harness for Maven</name>
-    <url>http://bits.netbeans.org/mavenutilities/nbm-maven-harness</url>
-    <issueManagement>
-        <system>jira</system>
-        <url>https://issues.apache.org/jira/browse/NETBEANS</url>
-    </issueManagement>
-    <licenses>
-        <license>
-            <name>Apache License 2</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
-    </scm>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <version>2.4</version>
-                <executions>
-                    <execution>
-                        <phase>generate-resources</phase>
-                        <id>unpack-harness</id>
-                        <goals>
-                            <goal>get</goal>
-                        </goals>
-                        <configuration>
-                            <artifact>org.netbeans.modules:org-netbeans-modules-apisupport-harness:${netbeans.version}:nbm</artifact>
-                            <transitive>false</transitive>
-                            <remoteRepositories>${netbeans.repo}</remoteRepositories>
-                            <destination>${project.build.directory}/harness.nbm</destination>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <phase>generate-resources</phase>
-                        <id>unpack-installer</id>
-                        <goals>
-                            <goal>get</goal>
-                        </goals>
-                        <configuration>
-                            <artifact>org.netbeans.modules:org-netbeans-libs-nbi-ant:${netbeans.version}:nbm</artifact>
-                            <transitive>false</transitive>
-                            <remoteRepositories>${netbeans.repo}</remoteRepositories>
-                            <destination>${project.build.directory}/nbi-ant.nbm</destination>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <phase>generate-resources</phase>
-                        <id>unpack-installer-engine</id>
-                        <goals>
-                            <goal>get</goal>
-                        </goals>
-                        <configuration>
-                            <artifact>org.netbeans.modules:org-netbeans-libs-nbi-engine:${netbeans.version}:nbm</artifact>
-                            <transitive>false</transitive>
-                            <remoteRepositories>${netbeans.repo}</remoteRepositories>
-                            <destination>${project.build.directory}/nbi-engine.nbm</destination>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <version>1.6</version>
-                <executions>
-                    <execution>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <target>
-                                <unzip src="${project.build.directory}/harness.nbm" dest="${project.build.directory}/classes">
-                                    <patternset>
-                                        <include name="netbeans/etc/app.conf" />
-                                        <include name="netbeans/etc/applicationIcon.icns*" />
-                                        <include name="netbeans/launchers/app*" />
-                                    </patternset>
-                                    <mapper type="glob" from="netbeans/*" to="harness/*" />
-                                </unzip>
-                                <unzip src="${project.build.directory}/harness.nbm" dest="${project.build.directory}">
-                                    <patternset>
-                                        <include name="netbeans/tasks.jar.pack.gz" />
-                                        <include name="netbeans/jnlp/jnlp-launcher.jar.pack.gz" />
-                                    </patternset>
-                                    <flattenmapper />
-                                </unzip>
-                                <exec executable="unpack200" failonerror="true">
-                                    <arg file="${project.build.directory}/tasks.jar.pack.gz" />
-                                    <arg file="${project.build.directory}/tasks.jar" />
-                                </exec>
-                                <mkdir dir="${project.build.directory}/classes/harness/jnlp" />
-                                <exec executable="unpack200" failonerror="true">
-                                    <arg file="${project.build.directory}/jnlp-launcher.jar.pack.gz" />
-                                    <arg file="${project.build.directory}/classes/harness/jnlp/jnlp-launcher.jar" />
-                                </exec>
-                                <unzip src="${project.build.directory}/tasks.jar" dest="${project.build.directory}/classes" />
-                                <unzip src="${project.build.directory}/nbi-ant.nbm" dest="${project.build.directory}/classes">
-                                    <patternset>
-                                        <include name="netbeans/modules/" />
-                                        <include name="netbeans/nbi/" />
-                                    </patternset>
-                                    <mapper type="glob" from="netbeans/*" to="harness/*" />
-                                </unzip>
-                                <unzip src="${project.build.directory}/nbi-engine.nbm" dest="${project.build.directory}/classes">
-                                    <patternset>
-                                        <include name="netbeans/modules/" />
-                                    </patternset>
-                                    <mapper type="glob" from="netbeans/*" to="harness/*" />
-                                </unzip>
-                                <exec executable="unpack200" failonerror="true">
-                                    <arg file="${project.build.directory}/classes/harness/modules/org-netbeans-libs-nbi-ant.jar.pack.gz" />
-                                    <arg file="${project.build.directory}/classes/harness/modules/org-netbeans-libs-nbi-ant.jar" />
-                                </exec>
-                                <exec executable="unpack200" failonerror="true">
-                                    <arg file="${project.build.directory}/classes/harness/modules/org-netbeans-libs-nbi-engine.jar.pack.gz" />
-                                    <arg file="${project.build.directory}/classes/harness/modules/org-netbeans-libs-nbi-engine.jar" />
-                                </exec>
-                                <exec executable="unpack200" failonerror="true">
-                                    <arg file="${project.build.directory}/classes/harness/modules/ext/nbi-engine.jar.pack.gz" />
-                                    <arg file="${project.build.directory}/classes/harness/modules/ext/nbi-engine.jar" />
-                                </exec>
-                                <exec executable="unpack200" failonerror="true">
-                                    <arg file="${project.build.directory}/classes/harness/modules/ext/nbi-registries-management.jar.pack.gz" />
-                                    <arg file="${project.build.directory}/classes/harness/modules/ext/nbi-registries-management.jar" />
-                                </exec>
-                                <exec executable="unpack200" failonerror="true">
-                                    <arg file="${project.build.directory}/classes/harness/modules/ext/nbi-ant-tasks.jar.pack.gz" />
-                                    <arg file="${project.build.directory}/classes/harness/modules/ext/nbi-ant-tasks.jar" />
-                                </exec>
-                                <delete>
-                                    <fileset dir="${project.build.directory}/classes/harness/modules" includes="**/*.pack.gz" />
-                                </delete>
-                                <!-- patch product.xml - unable to delete temp files after build finishes -->
-                                <replace file="${project.build.directory}/classes/harness/nbi/.common/product.xml">
-                                    <replacetoken expandProperties="false"><![CDATA[<delete dir="${current.temp.dir}>"]]></replacetoken>
-                                    <replacevalue expandProperties="false"><![CDATA[<delete dir="${current.temp.dir}" deleteonexit="true">]]></replacevalue>
-                                </replace>
-                                <!-- patch replace exec with ant task in common.xml -->
-                                <replaceregexp file="${project.build.directory}/classes/harness/nbi/.common/common.xml" match="exec executable=.{3}ant.executable(.+?)/exec" replace="@EXEC@" flags="s" />
-                                <replace file="${project.build.directory}/classes/harness/nbi/.common/common.xml" failOnNoReplacements="true">
-                                    <replacetoken expandProperties="false">@EXEC@</replacetoken>
-                                    <replacevalue expandProperties="false"><![CDATA[ant inheritrefs="false" 
-                dir="${cvs.dir}/${nbproject.path}">
-                  <target name="clean" />
-                  <property name="ignore.native" value="true" />
-                  <property name="no.dependencies" value="true" />
-                  <property name="dont.build.custom.tasks" value="true" /> 
-                  <property name="custom.tasks.cls" value="${custom.tasks.cls}" />
-            </ant]]></replacevalue>
-                                </replace>
-                                <replaceregexp file="${project.build.directory}/classes/harness/nbi/.common/common.xml" match="exec executable=.{3}ant.executable(.+?)/exec" replace="@EXEC@" flags="s" />
-                                <replace file="${project.build.directory}/classes/harness/nbi/.common/common.xml" failOnNoReplacements="true">
-                                    <replacetoken expandProperties="false">@EXEC@</replacetoken>
-                                    <replacevalue expandProperties="false"><![CDATA[condition property="nb.jdk.home.value"
-                   value="${@java.home@}/.."
-                   else="${@java.home@}">
-                <not>
-                    <equals arg1="Apple Inc." arg2="${java.vendor}" />
-                </not>
-        </condition>
-        <condition property="custom.parameter.name" value="reference.NBI_Engine.jar">
-            <contains string="${nb.custom.parameter}" substring="reference.NBI_Engine.jar" />
-        </condition>
-        <condition property="custom.parameter.value" value="${core.engine.dist.file}">
-            <contains string="${nb.custom.parameter}" substring="reference.NBI_Engine.jar" />
-        </condition>
-        <condition property="custom.parameter.name" value="javac.classpath">
-            <contains string="${nb.custom.parameter}" substring="javac.classpath" />
-        </condition>
-        <condition property="custom.parameter.value" value="${engine.dist.file}">
-            <contains string="${nb.custom.parameter}" substring="javac.classpath" />
-        </condition>
-        <echoproperties />
-        <ant inheritRefs="false" dir="${cvs.dir}/${nbproject.path}" > 
-                  <target name="clean" />
-                  <target name="compile" />
-                  <property name="platforms.JDK_1.5.home" value="${nb.jdk.home.value}" />
-                  <property name="ignore.native" value="true" />
-                  <property name="no.dependencies" value="true" />
-                  <property name="dont.build.custom.tasks" value="true" /> 
-                  <property name="custom.tasks.cls" value="${custom.tasks.cls}" />
-                  <property name="${custom.parameter.name}" value="${custom.parameter.value}" />
-        </ant]]></replacevalue>
-                                </replace>
-                                <replace file="${project.build.directory}/classes/harness/nbi/.common/common.xml" failOnNoReplacements="true" token="@java.home@" value="java.home" />
-                            </target>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- No real effect on the build, but prevents NB IDE from thinking src/main/java should be considered in preference to the JAR: -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <version>1.5</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <reportSets>
-                    <reportSet>
-                        <reports>
-                            <report>plugins</report>
-                            <!-- <report>cim</report> -->
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <version>0.12</version>
-                <configuration>
-                    <excludes>
-                        <exclude>**/*.mf</exclude>
-                        <exclude>**/*.MF</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-    <properties>
-        <!--        XXX SHOULD BE RELEASE 9.0 and superior artefacts  changes to Apache Licence
-        <netbeans.repo>netbeans::default::http://bits.netbeans.org/nexus/content/groups/netbeans/</netbeans.repo>
-        <netbeans.version>RELEASE82</netbeans.version>-->
-    </properties>
-</project>
diff --git a/nbm-maven-harness/src/main/java/Dummy.java b/nbm-maven-harness/src/main/java/Dummy.java
deleted file mode 100644
index 2577fd9..0000000
--- a/nbm-maven-harness/src/main/java/Dummy.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- *
- * 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.
- */
-
-/**
- * dummy class to keep central maven repository happy.
- *
- * @author mkleint
- */
-public class Dummy
-{
-
-}
diff --git a/nbm-maven-harness/src/main/java/dummy.txt b/nbm-maven-harness/src/main/java/dummy.txt
deleted file mode 100644
index 62aca8e..0000000
--- a/nbm-maven-harness/src/main/java/dummy.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-
-This jar doesn't have sources or javadoc.
-It contains a multitude of resources from the netbeans IDE, used by the nbm-maven-plugin.
diff --git a/nbm-maven-plugin/README.md b/nbm-maven-plugin/README.md
deleted file mode 100644
index d7a870c..0000000
--- a/nbm-maven-plugin/README.md
+++ /dev/null
@@ -1,215 +0,0 @@
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you 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.
-
--->
-
-# NetBeans Module Maven plugin
-
-[ ![Codeship Status for mojohaus/nbm-maven-plugin](https://codeship.com/projects/827d5e10-2da6-0133-ca32-7e50f7676400/status?branch=master)](https://codeship.com/projects/98910)
-
-This Apache Maven plugin is able to create NetBeans module(plugin) artifacts. It registers a new packaging type `nbm`. Any project with this packaging will be automatically turned into a NetBeans module project. Additionally it allows to create clusters of modules, generate an autoupdate site content or build and assemble an application on top of NetBeans platform.
-
-Note: The `nbm:populate-repository` goal has been moved to it's own plugin at [nb-repository-plugin](https://github.com/mojohaus/nb-repository-plugin/).
-
-To get access to a repository with NetBeans.org module artifacts and metadata, add [http://bits.netbeans.org/maven2/](http://bits.netbeans.org/maven2/) repository to your project POM or the repository manager you are using. The repository hosts binaries of NetBeans 6.5 and later.
-
-Also see: [Maven NBM development FAQs](http://wiki.netbeans.org/NetBeansDeveloperFAQ#Mavenized_Builds)
-
-Sample pom.xml excerpts for creation of a NetBeans module:
-```xml
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>example-netbeans-module</artifactId>
-  <groupId>org.mycompany.myproject</groupId>
-  <!--here is the packaging and lifecycle defined-->
-  <packaging>nbm</packaging>
-
-  <!-- .... -->
-  <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-                <version>3.8.1</version>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin> <!-- required since nbm-plugin 3.0-->
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>3.0.2</version>
-                <configuration>
-                    <archive>
-                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                    </archive>
-                </configuration>
-            </plugin>
-        </plugins>
-  </build>
-
- <!-- .... -->
-    <!-- this section is important only to access the binaries of NetBeans that you use as dependencies -->
-    <repositories>
-        <repository>
-            <id>netbeans</id>
-            <name>repository hosting netbeans.org api artifacts</name>
-            <url>http://bits.netbeans.org/maven2/</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-```    
-To build the project then, just type
-```
-mvn install
-```
-## Maven Dependency vs. NetBeans runtime dependency
-There are important differences between Maven's dependency mechanism and NetBeans runtime dependencies. Maven's dependencies are transitive, so at compile time you get not only direct dependencies you declared, but also dependencies of dependencies etc. In NetBeans, the module dependencies are non-transitive by nature, you have to explicitly declare all at runtime. Additionally next to module dependencies there are also library jars attached and shipped with the module's main artifact. In the NetBeans terminology there is a special sort of modules called "library wrappers". These library wrappers add the libraries on the module's classpath and allow other modules to depend on the libraries within the IDE's runtime.
-
-The ways in which the nbm-maven-plugin tries to adress these issues has changed over time.
-
-The plugin walks the dependency tree to detect and identify module dependencies and classpath libraries.
-
-A maven dependency is turned into a NetBeans runtime dependency when:
-
-* For NetBeans module dependencies (dependency jars that have the NetBeans specific entries in META-INF/MANIFEST.MF)
-  * It's a direct dependency (non-transitive) and is a NetBeans module itself. Preferred way of declaring module dependencies.
-  * It's defined in existing (though optional and deprecated) module.xml file in dependencies section. Try to avoid this, but still useful if one wants to put an explicit dependency value on the module, or use implementation dependency.
-  * When the dependency is of type nbm. Deprecated in **3.0.x**, only helpful in older versions. Such dependencies don't include their transitive deps on compilation classpath. That should allow one to simulate the rumtime dependencies at compilation time in maven, however there's one major drawback. Not only are the nbm's module dependencies hidden, but the libraries associated with the given nbm module are also hidden. So you can end up with less stuff on classpath as opposed to more stuff with jar typed dependencies.
-* For module libraries (jars that are packed together with the module and appear on it's classpath directly, not by a dependency relationship.)
-  * It's a direct dependency and is not of provided scope.
-  * It's a transitive dependency, pulled in by a direct dependency (only non-module one - see first bullet) This is new in **3.0+**
-  * It's defined in existing (though optional) module.xml file in libraries section. Consider this deprecated in **3.0+**.
-
-The complete nbm descriptor format documentation, and example descriptors are also available. 
-
-Please note that since **3.8** version, the descriptor is deprecated and replaced by plugin configuration parameters.
-
-Additionally we perform dependency analysis in order to warn the user when runtime dependencies are wrong. So project's own classes and it's classpath libraries' classes are checked against the module dependencies (with appropriate filtering for public packages/private packages). If the classes depend on declared module dependency's private classes or on transitive module dependency's classes, the build fails. That should prevent ClassNotFoundException's later at runtime, when the NetBeans module system constructs the classpath for the module based on our metadata generated.
-
-## Using OSGi bundles in NetBeans platform based applications
-Starting with version **3.2**, it's possible for the NetBeans modules to depend on OSGi bundles. A proper module dependency section will be generated. To include the bundle in the application, add dependency on the bundle from nbm-application. There are a few prerequisites.
-
-It works only in NetBeans 6.9 and later which support the embedding of bundles at runtime
-Add `<useOSGiDependencies>true</useOSGiDependencies>` configuration entry to all the modules depending on OSGi bundles. Existing applications/modules need to check modules wrapping external libraries for library jars that are also OSGi bundles. Such modules will no longer include the OSGi bundles as part of the module NBM but will include a modular dependency reference on the bundle only. Modules depending on these old wrapper modules shall depend directly on the bundle, eventually rendering the old library wrapper module obsolete.
-in the distribution, all bundles will be included in the default cluster (extra if not configured otherwise), in **3.10 and later** the plugin will attempt to guess the cluster based on modules depending on it.
-Before version **3.10** all bundles will be autoload, thus requiring at least one depending regular module to enable them. In **3.10 and later**, developers of the OSGi bundles can influence the autoload vs regular behaviour by adding Nbm-Maven-Plugin-Autoload attribute to the bundle's manifest with "true" or "false" values. False means the module will be enabled on start, even without any other modules depending on it.
-
-## Multi module setup
-If you have a set of NetBeans modules, or are building on top of NetBeans Platform, you will make use of the additional goals provided by the plugin.
-
-If you are building a Platform-based application, use a project with `nbm-application` packaging to perform the final application assembly. This packaging type (defined in nbm-maven-plugin) should have your module projects and all dependencies of the target NetBeans Platform included as dependencies.
-
-For the NetBeans Platform/IDE modules, there are artifacts that aggregate modules in clusters. These are put in the `org.netbeans.clusters` groupId (on `bits.netbeans.org` or in your own repository). The following snippet will include the basic NetBeans platform cluster and your own module in the application. You can use standard dependency exclusion lists to cut out modules from the Platform that you don't need.
-
-```xml
-    <artifactId>application</artifactId>
-    <packaging>nbm-application</packaging>
-    <version>1.0-SNAPSHOT</version>
-    <dependencies>
-        <dependency>
-            <groupId>org.netbeans.cluster</groupId>
-            <artifactId>platform8</artifactId>
-            <version>${netbeans.version}</version>
-            <type>pom</type>
-        </dependency>
-        <dependency>
-            <groupId>com.mycompany</groupId>
-            <artifactId>module1</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-```    
-The nbm-application project/packaging defines a build lifecycle that creates a final application from the NBM files in local/remote repotories and bundles them in a ZIP file (also uploadable to the repository). In addition to that you can configure the project to generate an autoupdate site and/or webstartable binaries of the applications (typically in a deployment profile):
-
-```xml
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>extra</id>
-                        <goals>
-                            <goal>autoupdate</goal>
-                            <goal>webstart-app</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-```            
-See the `autoupdate` and `webstart-app` goals for more details.
-
-### mvn nbm:cluster
-This goal aggregates output of multiple NetBeans module projects and creates one or more clusters in the current project. So usually one runs this goal on the parent POM project, which aggregates the content of all its modules. The resulting cluster structure can later be used for running the application, creating an installer or similar. A variant of this goal is also included in the nbm-application project's default lifecycle.
-
-### mvn nbm:branding
-Branding is to used when one builds an application based on NetBeans Platform (as opposed to creating set of modules for the IDE). Branding contains all the resources that are to be changed in the platform binaries (resource bundles, images, HTML files etc.) to give the application its unique look.
-
-This goal can be attached to one of the nbm module projects that will be part of the NetBeans Platform-based application.
-
-For more detailed tutorial, check [NetBeans Platform Quick Start Using Maven tutorial](https://platform.netbeans.org/tutorials/nbm-maven-quickstart.html)
-
-The branding is included as part of a regular nbm subproject and cannot be attached to a pom packaged root project.
-
-### mvn nbm:run-ide nbm:run-platform
-These two goals do almost the same, they allow you to execute your projects content within the IDE or NetBeans platform.
-
-`nbm:run-platform` only makes sense to execute on projects with `nbm-application` packaging.
-
-For more information on plugin configuration and customization, see goal documentation.
-
-## Public packages declaration
-By default all your module's packages (and classes) and private to the given module. If you want to expose any API to other modules, you will need to declare those public packages in your `pom.xml`. This includes not only your own classes but also any other 3rd party library classes that are packaged with your module and are to be exposed for reuse by other modules.
-
-For example:
-```xml
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-                <version>3.8.1</version>
-                <extensions>true</extensions>
-                <configuration>
-                   <publicPackages>
-                       <publicPackage>org.foo.api</publicPackage>
-                       <publicPackage>org.apache.commons.*</publicPackage>
-                   </publicPackages>
-                </configuration>
-            </plugin>
-```            
-there is a package `org.foo.api` made public (but not `org.foo.api.impl` package) and any package starting with `org.apache.commons`, so both `org.apache.commons.io` and `org.apache.commons.exec` packages are exposed to the outside
-
-## Archetypes anyone?
-There are two basic archetypes:
-
-The first once creates a single project preconfigured to be a NetBeans module. Use this one if you are developing a NetBeans IDE module, or a module for a NetBeans Platform-based application.
-```
-mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=nbm-archetype \
-  -DarchetypeVersion=... -DgroupId=org.kleint -DartifactId=milos -Dversion=1.0 archetype:generate
-```  
-The second one creates a parent POM project containing configuration and application branding for your NetBeans Platform-based application.
-```
-mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=netbeans-platform-app-archetype \
-  -DarchetypeVersion=... -DgroupId=org.kleint -DartifactId=milos -Dversion=1.0 archetype:generate
-```  
-## IDE support
-The NetBeans IDE has Maven support. Among other features, it contains additional support for working with NetBeans module projects. The support includes file templates, important nodes in projects view, running module(s) in the IDE or Platform.
diff --git a/nbm-maven-plugin/pom.xml b/nbm-maven-plugin/pom.xml
deleted file mode 100644
index 0999b75..0000000
--- a/nbm-maven-plugin/pom.xml
+++ /dev/null
@@ -1,507 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.apache.netbeans.utilities</groupId>
-        <artifactId>utilities-parent</artifactId>
-        <version>1-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>nbm-maven-plugin</artifactId>
-    <version>4.2-SNAPSHOT</version>
-    <packaging>maven-plugin</packaging>
-
-    <name>Apache NetBeans Maven Utilities - NBM Maven Plugin</name>
-    <description>Maven plugin for creating NetBeans modules. It defines a custom lifecycle called "nbm". During packaging, the module JAR is enhanced with NetBeans-specific manifest entries and, along with other required files, packed into a *.nbm file, ready for distribution. Additionally the plugin provides aggregator goals to create an update site or cluster for your module projects.
-    </description>
-    <inceptionYear>2005</inceptionYear>
-    <url>http://bits.netbeans.org/mavenutilities/nbm-maven-plugin</url>
-    <issueManagement>
-        <system>jira</system>
-        <url>https://issues.apache.org/jira/browse/NETBEANS</url>
-    </issueManagement>
-    <prerequisites>
-        <maven>3.0.5</maven>
-    </prerequisites>
-    <licenses>
-        <license>
-            <name>Apache License 2</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
-    </scm>
-    <developers>
-        <developer>
-            <id>mkleint</id>
-            <name>Milos Kleint</name>
-            <email>mkleint@gmail.com</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>jglick</id>
-            <name>Jesse Glick</name>
-            <email>jglick@codehaus.org</email>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>ebarboni</id>
-            <name>Eric Barboni</name>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-    </developers>
-    <contributors>
-        <contributor>
-            <name>Johan Andrén</name>
-            <email>protected</email>
-            <roles>
-                <role>Patch Contributor</role>
-                <role>Goal Contributor</role>
-            </roles>
-        </contributor>
-        <contributor>
-            <name>Mykola Nikishov</name>
-            <email>mn@mn.com.ua</email>
-            <roles>
-                <role>Patch Contributor</role>
-            </roles>
-        </contributor>
-        <contributor>
-            <name>Frantisek Mantlik</name>
-            <email>frantisek@mantlik.cz</email>
-            <roles>
-                <role>Goal Contributor</role>
-            </roles>
-        </contributor>
-    </contributors>
-    
-    <build>
-        <plugins>
-            <plugin>
-                <!-- TODO need to override parent version value... I suppose this will eventually end up in mojo parent pom, check regularly -->
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-plugin</artifactId>
-                <version>3.5</version>
-                <configuration>
-                    <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>mojo-descriptor</id>
-                        <phase>process-classes</phase>
-                        <goals>
-                            <goal>descriptor</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>help-goal</id>
-                        <goals>
-                            <goal>helpmojo</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.modello</groupId>
-                <artifactId>modello-maven-plugin</artifactId>
-                <version>1.8.3</version>
-                <executions>
-                    <execution>
-                        <id>build</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>xpp3-reader</goal>
-                            <goal>java</goal>
-                            <goal>xdoc</goal>
-                            <!--goal>xsd</goal-->
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>site</id>
-                        <phase>site-generate</phase>
-                        <goals>
-                            <goal>xdoc</goal>
-                            <!--goal>xsd</goal-->
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <models>
-                        <model>src/main/mdo/descriptor.mdo</model>
-                    </models>
-                    <version>1.0.0</version>
-                    <useJava5>true</useJava5>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>animal-sniffer-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                        <configuration>
-                            <signature>
-                                <groupId>org.codehaus.mojo.signature</groupId>
-                                <artifactId>java17</artifactId>
-                                <version>1.0</version>
-                            </signature>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.maven.shared</groupId>
-                        <artifactId>maven-shared-resources</artifactId>
-                        <version>2</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-invoker-plugin</artifactId>
-                        <version>1.10</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-        </plugins>
-    </build>
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <reportSets>
-                    <reportSet>
-                        <reports>
-                            <report>plugins</report>
-                            <!-- <report>cim</report> -->
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-changes-plugin</artifactId>
-                <version>2.12.1</version>
-                 <configuration>
-                    <skip>true</skip>
-                </configuration>
-   
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>                            
-            </plugin>
-                        
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <configuration>
-                    <quiet>true</quiet>
-                    <links>
-                        <!--<link>http://download-llnw.oracle.com/javaee/1.4/api/</link>-->
-                        <!-- unreachable site <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>-->
-                        <link>http://commons.apache.org/dbcp/apidocs/</link>
-                        <link>http://commons.apache.org/fileupload/apidocs/</link>
-                        <link>http://commons.apache.org/logging/apidocs/</link>
-                        <link>http://commons.apache.org/pool/apidocs/</link>
-                        <link>http://junit.sourceforge.net/javadoc/</link>
-                        <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
-                        <!-- unreachable site <link>http://jakarta.apache.org/regexp/apidocs/</link> -->
-                        <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-artifact/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-model/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-plugin-api/apidocs/</link>
-                        <!-- unreachable site <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-project/apidocs/</link>-->
-                        <!-- unreachable site <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-reporting/maven-reporting-api/apidocs/</link>-->
-                        <link>http://maven.apache.org/ref/${mojo.javadoc.mavenVersion}/maven-settings/apidocs/</link>
-                    </links>
-                    <tagletArtifacts>
-                        <tagletArtifact>
-                            <groupId>org.apache.maven.plugin-tools</groupId>
-                            <artifactId>maven-plugin-tools-javadoc</artifactId>
-                            <version>3.4</version>
-                        </tagletArtifact>
-                        <tagletArtifact>
-                            <groupId>org.codehaus.plexus</groupId>
-                            <artifactId>plexus-component-javadoc</artifactId>
-                            <version>1.6</version>
-                        </tagletArtifact>
-                    </tagletArtifacts>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <reports>
-                            <report>javadoc</report>
-                            <report>test-javadoc</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-                        
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jxr-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-plugin</artifactId>
-                <version>3.5</version>
-                <configuration>
-                    <requirements>
-                        <!--
-                        NOTE: Maven 2.x does not interpolate properties of the form project.*|pom.* so the Maven Plugin Plugin
-                        gets garbage when manually examining the config of the Maven Compiler Plugin.
-                        -->
-                        <jdk>${mojo.java.target}</jdk>
-                    </requirements>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-pmd-plugin</artifactId>
-                <configuration>
-                    <targetJdk>1.5</targetJdk>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-linkcheck-plugin</artifactId>
-                <configuration>
-                    <excludedLinks>
-                        <excludedLink>../../images/codehaus-small.png</excludedLink>
-                        <excludedLink>../../images/mojo_logo.png</excludedLink>
-                        <excludedLink>plugin-info.html</excludedLink>
-                    </excludedLinks>
-                    <!--<excludedPages>
-                        <excludedPage>dependencies.html</excludedPage> 
-                    </excludedPages>-->
-                </configuration>	       
-            </plugin>                        
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>cobertura-maven-plugin</artifactId>
-                <version>2.7</version>
-                <configuration>
-                    <instrumentation>
-                        <excludes>
-                            <exclude>**/HelpMojo.class</exclude>
-                        </excludes>
-                    </instrumentation>    
-                </configuration>
-            </plugin>
-            <plugin> 
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>taglist-maven-plugin</artifactId>
-                <version>2.4</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <version>0.12</version>
-                <configuration>
-                    <excludes>
-                        <exclude>**/*.mf</exclude>
-                        <exclude>**/*.MF</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-    <profiles>
-        <profile>
-            <id>tools.jar</id>
-            <activation>
-                <file>
-                    <exists>${java.home}/../lib/tools.jar</exists>
-                </file>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun</groupId>
-                    <artifactId>tools</artifactId>
-                    <version>1.5.0</version>
-                    <scope>system</scope>
-                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <id>run-its</id>
-            <build>
-
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-invoker-plugin</artifactId>
-                        <version>2.0.0</version>
-                        <configuration>
-                            <debug>true</debug>
-                            <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
-                            <pomIncludes>
-                                <pomInclude>*/pom.xml</pomInclude>
-                            </pomIncludes>
-                            <postBuildHookScript>verify</postBuildHookScript>
-                            <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
-                            <settingsFile>src/it/settings.xml</settingsFile>
-                            <goals>
-                                <!-- default build in netbeans IDE -->
-                                <goal>clean</goal>
-                                <goal>install</goal>
-                            </goals>
-                            <filterProperties>
-                                <netbeans.version>RELEASE82</netbeans.version>
-                            </filterProperties>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>integration-test</id>
-                                <goals>
-                                    <goal>install</goal>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-
-            </build>
-        </profile>
-    </profiles>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-artifact</artifactId>
-            <version>${maven.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-compat</artifactId>
-            <version>${maven.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-            <version>3.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <version>3.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant</artifactId>
-            <version>1.9.6</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-utils</artifactId>
-            <version>3.1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-archiver</artifactId>
-            <version>3.5</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>plexus-component-api</artifactId>
-                    <groupId>org.codehaus.plexus</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.shared</groupId>
-            <artifactId>maven-dependency-tree</artifactId>
-            <version>2.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.shared</groupId>
-            <artifactId>maven-dependency-analyzer</artifactId>
-            <version>1.11.1</version>
-        </dependency>
-        <!-- maven dependecy analyser version 1.8 will have the correct dependency -->
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-model</artifactId>
-            <version>${maven.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-container-default</artifactId>
-            <version>1.7.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.shared</groupId>
-            <artifactId>maven-filtering</artifactId>
-            <version>3.1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-core</artifactId>
-            <version>${maven.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-testing</groupId>
-            <artifactId>maven-plugin-testing-harness</artifactId>
-            <version>1.2</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <!-- use harness from NetBeans 8.2  --> 
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>nbm-maven-harness</artifactId>
-            <version>8.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-io</artifactId>
-            <version>3.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>nb-shared</artifactId>
-            <version>1.3-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>18.0</version>
-            <type>jar</type>
-        </dependency>
-    </dependencies>
-    <properties>
-        <mojo.java.target>1.7</mojo.java.target>
-        <maven.version>3.0.5</maven.version>
-    </properties>
-</project>
diff --git a/nbm-maven-plugin/src/it/full/application/pom.xml b/nbm-maven-plugin/src/it/full/application/pom.xml
deleted file mode 100644
index 7cbdd41..0000000
--- a/nbm-maven-plugin/src/it/full/application/pom.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.codehaus.mojo</groupId> 
-        <artifactId>ittest-parent</artifactId>
-        <version>1.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>ittest-app</artifactId>
-    <packaging>nbm-application</packaging>
-
-    <name>ittest-app</name>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <all.clusters>${project.build.directory}/${brandingToken}</all.clusters>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.netbeans.cluster</groupId>
-            <artifactId>platform</artifactId>
-            <version>${netbeans.version}</version>
-            <type>pom</type>
-        </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>ittest-branding</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <!-- NbModuleSuite functional in RELEASE70 or later: -->
-        <dependency>
-            <groupId>org.netbeans.api</groupId>
-            <artifactId>org-netbeans-modules-nbjunit</artifactId>
-            <version>${netbeans.version}</version>
-            <scope>test</scope> <!-- beyond platform cluster, this often needs to be dropped down to compile/runtime, some other modules in IDE clusters depend on it -->
-        </dependency>
-        <!-- To use Jelly Tools in your functional tests, add or replace with:
-        <dependency>
-            <groupId>org.netbeans.api</groupId>
-            <artifactId>org-netbeans-modules-jellytools-platform</artifactId>
-            <version>${netbeans.version}</version>
-            <scope>test</scope>
-        </dependency>
-        -->
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>ittest-sample</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-            </plugin>
-            <!-- Permits NbModuleSuite to be run in integration-test phase: -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.12.2</version>
-                <configuration>
-                    <systemPropertyVariables>
-                        <all.clusters>${all.clusters}</all.clusters>
-                        <branding.token>${brandingToken}</branding.token>
-                    </systemPropertyVariables>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>deployment</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>nbm-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>extra</id>
-                                <goals>
-                                    <goal>autoupdate</goal>
-                                    <goal>webstart-app</goal>
-                                    <goal>build-installers</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/nbm-maven-plugin/src/it/full/application/src/test/java/nbmmavenpluginit/ittest/ApplicationTest.java b/nbm-maven-plugin/src/it/full/application/src/test/java/nbmmavenpluginit/ittest/ApplicationTest.java
deleted file mode 100644
index 45ab644..0000000
--- a/nbm-maven-plugin/src/it/full/application/src/test/java/nbmmavenpluginit/ittest/ApplicationTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* ==========================================================================
- * 
- * 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.
- * =========================================================================
- */
-package nbmmavenpluginit.ittest;
-
-import java.util.logging.Level;
-import junit.framework.Test;
-import org.netbeans.junit.NbModuleSuite;
-import org.netbeans.junit.NbTestCase;
-
-public class ApplicationTest extends NbTestCase {
-
-    public static Test suite() {
-        return NbModuleSuite.createConfiguration(ApplicationTest.class).
-                gui(false).
-                failOnMessage(Level.WARNING). // works at least in RELEASE71
-                failOnException(Level.INFO).
-                enableClasspathModules(false). 
-                clusters(".*").
-                suite(); // RELEASE71+, else use NbModuleSuite.create(NbModuleSuite.createConfiguration(...))
-    }
-
-    public ApplicationTest(String n) {
-        super(n);
-    }
-
-    public void testApplication() {
-        // pass if there are merely no warnings/exceptions
-        /* Example of using Jelly Tools (additional test dependencies required) with gui(true):
-        new ActionNoBlock("Help|About", null).performMenu();
-        new NbDialogOperator("About").closeByButton();
-         */
-    }
-
-}
diff --git a/nbm-maven-plugin/src/it/full/branding/pom.xml b/nbm-maven-plugin/src/it/full/branding/pom.xml
deleted file mode 100644
index 6767f99..0000000
--- a/nbm-maven-plugin/src/it/full/branding/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>ittest-parent</artifactId>
-        <version>1.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>ittest-branding</artifactId>
-    <packaging>nbm</packaging>
-
-    <name>ittest-branding</name>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.netbeans.api</groupId>
-            <artifactId>org-netbeans-api-annotations-common</artifactId>
-            <version>${netbeans.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>${jar.plugin.version}</version>
-                <!-- to have the jar plugin pickup the nbm generated manifest -->
-                 
-                <configuration>
-                    <archive>
-                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                    </archive>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/nbm-maven-plugin/src/it/full/branding/src/main/nbm-branding/core/core.jar/org/netbeans/core/startup/Bundle.properties b/nbm-maven-plugin/src/it/full/branding/src/main/nbm-branding/core/core.jar/org/netbeans/core/startup/Bundle.properties
deleted file mode 100644
index 6a0b0f3..0000000
--- a/nbm-maven-plugin/src/it/full/branding/src/main/nbm-branding/core/core.jar/org/netbeans/core/startup/Bundle.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-currentVersion=ittest {0}
-LBL_splash_window_title=Starting ittest
diff --git a/nbm-maven-plugin/src/it/full/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties b/nbm-maven-plugin/src/it/full/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
deleted file mode 100644
index 47f937c..0000000
--- a/nbm-maven-plugin/src/it/full/branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-
-CTL_MainWindow_Title=ittest {0}
-CTL_MainWindow_Title_No_Project=ittest {0}
diff --git a/nbm-maven-plugin/src/it/full/branding/src/main/nbm-branding/modules/org-netbeans-core.jar/org/netbeans/core/ui/Bundle.properties b/nbm-maven-plugin/src/it/full/branding/src/main/nbm-branding/modules/org-netbeans-core.jar/org/netbeans/core/ui/Bundle.properties
deleted file mode 100644
index 883602b..0000000
--- a/nbm-maven-plugin/src/it/full/branding/src/main/nbm-branding/modules/org-netbeans-core.jar/org/netbeans/core/ui/Bundle.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-LBL_ProductInformation=ittest
diff --git a/nbm-maven-plugin/src/it/full/branding/src/main/nbm/manifest.mf b/nbm-maven-plugin/src/it/full/branding/src/main/nbm/manifest.mf
deleted file mode 100644
index fec80e2..0000000
--- a/nbm-maven-plugin/src/it/full/branding/src/main/nbm/manifest.mf
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-OpenIDE-Module-Localizing-Bundle: nbmmavenpluginit/ittest/branding/Bundle.properties
-AutoUpdate-Essential-Module: true
diff --git a/nbm-maven-plugin/src/it/full/branding/src/main/resources/nbmmavenpluginit/ittest/branding/Bundle.properties b/nbm-maven-plugin/src/it/full/branding/src/main/resources/nbmmavenpluginit/ittest/branding/Bundle.properties
deleted file mode 100644
index 73da94c..0000000
--- a/nbm-maven-plugin/src/it/full/branding/src/main/resources/nbmmavenpluginit/ittest/branding/Bundle.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-
-# Localized module labels. Defaults taken from POM (<name>, <description>, <groupId>) if unset.
-#OpenIDE-Module-Name=
-#OpenIDE-Module-Short-Description=
-#OpenIDE-Module-Long-Description=
-#OpenIDE-Module-Display-Category=
diff --git a/nbm-maven-plugin/src/it/full/ittest-sample/pom.xml b/nbm-maven-plugin/src/it/full/ittest-sample/pom.xml
deleted file mode 100644
index a03e2db..0000000
--- a/nbm-maven-plugin/src/it/full/ittest-sample/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>ittest-parent</artifactId>
-        <version>1.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>ittest-sample</artifactId>
-    <packaging>nbm</packaging>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>${jar.plugin.version}</version>
-                <configuration>
-                    <archive>
-                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                    </archive>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-            <groupId>org.netbeans.api</groupId>
-            <artifactId>org-netbeans-api-annotations-common</artifactId>
-            <version>${netbeans.version}</version>
-        </dependency>
-    </dependencies>
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-</project>
\ No newline at end of file
diff --git a/nbm-maven-plugin/src/it/full/ittest-sample/src/main/nbm/manifest.mf b/nbm-maven-plugin/src/it/full/ittest-sample/src/main/nbm/manifest.mf
deleted file mode 100644
index 50de95d..0000000
--- a/nbm-maven-plugin/src/it/full/ittest-sample/src/main/nbm/manifest.mf
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-OpenIDE-Module-Localizing-Bundle: nbmmavenpluginit/ittest/Bundle.properties
-
diff --git a/nbm-maven-plugin/src/it/full/ittest-sample/src/main/resources/nbmmavenpluginit/ittest/Bundle.properties b/nbm-maven-plugin/src/it/full/ittest-sample/src/main/resources/nbmmavenpluginit/ittest/Bundle.properties
deleted file mode 100644
index 7c715ee..0000000
--- a/nbm-maven-plugin/src/it/full/ittest-sample/src/main/resources/nbmmavenpluginit/ittest/Bundle.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-
-#Localized module labels. Defaults taken from POM (<name>, <description>, <groupId>) if unset.
-#OpenIDE-Module-Name=
-#OpenIDE-Module-Short-Description=
-#OpenIDE-Module-Long-Description=
-#OpenIDE-Module-Display-Category=
-#Tue Aug 25 17:58:31 CEST 2015
diff --git a/nbm-maven-plugin/src/it/full/pom.xml b/nbm-maven-plugin/src/it/full/pom.xml
deleted file mode 100644
index 852676e..0000000
--- a/nbm-maven-plugin/src/it/full/pom.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>nbm-maven-plugin-it-root</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-    <artifactId>ittest-parent</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <name>ittest-parent</name>
-
-   
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>nbm-maven-plugin</artifactId>
-                    <extensions>true</extensions>
-                    <configuration>
-                        <brandingToken>${brandingToken}</brandingToken>
-                        <cluster>${brandingToken}</cluster>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <!-- NetBeans 6.9+ requires JDK 6, starting NetBeans 7.4 source 1.7 is required -->
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>2.5.1</version>
-                    <configuration>
-                        <source>1.7</source>
-                        <target>1.7</target>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-jar-plugin</artifactId>
-                    <version>${jar.plugin.version}</version>
-                    <configuration>
-                        <archive>
-                            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                        </archive>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-
-    <modules>
-        <module>branding</module>
-        <module>application</module>
-        <module>ittest-sample</module>
-    </modules>
-
-    <properties>
-        <netbeans.version>@netbeans.version@</netbeans.version>
-        <brandingToken>ittest</brandingToken>
-    </properties>
-</project>
diff --git a/nbm-maven-plugin/src/it/pom.xml b/nbm-maven-plugin/src/it/pom.xml
deleted file mode 100644
index 080113f..0000000
--- a/nbm-maven-plugin/src/it/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.codehaus.mojo</groupId>
-    <artifactId>nbm-maven-plugin-it-root</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-    <repositories>
-        <!--
-        Repository hosting NetBeans modules, especially APIs.
-        Versions are based on IDE releases, e.g.: RELEASE691
-        To create your own repository, use: nbm:populate-repository
-        -->
-        <repository>
-            <id>netbeans</id>
-            <name>NetBeans</name>
-            <url>http://bits.netbeans.org/nexus/content/groups/netbeans/</url>
-        </repository>
-    </repositories>
-    <build>
-        <pluginManagement>
-            <plugins>
-               
-                <plugin>  
-                    <groupId>@project.groupId@</groupId>
-                    <artifactId>@project.artifactId@</artifactId>  
-                    <version>@project.version@</version>
-                </plugin>
-                <!--<plugin>
-                    <artifactId>maven-compiler-plugin</artifactId>
-                    <version>@compilerPluginVersion@</version>
-                    <configuration>
-                        <source>@testJavaVersion@</source>
-                        <target>@testJavaVersion@</target>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-surefire-plugin</artifactId>
-                    <version>@surefirePluginVersion@</version>
-                </plugin>-->
-            </plugins>
-        </pluginManagement>
-    </build>
-    <properties>
-        <jar.plugin.version>3.0.2</jar.plugin.version>
-    </properties>
-</project>
\ No newline at end of file
diff --git a/nbm-maven-plugin/src/it/settings.xml b/nbm-maven-plugin/src/it/settings.xml
deleted file mode 100644
index 5ee363c..0000000
--- a/nbm-maven-plugin/src/it/settings.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-
-<settings>
-    <profiles>
-        <profile>
-            <id>it-repo</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <repositories>
-                <repository>
-                    <id>local.central</id>
-                    <url>@localRepositoryUrl@</url>
-                    <releases>
-                        <enabled>true</enabled>
-                    </releases>
-                    <snapshots>
-                        <enabled>true</enabled>
-                    </snapshots>
-                </repository>
-            </repositories>
-            <pluginRepositories>
-                <pluginRepository>
-                    <id>local.central</id>
-                    <url>@localRepositoryUrl@</url>
-                    <releases>
-                        <enabled>true</enabled>
-                    </releases>
-                    <snapshots>
-                        <enabled>true</enabled>
-                    </snapshots>
-                </pluginRepository>
-            </pluginRepositories>
-        </profile>
-    </profiles>
-</settings>
diff --git a/nbm-maven-plugin/src/it/single/pom.xml b/nbm-maven-plugin/src/it/single/pom.xml
deleted file mode 100644
index 916e6c1..0000000
--- a/nbm-maven-plugin/src/it/single/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>nbm-maven-plugin-it-root</artifactId>
-        <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-    <artifactId>nbm-maven-plugin-it-single-module</artifactId>
-    <packaging>nbm</packaging>
-    <dependencies>
-        <dependency>
-            <groupId>org.netbeans.api</groupId>
-            <artifactId>org-openide-util</artifactId>
-            <version>@netbeans.version@</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-                
-            <plugin>  
-                <groupId>@project.groupId@</groupId>
-                <artifactId>@project.artifactId@</artifactId>  
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>${jar.plugin.version}</version>
-                <configuration>
-                    <archive>
-                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                    </archive>
-                </configuration>
-            </plugin>
-        </plugins>
-     
-    </build>
-</project>
\ No newline at end of file
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AbstractNbmMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AbstractNbmMojo.java
deleted file mode 100644
index c17e520..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AbstractNbmMojo.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2004 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
-import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
-import org.apache.maven.shared.dependency.graph.DependencyNode;
-import org.netbeans.nbm.model.Dependency;
-import org.netbeans.nbm.model.NetBeansModule;
-import org.netbeans.nbm.model.io.xpp3.NetBeansModuleXpp3Reader;
-import org.netbeans.nbm.utils.AbstractNetbeansMojo;
-import org.netbeans.nbm.utils.ExamineManifest;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-
-import org.codehaus.plexus.util.IOUtil;
-
-public abstract class AbstractNbmMojo
-    extends AbstractNetbeansMojo
-{
-
-    static boolean matchesLibrary( Artifact artifact, List<String> libraries, ExamineManifest depExaminator,
-        Log log, boolean useOsgiDependencies )
-    {
-        String artId = artifact.getArtifactId();
-        String grId = artifact.getGroupId();
-        String id = grId + ":" + artId;
-        boolean explicit = libraries.remove( id );
-        if ( explicit )
-        {
-            log.debug(
-                id + " included as module library, explicitly declared in module descriptor." );
-            return explicit;
-        }
-        if ( Artifact.SCOPE_PROVIDED.equals( artifact.getScope() ) || Artifact.SCOPE_SYSTEM.equals(
-            artifact.getScope() ) )
-        {
-            log.debug(
-                id + " omitted as module library, has scope 'provided/system'" );
-            return false;
-        }
-        if ( "nbm".equals( artifact.getType() ) )
-        {
-            return false;
-        }
-        if ( depExaminator.isNetBeansModule() || ( useOsgiDependencies && depExaminator.isOsgiBundle() ) )
-        {
-            //TODO I can see how someone might want to include an osgi bundle as library, not dependency.
-            // I guess it won't matter much in 6.9+, in older versions it could be a problem.
-            return false;
-        }
-        log.debug(
-            id + " included as module library, squeezed through all the filters." );
-        return true;
-    }
-
-    static Dependency resolveNetBeansDependency( Artifact artifact, List<Dependency> deps,
-        ExamineManifest manifest, Log log )
-    {
-        String artId = artifact.getArtifactId();
-        String grId = artifact.getGroupId();
-        String id = grId + ":" + artId;
-        for ( Dependency dep : deps )
-        {
-            if ( id.equals( dep.getId() ) )
-            {
-                if ( manifest.isNetBeansModule() )
-                {
-                    return dep;
-                }
-                else
-                {
-                    if ( dep.getExplicitValue() != null )
-                    {
-                        return dep;
-                    }
-                    log.warn(
-                        id + " declared as module dependency in descriptor, but not a NetBeans module" );
-                    return null;
-                }
-            }
-        }
-        if ( "nbm".equals( artifact.getType() ) )
-        {
-            Dependency dep = new Dependency();
-            dep.setId( id );
-            dep.setType( "spec" );
-            log.debug( "Adding nbm module dependency - " + id );
-            return dep;
-        }
-        if ( manifest.isNetBeansModule() )
-        {
-            Dependency dep = new Dependency();
-            dep.setId( id );
-            dep.setType( "spec" );
-            log.debug( "Adding direct NetBeans module dependency - " + id );
-            return dep;
-        }
-        return null;
-    }
-
-    protected final NetBeansModule readModuleDescriptor( File descriptor )
-        throws MojoExecutionException
-    {
-        if ( descriptor == null )
-        {
-            throw new MojoExecutionException(
-                "The module descriptor has to be configured." );
-        }
-        if ( !descriptor.exists() )
-        {
-            throw new MojoExecutionException(
-                "The module descriptor is missing: '" + descriptor + "'." );
-        }
-        Reader r = null;
-        try
-        {
-            r = new FileReader( descriptor );
-            NetBeansModuleXpp3Reader reader = new NetBeansModuleXpp3Reader();
-            NetBeansModule module = reader.read( r );
-            return module;
-        }
-        catch ( IOException exc )
-        {
-            throw new MojoExecutionException(
-                "Error while reading module descriptor '" + descriptor + "'.",
-                exc );
-        }
-        catch ( XmlPullParserException xml )
-        {
-            throw new MojoExecutionException(
-                "Error while reading module descriptor '" + descriptor + "'.",
-                xml );
-        }
-        finally
-        {
-            IOUtil.close( r );
-        }
-    }
-
-    protected final NetBeansModule createDefaultDescriptor( MavenProject project, boolean log )
-    {
-
-        if ( log )
-        {
-            getLog().info(
-                "No Module Descriptor defined, trying to fallback to generated values:" );
-        }
-        NetBeansModule module = new NetBeansModule();
-        return module;
-    }
-
-    static List<Artifact> getLibraryArtifacts( DependencyNode treeRoot, NetBeansModule module,
-                                               List<Artifact> runtimeArtifacts,
-                                               Map<Artifact, ExamineManifest> examinerCache, Log log,
-                                               boolean useOsgiDependencies )
-        throws MojoExecutionException
-    {
-        List<Artifact> include = new ArrayList<Artifact>();
-        if ( module != null )
-        {
-            List<String> librList = new ArrayList<String>();
-            if ( module.getLibraries() != null )
-            {
-                librList.addAll( module.getLibraries() );
-            }
-            CollectLibrariesNodeVisitor visitor = new CollectLibrariesNodeVisitor( librList,
-                runtimeArtifacts, examinerCache, log, treeRoot, useOsgiDependencies );
-            treeRoot.accept( visitor );
-            include.addAll( visitor.getArtifacts() );
-        }
-        return include;
-    }
-
-    static List<ModuleWrapper> getModuleDependencyArtifacts( DependencyNode treeRoot, NetBeansModule module,
-                                                             Dependency[] customDependencies, MavenProject project,
-                                                             Map<Artifact, ExamineManifest> examinerCache,
-                                                             List<Artifact> libraryArtifacts, Log log,
-                                                             boolean useOsgiDependencies )
-        throws MojoExecutionException
-    {
-        List<Dependency> deps = new ArrayList<Dependency>();
-        if (customDependencies != null) {
-            deps.addAll( Arrays.asList( customDependencies ));
-        }
-        if (module != null && !module.getDependencies().isEmpty()) {
-            log.warn( "dependencies in module descriptor are deprecated, use the plugin's parameter moduleDependencies");
-            //we need to make sure a dependency is not twice there, module deps override the config (as is the case with other
-            //configurations)
-            for (Dependency d : module.getDependencies()) {
-                Dependency found = null;
-                for (Dependency d2 : deps) {
-                    if (d2.getId().equals(d.getId())) {
-                        found = d2;
-                        break;
-                    }
-                }
-                if (found != null) {
-                    deps.remove( found );
-                }
-                deps.add(d);
-            }
-        }
-        List<ModuleWrapper> include = new ArrayList<ModuleWrapper>();
-        
-            @SuppressWarnings( "unchecked" )
-            List<Artifact> artifacts = project.getCompileArtifacts();
-            for ( Artifact artifact : artifacts )
-            {
-                if ( libraryArtifacts.contains( artifact ) )
-                {
-                    continue;
-                }
-                ExamineManifest depExaminator = examinerCache.get( artifact );
-                if ( depExaminator == null )
-                {
-                    depExaminator = new ExamineManifest( log );
-                    depExaminator.setArtifactFile( artifact.getFile() );
-                    depExaminator.checkFile();
-                    examinerCache.put( artifact, depExaminator );
-                }
-                Dependency dep = resolveNetBeansDependency( artifact, deps, depExaminator, log );
-                if ( dep != null )
-                {
-                    ModuleWrapper wr = new ModuleWrapper();
-                    wr.dependency = dep;
-                    wr.artifact = artifact;
-                    wr.transitive = false;
-                    //only direct deps matter to us..
-                    if ( depExaminator.isNetBeansModule() && artifact.getDependencyTrail().size() > 2 )
-                    {
-                        log.debug(
-                            artifact.getId() + " omitted as NetBeans module dependency, not a direct one. Declare it in the pom for inclusion." );
-                        wr.transitive = true;
-
-                    }
-                    include.add( wr );
-                }
-                else
-                {
-                    if ( useOsgiDependencies && depExaminator.isOsgiBundle() )
-                    {
-                        ModuleWrapper wr = new ModuleWrapper();
-                        wr.osgi = true;
-                        String id = artifact.getGroupId() + ":" + artifact.getArtifactId();
-                        for ( Dependency depe : deps )
-                        {
-                            if ( id.equals( depe.getId() ) )
-                            {
-                                wr.dependency = depe;
-                            }
-                        }
-                        boolean print = false;
-                        if ( wr.dependency == null )
-                        {
-                            Dependency depe = new Dependency();
-                            depe.setId( id );
-                            depe.setType( "spec" );
-                            wr.dependency = depe;
-                            print = true;
-                        }
-
-                        wr.artifact = artifact;
-                        wr.transitive = false;
-                        //only direct deps matter to us..
-                        if ( artifact.getDependencyTrail().size() > 2 )
-                        {
-                            log.debug(
-                                artifact.getId() + " omitted as NetBeans module OSGi dependency, not a direct one. Declare it in the pom for inclusion." );
-                            wr.transitive = true;
-
-                        }
-                        else
-                        {
-                            if ( print )
-                            {
-                                log.info( "Adding OSGi bundle dependency - " + id );
-                            }
-                        }
-
-                        include.add( wr );
-                    }
-                }
-            }
-        return include;
-    }
-
-    static class ModuleWrapper
-    {
-
-        Dependency dependency;
-
-        Artifact artifact;
-
-        boolean transitive = true;
-        
-        boolean osgi = false;
-
-    }
-
-    //copied from dependency:tree mojo
-    protected DependencyNode createDependencyTree( MavenProject project, DependencyGraphBuilder dependencyGraphBuilder,
-                                                   String scope )
-        throws MojoExecutionException
-    {
-        ArtifactFilter artifactFilter = createResolvingArtifactFilter( scope );
-        try
-        {
-            return dependencyGraphBuilder.buildDependencyGraph( project, artifactFilter );
-        }
-        catch ( DependencyGraphBuilderException exception )
-        {
-            throw new MojoExecutionException( "Cannot build project dependency tree", exception );
-        }
-
-    }
-
-    //copied from dependency:tree mojo
-    /**
-     * Gets the artifact filter to use when resolving the dependency tree.
-     *
-     * @return the artifact filter
-     */
-    private ArtifactFilter createResolvingArtifactFilter( String scope )
-    {
-        ArtifactFilter filter;
-
-        // filter scope
-        if ( scope != null )
-        {
-            getLog().debug( "+ Resolving dependency tree for scope '" + scope + "'" );
-
-            filter = new ScopeArtifactFilter( scope );
-        }
-        else
-        {
-            filter = null;
-        }
-
-        return filter;
-    }
-
-    protected final ArtifactResult turnJarToNbmFile( Artifact art, ArtifactFactory artifactFactory,
-                                                     ArtifactResolver artifactResolver, MavenProject project,
-                                                     ArtifactRepository localRepository )
-        throws MojoExecutionException
-    {
-        if ( "jar".equals( art.getType() ) || "nbm".equals( art.getType() ) )
-        {
-            //TODO, it would be nice to have a check to see if the
-            // "to-be-created" module nbm artifact is actually already in the
-            // list of dependencies (as "nbm-file") or not..
-            // that would be a timesaver
-            ExamineManifest mnf = new ExamineManifest( getLog() );
-            File jar = art.getFile();
-            if ( !jar.isFile() )
-            {
-                //MNBMODULE-210 with recent CoS changes in netbeans (7.4) jar will be file as we link open projects in the build
-                // via WorkspaceReader. That's fine here, as all we need is to know if project is osgi or nbm module.
-                // the nbm file has to be in local repository though.
-                String path = localRepository.pathOf( art );
-                File jar2 = new File(localRepository.getBasedir(), path.replace( "/", File.separator));
-                File manifest = new File(jar, "META-INF/MANIFEST.MF" );
-                
-                if (! jar2.isFile() || !manifest.isFile() ) {
-                    getLog().warn( "MNBMODULE-131: need to at least run install phase on " + jar2 );
-                    return new ArtifactResult( null, null );
-                }
-                mnf.setManifestFile( manifest );
-            } else {
-                mnf.setJarFile( jar );
-            }
-            mnf.checkFile();
-            if ( mnf.isNetBeansModule() )
-            {
-                Artifact nbmArt = artifactFactory.createDependencyArtifact(
-                    art.getGroupId(),
-                    art.getArtifactId(),
-                    art.getVersionRange(),
-                    "nbm-file",
-                    art.getClassifier(),
-                    art.getScope() );
-                try
-                {
-                    artifactResolver.resolve( nbmArt, project.getRemoteArtifactRepositories(), localRepository );
-                }
-
-                catch ( ArtifactResolutionException ex )
-                {
-                    //shall be check before actually resolving from repos?
-                    checkReactor( art, nbmArt );
-                    if ( !nbmArt.isResolved() )
-                    {
-                        throw new MojoExecutionException( "Failed to retrieve the nbm file from repository", ex );
-                    }
-                }
-                catch ( ArtifactNotFoundException ex )
-                {
-                    //shall be check before actually resolving from repos?
-                    checkReactor( art, nbmArt );
-                    if ( !nbmArt.isResolved() )
-                    {
-                        throw new MojoExecutionException( "Failed to retrieve the nbm file from repository", ex );
-                    }
-                }
-                return new ArtifactResult( nbmArt, mnf );
-            }
-            if ( mnf.isOsgiBundle() )
-            {
-                return new ArtifactResult( null, mnf );
-            }
-        }
-        return new ArtifactResult( null, null );
-    }
-
-    protected static final class ArtifactResult
-    {
-        private final Artifact converted;
-        private final ExamineManifest manifest;
-
-        ArtifactResult( Artifact conv, ExamineManifest manifest )
-        {
-            converted = conv;
-            this.manifest = manifest;
-        }
-
-        boolean hasConvertedArtifact()
-        {
-            return converted != null;
-        }
-
-        Artifact getConvertedArtifact()
-        {
-            return converted;
-        }
-
-        public boolean isOSGiBundle()
-        {
-            return manifest != null && manifest.isOsgiBundle();
-        }
-
-        public ExamineManifest getExaminedManifest()
-        {
-            return manifest;
-        }
-    }
-
-    private void checkReactor( Artifact art, Artifact nbmArt )
-    {
-        if ( art.getFile().getName().endsWith( ".jar" ) )
-        {
-            String name = art.getFile().getName();
-            name = name.substring( 0, name.length() - ".jar".length() ) + ".nbm";
-            File fl = new File( art.getFile().getParentFile(), name );
-            if ( fl.exists() )
-            {
-                nbmArt.setFile( fl );
-                nbmArt.setResolved( true );
-            }
-        }
-    }
-
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AdaptNbVersion.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AdaptNbVersion.java
deleted file mode 100644
index 79d15e9..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AdaptNbVersion.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2004 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.StringTokenizer;
-import java.util.TimeZone;
-
-/**
- *  will try to convert the maven version number to a NetBeans friendly version number.
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- *
- */
-public class AdaptNbVersion
-{
-
-    public static final String TYPE_SPECIFICATION = "spec"; //NOI18N
-    public static final String TYPE_IMPLEMENTATION = "impl"; //NOI18N
-    private static final String SNAPSHOT = "SNAPSHOT"; //NOI18N
-
-    public static String adaptVersion( String version, Object type, Date date )
-    {
-        StringTokenizer tok = new StringTokenizer( version, "." );
-        if ( SNAPSHOT.equals( version ) && TYPE_IMPLEMENTATION.equals( type ) )
-        {
-            return "0.0.0." + generateSnapshotValue( date );
-        }
-        StringBuffer toReturn = new StringBuffer();
-        while ( tok.hasMoreTokens() )
-        {
-            String token = tok.nextToken();
-            if ( TYPE_IMPLEMENTATION.equals( type ) )
-            {
-                int snapshotIndex = token.indexOf( SNAPSHOT );
-                if ( snapshotIndex > 0 )
-                {
-                    String repl = token.substring( 0, snapshotIndex ) + generateSnapshotValue( date );
-                    if ( token.length() > snapshotIndex + SNAPSHOT.length() )
-                    {
-                        repl = token.substring(
-                                snapshotIndex + SNAPSHOT.length() );
-                    }
-                    token = repl;
-                }
-            }
-            if ( TYPE_SPECIFICATION.equals( type ) )
-            {
-                // strip the trailing -RC1, -BETA5, -SNAPSHOT
-                if ( token.indexOf( '-' ) > 0 )
-                {
-                    token = token.substring( 0, token.indexOf( '-' ) );
-                } else if ( token.indexOf( '_' ) > 0 )
-                {
-                    token = token.substring( 0, token.indexOf( '_' ) );
-                }
-                try
-                {
-                    Integer intValue = Integer.valueOf( token );
-                    token = intValue.toString();
-                }
-                catch ( NumberFormatException exc )
-                {
-                    // ignore, will just not be added to the
-                    token = "";
-                }
-            }
-            if ( token.length() > 0 )
-            {
-                if ( toReturn.length() != 0 )
-                {
-                    toReturn.append( "." );
-                }
-                toReturn.append( token );
-            }
-
-        }
-        if ( toReturn.length() == 0 )
-        {
-            toReturn.append( "0.0.0" );
-        }
-        return toReturn.toString();
-    }
-
-    private static String generateSnapshotValue( Date date )
-    {
-        SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyyMMdd" );
-        dateFormat.setTimeZone( TimeZone.getTimeZone( "UTC" ) );
-        return dateFormat.format( date );
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BrandingMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BrandingMojo.java
deleted file mode 100644
index ff7140d..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BrandingMojo.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/* ==========================================================================
- * Copyright 2007 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.io.File;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.archiver.jar.JarArchiver;
-import org.codehaus.plexus.util.DirectoryScanner;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * Package branding resources for NetBeans platform/IDE based application.
- * The format of branding resources is the same as in
- * NetBeans Ant-based projects.
- * 
- * The <code>src/main/nbm-branding</code> folder of the project is assumed to 
- * contain the branding content. Within the directory, the following folder structure is assumed:
- * <ul>
- * <li>
- * 1. pick the IDE/platform module which contents you want to brand. eg. org-openide-windows.jar
- * </li><li>
- * 2. locate the jar within the IDE/platform installation and it's cluster, eg. modules/org-openide-windows.jar 
- * </li><li>
- * 3. create the same folder structure in src/main/nbm-branding, make folder with the module's jar name as well.
- * eg. create folder by name modules/org-openide-windows.jar
- * </li><li>
- * 4. within that folder place your branding modifications at the same location, as if they were withn the jar,
- * eg. org/openide/windows/ui/Bundle.properties and place the changed bundle keys there.
- * </li></ul>
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- *
- *
- */
-@Mojo(name="branding",
-        requiresProject=true,
-        threadSafe = true,
-        defaultPhase= LifecyclePhase.PACKAGE)
-public class BrandingMojo
-        extends AbstractNbmMojo
-{
-
-    /**
-     * directory where the the binary content is created.
-     */
-    @Parameter(required=true, defaultValue="${project.build.directory}/nbm")
-    protected File nbmBuildDir;
-    
-    /**
-    * output directory.
-    */
-    @Parameter(defaultValue="${project.build.directory}", required=true)
-    protected File outputDirectory;
-    
-    /**
-     * Location of the branded resources.
-     */
-    @Parameter(required=true, defaultValue="${basedir}/src/main/nbm-branding")
-    private File brandingSources;
-    /**
-     * The branding token used by the application.
-     * Required unless {@code nbmBuildDir} does not exist and the mojo is thus skipped.
-     */
-    @Parameter(property="netbeans.branding.token")
-    private String brandingToken;
-    /**
-     * cluster of the branding.
-     */
-    @Parameter(required=true, defaultValue="extra")
-    protected String cluster;
-    /**
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
-    @Parameter(required=true, readonly=true, property="project")
-    private MavenProject project;
-
-    public void execute()
-        throws MojoExecutionException
-    {
-        if ( !"nbm".equals( project.getPackaging() ) ) 
-        {
-            getLog().error( "The nbm:branding goal shall be used within a NetBeans module project only (packaging 'nbm')" );
-        }
-        if ( !brandingSources.isDirectory() )
-        {
-            getLog().info( "No branding to process." );
-            return;
-        }
-        if ( brandingToken == null )
-        {
-            throw new MojoExecutionException( "brandingToken must be defined for mojo:branding" );
-        }
-        try
-        {
-
-            DirectoryScanner scanner = new DirectoryScanner();
-            scanner.setIncludes( new String[]
-                    {
-                        "**/*.*"
-                    } );
-            scanner.addDefaultExcludes();
-            scanner.setBasedir( brandingSources );
-            scanner.scan();
-
-            final String clusterPathPart = "netbeans" + File.separator + cluster;
-            File outputDir = new File(outputDirectory, "branding_and_locales");
-            outputDir.mkdirs();
-            File clusterDir = new File( nbmBuildDir, clusterPathPart );
-            clusterDir.mkdirs();
-
-            // copy all files and see to it that they get the correct names
-            for ( String brandingFilePath : scanner.getIncludedFiles() )
-            {
-                File brandingFile = new File( brandingSources, brandingFilePath );
-                String[] locale = getLocale( brandingFile.getName());
-                String token = locale[1] == null ? brandingToken : brandingToken + "_" + locale[1];
-                File root = new File(outputDir, token);
-                root.mkdirs();
-                String destinationName = locale[0] + "_" + token + locale[2];
-                File brandingDestination = new File( root, brandingFilePath.replace( brandingFile.getName(), destinationName) );
-                if ( !brandingDestination.getParentFile().exists() )
-                {
-                    brandingDestination.getParentFile().mkdirs();
-                }
-                FileUtils.copyFile( brandingFile, brandingDestination );
-            }
-            for (File rootDir : outputDir.listFiles()) {
-                if (!rootDir.isDirectory()) {
-                    continue;
-                }
-                String effectiveBranding = rootDir.getName();
-                // create jar-files from each toplevel .jar directory
-                scanner.setIncludes( new String[]
-                    {
-                        "**/*.jar"
-                    } );
-                scanner.setBasedir( rootDir );
-                scanner.scan();
-                for ( String jarDirectoryPath : scanner.getIncludedDirectories() )
-                {
-                    // move nnn.jar directory to nnn.jar.tmp
-                    File jarDirectory = new File( rootDir, jarDirectoryPath );
-                    File destinationLocation = new File(clusterDir, jarDirectoryPath).getParentFile();
-                    destinationLocation.mkdirs();
-                    // jars should be placed in locales/ under the same directory the jar-directories are
-                    File destinationJar =
-                        new File( destinationLocation + File.separator + "locale"
-                            + File.separator + destinationFileName( jarDirectory.getName(), effectiveBranding ) );
-
-                    // create nnn.jar archive of contents
-                    JarArchiver archiver = new JarArchiver();
-                    archiver.setDestFile( destinationJar );
-                    archiver.addDirectory( jarDirectory );
-                    archiver.createArchive();
-                }
-            }
-
-        }
-        catch ( Exception ex )
-        {
-            throw new MojoExecutionException( "Error creating branding", ex );
-        }
-    }
-
-    static  String destinationFileName( String brandingFilePath, String branding )
-    {
-        // use first underscore in filename 
-        int lastSeparator = brandingFilePath.lastIndexOf( File.separator );
-        String infix = "_" + branding;
-
-        // no underscores, use dot
-        int lastDot = brandingFilePath.lastIndexOf( "." );
-        if (lastDot == -1 || lastDot < lastSeparator) {
-            return brandingFilePath + infix;
-        }
-        return brandingFilePath.substring( 0, lastDot ) + infix + brandingFilePath.substring( lastDot );
-    }
-    
-    //[0] prefix
-    //[1] locale
-    //[2] suffix
-    static String[] getLocale(String name) {
-        String suffix = "";
-        int dot = name.indexOf( ".");
-        if (dot > -1) { //remove file extension
-            suffix = name.substring( dot );
-            name = name.substring( 0, dot);
-        }
-        String locale = null;
-        int count = 1;
-        //iterate from back of the string, max 3 times and see if the pattern patches local pattern
-        while (count <= 3) {
-            int underscore = name.lastIndexOf( '_');
-            if (underscore > -1) {
-                String loc1 = name.substring( underscore  + 1);
-                if (loc1.length() != 2) {
-                    break;
-                } 
-                locale = loc1 + (locale == null ? "" : "_" + locale);
-                name = name.substring( 0, underscore);
-            } else {
-                break;
-            }
-            count = count + 1;
-        }
-        return new String[] {name, locale, suffix};
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BuildInstallersMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BuildInstallersMojo.java
deleted file mode 100644
index 26e92b9..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BuildInstallersMojo.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*
- * Copyright 2012 Frantisek Mantlik <frantisek at mantlik.cz>.
- *
- * 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.
- * under the License.
- */
-package org.netbeans.nbm;
-
-import java.io.*;
-import java.net.JarURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.*;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectHelper;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.ProjectHelper;
-import org.apache.tools.ant.util.StringUtils;
-
-/**
- * Build installers for Mavenized NetBeans application.
- * Creates installers for supported operating systems
- * and packages each installer as a deployable artifact.
- * <p>See a <a href="http://www.mojohaus.org/nbm-maven-plugin/buildinstexample.html">how-to</a> on customizing the installer.
- * @author <a href="mailto:frantisek@mantlik.cz">Frantisek Mantlik</a>
- */
-@Mojo(name="build-installers", 
-        requiresProject=true, 
-        requiresDependencyResolution=ResolutionScope.RUNTIME,
-        threadSafe = true,
-        defaultPhase=LifecyclePhase.PACKAGE )
-public class BuildInstallersMojo
-        extends AbstractNbmMojo
-{
-
-    /**
-    * output directory.
-    */
-    @Parameter(defaultValue="${project.build.directory}", required=true)
-    protected File outputDirectory;
-    /**
-    * The branding token for the application based on NetBeans platform.
-    */
-    @Parameter(property="netbeans.branding.token", required=true)
-    protected String brandingToken;
-    /**
-    * Installation directory name at the destination system
-    * Deprecated, to be removed, was never actually used.
-    */
-    @Parameter(property="netbeans.branding.token")
-    protected String installDirName;
-    /**
-    * Prefix of all generated installers files
-    */
-    @Parameter(defaultValue="${project.build.finalName}")
-    private String installersFilePrefix;
-    /**
-     * Create installer for Windows
-     */
-    @Parameter(defaultValue="true")
-    private boolean installerOsWindows;
-    /**
-     * Create installer for Solaris
-     */
-    @Parameter(defaultValue="true")
-    private boolean installerOsSolaris;
-    /**
-     * Create installer for Linux
-     */
-    @Parameter(defaultValue="true")    
-    private boolean installerOsLinux;
-    /**
-     * Create installer for MacOSx
-     */
-    @Parameter(defaultValue="true")    
-    private boolean installerOsMacosx;
-    /**
-     * Enable Pack200 compression
-     */
-    @Parameter(defaultValue="true")
-    private boolean installerPack200Enable;
-    /**
-     * License file
-     */
-    @Parameter(defaultValue="${basedir}/license.txt")
-    private File installerLicenseFile;
-    /**
-     * Custom installer template.
-     * This file, if provided, will replace default template from
-     * &lt;NetBeansInstallation&gt;/harness/nbi/stub/template.xml
-     */
-    @Parameter
-    private File templateFile;
-    /**
-     * Parameters passed to templateFile 
-     * or to installer/nbi/stub/template.xml 
-     * to customize generated installers.
-     *
-     */
-    @Parameter
-    private Map<String, String> userSettings;
-    
-    /**
-     * Name of the zip artifact used to produce installers from (without .zip extension)
-     */
-    @Parameter(defaultValue="${project.build.finalName}")
-    private String finalName;
-
-    // <editor-fold defaultstate="collapsed" desc="Component parameters">
-    /**
-     * Used for attaching the artifact in the project
-     */
-    @Component
-    private MavenProjectHelper projectHelper;
-        
-    @Parameter(readonly=true, required=true, property="basedir")
-    private File basedir;
-    /**
-    * The Maven Project.
-    */
-    @Parameter(required=true, readonly=true, property="project")    
-    private MavenProject project;    
-
-    // </editor-fold>
-    @Override
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-        Project antProject = antProject();
-
-        if ( !"nbm-application".equals( project.getPackaging() ) )
-        {
-            throw new MojoExecutionException(
-                    "This goal only makes sense on project with 'nbm-application' packaging." );
-        }
-        
-        if (!installerOsLinux && !installerOsMacosx && !installerOsSolaris && !installerOsWindows) {
-            getLog().warn( "None of the Operating System Installers selected, skipping 'build-installers' goal.");
-            return;
-        }
-
-        String zipName = finalName + ".zip";
-        File zipFile = new File( outputDirectory, zipName );
-        getLog().info( String.format( "Running Build Installers action for (existing=%2$s) zip file %1$s",
-                zipFile, zipFile.exists() ) );
-
-
-        File appIconIcnsFile;
-
-        // Copy Netbeans Installer resources
-        FileUrlUtils fu = new FileUrlUtils();
-        File harnessDir = new File( outputDirectory, "installer" );
-        fu.copyResourcesRecursively( getClass().getClassLoader().getResource( "harness" ), harnessDir );
-
-        // Overwrite template file with modified version to accept branded images etc.
-        if ( templateFile != null )
-        {
-            File template = new File( harnessDir, "nbi/stub/template.xml" );
-            fu.copyFile( templateFile, template );
-        }
-
-        appIconIcnsFile = new File( harnessDir, "etc" + File.separatorChar + "applicationIcon.icns" );
-        getLog().info( "Application icon:" + appIconIcnsFile.getAbsolutePath() );
-
-        Map<String, String> props = new HashMap<String, String> ();
-
-        props.put( "suite.location", basedir.getAbsolutePath().replace( "\\", "/" ) );
-        props.put( "suite.props.app.name", brandingToken);
-        props.put( "suite.dist.zip", zipFile.getAbsolutePath().replace( "\\", "/" ) );
-        props.put( "suite.dist.directory", outputDirectory.getAbsolutePath().replace( "\\", "/" ) );
-        props.put( "installer.build.dir", new File( outputDirectory, "installerbuild" ).getAbsolutePath().replace( "\\", "/" ) );
-        
-        props.put( "installers.file.prefix", installersFilePrefix );
-
-//        props.put( "install.dir.name", installDirName );
-
-        //mkleint: this is a flawed pattern! cannot make any assumption on multimodule layout
-        String appName = project.getParent().getArtifactId().replace( ".", "" ).replace( "-", "" ).replace( "_", "" ).replaceAll( "[0-9]+", "" );
-        props.put( "suite.nbi.product.uid", appName.toLowerCase( Locale.ENGLISH ) );
-
-        props.put( "suite.props.app.title", ( project.getName() + " " + project.getVersion() ).replaceAll( "-SNAPSHOT", "" ) );
-
-        String appVersion = project.getVersion().replaceAll( "-SNAPSHOT", "" );
-        props.put( "suite.nbi.product.version.short", appVersion );
-        while ( appVersion.split( "\\." ).length < 5 )
-        {
-            appVersion += ".0";
-        }
-        props.put( "suite.nbi.product.version", appVersion );
-
-        props.put( "nbi.stub.location", new File( harnessDir, "nbi/stub" ).getAbsolutePath().replace( "\\", "/" ) );
-
-        props.put( "nbi.stub.common.location", new File( harnessDir, "nbi/.common" ).getAbsolutePath().replace( "\\", "/" ) );
-
-        props.put( "nbi.ant.tasks.jar", new File( harnessDir, "modules/ext/nbi-ant-tasks.jar" ).getAbsolutePath().replace( "\\", "/" ) );
-
-        props.put( "nbi.registries.management.jar", new File( harnessDir, "modules/ext/nbi-registries-management.jar" ).getAbsolutePath().replace( "\\", "/" ) );
-
-        props.put( "nbi.engine.jar", new File( harnessDir, "modules/ext/nbi-engine.jar" ).getAbsolutePath().replace( "\\", "/" ) );
-
-        if ( installerLicenseFile != null )
-        {
-            getLog().info( String.format( "License file is at %1s, exist = %2$s", installerLicenseFile, installerLicenseFile.exists() ) );
-            props.put( "nbi.license.file", installerLicenseFile.getAbsolutePath() ); //mkleint: no path replacement here??
-        }
-
-        List<String> platforms = new ArrayList<String>();
-
-        if ( this.installerOsLinux )
-        {
-            platforms.add( "linux" );
-            File linuxFile = new File( outputDirectory, installersFilePrefix + "-linux.sh" );
-            projectHelper.attachArtifact( project, "sh", "linux", linuxFile );
-        }
-        if ( this.installerOsSolaris )
-        {
-            platforms.add( "solaris" );
-            File solarisFile = new File( outputDirectory, installersFilePrefix + "-solaris.sh" );
-            projectHelper.attachArtifact( project, "sh", "solaris", solarisFile );
-        }
-        if ( this.installerOsWindows )
-        {
-            platforms.add( "windows" );
-            File windowsFile = new File( outputDirectory, installersFilePrefix + "-windows.exe" );
-            projectHelper.attachArtifact( project, "exe", "windows", windowsFile );
-        }
-        if ( this.installerOsMacosx )
-        {
-            platforms.add( "macosx" );
-            File macosxFile = new File( outputDirectory, installersFilePrefix + "-macosx.tgz" );
-            projectHelper.attachArtifact( project, "tgz", "macosx", macosxFile );
-        }
-
-        StringBuilder sb = new StringBuilder();
-        for ( int i = 0; i < platforms.size(); i++ )
-        {
-            if ( i != 0 )
-            {
-                sb.append( " " );
-            }
-            sb.append( platforms.get( i ) );
-        }
-        if ( sb.length() == 0 )
-        {
-            //nothing to build
-            getLog().warn( "Nothing to build." );
-        }
-
-        props.put( "generate.installer.for.platforms", sb.toString() );
-
-        File javaHome = new File( System.getProperty( "java.home" ) );
-        if ( new File( javaHome, "lib/rt.jar" ).exists() && javaHome.getName().equals( "jre" ) ) //mkleint: does this work on mac? no rt.jar there
-        {
-            javaHome = javaHome.getParentFile();
-        }
-        props.put( "generator-jdk-location-forward-slashes", javaHome.getAbsolutePath().replace( "\\", "/" ) );
-
-        props.put( "pack200.enabled", "" + installerPack200Enable );
-
-        if ( appIconIcnsFile != null )
-        {
-            props.put( "nbi.dock.icon.file", appIconIcnsFile.getAbsolutePath() );
-        }
-
-        try
-        {
-            antProject.setUserProperty( "ant.file", new File( harnessDir, "nbi/stub/template.xml" ).getAbsolutePath().replace( "\\", "/" ) );
-            ProjectHelper helper = ProjectHelper.getProjectHelper();
-            antProject.addReference( "ant.projectHelper", helper );
-            helper.parse( antProject, new File( harnessDir, "nbi/stub/template.xml" ) );
-            for ( Map.Entry<String, String> e : props.entrySet() )
-            {
-                antProject.setProperty( e.getKey(), e.getValue() );
-            }
-            if ( userSettings != null )
-            {
-                for ( Map.Entry<String, String> e : userSettings.entrySet() )
-                {
-                    antProject.setProperty( e.getKey(), e.getValue() );
-                }
-            }
-            antProject.executeTarget( "build" );
-        }
-        catch ( Exception ex )
-        {
-            throw new MojoExecutionException( "Installers creation failed: " + ex, ex );
-        }
-    }
-
-    //mkleint: could this be replaced by something from plexus-utils?
-    private class FileUrlUtils
-    {
-
-        boolean copyFile( final File toCopy, final File destFile )
-            throws MojoExecutionException
-        {
-            try
-            {
-                return copyStream( new FileInputStream( toCopy ), new FileOutputStream( destFile ) );
-            }
-            catch ( final FileNotFoundException e )
-            {
-                throw new MojoExecutionException( "Installers creation failed: " + e, e );
-            }
-        }
-
-        boolean copyFilesRecusively( final File toCopy, final File destDir )
-            throws MojoExecutionException
-        {
-            assert destDir.isDirectory();
-
-            if ( !toCopy.isDirectory() )
-            {
-                return copyFile( toCopy, new File( destDir, toCopy.getName() ) );
-            }
-            else
-            {
-                final File newDestDir = new File( destDir, toCopy.getName() );
-                if ( !newDestDir.exists() && !newDestDir.mkdir() )
-                {
-                    return false;
-                }
-                for ( final File child : toCopy.listFiles() )
-                {
-                    if ( !copyFilesRecusively( child, newDestDir ) )
-                    {
-                        return false;
-                    }
-                }
-            }
-            return true;
-        }
-
-        boolean copyJarResourcesRecursively( final File destDir, final JarURLConnection jarConnection )
-            throws IOException, MojoExecutionException
-        {
-
-            final JarFile jarFile = jarConnection.getJarFile();
-
-            for ( final Enumeration<JarEntry> e = jarFile.entries(); e.hasMoreElements(); )
-            {
-                final JarEntry entry = e.nextElement();
-                if ( entry.getName().startsWith( jarConnection.getEntryName() ) )
-                {
-                    final String filename = StringUtils.removePrefix( entry.getName(), //
-                            jarConnection.getEntryName() );
-
-                    final File f = new File( destDir, filename );
-                    if ( !entry.isDirectory() )
-                    {
-                        final InputStream entryInputStream = jarFile.getInputStream( entry );
-                        if ( !copyStream( entryInputStream, f ) )
-                        {
-                            return false;
-                        }
-                        entryInputStream.close();
-                    }
-                    else
-                    {
-                        if ( !ensureDirectoryExists( f ) )
-                        {
-                            throw new IOException( "Could not create directory: "
-                                    + f.getAbsolutePath() );
-                        }
-                    }
-                }
-            }
-            return true;
-        }
-
-        boolean copyResourcesRecursively( final URL originUrl, final File destination )
-            throws MojoExecutionException
-        {
-            try
-            {
-                final URLConnection urlConnection = originUrl.openConnection();
-                if ( urlConnection instanceof JarURLConnection )
-                {
-                    return copyJarResourcesRecursively( destination, (JarURLConnection) urlConnection );
-                }
-                else
-                {
-                    return copyFilesRecusively( new File( originUrl.getPath() ), destination );
-                }
-            }
-            catch ( final IOException e )
-            {
-                throw new MojoExecutionException( "Installers creation failed: " + e, e );
-            }
-        }
-
-        boolean copyStream( final InputStream is, final File f )
-            throws MojoExecutionException
-        {
-            try
-            {
-                return copyStream( is, new FileOutputStream( f ) );
-            }
-            catch ( final FileNotFoundException e )
-            {
-                throw new MojoExecutionException( "Installers creation failed: " + e, e );
-            }
-        }
-
-        boolean copyStream( final InputStream is, final OutputStream os )
-            throws MojoExecutionException
-        {
-            try
-            {
-                final byte[] buf = new byte[1024];
-
-                int len;
-                while ( ( len = is.read( buf ) ) > 0 )
-                {
-                    os.write( buf, 0, len );
-                }
-                is.close();
-                os.close();
-                return true;
-            }
-            catch ( final IOException e )
-            {
-                throw new MojoExecutionException( "Installers creation failed: " + e, e );
-            }
-        }
-
-        boolean ensureDirectoryExists( final File f )
-        {
-            return f.exists() || f.mkdir();
-        }
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectLibrariesNodeVisitor.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectLibrariesNodeVisitor.java
deleted file mode 100644
index 05642fd..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectLibrariesNodeVisitor.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/* ==========================================================================
- * Copyright 2008 mkleint
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.shared.dependency.graph.DependencyNode;
-import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
-import org.netbeans.nbm.utils.ExamineManifest;
-
-/**
- * A dependency node visitor that collects visited nodes that are known libraries or are
- * children of known libraries
- * @author milos kleint
- */
-public class CollectLibrariesNodeVisitor
-    implements DependencyNodeVisitor
-{
-
-    /**
-     * The collected list of nodes.
-     */
-    private final List<Artifact> nodes;
-
-    private Map<String, Artifact> artifacts;
-
-    private Map<Artifact, ExamineManifest> examinerCache;
-
-    private List<String> explicitLibs;
-
-    private final Log log;
-
-    private MojoExecutionException throwable;
-
-    private DependencyNode root;
-
-    private Set<String> duplicates;
-
-    private Set<String> conflicts;
-
-    private Set<String> includes;
-
-    private final boolean useOsgiDependencies;
-
-    /**
-     * Creates a dependency node visitor that collects visited nodes for further processing.
-     * @param explicitLibraries list of explicit libraries
-     * @param runtimeArtifacts list of runtime artifacts
-     * @param examinerCache cache of netbeans manifest for artifacts
-     * @param log mojo logger
-     * @param root dependency to start collect with
-     * @param useOsgiDependencies whether to allow osgi dependencies or not
-     */
-    public CollectLibrariesNodeVisitor( List<String> explicitLibraries,
-        List<Artifact> runtimeArtifacts, Map<Artifact, ExamineManifest> examinerCache,
-        Log log, DependencyNode root, boolean useOsgiDependencies )
-    {
-        nodes = new ArrayList<Artifact>();
-        artifacts = new HashMap<String, Artifact>();
-        for ( Artifact a : runtimeArtifacts )
-        {
-            artifacts.put( a.getDependencyConflictId(), a );
-        }
-        this.examinerCache = examinerCache;
-        this.explicitLibs = explicitLibraries;
-        this.log = log;
-        this.root = root;
-        this.useOsgiDependencies = useOsgiDependencies;
-        duplicates = new HashSet<String>();
-        conflicts = new HashSet<String>();
-        includes = new HashSet<String>();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean visit( DependencyNode node )
-    {
-        if ( throwable != null )
-        {
-            return false;
-        }
-        if ( root == node )
-        {
-            return true;
-        }
-        try
-        {
-            Artifact artifact = node.getArtifact();
-            if ( !artifacts.containsKey( artifact.getDependencyConflictId() ) )
-            {
-                //ignore non-runtime stuff..
-                return false;
-            }
-            // somehow the transitive artifacts in the  tree are not always resolved?
-            artifact = artifacts.get( artifact.getDependencyConflictId() );
-
-            ExamineManifest depExaminator = examinerCache.get( artifact );
-            if ( depExaminator == null )
-            {
-                depExaminator = new ExamineManifest( log );
-                depExaminator.setArtifactFile( artifact.getFile() );
-                depExaminator.checkFile();
-                examinerCache.put( artifact, depExaminator );
-            }
-            if ( AbstractNbmMojo.matchesLibrary( artifact, explicitLibs, depExaminator, log, useOsgiDependencies ) )
-            {
-                if ( depExaminator.isNetBeansModule() )
-                {
-                    log.warn(
-                        "You are using a NetBeans Module as a Library (classpath extension): " + artifact.getId() );
-                }
-
-                nodes.add( artifact );
-                includes.add( artifact.getDependencyConflictId() );
-                // if a library, iterate to it's child nodes.
-                return true;
-            }
-        }
-        catch ( MojoExecutionException mojoExecutionException )
-        {
-            throwable = mojoExecutionException;
-        }
-        //don't bother iterating to childs if the current node is not a library.
-        return false;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean endVisit( DependencyNode node )
-    {
-        if ( throwable != null )
-        {
-            return false;
-        }
-        if ( node == root )
-        {
-            if ( nodes.size() > 0 )
-            {
-                log.info( "Adding on module's Class-Path:" );
-                for ( Artifact inc : nodes )
-                {
-                    log.info( "    " + inc.getId() );
-                }
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Gets the list of collected dependency nodes.
-     * 
-     * @return the list of collected dependency nodes
-     * @throws MojoExecutionException if a throwable is set
-     */
-    public List<Artifact> getArtifacts()
-        throws MojoExecutionException
-    {
-        if ( throwable != null )
-        {
-            throw throwable;
-        }
-        return nodes;
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
deleted file mode 100644
index 713b406..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/* ==========================================================================
- * Copyright 2008 mkleint
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.shared.dependency.graph.DependencyNode;
-import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
-import org.netbeans.nbm.utils.ExamineManifest;
-
-/**
- * A dependency node visitor that collects visited nodes that are known libraries or are
- * children of known libraries
- * @author milos kleint
- */
-public class CollectModuleLibrariesNodeVisitor
-    implements DependencyNodeVisitor
-{
-
-    /**
-     * The collected list of nodes.
-     */
-    private final Map<String, List<Artifact>> directNodes;
-
-    private final Map<String, List<Artifact>> transitiveNodes;
-
-    private Map<String, Artifact> artifacts;
-
-    private Map<Artifact, ExamineManifest> examinerCache;
-
-    private final Log log;
-
-    private MojoExecutionException throwable;
-
-    private DependencyNode root;
-
-    private Stack<String> currentModule = new Stack<String>();
-    private static final String LIB_ID = "!@#$%^&ROOT";
-
-    private final boolean useOSGiDependencies;
-
-    /**
-     * Creates a dependency node visitor that collects visited nodes for further processing.
-     * @param runtimeArtifacts list of runtime artifacts
-     * @param examinerCache cache of netbeans manifest for artifacts
-     * @param log mojo logger
-     * @param root dependency to start collect with
-     * @param useOSGiDependencies whether to allow osgi dependencies or not
-     */
-    public CollectModuleLibrariesNodeVisitor(
-        List<Artifact> runtimeArtifacts, Map<Artifact, ExamineManifest> examinerCache,
-        Log log, DependencyNode root, boolean useOSGiDependencies )
-    {
-        directNodes = new HashMap<String, List<Artifact>>();
-        transitiveNodes = new HashMap<String, List<Artifact>>();
-        artifacts = new HashMap<String, Artifact>();
-        for ( Artifact a : runtimeArtifacts )
-        {
-            artifacts.put( a.getDependencyConflictId(), a );
-        }
-        this.examinerCache = examinerCache;
-        this.log = log;
-        this.root = root;
-        this.useOSGiDependencies = useOSGiDependencies;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean visit( DependencyNode node )
-    {
-        if ( throwable != null )
-        {
-            return false;
-        }
-        if ( root == node )
-        {
-            return true;
-        }
-        try
-        {
-            Artifact artifact = node.getArtifact();
-            if ( !artifacts.containsKey( artifact.getDependencyConflictId() ) )
-            {
-                //ignore non-runtime stuff..
-                return false;
-            }
-            // somehow the transitive artifacts in the  tree are not always resolved?
-            artifact = artifacts.get( artifact.getDependencyConflictId() );
-
-            ExamineManifest depExaminator = examinerCache.get( artifact );
-            if ( depExaminator == null )
-            {
-                depExaminator = new ExamineManifest( log );
-                depExaminator.setArtifactFile( artifact.getFile() );
-                depExaminator.checkFile();
-                examinerCache.put( artifact, depExaminator );
-            }
-            if ( depExaminator.isNetBeansModule() || ( useOSGiDependencies && depExaminator.isOsgiBundle() ) )
-            {
-                currentModule.push( artifact.getDependencyConflictId() );
-                ArrayList<Artifact> arts = new ArrayList<Artifact>();
-                arts.add( artifact );
-                if ( currentModule.size() == 1 )
-                {
-                    directNodes.put( currentModule.peek(), arts );
-                }
-                else
-                {
-                    transitiveNodes.put( currentModule.peek(), arts );
-                }
-                return true;
-            }
-            if ( currentModule.size() > 0 )
-            {
-                ////MNBMODULE-95 we are only interested in the module owned libraries
-                if ( !currentModule.peek().startsWith( LIB_ID ) &&
-                        AbstractNbmMojo.matchesLibrary( artifact, Collections.<String>emptyList(), depExaminator, log, useOSGiDependencies ) )
-                {
-                    if ( currentModule.size() == 1 )
-                    {
-                        directNodes.get( currentModule.peek() ).add( artifact );
-                    }
-                    else
-                    {
-                        transitiveNodes.get( currentModule.peek() ).add( artifact );
-                    }
-                    // if a library, iterate to it's child nodes.
-                    return true;
-                }
-            }
-            else
-            {
-                //MNBMODULE-95 we check the non-module dependencies to see if they
-                // depend on modules/bundles. these bundles are transitive, so
-                // we add the root module as the first currentModule to keep
-                //any bundle/module underneath it as transitive
-                currentModule.push( LIB_ID + artifact.getDependencyConflictId() );
-            }
-        }
-        catch ( MojoExecutionException mojoExecutionException )
-        {
-            throwable = mojoExecutionException;
-        }
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean endVisit( DependencyNode node )
-    {
-        if ( throwable != null )
-        {
-            return false;
-        }
-        if ( !currentModule.empty()
-            && ( currentModule.peek().equals( node.getArtifact().getDependencyConflictId() )
-                            || currentModule.peek().equals( LIB_ID + node.getArtifact().getDependencyConflictId() ) ) )
-        {
-            currentModule.pop();
-        }
-        return true;
-    }
-
-    /**
-     * modules declared in the project's pom
-     * @return a map of module artifact lists, key is the dependencyConflictId
-     * @throws MojoExecutionException if an unexpected problem occurs
-     */
-    public Map<String, List<Artifact>> getDeclaredArtifacts()
-        throws MojoExecutionException
-    {
-        if ( throwable != null )
-        {
-            throw throwable;
-        }
-        return directNodes;
-    }
-
-    /**
-     * modules that were picked up transitively
-     * @return a map of module artifact lists, key is the dependencyConflictId
-     * @throws MojoExecutionException if an unexpected problem occurs
-     */
-    public Map<String, List<Artifact>> getTransitiveArtifacts()
-        throws MojoExecutionException
-    {
-        if ( throwable != null )
-        {
-            throw throwable;
-        }
-        return transitiveNodes;
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java
deleted file mode 100644
index 1bdf9bb..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java
+++ /dev/null
@@ -1,1268 +0,0 @@
-/* ==========================================================================
- * Copyright Milos Kleint
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import com.google.common.collect.Sets;
-import java.io.*;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Pack200;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.zip.CRC32;
-import java.util.zip.GZIPInputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.AbstractArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.netbeans.nbm.utils.ExamineManifest;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.filters.StringInputStream;
-import org.apache.tools.ant.taskdefs.Chmod;
-import org.apache.tools.ant.types.FileSet;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.io.InputStreamFacade;
-import org.netbeans.nbbuild.MakeListOfNBM;
-
-/**
- * Create the NetBeans module clusters/application for the 'nbm-application' packaging
- * projects
- *
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- */
-@Mojo(name="cluster-app", 
-        defaultPhase= LifecyclePhase.PACKAGE, 
-        requiresProject=true, 
-        threadSafe = true,
-        requiresDependencyResolution= ResolutionScope.RUNTIME )
-public class CreateClusterAppMojo
-    extends AbstractNbmMojo
-{
-
-    /**
-     * output directory where the the NetBeans application will be created.
-     */
-    @Parameter(defaultValue="${project.build.directory}", required=true)
-    private File outputDirectory;
-
-    /**
-     * The Maven Project.
-     */
-    @Parameter(required=true, readonly=true, property="project")
-    private MavenProject project;
-
-    /**
-     * The branding token for the application based on NetBeans platform.
-     */
-    @Parameter(property="netbeans.branding.token", required=true)
-    protected String brandingToken;
-
-    /**
-     * Optional path to custom etc/${brandingToken}.conf file. If not defined,
-     * a default template will be used.
-     */
-    @Parameter( property="netbeans.conf.file")
-    private File etcConfFile;
-
-    /**
-     * Optional path to custom etc/${brandingToken}.clusters file. If not defined,
-     * a default one will be generated.
-     */
-    @Parameter(property="netbeans.clusters.file")
-    private File etcClustersFile;
-
-    /**
-     * Directory which contains the executables that will be copied to
-     * the final application's bin/ directory.
-     * Please note that the name of the executables shall generally
-     * match the brandingToken parameter. Otherwise the application can be wrongly branded.
-     */
-    @Parameter(property="netbeans.bin.directory")
-    private File binDirectory;
-
-    /**
-     * If the depending NBM file doesn't contain any application cluster information,
-     * use this value as default location for such module NBMs.
-     * @since 3.2
-     */
-    @Parameter(defaultValue="extra")
-    private String defaultCluster;
-    
-    /**
-     * attempts to verify the integrity of module artifacts making sure that all dependencies are included
-     * and that all required tokens are provided
-     * @since 3.10
-     */
-    @Parameter(defaultValue = "true", property = "netbeans.verify.integrity")
-    private boolean verifyIntegrity;
-    
-    /**
-     * @since 4.12
-     */
-    @Parameter(defaultValue ="org.netbeans", property = "groupIdPrefix")
-    private String groupIdPrefix;
-    
-    private final Collection<String> defaultPlatformTokens = Arrays.asList( new String[] {
-                    "org.openide.modules.os.Windows",
-                    "org.openide.modules.os.Unix",
-                    "org.openide.modules.os.MacOSX",
-                    "org.openide.modules.os.OS2",
-                    "org.openide.modules.os.PlainUnix",    
-                    "org.openide.modules.os.Linux",
-                    "org.openide.modules.os.Solaris",
-                    "org.openide.modules.ModuleFormat1",
-                    "org.openide.modules.ModuleFormat2",
-                    "org.openide.modules.jre.JavaFX" //MNBMODULE-234
-    });
-
-
-    // <editor-fold defaultstate="collapsed" desc="Component parameters">
-    
-    @Component
-    private ArtifactFactory artifactFactory;
-
-    @Component
-    private ArtifactResolver artifactResolver;
-
-    /**
-     * Local maven repository.
-     *
-     */
-    @Parameter(required=true, readonly=true, property="localRepository")
-    protected ArtifactRepository localRepository;
-
-// end of component params custom code folding
-// </editor-fold>
-
-    @Override
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-
-        File nbmBuildDirFile = new File( outputDirectory, brandingToken );
-        if ( !nbmBuildDirFile.exists() )
-        {
-            nbmBuildDirFile.mkdirs();
-        }
-
-        if ( "nbm-application".equals( project.getPackaging() ) )
-        {
-            Project antProject = registerNbmAntTasks();
-
-            Set<String> wrappedBundleCNBs = new HashSet<>(100);
-            Map<String, Set<String>> clusterDependencies = new HashMap<>();
-            Map<String, Set<String>> clusterModules = new HashMap<>();
-            
-            //verify integrity
-            Set<String> modulesCNBs = new HashSet<>(200);
-            Set<String> dependencyCNBs = new HashSet<>(200);
-            Map<String, Set<String>> dependencyCNBBacktraces = new HashMap<>(50);
-            Set<String> requireTokens = new HashSet<>(50);
-            Map<String, Set<String>> requireTokensBacktraces = new HashMap<>(50);
-            Set<String> provideTokens = new HashSet<>(50);
-            Set<String> osgiImports = new HashSet<>(50);
-            Map<String, Set<String>> osgiImportsBacktraces = new HashMap<>(50);
-            Set<String> osgiExports = new HashSet<>(50);
-            Set<String> osgiExportsSubs = new HashSet<>(50); //a way to deal with nb module declaring xxx.** (subpackages) declaration that is consumed by osgi imports
-            
-            List<BundleTuple> bundles = new ArrayList<>();
-
-            @SuppressWarnings( "unchecked" )
-            Set<Artifact> artifacts = project.getArtifacts();
-            for ( Artifact art : artifacts )
-            {
-                ArtifactResult res = turnJarToNbmFile( art, artifactFactory, artifactResolver, project, localRepository );
-                if ( res.hasConvertedArtifact() )
-                {
-                    art = res.getConvertedArtifact();
-                }
-
-                if ( art.getType().equals( "nbm-file" ) )
-                {
-                    try
-                    {
-                        JarFile jf = new JarFile( art.getFile() );
-                        try
-                        {
-                            String clusterName = findCluster( jf );                            
-                            ClusterTuple cluster = processCluster( clusterName, nbmBuildDirFile, art );
-                            
-                                getLog().debug( "Copying " + art.getId() + " to cluster " + clusterName );
-                                Enumeration<JarEntry> enu = jf.entries();
-
-                                // we need to trigger this ant task to generate the update_tracking file.
-                                MakeListOfNBM makeTask = (MakeListOfNBM) antProject.createTask( "genlist" );
-                                antProject.setNewProperty( "module.name", art.getFile().getName() ); // TODO
-                                antProject.setProperty( "cluster.dir", clusterName );
-                                FileSet set = makeTask.createFileSet();
-                                set.setDir( cluster.location );
-                                makeTask.setOutputfiledir( cluster.location );
-                                String[] executables = null;
-                                File classpathRoot = null;
-                                String classPath = null;
-                                while ( enu.hasMoreElements() )
-                                {
-                                    JarEntry ent = enu.nextElement();
-                                    String name = ent.getName();
-                                    //MNBMODULE-176
-                                    if (name.equals("Info/executables.list")) {
-                                        if (cluster.newer) {
-                                            InputStream is = jf.getInputStream( ent );
-                                            executables = StringUtils.split( IOUtil.toString( is, "UTF-8" ), "\n");
-                                        }
-                                    }
-                                    else if ( name.startsWith( "netbeans/" ) )
-                                    { // ignore everything else.
-                                        String path = clusterName + name.substring( "netbeans".length() );
-                                        boolean ispack200 = path.endsWith( ".jar.pack.gz" );
-                                        if ( ispack200 )
-                                        {
-                                            path = path.replace( ".jar.pack.gz", ".jar" );
-                                        }
-                                        File fl = new File( nbmBuildDirFile, path.replace( "/", File.separator ) );
-                                        String part = name.substring( "netbeans/".length() );
-                                        if ( ispack200 )
-                                        {
-                                            part = part.replace( ".jar.pack.gz", ".jar" );
-                                        }
-                                        if (cluster.newer) 
-                                        {
-                                            if ( ent.isDirectory() )
-                                            {
-                                                fl.mkdirs();
-                                            }
-                                            else if ( path.endsWith( ".external" ) ) // MNBMODULE-138
-                                            {
-                                                InputStream is = jf.getInputStream( ent );
-                                                try
-                                                {
-                                                    externalDownload( new File( fl.getParentFile(),
-                                                                                fl.getName().replaceFirst( "[.]external$",
-                                                                                                           "" ) ), is );
-                                                }
-                                                finally
-                                                {
-                                                    is.close();
-                                                }
-                                                //MNBMODULE-192
-                                                set.appendIncludes( new String[] { name.substring( "netbeans/".length(), name.length() - ".external".length() ) } );
-                                            }
-                                            else
-                                            {
-                                                set.appendIncludes( new String[] { part } );
-
-                                                fl.getParentFile().mkdirs();
-                                                fl.createNewFile();
-                                                BufferedOutputStream outstream = null;
-                                                try
-                                                {
-                                                    outstream = new BufferedOutputStream( new FileOutputStream( fl ) );
-                                                    InputStream instream = jf.getInputStream( ent );
-                                                    if ( ispack200 )
-                                                    {
-                                                        Pack200.Unpacker unp = Pack200.newUnpacker();
-                                                        JarOutputStream jos = new JarOutputStream( outstream );
-                                                        GZIPInputStream gzip = new GZIPInputStream( instream );
-                                                        try
-                                                        {
-                                                            unp.unpack( gzip, jos );
-                                                        }
-                                                        finally
-                                                        {
-                                                            jos.close();
-                                                        }
-                                                    }
-                                                    else
-                                                    {
-                                                        IOUtil.copy( instream, outstream );
-                                                    }
-                                                }
-                                                finally
-                                                {
-                                                    IOUtil.close( outstream );
-                                                }
-                                            }
-                                        }
-                                            
-                                            //TODO examine netbeans/config/Modules to see if the module is autoload/eager
-                                            // in verifyIntegrity these could be handled more gracefully than regular modules.
-                                            //eager is simpler, does not need to have module dependencies satisfied.
-                                            //autoload needs checking if any of the other modules declares a dependency on it. if not, also safe to ignore?
-                                            
-                                            
-                                            // now figure which one of the jars is the module jar..
-                                            if ( part.matches("(modules|core|lib)/[^/]+[.]jar") )
-                                            {
-                                                ExamineManifest ex = new ExamineManifest( getLog() );
-                                                ex.setJarFile( fl );
-                                                ex.setPopulateDependencies( true );
-                                                ex.checkFile();
-                                                if ( ex.isNetBeansModule() )
-                                                {
-                                                    makeTask.setModule( part );
-                                                    addToMap(clusterDependencies, clusterName, ex.getDependencyTokens());
-                                                    addToMap(clusterModules, clusterName, Collections.singletonList( ex.getModule() ));
-                                                    if (ex.getClasspath().length() > 0) { //MNBMODULE-220
-                                                        classPath = ex.getClasspath();
-                                                        classpathRoot = fl.getParentFile();
-                                                    }
-                                                }
-                                                if (verifyIntegrity) {
-                                                    dependencyCNBs.addAll(ex.getDependencyTokens());
-                                                    modulesCNBs.add(ex.getModule());
-                                                    for (String d : ex.getDependencyTokens()) {
-                                                        addToMap(dependencyCNBBacktraces, d, Collections.singletonList( ex.getModule() ));
-                                                    }
-                                                    if (ex.isNetBeansModule()) {
-                                                        requireTokens.addAll(ex.getNetBeansRequiresTokens());
-                                                        for (String r : ex.getNetBeansRequiresTokens()) {
-                                                            addToMap( requireTokensBacktraces, r, Collections.singletonList( ex.getModule()));
-                                                        }
-                                                        provideTokens.addAll(ex.getNetBeansProvidesTokens());
-                                                        for (String pack : ex.getPackages()) {
-                                                            if (pack.endsWith( ".**")) {
-                                                                //what to do with subpackages?
-                                                                pack = pack.substring( 0, pack.length() - ".**".length());
-                                                                osgiExportsSubs.add( pack );
-                                                            } else if (pack.endsWith( ".*")) {
-                                                                pack = pack.substring( 0, pack.length() - ".*".length());
-                                                                osgiExports.add(pack);                                                            
-                                                            }
-                                                        }
-                                                        
-                                                    }
-                                                }
-                                            }
-                                        }
-                                    }
-                                    if (classPath != null) { //MNBMODULE-220 collect wrappedbundleCNBs, later useful in assignClustersToBundles(), these get removed from list of bundles.
-                                        String[] paths = StringUtils.split( classPath, " ");
-                                        for (String path : paths) {
-                                            path = path.trim();
-                                            File classpathFile = new File(classpathRoot, path);
-                                            if (path.equals("${java.home}/lib/ext/jfxrt.jar")) { //MNBMODULE-228
-                                                String jhm = System.getProperty("java.home");
-                                                classpathFile = new File(new File(new File(new File(jhm), "lib"), "ext"), "jfxrt.jar");
-                                                if (!classpathFile.exists()) {
-                                                    File jdk7 = new File(new File(new File(jhm), "lib"), "jfxrt.jar");
-                                                    if (jdk7.exists()) {
-                                                        classpathFile = jdk7;
-                                                    }
-                                                }
-                                            }
-                                            if (!classpathFile.isFile()) {
-                                                getLog().warn( "Could not resolve Class-Path item in " + art.getId() + ", path is:" + path +  ", skipping");
-                                                continue; //try to guard against future failures
-                                            } 
-                                            ExamineManifest ex = new ExamineManifest( getLog() );
-                                            ex.setJarFile( classpathFile );
-                                            //ex.setPopulateDependencies( true );
-                                            ex.checkFile();
-                                            if (ex.isOsgiBundle()) {
-                                                if ( art.getId().contains( groupIdPrefix + ".modules:org-netbeans-modules-maven-embedder") )
-                                                {
-                                                    // in this case we dont want module-maven-embedder to be considered as wrapper for his libs                                                     
-                                                    // guava is provided but ide have it also 
-                                                } else 
-                                                {
-                                                    getLog().info(ex.getModule() + " added by " + art.getId() + "" + classpathFile);
-                                                    wrappedBundleCNBs.add(ex.getModule());
-                                                }
-                                            }
-                                        }
-                                    }
-                            if ( cluster.newer )
-                            {
-                                try
-                                {
-                                    makeTask.execute();
-                                }
-                                catch ( BuildException e )
-                                {
-                                    getLog().error( "Cannot Generate update_tracking XML file from " + art.getFile() );
-                                    throw new MojoExecutionException( e.getMessage(), e );
-                                }
-
-                                if ( executables != null )
-                                {
-                                    //MNBMODULE-176
-                                    for ( String exec : executables )
-                                    {
-                                        exec = exec.replace( "/", File.separator );
-                                        File execFile = new File( cluster.location, exec );
-                                        if ( execFile.exists() )
-                                        {
-                                            execFile.setExecutable( true, false );
-                                        }
-                                    }
-                                }
-                            }
-                            
-                        }
-                        finally
-                        {
-                            jf.close();
-                        }
-                    }
-                    catch ( IOException ex )
-                    {
-                        getLog().error( art.getFile().getAbsolutePath(), ex );
-                    }
-                }
-                if ( res.isOSGiBundle() )
-                {
-                    ExamineManifest ex = res.getExaminedManifest();
-                    bundles.add( new BundleTuple( art,  ex) );
-                    if (verifyIntegrity) {
-                        dependencyCNBs.addAll(ex.getDependencyTokens());
-                        for ( String d : ex.getDependencyTokens() )
-                        {
-                            addToMap( dependencyCNBBacktraces, d, Collections.singletonList( ex.getModule() ) );
-                        }
-                        modulesCNBs.add(ex.getModule());
-                        osgiImports.addAll( ex.getOsgiImports());
-                        for ( String d : ex.getOsgiImports() )
-                        {
-                            addToMap( osgiImportsBacktraces, d, Collections.singletonList( ex.getModule() ) );
-                        }
-                        
-                        osgiExports.addAll( ex.getOsgiExports());
-                    }
-                } 
-            }
-            
-            if (verifyIntegrity) {
-                if (getLog().isDebugEnabled()) {
-                    getLog().debug( "All found codenamebases:" + Arrays.toString( modulesCNBs.toArray()) );
-                    getLog().debug( "All found OSGI exports:" + Arrays.toString( osgiExports.toArray()) );
-                    getLog().debug( "All found provided tokens:" + Arrays.toString( provideTokens.toArray()) );
-                }
-                dependencyCNBs.removeAll( modulesCNBs );
-                if (modulesCNBs.contains( "org.netbeans.modules.netbinox")) {
-                    dependencyCNBs.remove( "org.eclipse.osgi"); //this is special.
-                }
-                osgiImports.removeAll( osgiExports );
-                Iterator<String> it = osgiImports.iterator();
-                while (it.hasNext()) {
-                    String s = it.next();
-                    if (s.startsWith( "java.") || s.startsWith( "javax.") || s.startsWith( "sun.") || s.startsWith( "org.xml.sax") || s.startsWith( "org.w3c.dom") || s.startsWith( "org.ietf.jgss")) {
-                        it.remove();
-                        continue;
-                    }
-                    for (String sub : osgiExportsSubs) {
-                        if (s.startsWith( sub )) {
-                            it.remove();
-                            break;
-                        }
-                    }
-                }
-                requireTokens.removeAll( provideTokens );
-                requireTokens.removeAll( defaultPlatformTokens );
-                if (!dependencyCNBs.isEmpty() || !osgiImports.isEmpty() ||!requireTokens.isEmpty()) {
-                    if (!dependencyCNBs.isEmpty()) {
-                        getLog().error( "Some included modules/bundles depend on these codenamebases but they are not included. The application will fail starting up. The missing codenamebases are:" );
-                        for (String s : dependencyCNBs) {
-                            Set<String> back = dependencyCNBBacktraces.get( s );
-                            getLog().error("   " + s + (back != null ? "          ref: " + Arrays.toString( back.toArray()) : ""));
-                        }
-                    }
-                    if (!osgiImports.isEmpty()) {
-                        getLog().error("Some OSGi imports are not satisfied by included bundles' exports. The application will fail starting up. The missing imports are:");
-                        for (String s : osgiImports) {
-                            Set<String> back = osgiImportsBacktraces.get( s );
-                            getLog().error("   " + s + (back != null ? "          ref: " + Arrays.toString( back.toArray()) : ""));
-                        }
-                    }
-                     if (!requireTokens.isEmpty()) {
-                        getLog().error("Some tokens required by included modules are not provided by included modules. The application will fail starting up. The missing tokens are:");
-                        for (String s : requireTokens) {
-                            Set<String> back = requireTokensBacktraces.get( s );
-                            getLog().error("   " + s + (back != null ? "          ref: " + Arrays.toString( back.toArray()) : ""));
-                        }
-                    }
-                    throw new MojoFailureException("See above for consistency validation check failures. Either fix those by adding the relevant dependencies to the application or disable the check by setting the verifyIntegrity parameter to false or by running with -Dnetbeans.verify.integrity=false cmd line parameter.");
-                } else {
-                    getLog().info( "Integrity verification passed.");
-                }
-            } else {
-                getLog().info( "Integrity verification skipped.");
-            }
-            
-            //attempt to sort clusters based on the dependencies and cluster content.
-            Map<String, Set<String>> cluster2depClusters = computeClusterOrdering( clusterDependencies, clusterModules );
-            clusterModules.clear();
-        
-            //now assign the cluster to bundles based on dependencies..
-            assignClustersToBundles( bundles, wrappedBundleCNBs, clusterDependencies, cluster2depClusters, getLog() );
-            
-            
-            for (BundleTuple ent : bundles) {
-                Artifact art = ent.artifact;
-                final ExamineManifest ex = ent.manifest;
-                
-                String clstr = ent.cluster;
-                if (clstr == null) {
-                    clstr = defaultCluster;
-                }
-                
-                ClusterTuple cluster = processCluster( clstr, nbmBuildDirFile, art );
-                if ( cluster.newer )
-                {
-                    getLog().info( "Copying " + art.getId() + " to cluster " + clstr );
-                    File modules = new File( cluster.location, "modules" );
-                    modules.mkdirs();
-                    File config = new File( cluster.location, "config" );
-                    File confModules = new File( config, "Modules" );
-                    confModules.mkdirs();
-                    File updateTracking = new File( cluster.location, "update_tracking" );
-                    updateTracking.mkdirs();
-                    final String cnb = ex.getModule();
-                    final String cnbDashed = cnb.replace( ".", "-" );
-                    final File moduleArt = new File( modules, cnbDashed + ".jar" ); //do we need the file in some canotical name pattern?
-                    final String specVer = ex.getSpecVersion();
-                    try
-                    {
-                        FileUtils.copyFile( art.getFile(), moduleArt );
-                        final File moduleConf = new File( confModules, cnbDashed + ".xml" );
-                        FileUtils.copyStreamToFile( new InputStreamFacade() {
-                            @Override
-                            public InputStream getInputStream() throws IOException
-                            {
-                                return new StringInputStream( createBundleConfigFile( cnb, ex.isBundleAutoload() ), "UTF-8" );
-                            }
-                        }, moduleConf );
-                        FileUtils.copyStreamToFile( new InputStreamFacade() {
-                            @Override
-                            public InputStream getInputStream() throws IOException
-                            {
-                                return new StringInputStream( createBundleUpdateTracking( cnb, moduleArt, moduleConf, specVer ), "UTF-8" );
-                            }
-                        }, new File( updateTracking, cnbDashed + ".xml" ) );
-                    }
-                    catch ( IOException exc )
-                    {
-                        getLog().error( exc );
-                    }
-                }
-            }
-
-            getLog().info(
-                "Created NetBeans module cluster(s) at " + nbmBuildDirFile.getAbsoluteFile() );
-
-        }
-        else
-        {
-            throw new MojoExecutionException(
-                "This goal only makes sense on project with nbm-application packaging" );
-        }
-        //in 6.1 the rebuilt modules will be cached if the timestamp is not touched.
-        File[] files = nbmBuildDirFile.listFiles();
-        for ( File file : files )
-        {
-            if ( file.isDirectory() )
-            {
-                File stamp = new File( file, ".lastModified" );
-                if ( !stamp.exists() )
-                {
-                    try
-                    {
-                        stamp.createNewFile();
-                    }
-                    catch ( IOException ex )
-                    {
-                        ex.printStackTrace();
-                    }
-                }
-                stamp.setLastModified( new Date().getTime() );
-            }
-        }
-        try
-        {
-            createBinEtcDir( nbmBuildDirFile, brandingToken );
-        }
-        catch ( IOException ex )
-        {
-            throw new MojoExecutionException(
-                "Cannot process etc folder content creation.", ex );
-        }
-    }
-    private final static Pattern patt = Pattern.compile(
-        ".*targetcluster=\"([a-zA-Z0-9_\\.\\-]+)\".*", Pattern.DOTALL );
-
-    private String findCluster( JarFile jf )
-        throws MojoFailureException, IOException
-    {
-        ZipEntry entry = jf.getEntry( "Info/info.xml" );
-        InputStream ins = jf.getInputStream( entry );
-        String str = IOUtil.toString( ins, "UTF8" );
-        Matcher m = patt.matcher( str );
-        if ( !m.matches() )
-        {
-            getLog().info( "Cannot find cluster for " + jf.getName() + " Falling back to default value - '"
-                               + defaultCluster + "'." );
-            return defaultCluster;
-        }
-        else
-        {
-            return m.group( 1 );
-        }
-    }
-
-    /**
-     * 
-     * @param buildDir Directory where the platform bundle is built
-     * @param brandingToken
-     * 
-     * @throws java.io.IOException
-     */
-    private void createBinEtcDir( File buildDir, String brandingToken )
-        throws IOException, MojoExecutionException
-    {
-        File etcDir = new File( buildDir + File.separator + "etc" );
-        etcDir.mkdir();
-
-        // create app.clusters which contains a list of clusters to include in the application
-
-        File clusterConf = new File( etcDir + File.separator + brandingToken + ".clusters" );
-        String clustersString;
-        if ( etcClustersFile != null )
-        {
-            clustersString = FileUtils.fileRead( etcClustersFile, "UTF-8" );
-        }
-        else
-        {
-            clusterConf.createNewFile();
-            StringBuilder buffer = new StringBuilder();
-            File[] clusters = buildDir.listFiles( new FileFilter()
-            {
-
-                @Override
-                public boolean accept( File pathname )
-                {
-                    return new File( pathname, ".lastModified" ).exists();
-                }
-            } );
-            for ( File cluster : clusters )
-            {
-                buffer.append( cluster.getName() );
-                buffer.append( "\n" );
-            }
-            clustersString = buffer.toString();
-        }
-
-        FileUtils.fileWrite( clusterConf.getAbsolutePath(), clustersString );
-
-        File confFile = etcConfFile;
-        String str;
-        if ( confFile == null )
-        {
-            File harnessDir = new File( buildDir, "harness" );
-            // app.conf contains default options and other settings
-            confFile = new File(
-                    harnessDir.getAbsolutePath() + File.separator + "etc" + File.separator + "app.conf" );
-            if ( confFile.exists() )
-            {
-                str = FileUtils.fileRead( confFile, "UTF-8" );
-            }
-            else 
-            {
-                getLog().debug( "Using fallback app.conf shipping with the nbm-maven-plugin." );
-                InputStream instream = null;
-                try
-                {
-                    instream = getClass().getClassLoader().getResourceAsStream( "harness/etc/app.conf" );
-                    str = IOUtil.toString( instream, "UTF-8" );
-                }
-                finally
-                {
-                    IOUtil.close( instream );
-                }
-            }
-        }
-        else
-        {
-            str = FileUtils.fileRead( confFile, "UTF-8" );
-        }
-        File confDestFile = new File(
-            etcDir.getAbsolutePath() + File.separator + brandingToken + ".conf" );
-
-        str = str.replace( "${branding.token}", brandingToken );
-        FileUtils.fileWrite( confDestFile.getAbsolutePath(), "UTF-8", str );
-
-        File destBinDir = new File( buildDir + File.separator + "bin" );
-        destBinDir.mkdir();
-
-        File binDir;
-        File destExeW = new File( destBinDir, brandingToken + "_w.exe" );
-        File destExe = new File( destBinDir, brandingToken + ".exe" );
-        File destExe64 = new File( destBinDir, brandingToken + "64.exe" );
-        File destSh = new File( destBinDir, brandingToken );
-
-        if ( binDirectory != null )
-        {
-            //we have custom launchers.
-            binDir = binDirectory;
-            File[] fls = binDir.listFiles();
-            if ( fls == null )
-            {
-                throw new MojoExecutionException( "Parameter 'binDirectory' has to point to an existing folder." );
-            }
-            for ( File fl : fls )
-            {
-                String name = fl.getName();
-                File dest = null;
-                if ( name.endsWith( "_w.exe" ) ) 
-                {
-                    dest = destExeW;
-                }
-                else if ( name.endsWith( "64.exe" ) )
-                {
-                    dest = destExe64;
-                }
-                else if ( name.endsWith( ".exe" ) )
-                {
-                    dest = destExe;
-                }
-                else if ( !name.contains( "." ) || name.endsWith( ".sh" ) )
-                {
-                    dest = destSh;
-                }
-                if ( dest != null  && fl.exists() ) //in 6.7 the _w.exe file is no more.
-                {
-                    FileUtils.copyFile( fl, dest );
-                }
-                else
-                {
-                    //warn about file not being copied
-                }
-            }
-        }
-        else
-        {
-            File harnessDir = new File( buildDir, "harness" );
-            //we have org-netbeans-modules-apisupport-harness in target area, just use it's own launchers.
-            binDir = new File(
-                    harnessDir.getAbsolutePath() + File.separator + "launchers" );
-            if ( binDir.exists() )
-            {
-                File exe = new File( binDir, "app.exe" );
-                FileUtils.copyFile( exe, destExe );
-                File exe64 = new File( binDir, "app64.exe" );
-                if ( exe64.isFile() )
-                {
-                    FileUtils.copyFile( exe64, destExe64 );
-                }
-                File exew = new File( binDir, "app_w.exe" );
-                if ( exew.exists() ) //in 6.7 the _w.exe file is no more.
-                {
-                    FileUtils.copyFile( exew, destExeW );
-                }
-                File sh = new File( binDir, "app.sh" );
-                FileUtils.copyFile( sh, destSh );
-            }
-            else
-            {
-                File nbm = getHarnessNbm();
-                try (ZipFile zip = new ZipFile( nbm )) {
-                    getLog().debug( "Using fallback executables from downloaded org-netbeans-modules-apisupport-harness nbm file." );
-                    writeFromZip(zip, "netbeans/launchers/app.sh",  destSh, true );
-                    writeFromZip(zip, "netbeans/launchers/app.exe",  destExe, true );
-                    writeFromZip(zip, "netbeans/launchers/app64.exe",  destExe64, false );
-                    writeFromZip(zip, "netbeans/launchers/app_w.exe",  destExeW, false );
-                }
-            }
-        }
-
-        Project antProject = antProject();
-
-        Chmod chmod = (Chmod) antProject.createTask( "chmod" );
-        FileSet fs = new FileSet();
-        fs.setDir( destBinDir );
-        fs.setIncludes( "*" );
-        chmod.addFileset( fs );
-        chmod.setPerm( "755" );
-        chmod.execute();
-    }
-
-    private void writeFile( String path, File destSh )
-        throws IOException
-    {
-        InputStream instream = null;
-        OutputStream output = null;
-        try
-        {
-            instream = getClass().getClassLoader().getResourceAsStream( path );
-            if ( instream == null )
-            {
-                throw new FileNotFoundException( path );
-            }
-            destSh.createNewFile();
-            output = new BufferedOutputStream( new FileOutputStream( destSh ) );
-            IOUtil.copy( instream, output );
-        }
-        finally
-        {
-            IOUtil.close( instream );
-            IOUtil.close( output );
-        }
-    }
-
-    private ClusterTuple processCluster( String cluster, File nbmBuildDirFile, Artifact art )
-    {
-        File clusterFile = new File( nbmBuildDirFile, cluster );
-        boolean newer = false;
-        if ( !clusterFile.exists() )
-        {
-            clusterFile.mkdir();
-            newer = true;
-        }
-        else
-        {
-            File stamp = new File( clusterFile, ".lastModified" );
-            if ( stamp.lastModified() < art.getFile().lastModified() )
-            {
-                newer = true;
-            }
-        }
-        return new ClusterTuple( clusterFile, newer );
-    }
-
-    private void externalDownload( File f, InputStream is )
-        throws IOException
-    {
-        // Cf. org.netbeans.nbbuild.AutoUpdate
-        BufferedReader r = new BufferedReader( new InputStreamReader( is, "UTF-8" ) );
-        long crc = -1;
-        long size = -1;
-        boolean found = false;
-        String line;
-        while ( ( line = r.readLine() ) != null )
-        {
-            if ( line.startsWith( "CRC:" ) )
-            {
-                crc = Long.parseLong( line.substring( 4 ).trim() );
-            }
-            else if ( line.startsWith( "URL:m2:/" ) )
-            {
-                if ( ! found )
-                {
-                    String[] coords = line.substring( 8 ).trim().split( ":" );
-                    Artifact artifact;
-                    if ( coords.length == 4 )
-                    {
-                        artifact = artifactFactory.createArtifact( coords[0], coords[1], coords[2], null, coords[3] );
-                    }
-                    else
-                    {
-                        artifact = artifactFactory.createArtifactWithClassifier( coords[0], coords[1], coords[2], coords[3], coords[4] );
-                    }
-                    try
-                    {
-                        artifactResolver.resolve( artifact, project.getRemoteArtifactRepositories(), localRepository );
-                        FileUtils.copyFile( artifact.getFile(), f );
-                        found = true;
-                    }
-                    catch ( AbstractArtifactResolutionException x )
-                    {
-                        getLog().warn( "Cannot find " + line.substring( 8 ), x );
-                    }
-                }
-            }
-            else if ( line.startsWith( "URL:" ) )
-            {
-                if ( ! found )
-                {
-                    String url = line.substring( 4 ).trim();
-                    try
-                    {
-                        // XXX use Wagon API instead
-                        FileUtils.copyURLToFile( new URL( url ), f );
-                        found = true;
-                    }
-                    catch ( IOException x )
-                    {
-                        getLog().warn( "Cannot download " + url, x );
-                    }
-                }
-            }
-            else if ( line.startsWith( "SIZE:" ) )
-            {
-                size = Long.parseLong( line.substring( 5 ).trim() );
-            }
-            else
-            {
-                getLog().warn( "Unrecognized line: " + line );
-            }
-        }
-        if ( ! found )
-        {
-            throw new IOException( "Could not download " + f );
-        }
-        if ( crc != -1 && crc != crcForFile( f ).getValue() )
-        {
-            throw new IOException( "CRC-32 of " + f + " does not match declared " + crc );
-        }
-        if ( size != -1 && size != f.length() )
-        {
-            throw new IOException( "Size of " + f + " does not match declared " + size );
-        }
-    }
-
-    private File getHarnessNbm() throws MojoExecutionException
-    {
-        @SuppressWarnings( "unchecked" )
-        Set<Artifact> artifacts = project.getArtifacts();
-        String version = null;
-        for (Artifact a : artifacts) {
-            if ( (groupIdPrefix + ".modules").equals(a.getGroupId()) && "org-netbeans-bootstrap".equals(a.getArtifactId())) {
-                version = a.getBaseVersion(); //base version in non-snapshot should equals version, in snapshots to X-SNAPSHOT, not timestamp
-                break;
-            }
-        }
-        if (version == null) {
-            throw new MojoExecutionException( "We could not find org-netbeans-bootstrap among the modules in the application. Launchers could not be found.");
-        }
-        Artifact nbmArt = artifactFactory.createArtifact(
-            groupIdPrefix + ".modules",
-            "org-netbeans-modules-apisupport-harness",
-            version,
-            "compile",
-            "nbm-file");
-        try
-        {
-            artifactResolver.resolve( nbmArt, project.getRemoteArtifactRepositories(), localRepository );
-        }
-
-        catch ( ArtifactResolutionException | ArtifactNotFoundException ex )
-        {
-            throw new MojoExecutionException( "Failed to retrieve the nbm file from repository", ex );
-        }
-        return nbmArt.getFile();
-    }
-
-    private void writeFromZip( final ZipFile zip, String zipPath, File destFile, boolean mandatory ) throws MojoExecutionException, IOException
-    {
-        final ZipEntry path = zip.getEntry( zipPath );
-        if (path == null) {
-            if (mandatory) {
-                throw new MojoExecutionException( zipPath + " not found in " + zip.getName());
-            }
-            getLog().debug(zipPath + " is not present in " + zip.getName());
-            return;
-        }
-        FileUtils.copyStreamToFile( new InputStreamFacade() {
-            
-            @Override
-            public InputStream getInputStream() throws IOException
-            {
-                return zip.getInputStream( path );
-            }
-        }, destFile);
-    }
-
-    private static void addToMap( Map<String, Set<String>> map, String clusterName, List<String> newValues )
-    {
-        Set<String> lst = map.get( clusterName );
-        if ( lst == null )
-        {
-            lst = new HashSet<>();
-            map.put( clusterName, lst );
-        }
-        if ( newValues != null )
-        {
-            lst.addAll( newValues );
-        }
-    }
-    
-    private static List<String> findByDependencies( Map<String, Set<String>> clusterDependencies, String spec)
-    {
-        List<String> toRet = new ArrayList<>();
-        for ( Map.Entry<String, Set<String>> entry : clusterDependencies.entrySet() )
-        {
-            if ( entry.getValue().contains( spec ) )
-            {
-                toRet.add(entry.getKey());
-            }
-        }
-        return toRet;
-    }
-
-    //the basic idea is that bundle's cluster can be determined by who depends on it.
-    //simplest case is when a module depends on it. If there are more, we need to pick one that is "lower in the stack, that's what cluster2depClusters is for.
-    //the rest needs to be determined in more sofisticated manner.
-    //start from bundles with known cluster and see what other bundles they depend on. stamp all these with the same cluster. do it recursively.
-    //At the end process the remaining bundles in reverse order. Check if *they* depend on a bundle with known cluster and so on..
-    //A few unsolved cases:
-    // - we never update the cluster information once a match was found, but there is a possibility that later in the processing the cluster could be "lowered".
-    // - 2 or more modules from unrelated clusters we cannot easily decide, most likely should be in common denominator cluster but our cluster2depClusters map is not transitive, only lists direct dependencies
-    static void assignClustersToBundles( List<BundleTuple> bundles, Set<String> wrappedBundleCNBs, Map<String, Set<String>> clusterDependencies, Map<String, Set<String>> cluster2depClusters, Log log)
-    {
-        List<BundleTuple> toProcess = new ArrayList<>();
-        List<BundleTuple> known = new ArrayList<>();
-        for ( Iterator<BundleTuple> it = bundles.iterator(); it.hasNext(); )
-        {
-            BundleTuple ent = it.next();
-            Artifact art = ent.artifact;
-            ExamineManifest ex = ent.manifest;
-            String spec = ex.getModule();
-            //null check for tests
-            //have a way to force inclusion of osgi items. Direct dependency is never wrapped by modules.
-            if ( art != null && art.getDependencyTrail().size() > 2 && wrappedBundleCNBs.contains( spec ) )
-            {
-                // we already have this one as a wrapped module.
-                log.debug( "Not including bundle " + art.getDependencyConflictId()
-                                    + ". It is already included in a NetBeans module" );
-                it.remove();
-                continue;
-            }
-            List<String> depclusters = findByDependencies(clusterDependencies, spec);
-            if (depclusters.size() == 1) {
-                ent.cluster = depclusters.get( 0 );
-                known.add( ent );
-            } else if (depclusters.isEmpty()) {
-                toProcess.add(ent);
-            } else {
-                //more results.. from 2 dependent clusters pick the one that is lower in the stack.
-                for ( Iterator<String> it2 = depclusters.iterator(); it2.hasNext(); )
-                {
-                    String s = it2.next();
-                    Set<String> depsCs = cluster2depClusters.get( s );
-                    boolean removeS = false;
-                    for (String sDep : depclusters) {
-                        if (s.equals( sDep) ) {
-                            continue;
-                        }
-                        if (depsCs != null && depsCs.contains( sDep ) ) {
-                            removeS = true;
-                        }
-                    }
-                    if (removeS) {
-                        it2.remove();
-                    }
-                }
-                ent.cluster = depclusters.get( 0 ); //TODO still some free room there, what if they don't directly depend on each other but still are related
-                known.add (ent);
-            }
-        }
-        if (!toProcess.isEmpty())
-        {
-            walkKnownBundleDependenciesDown(known, toProcess);
-        }
-        if (!toProcess.isEmpty())
-        {
-            walkKnownBundleDependenciesUp(known, toProcess);
-        }
-    }
-
-    private static void walkKnownBundleDependenciesDown( List<BundleTuple> known, List<BundleTuple> toProcess )
-    {
-        boolean atLeastOneWasFound = false;
-        for ( Iterator<BundleTuple> it = toProcess.iterator(); it.hasNext(); )
-        {
-            BundleTuple bundleTuple = it.next();
-            boolean found = false;
-            for ( BundleTuple knownBT : known)
-            {
-                Sets.SetView<String> is = Sets.intersection(bundleTuple.manifest.getOsgiExports() , knownBT.manifest.getOsgiImports() );
-                if (!is.isEmpty()) {
-                    found = true;
-                    bundleTuple.cluster = knownBT.cluster;
-                    break;
-                }
-                //dependencyTokens are requireBundle - matches the module property
-                is = Sets.intersection(Collections.singleton( bundleTuple.manifest.getModule()), new HashSet(knownBT.manifest.getDependencyTokens()) );
-                if (!is.isEmpty()) {
-                    found = true;
-                    bundleTuple.cluster = knownBT.cluster;
-                    break;
-                }
-                
-            }
-            if (found) {
-                atLeastOneWasFound = true;
-                it.remove();
-                known.add(bundleTuple);
-            }
-            
-        }
-        if (!toProcess.isEmpty() && atLeastOneWasFound) {
-            walkKnownBundleDependenciesDown( known, toProcess );
-        }
-    }
-
-    private static void walkKnownBundleDependenciesUp( List<BundleTuple> known, List<BundleTuple> toProcess )
-    {
-        boolean atLeastOneWasFound = false;
-        for ( Iterator<BundleTuple> it = toProcess.iterator(); it.hasNext(); )
-        {
-            BundleTuple bundleTuple = it.next();
-            boolean found = false;
-            for ( BundleTuple knownBT : known)
-            {
-                Sets.SetView<String> is = Sets.intersection(bundleTuple.manifest.getOsgiImports() , knownBT.manifest.getOsgiExports() );
-                if (!is.isEmpty()) {
-                    found = true;
-                    bundleTuple.cluster = knownBT.cluster;
-                    break;
-                }
-                //dependencyTokens are requireBundle - matches the module property
-                is = Sets.intersection(Collections.singleton( knownBT.manifest.getModule()), new HashSet(bundleTuple.manifest.getDependencyTokens()) );
-                if (!is.isEmpty()) {
-                    found = true;
-                    bundleTuple.cluster = knownBT.cluster;
-                    break;
-                }
-                
-            }
-            if (found) {
-                atLeastOneWasFound = true;
-                it.remove();
-                known.add(bundleTuple);
-            }
-            
-        }
-        if (!toProcess.isEmpty() && atLeastOneWasFound) {
-            walkKnownBundleDependenciesDown( known, toProcess );
-        }
-        if (!toProcess.isEmpty() && atLeastOneWasFound) {
-            walkKnownBundleDependenciesUp( known, toProcess );
-        }
-    }
-
-    //static and default for tests..
-    static Map<String, Set<String>> computeClusterOrdering( Map<String, Set<String>> clusterDependencies, Map<String, Set<String>> clusterModules )
-    {
-        Map<String, Set<String>> cluster2depClusters = new HashMap<>();
-        for ( Map.Entry<String, Set<String>> entry : clusterDependencies.entrySet() )
-        {
-            String cluster = entry.getKey();
-            Set<String> deps = entry.getValue();
-            for (Map.Entry<String, Set<String>> subEnt : clusterModules.entrySet()) {
-                if (subEnt.getKey().equals( cluster) ) {
-                    continue;
-                }
-                Sets.SetView<String> is = Sets.intersection(subEnt.getValue(), deps );
-                if (!is.isEmpty()) {
-                    addToMap( cluster2depClusters, cluster, Collections.singletonList( subEnt.getKey() ) );
-                }
-            }
-        }
-        return cluster2depClusters;
-    }
-    
-    static class BundleTuple {
-        final Artifact artifact;
-        final ExamineManifest manifest;
-        String cluster;
-
-        BundleTuple( Artifact artifact, ExamineManifest manifest )
-        {
-            this.artifact = artifact;
-            this.manifest = manifest;
-        }
-        
-    }
-
-    private static class ClusterTuple
-    {
-        final File location;
-        final boolean newer;
-
-        private ClusterTuple( File clusterFile, boolean newer )
-        {
-            location = clusterFile;
-            this.newer = newer;
-        }
-    }
-
-    static String createBundleConfigFile( String cnb, boolean autoload)
-    {
-        return
-"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
-"<!DOCTYPE module PUBLIC \"-//NetBeans//DTD Module Status 1.0//EN\"\n" +
-"                        \"http://www.netbeans.org/dtds/module-status-1_0.dtd\">\n" +
-"<module name=\"" + cnb +"\">\n" +
-"    <param name=\"autoload\">" + autoload + "</param>\n" +
-"    <param name=\"eager\">false</param>\n" + (autoload ? "" : "    <param name=\"enabled\">true</param>\n") +
-"    <param name=\"jar\">modules/" + cnb.replace( ".", "-") + ".jar</param>\n" +
-"    <param name=\"reloadable\">false</param>\n" +
-"</module>\n";
-    }
-
-    static String createBundleUpdateTracking( String cnb, File moduleArt, File moduleConf, String specVersion )
-        throws FileNotFoundException, IOException
-    {
-
-        return
-"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
-"<module codename=\"" + cnb + "\">\n" +
-"    <module_version install_time=\"" + System.currentTimeMillis() + "\" last=\"true\" origin=\"installer\" specification_version=\"" + specVersion + "\">\n" +
-"        <file crc=\"" + crcForFile( moduleConf ).getValue() + "\" name=\"config/Modules/" + cnb.replace( ".", "-" ) + ".xml\"/>\n" +
-"        <file crc=\"" + crcForFile( moduleArt ).getValue() + "\" name=\"modules/" + cnb.replace( ".", "-" ) + ".jar\"/>\n" +
-"    </module_version>\n" +
-"</module>";
-
-    }
-
-    static CRC32 crcForFile( File inFile )
-        throws FileNotFoundException, IOException
-    {
-        CRC32 crc = new CRC32();
-        try (InputStream inFileStream = new FileInputStream( inFile )) {
-            byte[] array = new byte[(int) inFile.length()];
-            int len = inFileStream.read( array );
-            if ( len != array.length )
-            {
-                throw new IOException( "Cannot fully read " + inFile );
-            }
-            crc.update( array );
-        }
-        return crc;
-    }
-
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterMojo.java
deleted file mode 100644
index d872258..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterMojo.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2004 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Date;
-import java.util.List;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.netbeans.nbm.utils.ExamineManifest;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.filters.StringInputStream;
-import org.apache.tools.ant.taskdefs.Copy;
-import org.apache.tools.ant.types.FileSet;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.io.InputStreamFacade;
-
-/**
- * Create the NetBeans module clusters from reactor.
- * Semi-deprecated; used only for standalone modules and "suites".
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- */
-@Mojo(name="cluster",aggregator=true, requiresDependencyResolution= ResolutionScope.RUNTIME )
-public class CreateClusterMojo
-        extends AbstractNbmMojo
-{
-
-    /**
-     * directory where the the NetBeans cluster will be created.
-     */
-    @Parameter(defaultValue="${project.build.directory}/netbeans_clusters", required=true)
-    protected File nbmBuildDir;
-
-    /**
-     * default cluster value for reactor projects without cluster information,
-     * typically OSGi bundles
-     * @since 3.2
-     */
-    @Parameter(defaultValue="extra")
-    private String defaultCluster;
-    /**
-     * If the executed project is a reactor project, this will contains the full list of projects in the reactor.
-     */
-    @Parameter(required=true, readonly=true, property="reactorProjects")
-    private List<MavenProject> reactorProjects;
-
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-        Project antProject = registerNbmAntTasks();
-
-        if ( !nbmBuildDir.exists() )
-        {
-            nbmBuildDir.mkdirs();
-        }
-
-        if ( reactorProjects != null && reactorProjects.size() > 0 )
-        {
-            for ( MavenProject proj : reactorProjects )
-            {
-                //TODO how to figure where the the buildDir/nbm directory is
-                File nbmDir = new File( proj.getBasedir(),
-                        "target" + File.separator + "nbm" + File.separator + "netbeans" );
-                if ( nbmDir.exists() )
-                {
-                    Copy copyTask = (Copy) antProject.createTask( "copy" );
-                    copyTask.setTodir( nbmBuildDir );
-                    copyTask.setOverwrite( true );
-                    FileSet set = new FileSet();
-                    set.setDir( nbmDir );
-                    set.createInclude().setName( "**" );
-                    copyTask.addFileset( set );
-
-                    try
-                    {
-                        copyTask.execute();
-                    }
-                    catch ( BuildException ex )
-                    {
-                        getLog().error( "Cannot merge modules into cluster" );
-                        throw new MojoExecutionException(
-                                "Cannot merge modules into cluster", ex );
-                    }
-                }
-                else
-                {
-                    if ( "nbm".equals( proj.getPackaging() ) )
-                    {
-                        String error =
-                            "The NetBeans binary directory structure for "
-                                + proj.getId()
-                                + " is not created yet."
-                                + "\n Please execute 'mvn install nbm:cluster' to build all relevant projects in the reactor.";
-                        throw new MojoFailureException( error );
-                    }
-                    if ( "bundle".equals( proj.getPackaging() ) )
-                    {
-                        Artifact art = proj.getArtifact();
-                        final ExamineManifest mnf = new ExamineManifest( getLog() );
-
-                        File jar = new File( proj.getBuild().getDirectory(), proj.getBuild().getFinalName() + ".jar" );
-                        if ( !jar.exists() )
-                        {
-                            getLog().error( "Skipping " + proj.getId()
-                                                + ". Cannot find the main artifact in output directory." );
-                            continue;
-                        }
-                        mnf.setJarFile( jar );
-                        mnf.checkFile();
-
-                        File cluster = new File( nbmBuildDir, defaultCluster );
-                        getLog().debug( "Copying " + art.getId() + " to cluster " + defaultCluster );
-                        File modules = new File( cluster, "modules" );
-                        modules.mkdirs();
-                        File config = new File( cluster, "config" );
-                        File confModules = new File( config, "Modules" );
-                        confModules.mkdirs();
-                        File updateTracting = new File( cluster, "update_tracking" );
-                        updateTracting.mkdirs();
-
-                        final String cnb = mnf.getModule();
-                        final String cnbDashed = cnb.replace( ".", "-" );
-                        final File moduleArt = new File( modules, cnbDashed + ".jar" ); //do we need the file in some canotical name pattern?
-                        final String specVer = mnf.getSpecVersion();
-                        try
-                        {
-                            FileUtils.copyFile( jar, moduleArt );
-                            final File moduleConf = new File( confModules, cnbDashed + ".xml" );
-                            FileUtils.copyStreamToFile( new InputStreamFacade() {
-                                public InputStream getInputStream() throws IOException
-                                {
-                                    return new StringInputStream( CreateClusterAppMojo.createBundleConfigFile( cnb, mnf.isBundleAutoload() ), "UTF-8" );
-                                }
-                            }, moduleConf );
-                            FileUtils.copyStreamToFile( new InputStreamFacade() {
-                                public InputStream getInputStream() throws IOException
-                                {
-                                    return new StringInputStream( CreateClusterAppMojo.createBundleUpdateTracking( cnb, moduleArt, moduleConf, specVer ), "UTF-8" );
-                                }
-                            }, new File( updateTracting, cnbDashed + ".xml" ) );
-                        }
-                        catch ( IOException exc )
-                        {
-                            getLog().error( exc );
-                        }
-
-                    }
-                }
-            }
-            //in 6.1 the rebuilt modules will be cached if the timestamp is not touched.
-            File[] files = nbmBuildDir.listFiles();
-            for ( int i = 0; i < files.length; i++ )
-            {
-                if ( files[i].isDirectory() )
-                {
-                    File stamp = new File( files[i], ".lastModified" );
-                    if ( !stamp.exists() )
-                    {
-                        try
-                        {
-                            stamp.createNewFile();
-                        }
-                        catch ( IOException ex )
-                        {
-                            ex.printStackTrace();
-                        }
-                    }
-                    stamp.setLastModified( new Date().getTime() );
-                }
-            }
-            getLog().info( "Created NetBeans module cluster(s) at " + nbmBuildDir );
-        }
-        else
-        {
-            throw new MojoExecutionException( "This goal only makes sense on reactor projects." );
-        }
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNbmMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNbmMojo.java
deleted file mode 100644
index d36737f..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNbmMojo.java
+++ /dev/null
@@ -1,406 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2004 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.io.File;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.model.Developer;
-import org.apache.maven.model.License;
-import org.apache.maven.model.Organization;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProjectHelper;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.util.FileUtils;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
-import org.netbeans.nbbuild.MakeNBM;
-import org.netbeans.nbbuild.MakeNBM.Blurb;
-import org.netbeans.nbbuild.MakeNBM.Signature;
-
-/**
- * Create the NetBeans module artifact (nbm file), part of "nbm" lifecycle/packaging.
- * 
- *
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- */
-@Mojo(name="nbm", 
-        requiresProject=true, 
-        threadSafe = true,
-        requiresDependencyResolution= ResolutionScope.RUNTIME, 
-        defaultPhase= LifecyclePhase.PACKAGE )
-public class CreateNbmMojo
-        extends CreateNetBeansFileStructure
-        implements Contextualizable
-{
-
-    /**
-     * keystore location for signing the nbm file
-     */
-    @Parameter(property="keystore")
-    private String keystore;
-    /**
-     * keystore password
-     */
-    @Parameter(property="keystorepass")
-    private String keystorepassword;
-    /**
-     * keystore alias
-     */
-    @Parameter(property="keystorealias")
-    private String keystorealias;
-
-    /**
-     * Boolean parameter denoting if creation of NBM file shall be skipped or not.
-     * If skipped, just the expanded directory for cluster is created
-     * @since 3.0
-     */
-    @Parameter(defaultValue="false", property="maven.nbm.skip")
-    private boolean skipNbm;
-    
-    /**
-     * if true, upon installing the NBM the platform app/IDE restart is requested. Not necessary in most cases.
-     * @since 3.8
-     */
-    @Parameter(defaultValue="false")
-    private boolean requiresRestart;
-    
-    /**
-     * Get homepage URL of the module. Is accessible from NetBeans
-     * UI upon installation, should point to place with additional
-     * information about the functionality. 
-     * @since 3.8
-     */
-    @Parameter(defaultValue="${project.url}")
-    private String homePageUrl;
-    
-    /**
-     * Author of the module. Shown in the Module manager UI.
-     * @since 3.8
-     */
-    @Parameter(defaultValue="${project.organization.name}")
-    private String author;
-    
-    /**
-     * Distribution base URL for the NBM at runtime deployment time.
-     * Note: Usefulness of the parameter is questionable, it doesn't allow for mirrors and
-     * usually when downloading the nbm, one already knows the location anyway.
-     * Please note that the netbeans.org Ant scripts put a dummy url here.
-     * The actual correct value used when constructing update site is
-     * explicitly set there. The general assumption there is that all modules from one update
-     * center come from one base URL. Also see <code>distBase</code> parameter in auto-update mojo.
-     * <p/>
-     * The value is either a direct http protocol based URL that points to
-     * the location under which nbm file will be located, or
-     * <p/>
-     * it allows to create an update site based on maven repository content.
-     * The later created autoupdate site document can use this information and
-     * compose the application from one or multiple maven repositories.
-     * <br/>
-     * Format: id::layout::url same as in maven-deploy-plugin
-     * <br/>
-     * with the 'default' and 'legacy' layouts. (maven2 vs maven1 layout)
-     * <br/>
-     * If the value doesn't contain :: characters,
-     * it's assumed to be the flat structure and the value is just the URL.
-     * 
-     */
-    @Parameter(property="maven.nbm.distributionURL")
-    private String distributionUrl;
-    
-    /**
-     * name of the license applicable to the NBM. The value should be equal across modules with the same license. If the user already agreed to the
-     * same license before, he/she won't be asked again to agree and for multiple one installed at the same time, just one license agreement is shown.
-     * When defined, <code>licenseFile</code> needs to be defined as well.
-     * @since 3.8
-     */
-    @Parameter
-    private String licenseName;
-    
-    /**
-     * path to the license agreement file that will be shown when installing the module. When defined, <code>licenseName</code> needs to be defined as well.
-     * @since 3.8
-     */
-    @Parameter
-    private File licenseFile;
-    
-
-    // <editor-fold defaultstate="collapsed" desc="Component parameters">
-
-    /**
-     * Contextualized.
-     */
-    private PlexusContainer container;
-
-    @Component
-    private ArtifactFactory artifactFactory;
-    /**
-     * Used for attaching the artifact in the project
-     */
-    @Component
-    private MavenProjectHelper projectHelper;
-
-    // end of component params custom code folding
-    // </editor-fold>
-    
-    private final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat ("yyyy/MM/dd");
-
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-        if ( skipNbm )
-        {
-            getLog().info( "Skipping generation of NBM file." );
-            return;
-        }
-
-        if ( "pom".equals( project.getPackaging() ) )
-        {
-            getLog().info(
-                    "Skipping " + project.getId() + ", no nbm:nbm execution for 'pom' packaging" );
-            return;
-        }
-        super.execute();
-
-
-        // 3. generate nbm
-        File nbmFile = new File( nbmBuildDir, finalName + ".nbm" );
-        MakeNBM nbmTask = (MakeNBM) antProject.createTask( "makenbm" );
-        nbmTask.setFile( nbmFile );
-        nbmTask.setProductDir( clusterDir );
-
-        nbmTask.setModule( "modules" + File.separator + moduleJarName + ".jar" );
-        boolean reqRestart = requiresRestart;
-        if (!reqRestart && module.isRequiresRestart()) {
-            reqRestart = module.isRequiresRestart();
-            getLog().warn( "Module descriptor's requiresRestart field is deprecated, use plugin's configuration in pom.xml");
-        }
-        nbmTask.setNeedsrestart( Boolean.toString( reqRestart ) );
-        String moduleAuthor = author;
-        if (module.getAuthor() != null) {
-            moduleAuthor = module.getAuthor();
-            getLog().warn( "Module descriptor's requiresRestart field is deprecated, use plugin's configuration in pom.xml");
-        }
-        nbmTask.setModuleauthor( moduleAuthor );
-        if ( keystore != null && keystorealias != null && keystorepassword != null )
-        {
-            File ks = new File( keystore );
-            if ( !ks.exists() )
-            {
-                getLog().warn( "Cannot find keystore file at " + ks.getAbsolutePath() );
-            }
-            else
-            {
-                Signature sig = nbmTask.createSignature();
-                sig.setKeystore( ks );
-                sig.setAlias( keystorealias );
-                sig.setStorepass( keystorepassword );
-                getLog().debug( "Setup the Ant task to sign the NBM file." );
-            }
-        }
-        else if ( keystore != null || keystorepassword != null || keystorealias != null )
-        {
-            getLog().warn(
-                    "If you want to sign the nbm file, you need to define all three keystore related parameters." );
-        }
-        String licName = licenseName;
-        File licFile = licenseFile;
-        if (module.getLicenseName() != null) {
-            licName = module.getLicenseName();
-            getLog().warn( "Module descriptor's licenseName field is deprecated, use plugin's configuration in pom.xml");
-        }
-        if (module.getLicenseFile() != null) {
-            File lf = new File( project.getBasedir(), module.getLicenseFile() );
-            licFile = lf;
-            getLog().warn( "Module descriptor's licenseFile field is deprecated, use plugin's configuration in pom.xml");
-            
-        }
-        if ( licName != null && licFile != null )
-        {
-            if ( !licFile.exists() || !licFile.isFile() )
-            {
-                getLog().warn( "Cannot find license file at " + licFile.getAbsolutePath() );
-            }
-            else
-            {
-                Blurb lb = nbmTask.createLicense();
-                lb.setFile( licFile );
-                lb.addText( licName );
-            }
-        }
-        else if ( licName != null || licFile != null )
-        {
-            getLog().warn(
-                    "To set license for the nbm, you need to specify both licenseName and licenseFile parameters." );
-        }
-        else
-        {
-            Blurb lb = nbmTask.createLicense();
-            lb.addText( createDefaultLicenseHeader() );
-            lb.addText( createDefaultLicenseText() );
-        }
-        String hpUrl = homePageUrl;
-        if (module.getHomepageUrl() != null) {
-            getLog().warn( "Module descriptor's homePageUrl field is deprecated, use plugin's configuration in pom.xml");
-            hpUrl = module.getHomepageUrl();
-        }
-        if ( hpUrl != null )
-        {
-            nbmTask.setHomepage( hpUrl );
-        }
-        String distribUrl = distributionUrl;
-        if (module.getDistributionUrl() != null) {
-            distribUrl = module.getDistributionUrl();
-            getLog().warn( "Module descriptor's distributionUrl field is deprecated, use plugin's configuration in pom.xml");
-        }
-        if ( distribUrl != null )
-        {
-            ArtifactRepository distRepository = CreateUpdateSiteMojo.getDeploymentRepository(
-                    distribUrl, container, getLog() );
-            String dist = null;
-            if ( distRepository == null )
-            {
-                if ( !distribUrl.contains( "::" ) )
-                {
-                    dist =
-                        distribUrl + ( distribUrl.endsWith( "/" ) ? "" : "/" )
-                            + nbmFile.getName();
-                }
-            }
-            else
-            {
-                Artifact art = artifactFactory.createArtifact(
-                        project.getGroupId(), project.getArtifactId(),
-                        project.getVersion(), null, "nbm-file" );
-
-                dist =
-                    distRepository.getUrl() + ( distRepository.getUrl().endsWith( "/" ) ? "" : "/" )
-                        + distRepository.pathOf( art );
-
-            }
-            nbmTask.setDistribution( dist );
-        }
-        else
-        {
-            nbmTask.setDistribution( nbmFile.getName() );
-        }
-        if ( ! "extra".equals( cluster ) )
-        {
-            nbmTask.setTargetcluster( cluster );
-        }
-        //MNBMODULE-217 avoid using the static DATE_FORMAT variable in MavenNBM.java (in ant harness)
-        nbmTask.setReleasedate( DATE_FORMAT.format(new Date(System.currentTimeMillis())) );
-        try
-        {
-            nbmTask.execute();
-        }
-        catch ( BuildException e )
-        {
-            throw new MojoExecutionException( "Cannot Generate nbm file:" + e.getMessage(), e );
-        }
-        try
-        {
-            File nbmfile = new File( buildDir, nbmFile.getName() );
-            FileUtils.getFileUtils().copyFile( nbmFile, nbmfile );
-            projectHelper.attachArtifact( project, "nbm-file", null, nbmfile );
-        }
-        catch ( IOException ex )
-        {
-            throw new MojoExecutionException( "Cannot copy nbm to build directory", ex );
-        }
-    }
-
-    public void contextualize( Context context )
-            throws ContextException
-    {
-        this.container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
-    }
-
-    private String createDefaultLicenseHeader()
-    {
-        String organization = "";
-        Organization org = project.getOrganization();
-        if (org != null) {
-            organization = org.getName();
-}
-        if (organization == null) {
-            List devs = project.getDevelopers();
-            if (devs.size() > 0) {
-                Iterator dvs = devs.iterator();
-                String devsString = "";
-                while (dvs.hasNext()) {
-                    Developer d = ( Developer )dvs.next();
-                    devsString = devsString + "," + d.getName() != null ? d.getName() : d.getId();
-                }
-                organization = devsString.substring( 1 );    
-            }
-        }
-        if (organization == null) {
-            organization = ""; //what's a good default value?
-        }
-        String date = "";
-        if (project.getInceptionYear() != null) {
-            date = project.getInceptionYear();
-        }
-        String year = Integer.toString( Calendar.getInstance().get( Calendar.YEAR ));
-        if (!year.equals( date ) ) {
-            date = date.length() == 0 ? year : date + "-" + year;
-        }
-        return "Copyright " + organization + " " + date;
-    }
-    
-    private String createDefaultLicenseText() {
-        String toRet = "License terms:\n";
-        
-        List licenses = project.getLicenses();
-        if (licenses != null && licenses.size() > 0) {
-            Iterator lic = licenses.iterator();
-            while (lic.hasNext()) {
-                License ll = ( License )lic.next();
-                
-                if (ll.getName() != null) {
-                   toRet = toRet + ll.getName() + " - "; 
-                }
-                if (ll.getUrl() != null) {
-                    toRet = toRet + ll.getUrl();
-                }
-                if (lic.hasNext()) {
-                    toRet = toRet + ",\n";
-                }
-            }
-        } else {
-           toRet = toRet + "Unknown";
-        }
-        return toRet;
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNetBeansFileStructure.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNetBeansFileStructure.java
deleted file mode 100644
index 8b42e0e..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNetBeansFileStructure.java
+++ /dev/null
@@ -1,660 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2004 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.io.*;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.jar.Attributes;
-import java.util.jar.JarEntry;
-import java.util.jar.JarInputStream;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Manifest;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-//import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Resource;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.shared.filtering.MavenFilteringException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.filtering.MavenResourcesExecution;
-import org.apache.maven.shared.filtering.MavenResourcesFiltering;
-import org.netbeans.nbm.model.NbmResource;
-import org.netbeans.nbm.model.NetBeansModule;
-import org.netbeans.nbm.utils.ExamineManifest;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.Copy;
-import org.apache.tools.ant.taskdefs.Jar;
-import org.apache.tools.ant.types.FileSet;
-import org.apache.tools.ant.types.Path;
-import org.apache.tools.ant.types.PatternSet;
-import org.apache.tools.ant.util.FileUtils;
-import org.netbeans.nbbuild.CreateModuleXML;
-import org.netbeans.nbbuild.MakeListOfNBM;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.StringUtils;
-import org.netbeans.nbbuild.JHIndexer;
-
-/**
- * Create the NetBeans module directory structure, a prerequisite for nbm creation and cluster creation.
- * 
- *
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- *
- */
-public abstract class CreateNetBeansFileStructure
-        extends AbstractNbmMojo
-{
-
-    /**
-     * NetBeans module assembly build directory.
-     * directory where the the NetBeans jar and nbm file get constructed.
-     */
-    @Parameter(defaultValue="${project.build.directory}/nbm", property="maven.nbm.buildDir")
-    protected File nbmBuildDir;
-    /**
-     * Build directory
-     */
-    @Parameter(required=true, readonly=true, property="project.build.directory")
-    protected File buildDir;
-    /**
-     * Name of the jar packaged by the jar:jar plugin
-     */
-    @Parameter(alias="jarname", property="project.build.finalName")
-    protected String finalName;
-    /**
-     * a NetBeans module descriptor containing dependency information and more..
-     * @deprecated all content from the module descriptor can be defined as plugin configuration now, will be removed in 4.0 entirely
-     */
-    @Parameter(defaultValue="${basedir}/src/main/nbm/module.xml")
-    protected File descriptor;
-    /**
-     * NetBeans module's cluster. Replaces the cluster element in module descriptor.
-     *
-     */
-    @Parameter(required=true, defaultValue="extra")
-    protected String cluster;
-    /**
-     * The location of JavaHelp sources for the project. The documentation
-     * itself is expected to be in the directory structure based on codenamebase of the module.
-     * eg. if your codenamebase is "org.netbeans.modules.apisupport", then the actual docs
-     * files shall go to ${basedir}/src/main/javahelp/org/netbeans/modules/apisupport/docs.
-     * @deprecated Obsolete as of NetBeans 7.0 with &#64;HelpSetRegistration.
-     * @since 2.7
-     */
-    @Deprecated
-    @Parameter(defaultValue="${basedir}/src/main/javahelp")
-    protected File nbmJavahelpSource;
-
-    @Parameter(required=true, readonly=true, property="project")
-    protected MavenProject project;
-
-    /**
-     * A list of additional resources to include in the NBM file.
-     * (Not in the module JAR; see <code>InstalledFileLocator</code> for retrieval.)
-     * Supersedes similarly-named configuration in the module descriptor file.
-     * <p>For example, to include native libraries:</p>
-     *
-     <pre>
-            &lt;nbmResource&gt;
-            &nbsp;&nbsp;&lt;directory&gt;src/main/libs&lt;/directory&gt;
-            &nbsp;&nbsp;&lt;targetPath&gt;modules/lib&lt;/targetPath&gt;
-            &nbsp;&nbsp;&lt;includes&gt;
-            &nbsp;&nbsp;&nbsp;&nbsp;&lt;include&gt;*.dll&lt;/include&gt;
-            &nbsp;&nbsp;&nbsp;&nbsp;&lt;include&gt;*.so&lt;/include&gt;
-            &nbsp;&nbsp;&lt;/includes&gt;
-            &lt;/nbmResource&gt;
-     </pre>
-     *
-     * @since 3.2
-     */
-    @Parameter
-    protected Resource[] nbmResources;
-
-    /**
-     * The character encoding scheme to be applied when filtering nbm resources.
-     *
-     * @since 3.2
-     */
-    @Parameter(property="encoding", defaultValue="${project.build.sourceEncoding}")
-    
-    protected String encoding;
-    
-    /**
-     * Deployment type of the module, allowed values are <code>normal</code>,<code>eager</code>,<code>autoload</code>,
-     * <code>disabled</code>.
-     * <p>
-     * <code>autoload</code> - Such a module is
-     * automatically enabled when some other module requires it and
-     * automatically disabled otherwise.</p>
-     *                     <p><code>eager</code> - This module type gets
-     * automatically enabled when all it's dependencies are
-     * satisfied. Disabled otherwise.</p>
-     *                     <p><code>normal</code> - This is the default
-     * value. This kind of module is enabled/disabled manually by
-     * the user. It installs enabled.</p>
-     *                     <p><code>disabled</code> - This kind of module is enabled/disabled manually by
-     * the user. It installs disabled. Since 3.11</p>
-     *
-     * For details, see <a href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#enablement">Netbeans Module system docs</a>
-     *
-     * Since 3.14, for autoload and eager modules, we automatically set AutoUpdate-Show-In-Client manifest entry to false, if not defined already otherwise in the manifest.
-     * See issue <a href="http://jira.codehaus.org/browse/MNBMODULE-194">MNBMODULE-194</a>
-     *
-     * 
-     * @since 3.8
-     */ 
-    @Parameter(defaultValue="normal")
-    protected String moduleType;
-    
-    /**
-     * codename base of the module, uniquely identifying the module within the NetBeans runtime. usually the package name equivalent.
-     * Can include the major release version.
-     * See <a href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#how-manifest"> NetBeans Module system docs</a>
-     * @since 3.8
-     */
-    @Parameter(defaultValue="${project.groupId}.${project.artifactId}")
-    private String codeNameBase;
-    
-    /**
-     * list of groupId:artifactId pairs describing libraries that go into the nbm file and will only include the .external reference in the nbm
-     * instead of the actual binary. See <a href="http://netbeans.org/bugzilla/show_bug.cgi?id=195041">NetBeans issue #195041</a> for details.
-     * Please note that the scheme will only work for artifacts present in central repository but no effort is made at build time to enforce that.
-     * Additionally at runtime when installing the module, the user has to be online and be capable of reaching central using maven. 
-     * You have been warned.
-     * @since 3.8
-     */ 
-    @Parameter
-    private List<String> externals;
-
-
-    @Component
-    protected MavenResourcesFiltering mavenResourcesFiltering;
-
-    @Parameter(property="session", readonly=true, required=true)
-    protected MavenSession session;
-
-
-    //items used by the CreateNBMMojo.
-    protected Project antProject;
-    protected NetBeansModule module;
-    protected File clusterDir;
-    protected String moduleJarName;
-
-    public void execute()
-            throws MojoExecutionException, MojoFailureException
-    {
-        antProject = registerNbmAntTasks();
-        if ( descriptor != null && descriptor.exists() )
-        {
-            module = readModuleDescriptor( descriptor );
-        } else
-        {
-            module = createDefaultDescriptor( project, false );
-        }
-        //same moduleType related code in NetBeansManifestUpdateMojo.java
-        String type = moduleType;
-        if ("normal".equals(type) && module.getModuleType() != null) {
-            type = module.getModuleType();
-            getLog().warn( "moduleType in module descriptor is deprecated, use the plugin's parameter moduleType");
-        }
-        if (!"normal".equals(type) && !"autoload".equals(type) && !"eager".equals(type) && !"disabled".equals(type)) {
-            getLog().error( "Only 'normal,autoload,eager,disabled' are allowed values in the moduleType parameter");
-        }
-        boolean autoload = "autoload".equals( type );
-        boolean eager = "eager".equals( type );
-        boolean disabled = "disabled".equals( type );
-        // 1. initialization
-        String moduleName = codeNameBase;
-        if (module.getCodeNameBase() != null) {
-            moduleName = module.getCodeNameBase();
-            getLog().warn( "codeNameBase in module descriptor is deprecated, use the plugin's parameter codeNameBase");
-        }
-        moduleName = NetBeansManifestUpdateMojo.stripVersionFromCodebaseName( moduleName.replaceAll( "-", "." ) );
-        moduleJarName = moduleName.replace( '.', '-' );
-        if ( "extra".equals( cluster ) && module.getCluster() != null )
-        {
-            getLog().warn(
-                    "Parameter cluster in module descriptor is deprecated, use the plugin configuration element." );
-            cluster = module.getCluster();
-        }
-        File jarFile = new File( buildDir, finalName + ".jar" );
-        clusterDir = new File( nbmBuildDir, "netbeans" + File.separator + cluster );
-        File moduleJarLocation = new File( clusterDir, "modules" );
-        moduleJarLocation.mkdirs();
-
-        //2. create nbm resources
-        File moduleFile = new File( moduleJarLocation, moduleJarName + ".jar" );
-
-        try
-        {
-            boolean needPlainCopy = false;
-            InputStream is = new FileInputStream( jarFile );
-            try
-            {
-                JarInputStream jis = new JarInputStream( is );
-                Manifest m = jis.getManifest();
-                Attributes a = m.getMainAttributes();
-                String classPath = ( String ) a.remove( new Attributes.Name( "X-Class-Path" ) );
-                if ( classPath == null )
-                {
-                    needPlainCopy = true;
-                }
-                else // MNBMODULE-133
-                {
-                    getLog().info( "Copying module JAR to " + moduleJarLocation + " with manifest updates" );
-                    a.putValue( "Class-Path", classPath );
-                    a.remove( new Attributes.Name( "Maven-Class-Path" ) );
-                    OutputStream os = new FileOutputStream( moduleFile );
-                    try
-                    {
-                        JarOutputStream jos = new JarOutputStream( os, m );
-                        JarEntry entry;
-                        while ( ( entry = jis.getNextJarEntry() ) != null )
-                        {
-                            JarEntry entry2 = new JarEntry( entry );
-                            jos.putNextEntry( entry2 );
-                            int c;
-                            while ( ( c = jis.read() ) != -1 )
-                            {
-                                jos.write( c );
-                            }
-                            jos.closeEntry();
-                        }
-                        jos.finish();
-                        jos.close();
-                    }
-                    finally
-                    {
-                        os.close();
-                    }
-                }
-            }
-            finally
-            {
-                is.close();
-            }
-            if ( needPlainCopy )
-            {
-                getLog().info( "Copying module JAR to " + moduleJarLocation );
-                FileUtils.getFileUtils().copyFile( jarFile, moduleFile, null, true, false );
-            }
-        }
-        catch ( IOException x )
-        {
-            throw new MojoExecutionException( "Cannot copy module jar", x );
-        }
-
-        ExamineManifest modExaminator = new ExamineManifest( getLog() );
-        modExaminator.setJarFile( moduleFile );
-        modExaminator.checkFile();
-        String classpathValue = modExaminator.getClasspath();
-
-        if ( module != null )
-        {
-            // copy libraries to the designated place..
-            @SuppressWarnings("unchecked")
-            List<Artifact> artifacts = project.getRuntimeArtifacts();
-            for ( Artifact artifact : artifacts )
-            {
-                File source = artifact.getFile();
-                
-                String path = NetBeansManifestUpdateMojo.artifactToClassPathEntry( artifact, codeNameBase );
-                
-                if ( classpathValue.contains( path ) )
-                {
-                    File target = new File( moduleJarLocation, path );
-
-                    File targetDir = target.getParentFile();
-                    targetDir.mkdirs();
-
-                    try
-                    {
-                        FileUtils.getFileUtils().copyFile( source, target, null, true, false );
-                        if ( externals != null && externals.contains(artifact.getGroupId() + ":" + artifact.getArtifactId())) // MNBMODULE-138
-                        {
-                            String name = target.getName();
-                            getLog().info( "Using *.external replacement for " + name );
-                            PrintWriter external = new PrintWriter( new File( targetDir, name + ".external" ), "UTF-8" );
-                            try
-                            {
-                                writeExternal( external, artifact );
-                            }
-                            finally
-                            {
-                                external.close();
-                            }
-                        }
-                    }
-                    catch ( IOException ex )
-                    {
-                        getLog().error( "Cannot copy library jar" );
-                        throw new MojoExecutionException( "Cannot copy library jar", ex );
-                    }
-                }
-            }
-            if ( nbmResources != null )
-            {
-                copyNbmResources();
-            }
-            copyDeprecatedNbmResources();
-        }
-
-        //javahelp stuff.
-        if ( nbmJavahelpSource.exists() )
-        {
-            getLog().warn( "src/main/javahelp/ deprecated; use @HelpSetRegistration instead" );
-            File javahelp_target = new File( buildDir, "javahelp" );
-            String javahelpbase = moduleJarName.replace( '-', File.separatorChar ) + File.separator + "docs";
-            String javahelpSearch = "JavaHelpSearch";
-            File b = new File( javahelp_target, javahelpbase );
-            File p = new File( b, javahelpSearch );
-            p.mkdirs();
-            Copy cp = (Copy) antProject.createTask( "copy" );
-            cp.setTodir( javahelp_target );
-            FileSet set = new FileSet();
-            set.setDir( nbmJavahelpSource );
-            cp.addFileset( set );
-            cp.execute();
-            getLog().info( "Generating JavaHelp Index..." );
-
-            JHIndexer jhTask = (JHIndexer) antProject.createTask( "jhindexer" );
-            jhTask.setBasedir( b );
-            jhTask.setDb( p );
-            jhTask.setIncludes( "**/*.html" );
-            jhTask.setExcludes( javahelpSearch );
-            Path path = new Path( antProject );
-            jhTask.setClassPath( path );
-            clearStaticFieldsInJavaHelpIndexer();
-            try
-            {
-                jhTask.execute();
-            }
-            catch ( BuildException e )
-            {
-                getLog().error( "Cannot generate JavaHelp index." );
-                throw new MojoExecutionException( e.getMessage(), e );
-            }
-            File helpJarLocation = new File( clusterDir, "modules/docs" );
-            helpJarLocation.mkdirs();
-            Jar jar = (Jar) antProject.createTask( "jar" );
-            jar.setDestFile( new File( helpJarLocation, moduleJarName + ".jar" ) );
-            set = new FileSet();
-            set.setDir( javahelp_target );
-            jar.addFileset( set );
-            jar.execute();
-        }
-
-        File configDir = new File( clusterDir, "config" + File.separator + "Modules" );
-        configDir.mkdirs();
-        CreateModuleXML moduleXmlTask = (CreateModuleXML) antProject.createTask( "createmodulexml" );
-        moduleXmlTask.setXmldir( configDir );
-        FileSet fs = new FileSet();
-        fs.setDir( clusterDir );
-        fs.setIncludes( "modules" + File.separator + moduleJarName + ".jar" );
-        if ( autoload )
-        {
-            moduleXmlTask.addAutoload( fs );
-        }
-        else if ( eager )
-        {
-            moduleXmlTask.addEager( fs );
-        }
-        else if ( disabled )
-        {
-            moduleXmlTask.addDisabled( fs );
-        }
-        else
-        {
-            moduleXmlTask.addEnabled( fs );
-        }
-        try
-        {
-            moduleXmlTask.execute();
-        }
-        catch ( BuildException e )
-        {
-            getLog().error( "Cannot generate config file." );
-            throw new MojoExecutionException( e.getMessage(), e );
-        }
-        MakeListOfNBM makeTask = (MakeListOfNBM) antProject.createTask( "genlist" );
-        antProject.setNewProperty( "module.name", finalName );
-        antProject.setProperty( "cluster.dir", cluster );
-        FileSet set = makeTask.createFileSet();
-        set.setDir( clusterDir );
-        PatternSet pattern = set.createPatternSet();
-        pattern.setIncludes( "**" );
-        makeTask.setModule( "modules" + File.separator + moduleJarName + ".jar" );
-        makeTask.setOutputfiledir( clusterDir );
-        try
-        {
-            makeTask.execute();
-        }
-        catch ( BuildException e )
-        {
-            getLog().error( "Cannot Generate nbm list" );
-            throw new MojoExecutionException( e.getMessage(), e );
-        }
-
-    }
-
-    private void copyDeprecatedNbmResources()
-        throws BuildException, MojoExecutionException
-    {
-        // copy additional resources..
-        List<NbmResource> ress = module.getNbmResources();
-        if ( ress.size() > 0 )
-        {
-            getLog().warn( "NBM resources defined in module descriptor are deprecated. Please configure NBM resources in plugin configuration." );
-            Copy cp = (Copy) antProject.createTask( "copy" );
-            cp.setTodir( clusterDir );
-            HashMap<File, Collection<FileSet>> customPaths = new HashMap<File, Collection<FileSet>>();
-            boolean hasStandard = false;
-            for ( NbmResource res : ress )
-            {
-                if ( res.getBaseDirectory() != null )
-                {
-                    File base = new File( project.getBasedir(), res.getBaseDirectory() );
-                    FileSet set = new FileSet();
-                    set.setDir( base );
-                    for ( String inc : res.getIncludes() )
-                    {
-                        set.createInclude().setName( inc );
-                    }
-                    for ( String exc : res.getExcludes() )
-                    {
-                        set.createExclude().setName( exc );
-                    }
-
-                    if ( res.getRelativeClusterPath() != null )
-                    {
-                        File path = new File( clusterDir, res.getRelativeClusterPath() );
-                        Collection<FileSet> col = customPaths.get( path );
-                        if ( col == null )
-                        {
-                            col = new ArrayList<FileSet>();
-                            customPaths.put( path, col );
-                        }
-                        col.add( set );
-                    }
-                    else
-                    {
-                        cp.addFileset( set );
-                        hasStandard = true;
-                    }
-                }
-            }
-            try
-            {
-                if ( hasStandard )
-                {
-                    cp.execute();
-                }
-                if ( customPaths.size() > 0 )
-                {
-                    for ( Map.Entry<File, Collection<FileSet>> ent : customPaths.entrySet() )
-                    {
-                        cp = (Copy) antProject.createTask( "copy" );
-                        cp.setTodir( ent.getKey() );
-                        for ( FileSet set : ent.getValue() )
-                        {
-                            cp.addFileset( set );
-                        }
-                        cp.execute();
-                    }
-                }
-            }
-            catch ( BuildException e )
-            {
-                getLog().error( "Cannot copy additional resources into the nbm file" );
-                throw new MojoExecutionException( e.getMessage(), e );
-            }
-        }
-    }
-
-    // repeated invokation of the javahelp indexer (possibly via multiple classloaders)
-    // is causing trouble, residue from previous invokations seems to cause errors
-    // this is a nasty workaround for the problem.
-    // alternatively we could try invoking the indexer from a separate jvm i guess,
-    // ut that's more work.
-    private void clearStaticFieldsInJavaHelpIndexer() // MNBMODULE-51 hack
-    {
-        try
-        {
-            Class clazz = Class.forName( "com.sun.java.help.search.Indexer" );
-            Field fld = clazz.getDeclaredField( "kitRegistry" );
-            fld.setAccessible( true );
-            Hashtable hash = (Hashtable) fld.get( null );
-            hash.clear();
-
-            clazz = Class.forName( "com.sun.java.help.search.HTMLIndexerKit" );
-            fld = clazz.getDeclaredField( "defaultParser" );
-            fld.setAccessible( true );
-            fld.set( null, null);
-
-            fld = clazz.getDeclaredField( "defaultCallback" );
-            fld.setAccessible( true );
-            fld.set( null, null);
-
-        }
-        catch ( IllegalArgumentException ex )
-        {
-            Logger.getLogger( CreateNetBeansFileStructure.class.getName() ).log( Level.SEVERE, null, ex );
-        }
-        catch ( IllegalAccessException ex )
-        {
-            Logger.getLogger( CreateNetBeansFileStructure.class.getName() ).log( Level.SEVERE, null, ex );
-        }
-        catch ( NoSuchFieldException ex )
-        {
-            Logger.getLogger( CreateNetBeansFileStructure.class.getName() ).log( Level.SEVERE, null, ex );
-        }
-        catch ( SecurityException ex )
-        {
-            Logger.getLogger( CreateNetBeansFileStructure.class.getName() ).log( Level.SEVERE, null, ex );
-        }
-        catch ( ClassNotFoundException ex )
-        {
-            Logger.getLogger( CreateNetBeansFileStructure.class.getName() ).log( Level.SEVERE, null, ex );
-        }
-    }
-
-    private void copyNbmResources()
-        throws MojoExecutionException
-    {
-        try
-        {
-            if ( StringUtils.isEmpty( encoding ) && isFilteringEnabled( nbmResources ) )
-            {
-                getLog().warn( "File encoding has not been set, using platform encoding " + ReaderFactory.FILE_ENCODING
-                                   + ", i.e. build is platform dependent!" );
-            }
-            MavenResourcesExecution mavenResourcesExecution =
-                new MavenResourcesExecution( Arrays.asList( nbmResources ), clusterDir, project, encoding,
-                                             Collections.EMPTY_LIST, Collections.EMPTY_LIST, session );
-            mavenResourcesExecution.setEscapeWindowsPaths( true );
-            mavenResourcesFiltering.filterResources( mavenResourcesExecution );
-        }
-        catch ( MavenFilteringException ex )
-        {
-            throw new MojoExecutionException( ex.getMessage(), ex );
-        }
-    }
-
-    /**
-     * Determines whether filtering has been enabled for any resource.
-     *
-     * @param resources The set of resources to check for filtering.
-     * @return <code>true</code> if at least one resource uses filtering, <code>false</code> otherwise.
-     */
-    private boolean isFilteringEnabled( Resource[] resources )
-    {
-        for ( Resource resource : resources )
-        {
-            if ( resource.isFiltering() )
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    static void writeExternal( PrintWriter w, Artifact artifact )
-        throws IOException
-    {
-        w.write( "CRC:" );
-        File file = artifact.getFile();
-        w.write( Long.toString( CreateClusterAppMojo.crcForFile( file ).getValue() ) );
-        w.write( "\nSIZE:" );
-        w.write( Long.toString( file.length() ) );
-        w.write( "\nURL:m2:/" );
-        w.write( artifact.getGroupId() );
-        w.write( ':' );
-        w.write( artifact.getArtifactId() );
-        w.write( ':' );
-        w.write( artifact.getVersion() );
-        w.write( ':' );
-        w.write( artifact.getType() );
-        if ( artifact.getClassifier() != null )
-        {
-            w.write( ':' );
-            w.write( artifact.getClassifier() );
-        }
-        w.write( "\nURL:" );
-        // artifact.repository is null, so cannot use its url, and anyway might be a mirror
-        w.write( /* M3: RepositorySystem.DEFAULT_REMOTE_REPO_URL + '/' */ "http://repo.maven.apache.org/maven2/" );
-        w.write( new DefaultRepositoryLayout().pathOf( artifact ) );
-        w.write( '\n' );
-        w.flush();
-    }
-
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateStandaloneMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateStandaloneMojo.java
deleted file mode 100644
index 48b78c4..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateStandaloneMojo.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- *  Copyright 2008 Johan Andrén.
- * 
- *  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.
- *  under the License.
- */
-package org.netbeans.nbm;
-
-import java.io.File;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.archiver.util.DefaultFileSet;
-import org.codehaus.plexus.archiver.zip.ZipArchiver;
-
-/**
- * Create a standalone application out of the composed clusters of nbm-application
- *
- * @author <a href="mailto:johan.andren@databyran.se">Johan Andrén</a>
- * @author Milos Kleint
- */
-@Mojo(name="standalone-zip", requiresProject=true, threadSafe = true)
-public class CreateStandaloneMojo
-        extends AbstractMojo
-{
-
-    /**
-     * The branding token for the application based on NetBeans platform.
-     */
-    @Parameter(property="netbeans.branding.token", required=true)
-    protected String brandingToken;
-    /**
-     * output directory where the the NetBeans application will be created.
-     */
-    @Parameter(required=true, defaultValue="${project.build.directory}")
-    private File outputDirectory;
-    /**
-     * Name of the zip artifact produced by the goal (without .zip extension)
-     */
-    @Parameter(defaultValue="${project.build.finalName}")
-    private String finalName;
-    /**
-     * The Maven project.
-     */
-    @Parameter(required=true, readonly=true, property="project")
-    private MavenProject project;
-
-    /**
-     * 
-     * @throws MojoExecutionException if an unexpected problem occurs
-     * @throws MojoFailureException if an expected problem occurs
-     */
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-
-        try
-        {
-            File nbmBuildDirFile = new File( outputDirectory, brandingToken );
-
-            ZipArchiver archiver = new ZipArchiver();
-            DefaultFileSet fs = new DefaultFileSet();
-            fs.setDirectory( outputDirectory );
-            fs.setIncludes( new String[] {
-                brandingToken + "/**",
-            } );
-            fs.setExcludes( new String[] {
-                brandingToken + "/bin/*",
-            } );
-            archiver.addFileSet( fs );
-            File bins = new File( nbmBuildDirFile, "bin" );
-            for ( File bin : bins.listFiles() )
-            {
-                archiver.addFile( bin, brandingToken + "/bin/" + bin.getName(), 0755 );
-            }
-            File zipFile = new File( outputDirectory, finalName + ".zip" );
-            //TODO - somehow check for last modified content to see if we shall be
-            //recreating the zip file.
-            archiver.setDestFile( zipFile );
-            archiver.setForced( false );
-            archiver.createArchive();
-            project.getArtifact().setFile( zipFile );
-
-        }
-        catch ( Exception ex )
-        {
-            throw new MojoExecutionException( "", ex );
-        }
-
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateUpdateSiteMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateUpdateSiteMojo.java
deleted file mode 100644
index e959457..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateUpdateSiteMojo.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2004 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.io.File;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectHelper;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.Copy;
-import org.apache.tools.ant.types.FileSet;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.archiver.gzip.GZipArchiver;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
-import org.netbeans.nbbuild.MakeUpdateDesc;
-
-/**
- * Create the NetBeans auto update site definition.
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- *
- */
-@Mojo(name="autoupdate", 
-        defaultPhase= LifecyclePhase.PACKAGE, 
-        aggregator=true, 
-        requiresDependencyResolution= ResolutionScope.RUNTIME )
-public class CreateUpdateSiteMojo
-        extends AbstractNbmMojo
-        implements Contextualizable
-{
-
-    /**
-     * output directory.
-     */
-    @Parameter(required=true, defaultValue="${project.build.directory}")
-    protected File outputDirectory;
-    /**
-     * autoupdate site xml file name.
-     */
-    @Parameter( defaultValue="updates.xml", property="maven.nbm.updatesitexml")
-    protected String fileName;
-    /**
-     * A custom distribution base for the nbms in the update site.
-     * If NOT defined, the update site will use a simple relative URL, which is generally what you want.
-     * Defining it as "auto" will pick up the distribution URL from each NBM, which is generally wrong. 
-     * See <code>distributionUrl</code> in nbm mojo for what url will be used in that case.
-     * <p/>
-     * The value is either a direct http protocol based URL that points to
-     * the location under which all nbm files are located, or
-     * <p/>
-     * allows to create an update site based on maven repository content.
-     * The resulting autoupdate site document can be uploaded as tar.gz to repository as well
-     * as attached artifact to the 'nbm-application' project.
-     * <br/>
-     * Format: id::layout::url same as in maven-deploy-plugin
-     * <br/>
-     * with the 'default' and 'legacy' layouts. (maven2 vs maven1 layout)
-     * <br/>
-     * If the value doesn't contain :: characters,
-     * it's assumed to be the flat structure and the value is just the URL.
-     * 
-     * @since 3.0 it's also possible to add remote repository as base
-     */
-    @Parameter(defaultValue=".", property="maven.nbm.customDistBase")
-    private String distBase;
-
-    /**
-     * The Maven Project.
-     *
-     */
-    @Parameter(required=true, readonly=true, property="project")
-    private MavenProject project;
-
-    /**
-     * If the executed project is a reactor project, this will contains the full list of projects in the reactor.
-     */
-    @Parameter(required=true, readonly=true, defaultValue="${reactorProjects}")
-    private List reactorProjects;
-    
-    /**
-     * List of Ant style patterns on artifact GA (groupID:artifactID) that should be included in the update site.
-     * Eg. org.netbeans.* matches all artifacts with any groupID starting with 'org.netbeans.',
-     * org.*:api will match any artifact with artifactId of 'api' and groupId starting with 'org.'
-     * @since 3.14
-     */
-    @Parameter
-    private List<String> updateSiteIncludes;
-    
-
-    // <editor-fold defaultstate="collapsed" desc="Component parameters">
-
-    @Component
-    private ArtifactFactory artifactFactory;
-    /**
-     * Contextualized.
-     */
-    private PlexusContainer container;
-    /**
-     * Used for attaching the artifact in the project
-     *
-     */
-    @Component
-    private MavenProjectHelper projectHelper;
-
-    @Component
-    private ArtifactResolver artifactResolver;
-
-    /**
-     * Local maven repository.
-     *
-     */
-    @Parameter(readonly=true, required=true, defaultValue="${localRepository}")
-    protected ArtifactRepository localRepository;
-
-    // </editor-fold>
-
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-        Project antProject = registerNbmAntTasks();
-        File nbmBuildDirFile = new File( outputDirectory, "netbeans_site" );
-        if ( !nbmBuildDirFile.exists() )
-        {
-            nbmBuildDirFile.mkdirs();
-        }
-
-        boolean isRepository = false;
-        if ( "auto".equals( distBase ) )
-        {
-            distBase = null;
-        }
-        ArtifactRepository distRepository = getDeploymentRepository( distBase, container, getLog() );
-        String oldDistBase = null;
-        if ( distRepository != null )
-        {
-            isRepository = true;
-        }
-        else
-        {
-            if ( distBase != null && !distBase.contains( "::" ) )
-            {
-                oldDistBase = distBase;
-            }
-        }
-
-        if ( "nbm-application".equals( project.getPackaging() ) )
-        {
-            @SuppressWarnings( "unchecked" )
-            Set<Artifact> artifacts = project.getArtifacts();
-            for ( Artifact art : artifacts )
-            {
-                if (!matchesIncludes(art)) {
-                    continue;
-                }
-                ArtifactResult res =
-                    turnJarToNbmFile( art, artifactFactory, artifactResolver, project, localRepository );
-                if ( res.hasConvertedArtifact() )
-                {
-                    art = res.getConvertedArtifact();
-                }
-
-                if ( art.getType().equals( "nbm-file" ) )
-                {
-                    Copy copyTask = (Copy) antProject.createTask( "copy" );
-                    copyTask.setOverwrite( true );
-                    copyTask.setFile( art.getFile() );
-                    if ( !isRepository )
-                    {
-                        copyTask.setFlatten( true );
-                        copyTask.setTodir( nbmBuildDirFile );
-                    }
-                    else
-                    {
-                        String path = distRepository.pathOf( art );
-                        File f = new File( nbmBuildDirFile, path.replace( '/', File.separatorChar ) );
-                        copyTask.setTofile( f );
-                    }
-                    try
-                    {
-                        copyTask.execute();
-                    }
-                    catch ( BuildException ex )
-                    {
-                        throw new MojoExecutionException( "Cannot merge nbm files into autoupdate site", ex );
-                    }
-
-                }
-                if ( res.isOSGiBundle() )
-                {
-                    // TODO check for bundles
-                }
-            }
-            getLog().info( "Created NetBeans module cluster(s) at " + nbmBuildDirFile.getAbsoluteFile() );
-
-        }
-        else if ( reactorProjects != null && reactorProjects.size() > 0 )
-        {
-
-            Iterator it = reactorProjects.iterator();
-            while ( it.hasNext() )
-            {
-                MavenProject proj = (MavenProject) it.next();
-                //TODO how to figure where the the buildDir/nbm directory is
-                File moduleDir = proj.getFile().getParentFile();
-                if ( moduleDir != null && moduleDir.exists() )
-                {
-                    Copy copyTask = (Copy) antProject.createTask( "copy" );
-                    if ( !isRepository )
-                    {
-                        FileSet fs = new FileSet();
-                        File projOutputDirectory = new File( proj.getBuild().getDirectory() );
-                        fs.setDir( projOutputDirectory );
-                        fs.createInclude().setName( "*.nbm" );
-                        copyTask.addFileset( fs );
-                        copyTask.setOverwrite( true );
-                        copyTask.setFlatten( true );
-                        copyTask.setTodir( nbmBuildDirFile );
-                    }
-                    else
-                    {
-                        File target = new File( proj.getBuild().getDirectory() );
-                        boolean has = false;
-                        File[] fls = target.listFiles();
-                        if ( fls != null )
-                        {
-                            for ( File fl : fls )
-                            {
-                                if ( fl.getName().endsWith( ".nbm" ) )
-                                {
-                                    copyTask.setFile( fl );
-                                    has = true;
-                                    break;
-                                }
-                            }
-                        }
-                        if ( !has )
-                        {
-                            continue;
-                        }
-                        Artifact art =
-                            artifactFactory.createArtifact( proj.getGroupId(), proj.getArtifactId(), proj.getVersion(),
-                                                            null, "nbm-file" );
-                        String path = distRepository.pathOf( art );
-                        File f = new File( nbmBuildDirFile, path.replace( '/', File.separatorChar ) );
-                        copyTask.setTofile( f );
-                    }
-                    try
-                    {
-                        copyTask.execute();
-                    }
-                    catch ( BuildException ex )
-                    {
-                        throw new MojoExecutionException( "Cannot merge nbm files into autoupdate site", ex );
-                    }
-                }
-            }
-        }
-        else
-        {
-            throw new MojoExecutionException(
-                    "This goal only makes sense on reactor projects or project with 'nbm-application' packaging." );
-
-        }
-        MakeUpdateDesc descTask = (MakeUpdateDesc) antProject.createTask( "updatedist" );
-        File xmlFile = new File( nbmBuildDirFile, fileName );
-        descTask.setDesc( xmlFile );
-        if ( oldDistBase != null )
-        {
-            descTask.setDistBase( oldDistBase );
-        }
-        if ( distRepository != null )
-        {
-            descTask.setDistBase( distRepository.getUrl() );
-        }
-        FileSet fs = new FileSet();
-        fs.setDir( nbmBuildDirFile );
-        fs.createInclude().setName( "**/*.nbm" );
-        descTask.addFileset( fs );
-        try
-        {
-            descTask.execute();
-        }
-        catch ( BuildException ex )
-        {
-            throw new MojoExecutionException( "Cannot create autoupdate site xml file", ex );
-        }
-        getLog().info( "Generated autoupdate site content at " + nbmBuildDirFile.getAbsolutePath() );
-
-        try
-        {
-            GZipArchiver gz = new GZipArchiver();
-            gz.addFile( xmlFile, fileName );
-            File gzipped = new File( nbmBuildDirFile, fileName + ".gz" );
-            gz.setDestFile( gzipped );
-            gz.createArchive();
-            if ( "nbm-application".equals( project.getPackaging() ) )
-            {
-                projectHelper.attachArtifact( project, "xml.gz", "updatesite", gzipped );
-            }
-        }
-        catch ( Exception ex )
-        {
-            throw new MojoExecutionException( "Cannot create gzipped version of the update site xml file.", ex );
-        }
-
-    }
-
-    private static final Pattern ALT_REPO_SYNTAX_PATTERN = Pattern.compile( "(.+)::(.+)::(.+)" );
-
-    static ArtifactRepository getDeploymentRepository( String distBase, PlexusContainer container, Log log )
-        throws MojoExecutionException, MojoFailureException
-    {
-
-        ArtifactRepository repo = null;
-
-        if ( distBase != null )
-        {
-
-            Matcher matcher = ALT_REPO_SYNTAX_PATTERN.matcher( distBase );
-
-            if ( !matcher.matches() )
-            {
-                if ( !distBase.contains( "::" ) )
-                {
-                    //backward compatibility gag.
-                    return null;
-                }
-                throw new MojoFailureException( distBase,
-                        "Invalid syntax for repository.",
-                        "Invalid syntax for alternative repository. Use \"id::layout::url\"." );
-            }
-            else
-            {
-                String id = matcher.group( 1 ).trim();
-                String layout = matcher.group( 2 ).trim();
-                String url = matcher.group( 3 ).trim();
-
-                ArtifactRepositoryLayout repoLayout;
-                try
-                {
-                    repoLayout = (ArtifactRepositoryLayout) container.lookup( ArtifactRepositoryLayout.ROLE, layout );
-                }
-                catch ( ComponentLookupException e )
-                {
-                    throw new MojoExecutionException( "Cannot find repository layout: " + layout, e );
-                }
-
-                repo = new DefaultArtifactRepository( id, url, repoLayout );
-            }
-        }
-        return repo;
-    }
-
-    public void contextualize( Context context )
-        throws ContextException
-    {
-        this.container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
-    }
-
-    private boolean matchesIncludes( Artifact art )
-    {
-        if (updateSiteIncludes != null) {
-            String s = art.getGroupId() + ":" + art.getArtifactId();
-            for (String p : updateSiteIncludes) {
-                //TODO optimize and only do once per execution.
-                p = p.replace(".", "\\.").replace( "*", ".*");
-                Pattern patt = Pattern.compile( p );
-                if (patt.matcher( s).matches()) {
-                    return true;
-                }
-            }
-            return false;    
-        }
-        return true;
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateWebstartAppMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateWebstartAppMojo.java
deleted file mode 100644
index 0ad1add..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateWebstartAppMojo.java
+++ /dev/null
@@ -1,698 +0,0 @@
-/*
- *  Copyright 2008 Johan Andrén.
- * 
- *  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.
- *  under the License.
- */
-package org.netbeans.nbm;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.URL;
-import java.util.Properties;
-import java.util.StringTokenizer;
-import java.util.jar.Attributes;
-import java.util.jar.JarFile;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectHelper;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.GenerateKey;
-import org.apache.tools.ant.taskdefs.SignJar;
-import org.apache.tools.ant.taskdefs.Taskdef;
-import org.apache.tools.ant.types.FileSet;
-import org.apache.tools.ant.types.Parameter;
-import org.apache.tools.ant.types.selectors.AndSelector;
-import org.apache.tools.ant.types.selectors.FilenameSelector;
-import org.apache.tools.ant.types.selectors.OrSelector;
-import org.codehaus.plexus.archiver.zip.ZipArchiver;
-import org.codehaus.plexus.components.io.resources.PlexusIoResource;
-import org.codehaus.plexus.util.DirectoryScanner;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.InterpolationFilterReader;
-import org.netbeans.nbbuild.MakeJNLP;
-import org.netbeans.nbbuild.ModuleSelector;
-import org.netbeans.nbbuild.VerifyJNLP;
-
-/**
- * Create webstartable binaries for a 'nbm-application'.
- * @author <a href="mailto:johan.andren@databyran.se">Johan Andrén</a>
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- * @since 3.0
- */
-@Mojo(name="webstart-app", defaultPhase= LifecyclePhase.PACKAGE )
-public class CreateWebstartAppMojo
-    extends AbstractNbmMojo
-{
-
-    /**
-     * The Maven project.
-
-     */
-    @org.apache.maven.plugins.annotations.Parameter(required=true, readonly=true, property="project")
-    private MavenProject project;
-
-    @Component
-    protected MavenProjectHelper projectHelper;
-
-    /**
-     * The branding token for the application based on NetBeans platform.
-     */
-    @org.apache.maven.plugins.annotations.Parameter(required=true, property="netbeans.branding.token")
-    protected String brandingToken;
-
-    /**
-     * output directory where the the NetBeans application will be created.
-     */
-    @org.apache.maven.plugins.annotations.Parameter(required=true, defaultValue="${project.build.directory}")
-    private File outputDirectory;
-
-    /**
-     * Ready-to-deploy WAR containing application in JNLP packaging.
-     * 
-     */
-    @org.apache.maven.plugins.annotations.Parameter(required=true, defaultValue="${project.build.directory}/${project.artifactId}-${project.version}-jnlp.war")
-    private File destinationFile;
-
-    /**
-     * Artifact Classifier to use for the webstart distributable zip file.
-     * @since 3.1
-     */
-    @org.apache.maven.plugins.annotations.Parameter(defaultValue="webstart", property="nbm.webstart.classifier")
-    private String webstartClassifier;
-
-    /**
-     * Codebase value within *.jnlp files.
-     * <strong>Defining this parameter is generally a bad idea.</strong>
-     */
-    @org.apache.maven.plugins.annotations.Parameter(property="nbm.webstart.codebase")
-    private String codebase;
-
-    /**
-     * A custom master JNLP file. If not defined, the 
-     * <a href="http://mojo.codehaus.org/nbm-maven-plugin/masterjnlp.txt">default one</a> is used.
-     * The following expressions can be used within the file and will
-     * be replaced when generating content.
-     * <ul>
-     * <li>${jnlp.resources}</li>
-     * <li>${jnlp.codebase} - the 'codebase' parameter value is passed in.</li>
-     * <li>${app.name}</li>
-     * <li>${app.title}</li>
-     * <li>${app.vendor}</li>
-     * <li>${app.description}</li>
-     * <li>${branding.token} - the 'brandingToken' parameter value is passed in.</li>
-     * <li>${netbeans.jnlp.fixPolicy}</li>
-     * </ul>
-     */
-    @org.apache.maven.plugins.annotations.Parameter
-    private File masterJnlpFile;
-    
-    /**
-     * The basename (minus .jnlp extension) of the master JNLP file in the output.
-     * This file will be the entry point for javaws.
-     * Defaults to the branding token.
-     * @since 3.5
-     */
-    @org.apache.maven.plugins.annotations.Parameter(property="master.jnlp.file.name")
-    private String masterJnlpFileName;
-
-    /**
-     * keystore location for signing the nbm file
-     */
-    @org.apache.maven.plugins.annotations.Parameter(property="keystore")
-    private String keystore;
-
-    /**
-     * keystore password
-     */
-    @org.apache.maven.plugins.annotations.Parameter(property="keystorepass")
-    private String keystorepassword;
-
-    /**
-     * keystore alias
-     */
-    @org.apache.maven.plugins.annotations.Parameter(property="keystorealias")
-    private String keystorealias;
-
-    /**
-     * keystore type
-     * @since 3.5
-     */
-    @org.apache.maven.plugins.annotations.Parameter(property="keystoretype")
-    private String keystoretype;
-
-    /**
-     * If set true, build-jnlp target creates versioning info in jnlp descriptors and version.xml files.
-     * This allows for incremental updates of Webstart applications, but requires download via
-     * JnlpDownloadServlet
-     * Defaults to false, which means versioning
-     * info is not generated (see
-     * http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/downloadservletguide.html#resources).
-     *
-     */
-    @org.apache.maven.plugins.annotations.Parameter(defaultValue="false", property="nbm.webstart.versions")
-    private boolean processJarVersions;
-    /**
-     * additional command line arguments. Eg.
-     * -J-Xdebug -J-Xnoagent -J-Xrunjdwp:transport=dt_socket,suspend=n,server=n,address=8888
-     * can be used to debug the IDE.
-     */
-    @org.apache.maven.plugins.annotations.Parameter(property="netbeans.run.params")
-    private String additionalArguments;
-
-    /**
-     * 
-     * @throws MojoExecutionException if an unexpected problem occurs
-     * @throws MojoFailureException if an expected problem occurs
-     */
-    @Override
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-        if ( !"nbm-application".equals( project.getPackaging() ) )
-        {
-            throw new MojoExecutionException(
-                "This goal only makes sense on project with nbm-application packaging." );
-        }
-        Project antProject = antProject();
-        
-        getLog().warn( "WARNING: Unsigned and self-signed WebStart applications are deprecated from JDK7u21 onwards. To ensure future correct functionality please use trusted certificate.");
-
-        if ( keystore != null && keystorealias != null && keystorepassword != null )
-        {
-            File ks = new File( keystore );
-            if ( !ks.exists() )
-            {
-                throw new MojoFailureException( "Cannot find keystore file at " + ks.getAbsolutePath() );
-            }
-            else
-            {
-                //proceed..
-            }
-        }
-        else if ( keystore != null || keystorepassword != null || keystorealias != null )
-        {
-            throw new MojoFailureException(
-                "If you want to sign the jnlp application, you need to define all three keystore related parameters." );
-        }
-        else
-        {
-            File generatedKeystore = new File( outputDirectory, "generated.keystore" );
-            if ( ! generatedKeystore.exists() )
-            {
-                getLog().warn( "Keystore related parameters not set, generating a default keystore." );
-                GenerateKey genTask = (GenerateKey) antProject.createTask( "genkey" );
-                genTask.setAlias( "jnlp" );
-                genTask.setStorepass( "netbeans" );
-                genTask.setDname( "CN=" + System.getProperty( "user.name" ) );
-                genTask.setKeystore( generatedKeystore.getAbsolutePath() );
-                genTask.execute();
-            }
-            keystore = generatedKeystore.getAbsolutePath();
-            keystorepassword = "netbeans";
-            keystorealias = "jnlp";
-        }
-
-        Taskdef taskdef = (Taskdef) antProject.createTask( "taskdef" );
-        taskdef.setClassname( "org.netbeans.nbbuild.MakeJNLP" );
-        taskdef.setName( "makejnlp" );
-        taskdef.execute();
-
-        taskdef = (Taskdef) antProject.createTask( "taskdef" );
-        taskdef.setClassname( "org.netbeans.nbbuild.VerifyJNLP" );
-        taskdef.setName( "verifyjnlp" );
-        taskdef.execute();
-
-
-        try
-        {
-            File webstartBuildDir = new File(
-                outputDirectory + File.separator + "webstart" + File.separator + brandingToken );
-            if ( webstartBuildDir.exists() )
-            {
-                FileUtils.deleteDirectory( webstartBuildDir );
-            }
-            webstartBuildDir.mkdirs();
-            final String localCodebase = codebase != null ? codebase : webstartBuildDir.toURI().toString();
-            getLog().info( "Generating webstartable binaries at " + webstartBuildDir.getAbsolutePath() );
-
-            File nbmBuildDirFile = new File( outputDirectory, brandingToken );
-
-//            FileUtils.copyDirectoryStructureIfModified( nbmBuildDirFile, webstartBuildDir );
-
-            MakeJNLP jnlpTask = (MakeJNLP) antProject.createTask( "makejnlp" );
-            jnlpTask.setDir( webstartBuildDir );
-            jnlpTask.setCodebase( localCodebase );
-            //TODO, how to figure verify excludes..
-            jnlpTask.setVerify( false );
-            jnlpTask.setPermissions( "<security><all-permissions/></security>" );
-            jnlpTask.setSignJars( true );
-
-            jnlpTask.setAlias( keystorealias );
-            jnlpTask.setKeystore( keystore );
-            jnlpTask.setStorePass( keystorepassword );
-            if ( keystoretype != null )
-            {
-                jnlpTask.setStoreType( keystoretype );
-            }
-            jnlpTask.setProcessJarVersions( processJarVersions );
-
-            FileSet fs = jnlpTask.createModules();
-            fs.setDir( nbmBuildDirFile );
-            OrSelector or = new OrSelector();
-            AndSelector and = new AndSelector();
-            FilenameSelector inc = new FilenameSelector();
-            inc.setName( "*/modules/**/*.jar" );
-            or.addFilename( inc );
-            inc = new FilenameSelector();
-            inc.setName( "*/lib/**/*.jar" );
-            or.addFilename( inc );
-            inc = new FilenameSelector();
-            inc.setName( "*/core/**/*.jar" );
-            or.addFilename( inc );
-
-            ModuleSelector ms = new ModuleSelector();
-            Parameter included = new Parameter();
-            included.setName( "includeClusters" );
-            included.setValue( "" );
-            Parameter excluded = new Parameter();
-            excluded.setName( "excludeClusters" );
-            excluded.setValue( "" );
-            Parameter exModules = new Parameter();
-            exModules.setName( "excludeModules" );
-            exModules.setValue( "" );
-            ms.setParameters( new Parameter[]
-                {
-                    included,
-                    excluded,
-                    exModules
-                } );
-            and.add( or );
-            and.add( ms );
-            fs.addAnd( and );
-            jnlpTask.execute();
-
-            //TODO is it really netbeans/
-            String extSnippet = generateExtensions( fs, antProject, "" ); // "netbeans/"
-
-            if ( masterJnlpFileName == null )
-            {
-               masterJnlpFileName = brandingToken;
-            }
-
-            Properties props = new Properties();
-            props.setProperty( "jnlp.codebase", localCodebase );
-            props.setProperty( "app.name", brandingToken );
-            props.setProperty( "app.title", project.getName() );
-            if ( project.getOrganization() != null )
-            {
-                props.setProperty( "app.vendor", project.getOrganization().getName() );
-            }
-            else
-            {
-                props.setProperty( "app.vendor", "Nobody" );
-            }
-            String description = project.getDescription() != null ? project.getDescription() : "No Project Description";
-            props.setProperty( "app.description", description );
-            props.setProperty( "branding.token", brandingToken );
-            props.setProperty( "master.jnlp.file.name", masterJnlpFileName );
-            props.setProperty( "netbeans.jnlp.fixPolicy", "false" );
-
-            StringBuilder stBuilder = new StringBuilder();
-            if ( additionalArguments != null )
-            {
-                StringTokenizer st = new StringTokenizer( additionalArguments );
-                while ( st.hasMoreTokens() )
-                {
-                    String arg = st.nextToken();
-                    if ( arg.startsWith( "-J" ) )
-                    {
-                        if ( stBuilder.length() > 0 )
-                        {
-                            stBuilder.append( ' ' );
-                        }
-                        stBuilder.append( arg.substring( 2 ) );
-                    }
-                }
-            }
-            props.setProperty( "netbeans.run.params", stBuilder.toString() );
-
-            File masterJnlp = new File(
-                webstartBuildDir.getAbsolutePath() + File.separator + masterJnlpFileName + ".jnlp" );
-            filterCopy( masterJnlpFile, "master.jnlp", masterJnlp, props );
-
-
-            File startup = copyLauncher( outputDirectory, nbmBuildDirFile );
-            File jnlpDestination = new File(
-                webstartBuildDir.getAbsolutePath() + File.separator + "startup.jar" );
-
-            SignJar signTask = (SignJar) antProject.createTask( "signjar" );
-            signTask.setKeystore( keystore );
-            signTask.setStorepass( keystorepassword );
-            signTask.setAlias( keystorealias );
-            if ( keystoretype != null )
-            {
-                signTask.setStoretype( keystoretype );
-            }
-            signTask.setSignedjar( jnlpDestination );
-            signTask.setJar( startup );
-            signTask.execute();
-
-            //branding
-            DirectoryScanner ds = new DirectoryScanner();
-            ds.setBasedir( nbmBuildDirFile );
-            ds.setIncludes( new String[]
-                {
-                    "**/locale/*.jar"
-                } );
-            ds.scan();
-            String[] includes = ds.getIncludedFiles();
-            StringBuilder brandRefs = new StringBuilder();
-            if ( includes != null && includes.length > 0 )
-            {
-                File brandingDir = new File( webstartBuildDir, "branding" );
-                brandingDir.mkdirs();
-                for ( String incBran : includes )
-                {
-                    File source = new File( nbmBuildDirFile, incBran );
-                    File dest = new File( brandingDir, source.getName() );
-                    FileUtils.copyFile( source, dest );
-                    brandRefs.append( "    <jar href=\'branding/" ).append( dest.getName() ).append( "\'/>\n" );
-                }
-
-                signTask = (SignJar) antProject.createTask( "signjar" );
-                signTask.setKeystore( keystore );
-                signTask.setStorepass( keystorepassword );
-                signTask.setAlias( keystorealias );
-                if ( keystoretype != null )
-                {
-                    signTask.setStoretype( keystoretype );
-                }
-                
-                FileSet set = new FileSet();
-                set.setDir( brandingDir );
-                set.setIncludes( "*.jar" );
-                signTask.addFileset( set );
-                signTask.execute();
-            }
-
-            File modulesJnlp = new File(
-                webstartBuildDir.getAbsolutePath() + File.separator + "modules.jnlp" );
-            props.setProperty( "jnlp.branding.jars", brandRefs.toString() );
-            props.setProperty( "jnlp.resources", extSnippet );
-            filterCopy( null, /* filename is historical */"branding.jnlp", modulesJnlp, props );
-
-            getLog().info( "Verifying generated webstartable content." );
-            VerifyJNLP verifyTask = (VerifyJNLP) antProject.createTask( "verifyjnlp" );
-            FileSet verify = new FileSet();
-            verify.setFile( masterJnlp );
-            verifyTask.addConfiguredFileset( verify );
-            verifyTask.execute();
-
-
-            // create zip archive
-            if ( destinationFile.exists() )
-            {
-                destinationFile.delete();
-            }
-            ZipArchiver archiver = new ZipArchiver();
-            if ( codebase != null )
-            {
-                getLog().warn( "Defining <codebase>/${nbm.webstart.codebase} is generally unnecessary" );
-                archiver.addDirectory( webstartBuildDir );
-            }
-            else
-            {
-                archiver.addDirectory( webstartBuildDir, null, new String[] { "**/*.jnlp" } );
-                for ( final File jnlp : webstartBuildDir.listFiles() )
-                {
-                    if ( !jnlp.getName().endsWith( ".jnlp" ) )
-                    {
-                        continue;
-                    }
-                    archiver.addResource( new PlexusIoResource() {
-                        public @Override InputStream getContents() throws IOException
-                        {
-                            return new ByteArrayInputStream( FileUtils.fileRead( jnlp, "UTF-8" ).replace( localCodebase, "$$codebase" ).getBytes( "UTF-8" ) );
-                        }
-                        public @Override long getLastModified()
-                        {
-                            return jnlp.lastModified();
-                        }
-                        public @Override boolean isExisting()
-                        {
-                            return true;
-                        }
-                        public @Override long getSize()
-                        {
-                            return UNKNOWN_RESOURCE_SIZE;
-                        }
-                        public @Override URL getURL() throws IOException
-                        {
-                            return null;
-                        }
-                        public @Override String getName()
-                        {
-                            return jnlp.getAbsolutePath();
-                        }
-                        public @Override boolean isFile()
-                        {
-                            return true;
-                        }
-                        public @Override boolean isDirectory()
-                        {
-                            return false;
-                        }
-
-                        @Override
-                        public boolean isSymbolicLink()
-                        {
-                            return false;
-                        }
-                    }, jnlp.getName(), archiver.getDefaultFileMode() );
-                }
-            }
-            File jdkhome = new File( System.getProperty( "java.home" ) );
-            File servlet = new File( jdkhome, "sample/jnlp/servlet/jnlp-servlet.jar" );
-            if ( ! servlet.isFile() )
-            {
-                servlet = new File( jdkhome.getParentFile(), "sample/jnlp/servlet/jnlp-servlet.jar" );
-            }
-            if ( servlet.isFile() )
-            {
-                archiver.addFile( servlet, "WEB-INF/lib/jnlp-servlet.jar" );
-                archiver.addResource( new PlexusIoResource() {
-                    public @Override InputStream getContents() throws IOException
-                    {
-                        return new ByteArrayInputStream( ( "" +
-                            "<web-app>\n" +
-                            "    <servlet>\n" +
-                            "        <servlet-name>JnlpDownloadServlet</servlet-name>\n" +
-                            "        <servlet-class>jnlp.sample.servlet.JnlpDownloadServlet</servlet-class>\n" +
-                            "    </servlet>\n" +
-                            "    <servlet-mapping>\n" +
-                            "        <servlet-name>JnlpDownloadServlet</servlet-name>\n" +
-                            "        <url-pattern>*.jnlp</url-pattern>\n" +
-                            "    </servlet-mapping>\n" +
-                            "</web-app>\n" ).getBytes() );
-                    }
-                    public @Override long getLastModified()
-                    {
-                        return UNKNOWN_MODIFICATION_DATE;
-                    }
-                    public @Override boolean isExisting()
-                    {
-                        return true;
-                    }
-                    public @Override long getSize()
-                    {
-                        return UNKNOWN_RESOURCE_SIZE;
-                    }
-                    public @Override URL getURL() throws IOException
-                    {
-                        return null;
-                    }
-                    public @Override String getName()
-                    {
-                        return "web.xml";
-                    }
-                    public @Override boolean isFile()
-                    {
-                        return true;
-                    }
-                    public @Override boolean isDirectory()
-                    {
-                        return false;
-                    }
-
-                    @Override
-                    public boolean isSymbolicLink()
-                    {
-                        return false;
-                    }
-                }, "WEB-INF/web.xml", archiver.getDefaultFileMode() );
-            }
-            archiver.setDestFile( destinationFile );
-            archiver.createArchive();
-
-            // attach standalone so that it gets installed/deployed
-            projectHelper.attachArtifact( project, "war", webstartClassifier, destinationFile );
-
-        }
-        catch ( Exception ex )
-        {
-            throw new MojoExecutionException( "Error creating webstartable binary.", ex );
-        }
-    }
-
-    /**
-     * @param standaloneBuildDir
-     * @return The name of the jnlp-launcher jarfile in the build directory
-     */
-    private File copyLauncher( File standaloneBuildDir, File builtInstallation )
-        throws IOException
-    {
-        File jnlpStarter =
-            new File( builtInstallation.getAbsolutePath() + File.separator + "harness" + File.separator + "jnlp"
-                + File.separator + "jnlp-launcher.jar" );
-        // buffer so it isn't reading a byte at a time!
-        InputStream source = null;
-        FileOutputStream outstream = null;
-        try
-        {
-            if ( !jnlpStarter.exists() )
-            {
-                source = getClass().getClassLoader().getResourceAsStream(
-                    "harness/jnlp/jnlp-launcher.jar" );
-            }
-            else
-            {
-                source = new FileInputStream( jnlpStarter );
-            }
-            File jnlpDestination = new File(
-                standaloneBuildDir.getAbsolutePath() + File.separator + "jnlp-launcher.jar" );
-
-            outstream = new FileOutputStream( jnlpDestination );
-            IOUtil.copy( source, outstream );
-            return jnlpDestination;
-        }
-        finally
-        {
-            IOUtil.close( source );
-            IOUtil.close( outstream );
-        }
-    }
-
-    private void filterCopy( File sourceFile, String resourcePath, File destinationFile, Properties filterProperties )
-        throws IOException
-    {
-        // buffer so it isn't reading a byte at a time!
-        Reader source = null;
-        Writer destination = null;
-        try
-        {
-            InputStream instream;
-            if ( sourceFile != null )
-            {
-                instream = new FileInputStream( sourceFile );
-            }
-            else
-            {
-                instream = getClass().getClassLoader().getResourceAsStream( resourcePath );
-            }
-            FileOutputStream outstream = new FileOutputStream( destinationFile );
-
-            source = new BufferedReader( new InputStreamReader( instream, "UTF-8" ) );
-            destination = new OutputStreamWriter( outstream, "UTF-8" );
-
-            // support ${token}
-            Reader reader = new InterpolationFilterReader( source, filterProperties, "${", "}" );
-
-            IOUtil.copy( reader, destination );
-        }
-        finally
-        {
-            IOUtil.close( source );
-            IOUtil.close( destination );
-        }
-    }
-
-    /**
-     * copied from MakeMasterJNLP ant task.
-     * @param files
-     * @param antProject
-     * @param masterPrefix
-     * @return
-     * @throws java.io.IOException
-     */
-    private String generateExtensions( FileSet files, Project antProject, String masterPrefix )
-        throws IOException
-    {
-        StringBuilder buff = new StringBuilder();
-        for ( String nm : files.getDirectoryScanner( antProject ).getIncludedFiles() )
-        {
-            File jar = new File( files.getDir( antProject ), nm );
-
-            if ( !jar.canRead() )
-            {
-                throw new IOException( "Cannot read file: " + jar );
-            }
-
-            JarFile theJar = new JarFile( jar );
-            Attributes attr = theJar.getManifest().getMainAttributes();
-            String codenamebase = attr.getValue( "OpenIDE-Module" );
-            if ( codenamebase == null )
-            {
-                codenamebase = attr.getValue("Bundle-SymbolicName");
-            }
-            if ( codenamebase == null )
-            {
-                throw new IOException( "Not a NetBeans Module: " + jar );
-            }
-            
-            // see http://hg.netbeans.org/main-silver/rev/87823abb86d9
-            if (codenamebase.equals("org.objectweb.asm.all")
-                    && jar.getParentFile().getName().equals("core")
-                    && jar.getParentFile().getParentFile().getName().startsWith("platform")) {
-                continue;
-            }
-            {
-                int slash = codenamebase.indexOf( '/' );
-                if ( slash >= 0 )
-                {
-                    codenamebase = codenamebase.substring( 0, slash );
-                }
-            }
-            String dashcnb = codenamebase.replace( '.', '-' );
-
-            buff.append( "    <extension name='" ).append( codenamebase ).append( "' href='" ).append( masterPrefix ).append( dashcnb ).append( ".jnlp' />\n" );
-            theJar.close();
-        }
-        return buff.toString();
-
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/NetBeansManifestUpdateMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/NetBeansManifestUpdateMojo.java
deleted file mode 100644
index 548c9c3..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/NetBeansManifestUpdateMojo.java
+++ /dev/null
@@ -1,926 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2007 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.io.Reader;
-import java.net.URL;
-import java.text.BreakIterator;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TimeZone;
-import java.util.regex.Pattern;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactCollector;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Component;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.dependency.analyzer.DefaultClassAnalyzer;
-import org.apache.maven.shared.dependency.analyzer.asm.ASMDependencyAnalyzer;
-import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
-import org.apache.maven.shared.dependency.graph.DependencyNode;
-import org.netbeans.nbm.model.Dependency;
-import org.netbeans.nbm.model.NetBeansModule;
-import org.netbeans.nbm.utils.ExamineManifest;
-import org.apache.tools.ant.taskdefs.Manifest;
-import org.apache.tools.ant.taskdefs.ManifestException;
-import org.codehaus.plexus.util.IOUtil;
-
-/**
- * Goal for generating NetBeans module system specific manifest entries, part of <code>nbm</code> lifecycle/packaging.
- *
- * In order to have the generated manifest picked up by the maven-jar-plugin,
- * one shall add the following configuration snippet to maven-jar-plugin.
- * 
- * <pre>
- *  {@code
-   <plugin>
-       <groupId>org.apache.maven.plugins</groupId>
-       <artifactId>maven-jar-plugin</artifactId>
-       <version>3.0.2</version>
-       <configuration>
-           <archive>
-               <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-           </archive>
-       </configuration>
-   </plugin>
- * }
- * </pre>
- *
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- */
-@Mojo(name="manifest", 
-        defaultPhase= LifecyclePhase.PROCESS_CLASSES, 
-        requiresProject=true, 
-        threadSafe = true,
-        requiresDependencyResolution= ResolutionScope.RUNTIME )
-public class NetBeansManifestUpdateMojo
-    extends AbstractNbmMojo
-{
-
-    /**
-     * NetBeans module assembly build directory.
-     * directory where the the NetBeans jar and nbm file get constructed.
-     */
-    @Parameter(defaultValue="${project.build.directory}/nbm", property="maven.nbm.buildDir")
-    protected File nbmBuildDir;
-
-    /**
-     * a NetBeans module descriptor containing dependency information and more
-     * @deprecated all content from the module descriptor can be defined as plugin configuration now, will be removed in 4.0 entirely
-     */
-    @Parameter(defaultValue="${basedir}/src/main/nbm/module.xml")
-    protected File descriptor;
-
-    /**
-     * maven project
-     */
-    @Parameter(required=true, readonly=true, property="project")
-    private MavenProject project;
-
-    /**
-     * The location of JavaHelp sources for the project. The documentation
-     * itself is expected to be in the directory structure based on codenamebase of the module.
-     * eg. if your codenamebase is "org.netbeans.modules.apisupport", then the actual docs
-     * files shall go to ${basedir}/src/main/javahelp/org/netbeans/modules/apisupport/docs.
-     * Obsolete as of NetBeans 7.0 with &#64;HelpSetRegistration.
-     * @since 2.7
-     */
-    @Parameter(defaultValue="${basedir}/src/main/javahelp")
-    protected File nbmJavahelpSource;
-
-    /**
-     * Path to manifest file that will be used as base and enhanced with generated content. Any entry specified in the original file
-     * will not be overwritten
-     * @since 3.0
-     */
-    @Parameter(required=true, defaultValue="${basedir}/src/main/nbm/manifest.mf")
-    private File sourceManifestFile;
-
-    /**
-     * Path to the generated MANIFEST file to use. It will be used by jar:jar plugin.
-     * @since 3.0
-     */
-    @Parameter(required=true, readonly=true, defaultValue="${project.build.outputDirectory}/META-INF/MANIFEST.MF")
-    private File targetManifestFile;
-
-    /**
-     * Verify the runtime NetBeans module dependencies and Class-Path items
-     * generated from Maven dependencies. The check is done by matching classes used
-     * in current project. Allowed values for the parameter are <code>fail</code>, <code>warn</code> and <code>skip</code>.
-     * The default is <code>fail</code> in which case the validation failure results in a failed build,
-     * in the vast majority of cases the module would fail at runtime anyway.
-     *
-     * @since 3.0
-     */
-    @Parameter(property="maven.nbm.verify", defaultValue="fail")
-    private String verifyRuntime;
-    
-    private static final String FAIL = "fail";
-    private static final String WARN = "warn";
-    private static final String SKIP = "skip";
-
-    /**
-     * A list of module's public packages. If not defined, no packages are exported as public.
-     * Allowed values are single package names
-     * or package names ending with .* which represent the package and all subpackages.
-     * <p/>
-     * Eg. "org.kleint.milos.api" designates just the one package, while "org.kleint.milos.spi.*"
-     * denotes the spi package an all it's subpackages.
-     * @since 3.0
-     */
-    @Parameter
-    private List<String> publicPackages;
-
-    /**
-     * When encountering an OSGi bundle among dependencies, the plugin will generate a direct dependency
-     * on the bundle and will not include the bundle's jar into the nbm. Will only work with NetBeans 6.9+ runtime.
-     * Therefore it is off by default.
-     * WARNING: Additionally existing applications/modules need to check modules wrapping
-     * external libraries for library jars that are also OSGi bundles. Such modules will no longer include the OSGi bundles
-     * as part of the module but will include a modular dependency on the bundle. Modules depending on these old wrappers
-     * shall depend directly on the bundle, eventually rendering the old library wrapper module obsolete.
-     *
-     * @since 3.2
-     */
-    @Parameter(defaultValue="false")
-    private boolean useOSGiDependencies;
-    
-    /**
-     * codename base of the module, uniquely identifying the module within the NetBeans runtime. usually the package name equivalent.
-     * Can include the major release version.
-     * See <a href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#how-manifest"> NetBeans Module system docs</a>
-     * @since 3.8
-     */
-    @Parameter(defaultValue="${project.groupId}.${project.artifactId}")
-    private String codeNameBase;
-    
-    /**
-     * List of explicit module dependency declarations overriding the default specification dependency. Useful when depending on a range of major versions,
-     * depending on implementation version etc.
-     * <p>The format is:
-     * <pre>
-     * &lt;dependency&gt;
-     *    &lt;id&gt;groupId:artifactId&lt;/id&gt;
-     *    &lt;type&gt;spec|impl|loose&lt;/type&gt;
-     *    &lt;explicitValue&gt;the entire dependency token&lt;/explicitValue&gt;
-     * &lt;/dependency&gt;
-     * </pre>
-     * </p>
-     * <p>
-     * where <code>id</code> is composed of grouId and artifactId of a dependency defined in effective pom, separated by double colon. This is mandatory.</p>
-     * <p>
-     * Then there are 2 exclusively optional fields <code>type</code> and <code>explicitValue</code>, if both are defined <code>explicitValue</code> gets applied.
-     * </p>
-     * <p><code>type</code> values: <code>spec</code> means specification dependency.That's the default. 
-     * <code>impl</code> means implementation dependency, only the exact version match will satisfy the constraint. 
-     * <code>loose</code> means loose dependency, no requirement on version, the module just has to be present. Not very common option.
-     * 
-     * @since 3.8
-     */
-    @Parameter
-    private Dependency[] moduleDependencies;
-    
-/**
-     * Deployment type of the module, allowed values are <code>normal</code>,<code>eager</code>,<code>autoload</code>,
-     * <code>disabled</code>.
-     * <p>
-     * <code>autoload</code> - Such a module is
-     * automatically enabled when some other module requires it and
-     * automatically disabled otherwise.</p>
-     *                     <p><code>eager</code> - This module type gets
-     * automatically enabled when all it's dependencies are
-     * satisfied. Disabled otherwise.</p>
-     *                     <p><code>normal</code> - This is the default
-     * value. This kind of module is enabled/disabled manually by
-     * the user. It installs enabled.</p>
-     *                     <p><code>disabled</code> - This kind of module is enabled/disabled manually by
-     * the user. It installs disabled. Since 3.11</p>
-     *
-     * For details, see <a href="http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#enablement">Netbeans Module system docs</a>
-     * 
-     * Since 3.14, for autoload and eager modules, we automatically set AutoUpdate-Show-In-Client manifest entry to false, if not defined already otherwise in the manifest.
-     * See issue <a href="http://jira.codehaus.org/browse/MNBMODULE-194">MNBMODULE-194</a>
-     * 
-     * @since 3.8 (3.14 in manifest goal)
-     */ 
-    @Parameter(defaultValue="normal")
-    protected String moduleType;    
-
-    // <editor-fold defaultstate="collapsed" desc="Component parameters">
-
-    /**
-     * The artifact repository to use.
-
-     */
-    @Parameter(required=true, readonly=true, defaultValue="${localRepository}")
-    private ArtifactRepository localRepository;
-
-    /**
-     * The artifact factory to use.
-     */
-    @Component
-    private ArtifactFactory artifactFactory;
-
-    /**
-     * The artifact metadata source to use.
-     */
-    @Component
-    private ArtifactMetadataSource artifactMetadataSource;
-
-    /**
-     * The artifact collector to use.
-     */
-    @Component
-    private ArtifactCollector artifactCollector;
-
-    /**
-     * The dependency tree builder to use.
-     */
-    @Component( hint = "default" )
-    private DependencyGraphBuilder dependencyGraphBuilder;
-
-// end of component params custom code folding
-// </editor-fold> 
-
-    /**
-     * execute plugin
-     * @throws MojoExecutionException if an unexpected problem occurs
-     * @throws MojoFailureException if an expected problem occurs
-     */
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-
-    {
-        //need to do this to chekc for javahelp on CP.
-        super.registerNbmAntTasks();
-        NetBeansModule module;
-        if ( descriptor != null && descriptor.exists() )
-        {
-            module = readModuleDescriptor( descriptor );
-            getLog().warn( "descriptor parameter is deprecated, use equivalent mojo parameters instead.");
-        }
-        else
-        {
-            module = createDefaultDescriptor( project, false );
-        }
-        
-        String mtype = moduleType;
-        //same moduleType related code in CreateNetBeansFileStructure.java
-        if ("normal".equals(mtype) && module.getModuleType() != null) {
-            mtype = module.getModuleType();
-            getLog().warn( "moduleType in module descriptor is deprecated, use the plugin's parameter moduleType");
-        }
-        if (!"normal".equals(mtype) && !"autoload".equals(mtype) && !"eager".equals(mtype) && !"disabled".equals(mtype)) {
-            getLog().error( "Only 'normal,autoload,eager,disabled' are allowed values in the moduleType parameter");
-        }
-        boolean autoload = "autoload".equals( mtype );
-        boolean eager = "eager".equals( mtype );
-        
-
-        String moduleName = codeNameBase;
-        if (module.getCodeNameBase() != null) {
-            moduleName = module.getCodeNameBase();
-            getLog().warn( "codeNameBase in module descriptor is deprecated, use the plugin's parameter codeNameBase");
-        }
-        moduleName = moduleName.replaceAll( "-", "." );
-//<!-- if a NetBeans specific manifest is defined, examine this one, otherwise the already included one.
-// ignoring the case when some of the NetBeans attributes are already defined in the jar and more is included.
-        File specialManifest = sourceManifestFile;
-        File nbmManifest = ( module.getManifest() != null ? new File(
-            project.getBasedir(), module.getManifest() ) : null );
-        if ( nbmManifest != null && nbmManifest.exists() )
-        {
-            //deprecated, but if actually defined, will use it.
-            specialManifest = nbmManifest;
-        }
-        ExamineManifest examinator = new ExamineManifest( getLog() );
-        if ( specialManifest != null && specialManifest.exists() )
-        {
-            examinator.setManifestFile( specialManifest );
-            examinator.checkFile();
-        }
-        else
-        {
-//            examinator.setJarFile( jarFile );
-        }
-
-        getLog().info( "NBM Plugin generates manifest" );
-
-        Manifest manifest = null;
-        if ( specialManifest != null && specialManifest.exists() )
-        {
-            Reader reader = null;
-            try
-            {
-                reader = new InputStreamReader( new FileInputStream( specialManifest ) );
-                manifest = new Manifest( reader );
-            }
-            catch ( IOException exc )
-            {
-                manifest = new Manifest();
-                getLog().warn( "Error reading manifest at " + specialManifest, exc );
-            }
-            catch ( ManifestException ex )
-            {
-                getLog().warn( "Error reading manifest at " + specialManifest, ex );
-                manifest = new Manifest();
-            }
-            finally
-            {
-                IOUtil.close( reader );
-            }
-        }
-        else
-        {
-            manifest = new Manifest();
-        }
-        Date date = new Date();
-        String specVersion = AdaptNbVersion.adaptVersion( project.getVersion(),
-            AdaptNbVersion.TYPE_SPECIFICATION, date );
-        String implVersion = AdaptNbVersion.adaptVersion( project.getVersion(),
-            AdaptNbVersion.TYPE_IMPLEMENTATION, date );
-        Manifest.Section mainSection = manifest.getMainSection();
-        conditionallyAddAttribute( mainSection,
-            "OpenIDE-Module-Specification-Version", specVersion );
-        conditionallyAddAttribute( mainSection,
-            "OpenIDE-Module-Implementation-Version", implVersion );
-        if (autoload || eager) { //MNBMODULE-194
-            conditionallyAddAttribute( mainSection, "AutoUpdate-Show-In-Client", "false");
-        }
-        final String timestamp = createTimestamp( date );
-        conditionallyAddAttribute( mainSection, "OpenIDE-Module-Build-Version",
-            timestamp );
-        String projectCNB = conditionallyAddAttribute( mainSection, "OpenIDE-Module", moduleName );
-        String packagesValue;
-        if ( publicPackages != null && publicPackages.size() > 0 )
-        {
-            StringBuilder sb = new StringBuilder();
-            for ( String pub : publicPackages )
-            {
-                if (pub == null) { //#MNBMODULE-237
-                    continue;
-                }
-                if ( pub.endsWith( ".**" ) )
-                {
-                    // well, just sort of wrong value but accept
-                    sb.append( pub );
-                }
-                else if ( pub.endsWith( ".*" ) )
-                {
-                    //multipackage value
-                    sb.append( pub ).append( "*" );
-                }
-                else
-                {
-                    sb.append( pub ).append( ".*" );
-                }
-                sb.append( ", " );
-            }
-            if (sb.length() > 1) { //if only item is null, we have empty builder
-                sb.setLength( sb.length() - 2 ); //cut the last 2 ", " characters
-                packagesValue = sb.toString();
-            } else {
-                // no packages available
-                packagesValue = "-";
-            }
-        }
-        else
-        {
-            // no packages available
-            packagesValue = "-";
-        }
-        conditionallyAddAttribute( mainSection, "OpenIDE-Module-Public-Packages", packagesValue );
-
-        //See http://www.netbeans.org/download/dev/javadoc/org-openide-modules/apichanges.html#split-of-openide-jar
-        conditionallyAddAttribute( mainSection, "OpenIDE-Module-Requires",
-            "org.openide.modules.ModuleFormat1" );
-//        conditionallyAddAttribute(mainSection, "OpenIDE-Module-IDE-Dependencies", "IDE/1 > 3.40");
-        // localization items
-        if ( !examinator.isLocalized() )
-        {
-            conditionallyAddAttribute( mainSection,
-                "OpenIDE-Module-Display-Category", project.getGroupId() );
-            conditionallyAddAttribute( mainSection, "OpenIDE-Module-Name",
-                project.getName() );
-            conditionallyAddAttribute( mainSection,
-                "OpenIDE-Module-Short-Description", shorten( project.getDescription() ) );
-            conditionallyAddAttribute( mainSection,
-                "OpenIDE-Module-Long-Description", project.getDescription() );
-        }
-        getLog().debug( "module =" + module );
-        
-            DependencyNode treeroot = createDependencyTree( project, dependencyGraphBuilder, "compile" );
-            Map<Artifact, ExamineManifest> examinerCache = new HashMap<Artifact, ExamineManifest>();
-            @SuppressWarnings( "unchecked" )
-            List<Artifact> libArtifacts = getLibraryArtifacts( treeroot, module, project.getRuntimeArtifacts(),
-                examinerCache, getLog(), useOSGiDependencies );
-            List<ModuleWrapper> moduleArtifacts = getModuleDependencyArtifacts( treeroot, module, moduleDependencies, project, examinerCache,
-                libArtifacts, getLog(), useOSGiDependencies );
-            StringBuilder classPath = new StringBuilder();
-            StringBuilder mavenClassPath = new StringBuilder();
-            String dependencies = "";
-            String depSeparator = " ";
-
-            for ( Artifact a : libArtifacts )
-            {
-                if (classPath.length() > 0)
-                {
-                    classPath.append(' ');
-                }
-                classPath.append(artifactToClassPathEntry( a, codeNameBase ));
-                if ( mavenClassPath.length() > 0 )
-                {
-                    mavenClassPath.append( ' ' );
-                }
-                mavenClassPath.append( a.getGroupId() ).append( ':' ).append( a.getArtifactId() ).append( ':' ).append( a.getBaseVersion() );
-                if (a.getClassifier() != null) 
-                {
-                    mavenClassPath.append(":").append(a.getClassifier());
-            }
-            }
-
-            for ( ModuleWrapper wr : moduleArtifacts )
-            {
-                if ( wr.transitive )
-                {
-                    continue;
-                }
-                Dependency dep = wr.dependency;
-                Artifact artifact = wr.artifact;
-                ExamineManifest depExaminator = examinerCache.get( artifact );
-                String type = dep.getType();
-                String depToken = dep.getExplicitValue();
-                if ( depToken == null )
-                {
-                    if ( "loose".equals( type ) )
-                    {
-                        depToken = depExaminator.getModuleWithRelease();
-                    }
-                    else if ( "spec".equals( type ) )
-                    {
-                        depToken =
-                            depExaminator.getModuleWithRelease()
-                                + " > "
-                                + ( depExaminator.isNetBeansModule() ? depExaminator.getSpecVersion()
-                                                : AdaptNbVersion.adaptVersion( depExaminator.getSpecVersion(),
-                                                                               AdaptNbVersion.TYPE_SPECIFICATION, date ) );
-                    }
-                    else if ( "impl".equals( type ) )
-                    {
-                        depToken =
-                            depExaminator.getModuleWithRelease()
-                                + " = "
-                                + ( depExaminator.isNetBeansModule() ? depExaminator.getImplVersion()
-                                                : AdaptNbVersion.adaptVersion( depExaminator.getImplVersion(),
-                                                                               AdaptNbVersion.TYPE_IMPLEMENTATION, date ) );
-                    }
-                    else
-                    {
-                        throw new MojoExecutionException(
-                            "Wrong type of NetBeans dependency: " + type + " Allowed values are: loose, spec, impl." );
-                    }
-                }
-                if ( depToken == null )
-                {
-                    //TODO report
-                    getLog().error(
-                        "Cannot properly resolve the NetBeans dependency for " + dep.getId() );
-                }
-                else
-                {
-                    dependencies = dependencies + depSeparator + depToken;
-                    depSeparator = ", ";
-                }
-            }
-            if ( !verifyRuntime.equalsIgnoreCase( SKIP ) )
-            {
-                try
-                {
-                    checkModuleClassPath( treeroot, libArtifacts, examinerCache, moduleArtifacts, projectCNB );
-                }
-                catch ( IOException ex )
-                {
-                    throw new MojoExecutionException( "Error while checking runtime dependencies", ex );
-                }
-            }
-
-            if ( nbmJavahelpSource.exists() )
-            {
-                String moduleJarName = stripVersionFromCodebaseName( moduleName ).replace( ".", "-" );
-                classPath.append( " docs/").append( moduleJarName ).append( ".jar" );
-            }
-
-            if ( classPath.length() > 0 )
-            {
-                conditionallyAddAttribute( mainSection, "X-Class-Path", classPath.toString().trim() );
-            }
-            if ( mavenClassPath.length() > 0)
-            {
-                conditionallyAddAttribute( mainSection, "Maven-Class-Path", mavenClassPath.toString() );
-            }
-            if ( dependencies.length() > 0 )
-            {
-                conditionallyAddAttribute( mainSection, "OpenIDE-Module-Module-Dependencies", dependencies );
-            }
-//            if ( librList.size() > 0 )
-//            {
-//                String list = "";
-//                for ( int i = 0; i < librList.size(); i++ )
-//                {
-//                    list = list + " " + librList.get( i );
-//                }
-//                getLog().warn(
-//                        "Some libraries could not be found in the dependency chain: " + list );
-//            }
-        PrintWriter writer = null;
-        try
-        {
-            if ( !targetManifestFile.exists() )
-            {
-                targetManifestFile.getParentFile().mkdirs();
-                targetManifestFile.createNewFile();
-            }
-            writer = new PrintWriter( targetManifestFile, "UTF-8" ); //TODO really UTF-8??
-            manifest.write( writer );
-        }
-        catch ( IOException ex )
-        {
-            throw new MojoExecutionException( ex.getMessage(), ex );
-        }
-        finally
-        {
-            IOUtil.close( writer );
-        }
-    }
-
-    //MNBMODULE-137
-    static String artifactToClassPathEntry( Artifact a, String codenamebase )
-    {
-        return "ext/" + codenamebase + "/" + a.getGroupId().replace( '.', '-') + "/" + a.getArtifactId() + ( a.getClassifier() != null ? "-" + a.getClassifier() : "" ) + "." + a.getArtifactHandler().getExtension();
-    }
-
-    /**
-     * Create a timestamp for <code>OpenIDE-Module-Build-Version</code> manifest
-     * entry.
-     *
-     * It's created from the current time and formatted using a UTC timezone
-     * explicitly which makes created timestamp timezone-independent.
-     *
-     * @return timestamp represented as <code>201012292045</code>
-     */
-    private static String createTimestamp( Date date )
-    {
-        final SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyyMMddHHmm" );
-        dateFormat.setTimeZone( TimeZone.getTimeZone( "UTC" ) );
-        final String timestamp = dateFormat.format( date );
-        return timestamp;
-    }
-
-    static String stripVersionFromCodebaseName( String cnb )
-    {
-        // it can happen the moduleName is in format org.milos/1
-        String base = cnb;
-        int index = base.indexOf( '/' );
-        if ( index > -1 )
-        {
-            base = base.substring( 0, index ).trim();
-        }
-        return base;
-    }
-
-    String conditionallyAddAttribute( Manifest.Section section, String key, String value )
-    {
-        Manifest.Attribute attr = section.getAttribute( key );
-        if ( attr == null )
-        {
-            attr = new Manifest.Attribute();
-            attr.setName( key );
-            attr.setValue( value != null ? value.replaceAll("\\s+", " ").trim() : "<undefined>" );
-            try
-            {
-                section.addConfiguredAttribute( attr );
-            }
-            catch ( ManifestException ex )
-            {
-                getLog().error( "Cannot update manifest (key=" + key + ")" );
-                ex.printStackTrace();
-            }
-        }
-        return attr.getValue();
-    }
-
-    /**
-     * Pick out the first sentence of a paragraph.
-     * @param paragraph some text (may be null)
-     * @return the first sentence (may be null)
-     */
-    static String shorten( String paragraph )
-    {
-        if ( paragraph == null || paragraph.length() == 0 )
-        {
-            return null;
-        }
-        BreakIterator breaker = BreakIterator.getSentenceInstance();
-        breaker.setText( paragraph );
-        return paragraph.substring( 0, breaker.following( 0 ) ).trim();
-    }
-
-//----------------------------------------------------------------------------------
-// classpat checking related.
-//----------------------------------------------------------------------------------
-    private void checkModuleClassPath( DependencyNode treeroot,
-        List<Artifact> libArtifacts,
-        Map<Artifact, ExamineManifest> examinerCache, List<ModuleWrapper> moduleArtifacts, String projectCodeNameBase )
-        throws IOException, MojoExecutionException, MojoFailureException
-    {
-        Set<String> deps = buildProjectDependencyClasses( project, libArtifacts );
-        deps.retainAll( allProjectClasses( project ) );
-
-        Set<String> own = projectModuleOwnClasses( project, libArtifacts );
-        deps.removeAll( own );
-        CollectModuleLibrariesNodeVisitor visitor = new CollectModuleLibrariesNodeVisitor(
-            project.getRuntimeArtifacts(), examinerCache, getLog(), treeroot, useOSGiDependencies );
-        treeroot.accept( visitor );
-        Map<String, List<Artifact>> modules = visitor.getDeclaredArtifacts();
-        Map<Artifact, Set<String>> moduleAllClasses = new HashMap<Artifact, Set<String>>();
-
-        for ( ModuleWrapper wr : moduleArtifacts )
-        {
-            if ( modules.containsKey( wr.artifact.getDependencyConflictId() ) )
-            {
-                ExamineManifest man = examinerCache.get( wr.artifact );
-                List<Artifact> arts = modules.get( wr.artifact.getDependencyConflictId() );
-                Set<String>[] classes = visibleModuleClasses( arts, man, wr.dependency, projectCodeNameBase, false );
-                deps.removeAll( classes[0] );
-                moduleAllClasses.put( wr.artifact, classes[1] );
-            }
-        }
-
-        //now we have the classes that are not in public packages of declared modules,
-        //but are being used
-        if ( !deps.isEmpty() )
-        {
-            Map<String, List<Artifact>> transmodules = visitor.getTransitiveArtifacts();
-            for ( ModuleWrapper wr : moduleArtifacts )
-            {
-                if ( transmodules.containsKey( wr.artifact.getDependencyConflictId() ) )
-                {
-                    ExamineManifest man = examinerCache.get( wr.artifact );
-                    List<Artifact> arts = transmodules.get( wr.artifact.getDependencyConflictId() );
-                    Set<String>[] classes = visibleModuleClasses( arts, man, wr.dependency, projectCodeNameBase, true );
-                    classes[0].retainAll( deps );
-                    if ( classes[0].size() > 0 )
-                    {
-                        String module = wr.osgi ? "OSGi bundle" : "module";
-                        getLog().error(
-                            "Project uses classes from transitive " + module + " " + wr.artifact.getId() + " which will not be accessible at runtime." );
-                        getLog().info( "    To fix the problem, add this module as direct dependency. For OSGi bundles that are supposed to be wrapped in NetBeans modules, use the useOSGiDependencies=false parameter");
-                        deps.removeAll( classes[0] );
-                    }
-                    classes[1].retainAll( deps );
-                    if ( classes[1].size() > 0 )
-                    {
-                        getLog().info( "Private classes referenced in transitive module: " + Arrays.toString( classes[1].toArray() ) );
-                        getLog().error(
-                            "Project depends on packages not accessible at runtime in transitive module " + wr.artifact.getId() + " which will not be accessible at runtime." );
-                        deps.removeAll( classes[1] );
-                    }
-                }
-            }
-            for ( Map.Entry<Artifact, Set<String>> e : moduleAllClasses.entrySet() )
-            {
-                List<String> strs = new ArrayList<String>( deps );
-                if ( deps.removeAll( e.getValue() ) )
-                {
-                    strs.retainAll( e.getValue() );
-                    getLog().info( "Private classes referenced in module: " + Arrays.toString( strs.toArray() ) );
-                    getLog().error( "Project depends on packages not accessible at runtime in module " + e.getKey().getId() );
-                }
-            }
-            if ( verifyRuntime.equalsIgnoreCase( FAIL ) )
-            {
-                if ( !deps.isEmpty() )
-                {
-                    throw new MojoFailureException( "Uncategorized problems with NetBeans dependency verification (maybe MNBMODULE-102 or wrong maven dependency metadata). Supposedly external classes are used in the project's binaries but the classes are not found on classpath. Class usages: " + deps );
-                }
-                else
-                {
-                    throw new MojoFailureException( "See above for failures in runtime NetBeans dependencies verification." );
-                }
-            }
-        }
-    }
-
-    /**
-     * The current projects's dependencies, includes classes used in teh module itself
-     * and the classpath libraries as well.
-     * @param project
-     * @param libraries
-     * @return
-     * @throws java.io.IOException
-     */
-    private Set<String> buildProjectDependencyClasses( MavenProject project, List<Artifact> libraries )
-        throws IOException
-    {
-        Set<String> dependencyClasses = new HashSet<String>();
-
-        String outputDirectory = project.getBuild().getOutputDirectory();
-        dependencyClasses.addAll( buildDependencyClasses( outputDirectory ) );
-
-        for ( Artifact lib : libraries )
-        {
-            dependencyClasses.addAll( buildDependencyClasses( lib.getFile().getAbsolutePath() ) );
-        }
-        return dependencyClasses;
-    }
-
-    @SuppressWarnings( "unchecked" )
-    private Set<String> projectModuleOwnClasses( MavenProject project, List<Artifact> libraries )
-        throws IOException
-    {
-        Set<String> projectClasses = new HashSet<String>();
-        DefaultClassAnalyzer analyzer = new DefaultClassAnalyzer();
-
-        String outputDirectory = project.getBuild().getOutputDirectory();
-        URL fl = new File( outputDirectory ).toURI().toURL();
-        projectClasses.addAll( analyzer.analyze( fl ) );
-
-        for ( Artifact lib : libraries )
-        {
-            URL url = lib.getFile().toURI().toURL();
-            projectClasses.addAll( analyzer.analyze( url ) );
-        }
-
-        return projectClasses;
-    }
-
-    /**
-     * complete list of classes on project runtime classpath (excluding
-     * jdk bit)
-     * @param project
-     * @return
-     * @throws java.io.IOException
-     */
-    @SuppressWarnings( "unchecked" )
-    private Set<String> allProjectClasses( MavenProject project )
-        throws IOException
-    {
-        Set<String> projectClasses = new HashSet<String>();
-        DefaultClassAnalyzer analyzer = new DefaultClassAnalyzer();
-
-        String outputDirectory = project.getBuild().getOutputDirectory();
-        URL fl = new File( outputDirectory ).toURI().toURL();
-        projectClasses.addAll( analyzer.analyze( fl ) );
-
-        List<Artifact> libs = project.getRuntimeArtifacts();
-
-        for ( Artifact lib : libs )
-        {
-            URL url = lib.getFile().toURI().toURL();
-            projectClasses.addAll( analyzer.analyze( url ) );
-        }
-
-        return projectClasses;
-    }
-
-    private Set<String>[] visibleModuleClasses( List<Artifact> moduleLibraries,
-        ExamineManifest manifest, Dependency dep, String projectCodeNameBase,
-        boolean transitive)
-        throws IOException, MojoFailureException
-    {
-        Set<String> moduleClasses = new HashSet<String>();
-        Set<String> visibleModuleClasses = new HashSet<String>();
-        DefaultClassAnalyzer analyzer = new DefaultClassAnalyzer();
-        String type = dep.getType();
-        if ( dep.getExplicitValue() != null )
-        {
-            if ( dep.getExplicitValue().contains( "=" ) )
-            {
-                type = "impl";
-            }
-        }
-        if ( type == null || "loose".equals( type ) )
-        {
-            type = "spec";
-        }
-
-        for ( Artifact lib : moduleLibraries )
-        {
-            URL url = lib.getFile().toURI().toURL();
-            moduleClasses.addAll( analyzer.analyze( url ) );
-        }
-
-        if ( "spec".equals( type ) )
-        {
-            String cnb = stripVersionFromCodebaseName( projectCodeNameBase );
-            if ( !transitive && manifest.hasFriendPackages() && !manifest.getFriends().contains( cnb ) )
-            {
-                String message = "Module has friend dependency on " + manifest.getModule() + " but is not listed as a friend.";
-                if ( verifyRuntime.equalsIgnoreCase( FAIL ) )
-                {
-                    throw new MojoFailureException( message );
-                }
-                else
-                {
-                    getLog().warn( message );
-                }
-            }
-            List<Pattern> compiled = createCompiledPatternList( manifest.getPackages() );
-            if ( useOSGiDependencies && manifest.isOsgiBundle() )
-            {
-                // TODO how to extract the public packages in osgi bundles easily..
-                compiled = Collections.singletonList( Pattern.compile( "(.+)" ) );
-            }
-            for ( String clazz : moduleClasses )
-            {
-                for ( Pattern patt : compiled )
-                {
-                    if ( patt.matcher( clazz ).matches() ) 
-                    {
-                        visibleModuleClasses.add( clazz );
-                        break;
-                    }
-                }
-            }
-
-        }
-        else if ( "impl".equals( type ) )
-        {
-            visibleModuleClasses.addAll( moduleClasses );
-        }
-        else
-        {
-            //HUH?
-            throw new MojoFailureException( "Wrong type of module dependency " + type );
-        }
-
-        return new Set[]
-            {
-                visibleModuleClasses,
-                moduleClasses
-            };
-    }
-
-    static List<Pattern> createCompiledPatternList( List<String> packages )
-    {
-        List<Pattern> toRet = new ArrayList<Pattern>();
-        for ( String token : packages )
-        {
-            if ( token.endsWith( ".**" ) )
-            {
-                String patt = "^" + Pattern.quote( token.substring( 0, token.length() - 2 ) ) + "(.+)";
-                toRet.add( 0, Pattern.compile( patt ) );
-            }
-            else
-            {
-                String patt = "^" + Pattern.quote( token.substring( 0, token.length() - 1 ) ) + "([^\\.]+)";
-                toRet.add( Pattern.compile( patt ) );
-            }
-        }
-        return toRet;
-    }
-
-    @SuppressWarnings( "unchecked" )
-    private Set<String> buildDependencyClasses( String path )
-        throws IOException
-    {
-        URL url = new File( path ).toURI().toURL();
-        ASMDependencyAnalyzer dependencyAnalyzer = new ASMDependencyAnalyzer();
-        return dependencyAnalyzer.analyze( url );
-    }
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunNetBeansMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunNetBeansMojo.java
deleted file mode 100644
index 08036dc..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunNetBeansMojo.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2007 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.Os;
-import org.codehaus.plexus.util.cli.CommandLineUtils;
-import org.codehaus.plexus.util.cli.Commandline;
-import org.codehaus.plexus.util.cli.StreamConsumer;
-
-/**
- * Run NetBeans IDE with additional custom module clusters, 
- * to be used in conjunction with nbm:cluster.
- * Semi-deprecated; used only for standalone modules and "suites".
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- *
- */
-@Mojo(name="run-ide", aggregator=true, requiresDependencyResolution= ResolutionScope.RUNTIME )
-public class RunNetBeansMojo
-        extends AbstractMojo
-{
-
-    /**
-     * directory where the module(s)' NetBeans cluster(s) are located.
-     * is related to nbm:cluster goal.
-     */
-    @Parameter(required=true, defaultValue="${project.build.directory}/netbeans_clusters")
-    protected File clusterBuildDir;
-    /**
-     * directory where the the NetBeans platform/IDE installation is,
-     * denotes the root directory of NetBeans installation.
-     */
-    @Parameter(required=true, property="netbeans.installation")
-    protected File netbeansInstallation;
-    /**
-     * NetBeans user directory for the executed instance.
-     */
-    @Parameter(required=true, defaultValue="${project.build.directory}/userdir", property="netbeans.userdir")
-    protected File netbeansUserdir;
-    /**
-     * additional command line arguments. 
-     */
-    @Parameter(property="netbeans.run.params")
-    protected String additionalArguments;
-    
-    /**
-     * Attach a debugger to the application JVM. If set to "true", the process will suspend and wait for a debugger to attach
-     * on port 5005. If set to some other string, that string will be appended to the <code>additionalArguments</code>, allowing you to configure
-     * arbitrary debug-ability options (without overwriting the other options specified through the <code>additionalArguments</code>
-     * parameter).
-     * @since 3.11.1
-     */
-    @Parameter(property="netbeans.run.params.debug")
-    protected String debugAdditionalArguments;    
-
-    /**
-     * 
-     * @throws MojoExecutionException if an unexpected problem occurs
-     * @throws MojoFailureException if an expected problem occurs
-     */
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-        netbeansUserdir.mkdirs();
-
-        List<File> clusters = new ArrayList<File>();
-        if ( !clusterBuildDir.exists() || clusterBuildDir.listFiles() == null )
-        {
-            throw new MojoExecutionException(
-                                              "No clusters to include in execution found. Please run the nbm:cluster or nbm:cluster-app goals before this one." );
-        }
-        File[] fls = clusterBuildDir.listFiles();
-        for ( int i = 0; i < fls.length; i++ )
-        {
-            if ( fls[i].isDirectory() )
-            {
-                clusters.add( fls[i] );
-            }
-        }
-        StringBuilder buff = new StringBuilder();
-        for ( File cluster : clusters )
-        {
-            buff.append( cluster.getAbsolutePath() );
-            buff.append( ":" );
-        }
-        if ( buff.lastIndexOf( ":" ) > -1 )
-        {
-            buff.deleteCharAt( buff.lastIndexOf( ":" ) );
-        }
-        //http://www.netbeans.org/issues/show_bug.cgi?id=174819
-        StringReader sr =
-            new StringReader( "netbeans_extraclusters=\"" + buff.toString() + "\"\n" + "extraclusters=\""
-                + buff.toString() + "\"\n" + "extra_clusters=\"" + buff.toString() + "\"" );
-
-        //now check what the exec names are to figure the right XXX.clusters name
-        File binDir = new File( netbeansInstallation, "bin" );
-        File[] execs = binDir.listFiles();
-        String clust = null;
-        if ( execs != null )
-        {
-            for ( File f : execs )
-            {
-                String name = f.getName();
-                if ( name.contains( "_w.exe" ) )
-                {
-                    continue;
-                }
-                name = name.replaceFirst( "(64)?([.]exe)?$", "" );
-                if ( !name.contains( "." ) )
-                {
-                    if ( clust == null )
-                    {
-                        clust = name;
-                    }
-                    else
-                    {
-                        if ( !clust.equals( name ) )
-                        {
-                            getLog().debug( "When examining executable names, found clashing results " + f.getName()
-                                                + " " + clust );
-                        }
-                    }
-                }
-            }
-        }
-        if ( clust == null )
-        {
-            clust = "netbeans";
-        }
-
-        // write XXX.conf file with cluster information...
-        File etc = new File( netbeansUserdir, "etc" );
-        etc.mkdirs();
-        File confFile = new File( etc, clust + ".conf" );
-        FileOutputStream conf = null;
-        try
-        {
-            conf = new FileOutputStream( confFile );
-            IOUtil.copy( sr, conf );
-        }
-        catch ( IOException ex )
-        {
-            throw new MojoExecutionException( "Error writing " + confFile, ex );
-        }
-        finally
-        {
-            IOUtil.close( conf );
-        }
-
-        boolean windows = Os.isFamily( "windows" );
-        Commandline cmdLine = new Commandline();
-        File exec;
-        if ( windows )
-        {
-            exec = new File( netbeansInstallation, "bin\\nb.exe" );
-            if ( !exec.exists() )
-            {
-                // in 6.7 and onward, there's no nb.exe file.
-                exec = new File( netbeansInstallation, "bin\\" + clust + ".exe" );
-                String jdkHome = System.getenv( "JAVA_HOME" );
-                if ( jdkHome != null )
-                {
-                    if ( new File( jdkHome, "jre\\lib\\amd64\\jvm.cfg" ).exists() )
-                    {
-                        File exec64 = new File( netbeansInstallation, "bin\\" + clust + "64.exe" );
-                        if ( exec64.isFile() )
-                        {
-                            exec = exec64;
-                        }
-                    }
-                }
-                cmdLine.addArguments( new String[] { "--console", "suppress" } );
-            }
-        }
-        else
-        {
-            exec = new File( netbeansInstallation, "bin/" + clust );
-        }
-        cmdLine.setExecutable( exec.getAbsolutePath() );
-
-        try
-        {
-            String[] args = new String[]
-            {
-                //TODO --jdkhome
-                "--userdir",
-                netbeansUserdir.getAbsolutePath(),
-                "-J-Dnetbeans.logger.console=true",
-                "-J-ea",
-            };
-            cmdLine.addArguments( args );
-            getLog().info( "Additional arguments=" + additionalArguments );
-            cmdLine.addArguments( CommandLineUtils.translateCommandline( additionalArguments ) );
-            cmdLine.addArguments( CommandLineUtils.translateCommandline( getDebugAdditionalArguments() ) );
-            for ( int i = 0; i < cmdLine.getArguments().length; i++ )
-            {
-                getLog().info( "      " + cmdLine.getArguments()[i] );
-            }
-            getLog().info( "Executing: " + cmdLine.toString() );
-            StreamConsumer out = new StreamConsumer()
-            {
-
-                public void consumeLine( String line )
-                {
-                    getLog().info( line );
-                }
-            };
-            CommandLineUtils.executeCommandLine( cmdLine, out, out );
-
-        }
-        catch ( Exception e )
-        {
-            throw new MojoExecutionException( "Failed executing NetBeans", e );
-        }
-    }
-    
-    private String getDebugAdditionalArguments()
-    {
-       if ( "true".equals( debugAdditionalArguments ) )
-        {
-            return "-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005";
-        }
-        return debugAdditionalArguments;
-    }    
-}
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunPlatformAppMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunPlatformAppMojo.java
deleted file mode 100644
index c70b4e4..0000000
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunPlatformAppMojo.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/* ==========================================================================
- * Copyright 2007 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm;
-
-import java.io.File;
-import java.util.List;
-import java.util.ArrayList;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.util.Os;
-import org.codehaus.plexus.util.cli.CommandLineUtils;
-import org.codehaus.plexus.util.cli.Commandline;
-import org.codehaus.plexus.util.cli.StreamConsumer;
-
-/**
- * Run a branded application on top of NetBeans Platform. To be used with projects
- * with nbm-application packaging only and the project needs to be built first.
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- *
- */
-@Mojo(name="run-platform", requiresDependencyResolution= ResolutionScope.RUNTIME )
-public class RunPlatformAppMojo
-        extends AbstractMojo
-{
-
-    /**
-     * The branding token for the application based on NetBeans platform.
-     */
-    @Parameter(required=true, property="netbeans.branding.token")
-    protected String brandingToken;
-    /**
-     * output directory where the the NetBeans application is created.
-     */
-    @Parameter(required=true, defaultValue="${project.build.directory}")
-    private File outputDirectory;
-
-    /**
-     * NetBeans user directory for the executed instance.
-     */
-    @Parameter(required=true, defaultValue="${project.build.directory}/userdir", property="netbeans.userdir")
-    protected File netbeansUserdir;
-    /**
-     * additional command line arguments passed to the application.
-     * can be used to debug the IDE.
-     */
-    @Parameter(property="netbeans.run.params")
-    protected String additionalArguments;
-    
-    /**
-     * Attach a debugger to the application JVM. If set to "true", the process will suspend and wait for a debugger to attach
-     * on port 5005. If set to some other string, that string will be appended to the <code>additionalArguments</code>, allowing you to configure
-     * arbitrary debug-ability options (without overwriting the other options specified through the <code>additionalArguments</code>
-     * parameter).
-     * @since 3.11
-     */
-    @Parameter(property="netbeans.run.params.debug")
-    protected String debugAdditionalArguments;
-    
-    /**
-     * The Maven Project.
-     *
-     */
-    @Parameter(required=true, readonly=true, property="project")
-    private MavenProject project;
-
-    /**
-     *
-     * @throws MojoExecutionException if an unexpected problem occurs
-     * @throws MojoFailureException if an expected problem occurs
-     */
-    public void execute()
-        throws MojoExecutionException, MojoFailureException
-    {
-        if ( !"nbm-application".equals( project.getPackaging() ) )
-        {
-            throw new MojoFailureException( "The nbm:run-platform goal shall be used within a NetBeans Application project only ('nbm-application' packaging)");
-        }
-
-        netbeansUserdir.mkdirs();
-
-        File appbasedir = new File( outputDirectory, brandingToken );
-
-        if ( !appbasedir.exists() )
-        {
-            throw new MojoExecutionException( "The directory that shall contain built application, doesn't exist ("
-                + appbasedir.getAbsolutePath() + ")\n Please invoke 'mvn install' on the project first" );
-        }
-
-        boolean windows = Os.isFamily( "windows" );
-
-        Commandline cmdLine = new Commandline();
-        File exec;
-        if ( windows )
-        {
-            exec = new File( appbasedir, "bin" + brandingToken + "_w.exe" );
-            if ( !exec.exists() )
-            { // Was removed as of nb 6.7
-                exec = new File( appbasedir, "bin\\" + brandingToken + ".exe" );
-                // if jdk is 32 or 64-bit
-                String jdkHome = System.getenv( "JAVA_HOME" );
-                if ( jdkHome != null )
-                {
-                    /* Detect whether the JDK is 32-bit or 64-bit. Since Oracle has "no plans to ship 32-bit builds of
-                    JDK 9" [1] or beyond, assume 64-bit unless we can positively identify the JDK as 32-bit. The file
-                    below is confirmed to exist on 32-bit Java 8, Java 9, and Java 10 [2], and confirmed _not_ to exist
-                    on 64-bit Oracle Java 10 nor on OpenJDK 8, 9, or 10.
-
-                    [1] Mark Reinhold on 2017-09-25
-                        https://twitter.com/mreinhold/status/912311207935090689
-                    [2] Downloaded from https://www.azul.com/downloads/zulu/zulu-windows on 2018-09-05. */
-                    if (!new File(jdkHome, "jre\\bin\\JavaAccessBridge-32.dll").exists() && // 32-bit Java 8
-                        !new File(jdkHome, "\\bin\\javaaccessbridge-32.dll").exists()) // 32-bit Java 9 or 10
-                    {
-                        File exec64 = new File( appbasedir, "bin\\" + brandingToken + "64.exe" );
-                        if ( exec64.isFile() )
-                        {
-                            exec = exec64;
-                        }
-                    }
-                }
-                cmdLine.addArguments( new String[] { "--console", "suppress" } );
-            }
-        }
-        else
-        {
-            exec = new File( appbasedir, "bin/" + brandingToken );
-        }
-
-        cmdLine.setExecutable( exec.getAbsolutePath() );
-
-        try
-        {
-
-            List<String> args = new ArrayList<String>();
-            args.add( "--userdir" );
-            args.add( netbeansUserdir.getAbsolutePath() );
-            args.add( "-J-Dnetbeans.logger.console=true" );
-            args.add( "-J-ea" );
-            args.add( "--branding" );
-            args.add( brandingToken );
-
-            // use JAVA_HOME if set
-            if ( System.getenv( "JAVA_HOME" ) != null )
-            {
-                args.add( "--jdkhome" );
-                args.add( System.getenv( "JAVA_HOME" ) );
-            }
-
-            cmdLine.addArguments( args.toArray( new String[0] ) );
-            cmdLine.addArguments( CommandLineUtils.translateCommandline( additionalArguments ) );
-            cmdLine.addArguments( CommandLineUtils.translateCommandline( getDebugAdditionalArguments() ) );
-            getLog().info( "Executing: " + cmdLine.toString() );
-            StreamConsumer out = new StreamConsumer()
-            {
-
-                public void consumeLine( String line )
-                {
-                    getLog().info( line );
-                }
-            };
-            CommandLineUtils.executeCommandLine( cmdLine, out, out );
-        }
-        catch ( Exception e )
-        {
-            throw new MojoExecutionException( "Failed executing NetBeans", e );
-        }
-    }
-
-    private String getDebugAdditionalArguments()
-    {
-       if ( "true".equals( debugAdditionalArguments ) )
-        {
-            return "-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005";
-        }
-        return debugAdditionalArguments;
-    }
-}
diff --git a/nbm-maven-plugin/src/main/mdo/descriptor.mdo b/nbm-maven-plugin/src/main/mdo/descriptor.mdo
deleted file mode 100644
index 1931551..0000000
--- a/nbm-maven-plugin/src/main/mdo/descriptor.mdo
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version="1.0"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<model>
-    <id>nbm</id>
-    <name>NetBeansModule</name>
-    <description><![CDATA[Maven's model for the NetBeans module descriptor.]]></description>
-    <defaults>
-        <default>
-            <key>package</key>
-            <value>org.netbeans.nbm.model</value>
-        </default>
-    </defaults>
-    <classes>
-        <class rootElement="true" xml.tagName="nbm">
-            <name>NetBeansModule</name>
-            <description>Describes the layout, dependencies and packaging of a NetBeans module.</description>
-            <version>1.0.0+</version>
-            <fields>
-                <field>
-                    <name>moduleType</name>
-                    <version>1.0.0+</version>
-                    <description><![CDATA[
-                    <p>DEPRECATED, use the plugin configuration instead. Type of the module. Possible values are </p>
-                    <p><b>autoload</b> - Such a module is automatically enabled when some other module requires it and automatically disabled otherwise.</p>
-                    <p><b>eager</b> - This module type gets automatically enabled when all it's dependencies are satisfied. Disabled otherwise.</p>
-                    <p><b>normal</b> - This is the default value. This kind of module is enabled/disabled manually by the user. It installs enabled.</p>
-                    ]]>        </description>
-                    <type>String</type>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-                <field>
-                    <name>codeNameBase</name>
-                    <version>1.0.0+</version>
-                    <description>DEPRECATED, use the plugin configuration instead. Codenamebase of the module. Primary identification of the module. Usually the package name. Eg. "org.codehaus.mevenide.project". 
-                    If not defined here, the default value is constructed from groupId and artifactId.</description>
-                    <type>String</type>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-                <field>
-                    <name>cluster</name>
-                    <version>1.0.0+</version>
-                    <description>DEPRECATED, use the plugin configuration instead. Each modules should belong to a cluster. A cluster is a group of related modules. For individual modules it's not that important. Refer to netbeans.org documentation for more details.</description>
-                    <type>String</type>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-                <field>
-                    <name>requiresRestart</name>
-                    <version>1.0.0+</version>
-                    <description>DEPRECATED, use the plugin configuration instead. Determines if the module requires restart of the IDE/platform upon installation.</description>
-                    <type>boolean</type>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-                <field>
-                    <name>manifest</name>
-                    <version>1.0.0+</version>
-                    <description>DEPRECATED, use the plugin configuration instead. Location of the manifest file with NetBeans specific manifest entries.
-                        </description>
-                    <type>String</type>
-                    <!--defaultValue>src/main/nbm/manifest.mf</defaultValue-->
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-                <field>
-                    <name>homepageUrl</name>
-                    <version>1.0.0+</version>
-                    <description>DEPRECATED, use the plugin configuration instead. Homepage URL of the module. Is accessible from NetBeans UI upon installation, should point to place with additional information about the functionality. If not defined, it defaults to POM's url element.</description>
-                    <type>String</type>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-                <field>
-                    <name>distributionUrl</name>
-                    <version>1.0.0+</version>
-                    <description>DEPRECATED, use the plugin configuration instead. Http URL of the location where the module can be downloaded from the internet. This value put into the NBM and used when generating the Autoupdate Site. Should point directly to the NBM download.</description>
-                    <type>String</type>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-                <field>
-                    <name>author</name>
-                    <version>1.0.0+</version>
-                    <description>DEPRECATED, use the plugin configuration instead. Author of the module. Is used when generating the NBM file.</description>
-                    <type>String</type>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-        
-                <field>
-                    <name>licenseName</name>
-                    <version>1.0.0+</version>
-                    <description>DEPRECATED, use the plugin configuration instead. Name of the license. If the user already agreed to the same license before, he/she won't be asked again to agree.</description>
-                    <type>String</type>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-                <field>
-                    <name>licenseFile</name>
-                    <version>1.0.0+</version>
-                    <description>DEPRECATED, use the plugin configuration instead. Path to the license agreement file.</description>
-                    <type>String</type>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-        
-                <field>
-                    <name>libraries</name>
-                    <version>1.0.0+</version>
-                    <description>groupId:artifactId of artifacts that shall become part of the module and be added on the classpath 
-                    (ClassPath: manifest entry gets created and the jar is included in the nbm file)</description>
-                    <association>
-                        <type>String</type>
-                        <multiplicity>*</multiplicity>
-                    </association>
-                </field>
-                 <field>
-                    <name>dependencies</name>
-                    <description>DEPRECATED, use the plugin configuration instead. List of module dependencies. The plugin will use it to Generate the OpenIDE-Module-Module-Dependencies manifest entry.</description>
-                    <version>1.0.0+</version>
-                    <association>
-                        <type>Dependency</type>
-                        <multiplicity>*</multiplicity>
-                    </association>
-                </field>
-                <field>
-                    <name>nbmResources</name>
-                    <description>DEPRECATED, use the plugin configuration instead. List of resources that shall be also included into the Nbm file along with the module jar and library jars.</description>
-                    <version>1.0.0+</version>
-                    <association>
-                        <type>NbmResource</type>
-                        <multiplicity>*</multiplicity>
-                    </association>
-                    <annotations>
-                        <annotation>@Deprecated</annotation>
-                    </annotations>
-                </field>
-            </fields>
-        </class>
-        <class>
-            <name>Dependency</name>
-            <description></description>
-            <version>1.0.0+</version>
-            <fields>
-                <field>
-                    <name>id</name>
-                    <description>groupId:artifactId of the dependency defined in the POM (or a transitive dependency)</description>
-                    <version>1.0.0+</version>
-                    <type>String</type>
-                    <required>true</required>
-                </field>
-                <field>
-                    <name>type</name>
-                    <description><![CDATA[
-                        Type of module dependency. 3 possible values allowed.
-                        <p><b>spec</b> - specification dependency, module can only use public APIs in public packages. Works with the version defined and any later version.</p>
-                        <p><b>impl</b> - implementation dependency, module can use any class in the dependency module, but works with just the one version of the module.</p>
-                        <p><b>loose</b> - similar to spec, but isa very loose connection, no version is required, just the module presence.</p>
-                        ]]>
-                    </description>
-                    <version>1.0.0+</version>
-                    <type>String</type>
-                    <defaultValue>spec</defaultValue>
-                </field>
-                <field>
-                    <name>explicitValue</name>
-                    <description><![CDATA[
-                        The plugin tries to resolve the correct module name and module specification/implementation version by examining the
-                        dependency jar's manifest.
-                        You can override this behaviour by explicitly defining the value here. For example org.openide.io/1 &gt; 10.1 for a "spec" type of dependency.
-          
-                        ]]>              
-                    </description>
-                    <version>1.0.0+</version>
-                    <type>String</type>
-                </field>
-            </fields>
-        </class>
-        <class>
-            <name>NbmResource</name>
-            <version>1.0.0+</version>
-            <fields>
-                <field>
-                    <name>baseDirectory</name>
-                    <description>The base directory, all paths within the nbm file will be the same as paths within the base directory.</description>
-                    <version>1.0.0+</version>
-                    <type>String</type>
-                    <required>true</required>
-                </field>
-                <field>
-                    <name>relativeClusterPath</name>
-                    <description>A relative path to be added to cluster root where the files will be copied to.</description>
-                    <version>1.0.0+</version>
-                    <type>String</type>
-                    <required>false</required>
-                </field>
-                <field>
-                    <name>includes</name>
-                    <description>Include pattern, what shall be included in the nbm. </description>
-                    <version>1.0.0+</version>
-                    <association>
-                        <type>String</type>
-                        <multiplicity>*</multiplicity>
-                    </association>
-                </field>
-                <field>
-                    <name>excludes</name>
-                    <description>Exclude pattern, what files within the basedir shall not be included. </description>
-                    <version>1.0.0+</version>
-                    <association>
-                        <type>String</type>
-                        <multiplicity>*</multiplicity>
-                    </association>
-                </field>
-            </fields>
-        </class>
-    </classes>
-</model>
-
diff --git a/nbm-maven-plugin/src/main/resources/META-INF/plexus/components.xml b/nbm-maven-plugin/src/main/resources/META-INF/plexus/components.xml
deleted file mode 100644
index 2e489fb..0000000
--- a/nbm-maven-plugin/src/main/resources/META-INF/plexus/components.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<component-set>
-  <components>
-    <!--component>
-      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-      <role-hint>jar</role-hint>
-      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-      <configuration>
-        <type>jar</type>
-        <extension>jar</extension>
-      </configuration>
-    </component-->
-    <component>
-      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-      <role-hint>nbm</role-hint>
-      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-      <configuration>
-        <type>nbm</type>
-        <extension>jar</extension>
-        <packaging>nbm</packaging>
-        <addedToClasspath>true</addedToClasspath>
-        <language>java</language>
-        <includesDependencies>true</includesDependencies>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-      <role-hint>nbm-file</role-hint>
-      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-      <configuration>
-        <type>nbm-file</type>
-        <extension>nbm</extension>
-        <packaging>nbm-file</packaging>
-        <addedToClasspath>false</addedToClasspath>
-        <language>java</language>
-        <includesDependencies>true</includesDependencies>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-      <role-hint>nbm-application</role-hint>
-      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-      <configuration>
-        <type>nbm-application</type>
-        <extension>zip</extension>
-        <packaging>nbm-application</packaging>
-        <addedToClasspath>false</addedToClasspath>
-        <language>java</language>
-        <includesDependencies>false</includesDependencies>
-      </configuration>
-    </component>
-    
-    <component>
-      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-      <role-hint>nbm</role-hint>
-      <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-      <configuration>
-        <phases>
-          <process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
-          <compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
-          <process-classes>org.apache.netbeans.utilities:nbm-maven-plugin:manifest</process-classes>
-          <process-test-resources>org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
-          <test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
-          <test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
-          <package>org.apache.maven.plugins:maven-jar-plugin:jar, 
-                   org.apache.netbeans.utilities:nbm-maven-plugin:branding,
-                   org.apache.netbeans.utilities:nbm-maven-plugin:nbm
-          </package>
-          <install>org.apache.maven.plugins:maven-install-plugin:install</install>
-          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
-        </phases>
-      </configuration>
-    </component>
-
-    <component>
-      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-      <role-hint>nbm-application</role-hint>
-      <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-      <configuration>
-        <phases>
-          <process-test-resources>org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
-          <test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
-          <package>org.apache.netbeans.utilities:nbm-maven-plugin:cluster-app,org.apache.netbeans.utilities:nbm-maven-plugin:standalone-zip</package>
-          <integration-test>org.apache.maven.plugins:maven-surefire-plugin:test</integration-test>
-          <install>org.apache.maven.plugins:maven-install-plugin:install</install>
-          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
-        </phases>
-      </configuration>
-    </component>
-  </components>
-</component-set>
diff --git a/nbm-maven-plugin/src/main/resources/branding.jnlp b/nbm-maven-plugin/src/main/resources/branding.jnlp
deleted file mode 100644
index 9185b59..0000000
--- a/nbm-maven-plugin/src/main/resources/branding.jnlp
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">
-<jnlp spec="1.0+" codebase="${jnlp.codebase}">
-  <information>
-      <title>${app.title}</title>
-      <vendor>${app.vendor}</vendor>
-      <description>${app.description}</description>
-  </information>
-  <security><all-permissions/></security>
-  <resources>
-    ${jnlp.branding.jars}
-    ${jnlp.resources}
-  </resources>
-  <component-desc/>
-</jnlp>
\ No newline at end of file
diff --git a/nbm-maven-plugin/src/main/resources/master.jnlp b/nbm-maven-plugin/src/main/resources/master.jnlp
deleted file mode 100644
index b6f4812..0000000
--- a/nbm-maven-plugin/src/main/resources/master.jnlp
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">
-<jnlp spec="1.0+" codebase="${jnlp.codebase}" href="${master.jnlp.file.name}.jnlp">
-  <information>
-      <title>${app.title}</title>
-      <vendor>${app.vendor}</vendor>
-      <description>${app.description}</description>
-      <offline-allowed/>
-  </information>
-  <security><all-permissions/></security>
-  <resources>
-    <!-- The following property is needed when running with unsigned jars: -->
-    <property name="netbeans.jnlp.fixPolicy" value="${netbeans.jnlp.fixPolicy}"/>
-    <extension name="modules" href="modules.jnlp"/>
-    <java version="1.6+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="${netbeans.run.params}"/>
-    <jar href="startup.jar"/>
-    <property name="netbeans.user" value="${user.home}/.${branding.token}"/>
-  </resources>
-  <resources os="Mac OS X">
-      <property name="netbeans.user" value="${user.home}/Library/Application Support/${branding.token}"/>
-  </resources>
-  <application-desc>
-    <argument>--branding</argument>
-    <argument>${branding.token}</argument>
-  </application-desc>
-</jnlp> 
\ No newline at end of file
diff --git a/nbm-maven-plugin/src/site/apt/buildinstexample.apt b/nbm-maven-plugin/src/site/apt/buildinstexample.apt
deleted file mode 100644
index 7df8d19..0000000
--- a/nbm-maven-plugin/src/site/apt/buildinstexample.apt
+++ /dev/null
@@ -1,128 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you 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.
-
- ------
- Maven 2 NBM Plugin 
- ------
- Frantisek Mantlik
- <frantisek@mantlik.cz>
- ------
- 2012-02-12
-
-HOWTO: Customize installers generated by nbm:build-installers
-
- Generated installers can be customized by providing user-defined 
- customized templateFile and pass parameters to it with
- userSettings parameter.
- See {{{./build-installers-mojo.html}<<<build-installers>>> goal}} description.
-
- User defined template can be used to modify generated installer
- behavior, e.g. branding of installation environment etc.
-
-*Example 1: Simple change in installer code
-
- Simple changes into original Harness installer code can be made by filtering
- corresponding file using Ant in templateFile.
-
- Following code added into <<<prepare-sources>>> target takes rid of the "Run application
- when installer finished" checkbox at the last page of installer wizard:
-
-+-----+
-<replace file="${installer.build.dir}/ext/engine/src/org/mycompany/installer/wizard/components/panels/PostInstallSummaryPanel.java" encoding="utf-8">
-    <replacefilter token="runAppNow.doClick();" value="runAppNow.setVisible(false);"/>
-</replace>
-+-----+
-
-*Example 2: More complex installer code changes
-
- If the code changes become more complex better solution is to replace entire
- Harness files with modified versions.
-
- For example, you would like to register file associations for your application.
-
- First of all, prepare your modified version of the file ConfigurationLogic.java
- according to the instructions at {{{http://wiki.netbeans.org/NBIFileAssosiations}http://wiki.netbeans.org/NBIFileAssosiations}}.
- 
- As a next step add a copy task into <<<prepare-sources>>> target in your templateFile:
-
-+-----+
-<copy file="${configuration.logic.file}" overwrite="true" tofile="${installer.build.dir}/ext/components/products/helloworld/src/org/mycompany/ConfigurationLogic.java"/>
-+-----+
-
- and finally define <<<configuration.logic.file>>> parameter in the application's pom:
-
-+-----+
-<plugin>
-    <groupId>org.codehaus.mojo</groupId>
-    <artifactId>nbm-maven-plugin</artifactId>
-    <configuration>
-        <templateFile>${basedir}/installer/template.xml</templateFile>
-        <userSettings>
-            <configuration.logic.file>${basedir}/installer/ConfigurationLogic.java</configuration.logic.file>
-        </userSettings>
-    </configuration>
-</plugin>
-+-----+
-
-*Example 3: Branding of installer images
-
- If installer left corner image has to be branded,
- following code can be added to templateFile target
- <<<prepare-sources>>>:
-
-+-----+
-<condition property="ilc.path" value="${nbi.instleftcorner.file}">
-     <and>
-         <isset property="nbi.instleftcorner.file"/>
-         <available file="${nbi.instleftcorner.file}"/>
-     </and>
-</condition>
-<condition property="ilc.defined">
-     <and>
-         <isset property="nbi.instleftcorner.file"/>
-         <available file="${nbi.instleftcorner.file}"/>
-     </and>
-</condition> 
-<antcall target="-prepare-ilc"/>
-+-----+
-
- In addition, new target <<<-prepare-ilc>>> has to be defined, e.g. at the end of templateFile:
-
-+-----+
-<target name="-prepare-ilc" if="ilc.defined">
-    <copy file="${ilc.path}" tofile="${installer.build.dir}/ext/engine/src/org/mycompany/installer/wizard/wizard-description-background-left.png" overwrite="true"/>
-</target>
-+-----+
-
- which effectively replaces the desired image.
-
- Finally, update application's pom:
-
-+-----+
-<plugin>
-    <groupId>org.codehaus.mojo</groupId>
-    <artifactId>nbm-maven-plugin</artifactId>
-    <configuration>
-        <templateFile>${basedir}/installer/template.xml</templateFile>
-        <userSettings>
-            <nbi.instleftcorner.file>${basedir}/installer/ilc.png</nbi.instleftcorner.file>
-        </userSettings>
-    </configuration>
-</plugin>
-+-----+
-
- More information: {{{http://wiki.netbeans.org/NBI}http://wiki.netbeans.org/NBI}}
diff --git a/nbm-maven-plugin/src/site/apt/descriptor.apt b/nbm-maven-plugin/src/site/apt/descriptor.apt
deleted file mode 100644
index 8af0158..0000000
--- a/nbm-maven-plugin/src/site/apt/descriptor.apt
+++ /dev/null
@@ -1,111 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you 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.
-
- ------
- Maven 2 NBM Plugin 
- ------
- Milos Kleint
- <mkleint@codehaus.org>
- ------
- 2007-06-15
-
-Example nbm descriptors - since 3.8 DEPRECATED.
-
- These descriptors are referenced from the {{{./nbm-mojo.html}nbm:nbm}} mojo. The descriptor file is deprecated since version 3.8.
- 
-*Usual case
-
- A rather common module descriptor. Basic properties filled in, defines some libraries that ship with the module and
- declared dependencies on other NetBeans modules.
-
-+-----+
-<nbm>
-   <moduleType>normal</moduleType>
-   <codeNameBase>org.codehaus.mevenide.netbeans/2</codeNameBase>
-   <cluster>mevenide</cluster>
-   <manifest>src/main/nbm/manifest.mf</manifest>
-   <!-- distributionUrl important when creating an autoupdate center. The expected download URL for the module is:
-            ${distributionUrl}/${finalName}.nbm
-     -->
-   <distributionUrl>http://mevenide.codehaus.org/nbm_release2</distributionUrl>
-   <licenseName>Apache License, Version 2.0</licenseName>
-   <licenseFile>license.txt</licenseFile>
-   <libraries>
-       <!-- these dependencies get copied to modules/ext directory in the mevenide cluster and
-            get referenced from the module's jar usign the Class-Path manifest entry. 
-            Not necessary since 2.5 version of nbm-maven-plugin
-         -->
-       <library>org.netbeans.api:org-netbeans-graph</library>
-       <library>org.netbeans.api:org-netbeans-graph-vmd</library>
-   </libraries>
-   <dependencies>
-      <!-- all of these dependencies get referrenced as module dependencies of this project's artifact. 
-        Not necessary since 2.5 version of nbm-maven-plugin
-        -->
-      <dependency>
-          <id>org.codehaus.mevenide:run-jar-bridge</id>
-      </dependency>
-      <dependency>
-          <id>org.codehaus.mevenide:debugger-bridge</id>
-      </dependency>
-      <dependency>
-          <id>org.netbeans.api:org-netbeans-api-debugger-jpda</id>
-      </dependency>
-      <dependency>
-          <id>org.netbeans.api:org-netbeans-api-debugger</id>
-      </dependency>
-      <dependency>
-          <id>org.netbeans.api:org-netbeans-modules-options-api</id>
-      </dependency>
-      <dependency>
-          <id>org.netbeans.api:org-openide-io</id>
-      </dependency>
-      <dependency>
-          <id>org.netbeans.api:org-openide-modules</id>
-      </dependency>
-   </dependencies> 
-</nbm>
-+-----+
-
-*Additional custom files in module
-
- Apart from the usual properties, this one declares additional files that ought to be packed into the module.
-
-+-----+
-<nbm>
-   <moduleType>eager</moduleType>
-   <codeNameBase>org.codehaus.mevenide.netbeans.nbrepo/2</codeNameBase>
-   <cluster>mevenide</cluster>
-   <manifest>src/main/nbm/manifest.mf</manifest>
-   <distributionUrl>http://mevenide.codehaus.org/nbm_release2</distributionUrl>
-   <licenseName>Apache License, Version 2.0</licenseName>
-   <licenseFile>license.txt</licenseFile>
-   <dependencies>
-       <dependency>
-           <id>org.codehaus.mevenide:nb-project</id>
-       </dependency>
-   </dependencies> 
-   <nbmResources>
-       <nbmResource>
-           <baseDirectory>../ide-mojos/target</baseDirectory>
-           <includes>
-               <include>m2-repository/**</include>
-           </includes>
-       </nbmResource>
-   </nbmResources>
-</nbm>
-+-----+
diff --git a/nbm-maven-plugin/src/site/apt/index.apt.vm b/nbm-maven-plugin/src/site/apt/index.apt.vm
deleted file mode 100644
index 088b17d..0000000
--- a/nbm-maven-plugin/src/site/apt/index.apt.vm
+++ /dev/null
@@ -1,321 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you 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. 
-
- ------
- Maven 2 NBM Plugin 
- ------
- Milos Kleint
- <mkleint@codehaus.org>
- ------
- 2010-11-04
-
-NetBeans Module plugin
-
- This m2 plugin is able to create NetBeans module(plugin) artifacts. It registers a new packaging type <<<nbm>>>. Any project with
-this packaging will be automatically turned into a NetBeans module project. Additionally it allows to create clusters of modules, generate
-an autoupdate site content or build and assemble an application on top of NetBeans platform.
-
- Note: The <<<nbm:populate-repository>>> goal has been moved to it's own plugin {{{../nb-repository-plugin/index.html}nb-repository-plugin}}.
-
- To get access to a repository with NetBeans.org module artifacts and metadata, add {{{http://bits.netbeans.org/maven2/}http://bits.netbeans.org/maven2/}} repository to your project POM
-or the repository manager you are using. The repository hosts binaries of NetBeans 6.5 and later.
-
- Also see: {{{http://wiki.netbeans.org/NetBeansDeveloperFAQ#Mavenized_Builds}Maven NBM development FAQs}}
-
- Sample <<<pom.xml>>> excerpts for creation of a NetBeans module:
-
-+-----+
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>example-netbeans-module</artifactId>
-  <groupId>org.mycompany.myproject</groupId>
-  <!--here is the packaging and lifecycle defined-->
-  <packaging>nbm</packaging>
-
-....
-  <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-                <version>${project.version}</version>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin> <!-- required since nbm-plugin 3.0-->
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>3.0.2</version>
-                <configuration>
-                    <archive>
-                        <manifestFile>#[[${project.build.outputDirectory}]]#/META-INF/MANIFEST.MF</manifestFile>
-                    </archive>
-                </configuration>
-            </plugin>
-        </plugins>
-  </build>
-
- ....
-    <!-- this section is important only to access the binaries of NetBeans that you use as dependencies -->
-    <repositories>
-        <repository>
-            <id>netbeans</id>
-            <name>repository hosting netbeans.org api artifacts</name>
-            <url>http://bits.netbeans.org/maven2/</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-+-----+
-
- To build the project then, just type
-
-+-------------------------------------------------------------------------------+
-mvn install
-+-------------------------------------------------------------------------------+
-
-
-Maven Dependency vs. NetBeans runtime dependency
-
- There are important differences between Maven's dependency mechanism and NetBeans runtime dependencies.
-Maven's dependencies are transitive, so at compile time you get not only direct dependencies you declared, but also
-dependencies of dependencies etc. In NetBeans, the module dependencies are non-transitive by nature, you have to explicitly declare all at runtime.
-Additionally next to module dependencies there are also library jars attached and shipped with the module's main artifact.
-In the NetBeans terminology there is a special sort of modules called "library wrappers". These library wrappers
-add the libraries on the module's classpath and allow other modules to depend on the libraries within the IDE's runtime.
-
- The ways in which the nbm-maven-plugin tries to adress these issues has changed over time.
-
- The plugin walks the dependency tree to detect and identify module dependencies
-and classpath libraries.
-
-  A maven dependency is turned into a NetBeans runtime dependency when:
-
-    * for NetBeans module dependencies (dependency jars that have the NetBeans specific entries in META-INF/MANIFEST.MF)
-
-        * It's a direct dependency (non-transitive) and is a NetBeans module itself. Preferred way of declaring
-module dependencies. 
-
-        * It's defined in existing (though optional) module.xml file in <<<dependencies>>> section.
-Try to avoid this, but still useful if one wants to put an explicit dependency value on the module, or use implementation dependency.
-
-        * When the dependency is of type <<<nbm>>>. Deprecated in 3.0.x, only helpful in older versions.
-Such dependencies don't include their transitive deps on compilation classpath.
-That should allow one to simulate the rumtime dependencies at compilation time in maven, however there's one major drawback. Not only are the nbm's module dependencies hidden, but the libraries associated with the
-given nbm module are also hidden. So you can end up with less stuff on classpath  as opposed to more stuff with <<<jar typed dependencies>>>.
-
-    * for module libraries (jars that are packed together with the module and appear on it's classpath directly, not by a dependency relationship.)
-
-        * It's a direct dependency and is not of <<<provided>>> scope.
-
-        * It's a transitive dependency, pulled in by a direct dependency (only non-module one - see first bullet) This is new in <<3.0+>>
-
-        * It's defined in existing (though optional) module.xml file in <libraries> section. Consider this deprecated in <<3.0+>>.
-
-
- The complete {{{./nbm.html}nbm descriptor format}} documentation, and {{{./descriptor.html}example descriptors}} are also available. 
-Please note that since 3.8 version, the descriptor is deprecated and replaced by plugin configuration parameters.
-
- Additionally we perform dependency analysis in order to warn the user when runtime dependencies are wrong.
-So project's own classes and it's classpath libraries' classes are checked against the module dependencies
-(with appropriate filtering for public packages/private packages).
-If the classes depend on declared module dependency's private classes or on transitive module dependency's classes,
-the build fails. That should prevent ClassNotFoundException's later at runtime, when the NetBeans module
-system constructs the classpath for the module based on our metadata generated.
-
-Using OSGi bundles in NetBeans platform based applications
-
- Starting with version <<3.2>>, it's possible for the NetBeans modules to depend on OSGi bundles. A proper module dependency section will be generated.
-To include the bundle in the application, add dependency on the bundle from nbm-application.
-There are a few prerequisites.
-
-   * It works only in NetBeans 6.9 and later which support the embedding of bundles at runtime
-
-   * Add <<<\<useOSGiDependencies\>true\</useOSGiDependencies\>>>> configuration entry to all the modules depending on OSGi bundles.
-     Existing applications/modules need to check modules wrapping
-     external libraries for library jars that are also OSGi bundles. Such modules will no longer include the OSGi bundles
-     as part of the module NBM but will include a modular dependency reference on the bundle only. Modules depending on these old wrapper modules
-     shall depend directly on the bundle, eventually rendering the old library wrapper module obsolete.
-
-   * in the distribution, all bundles will be included in the default cluster (<<<extra>>> if not configured otherwise), 
-    in <<3.10 and later>> the plugin will attempt to guess the cluster based on modules depending on it.
-
-   * Before version <<3.10>> all bundles will be autoload, thus requiring at least one depending regular module to enable them. In <<3.10 and later>>, developers of the OSGi bundles
-     can influence the autoload vs regular behaviour by adding <<Nbm-Maven-Plugin-Autoload>> attribute to the bundle's manifest with "true" or "false" values. 
-     False means the module will be enabled on start, even without any other modules depending on it.
-
-
-Multi module setup
-
- If you have a set of NetBeans modules, or are building on top of NetBeans Platform,
-you will make use of the additional goals provided by the plugin.
-
- If you are building a Platform-based application, use a project
-with <<<nbm-application>>> packaging to perform the final application assembly.
-This packaging type (defined in nbm-maven-plugin) should have your module projects
-and all dependencies of the target NetBeans Platform included as dependencies.
-
- For the NetBeans Platform/IDE modules, there are artifacts that aggregate modules in clusters.
-These are put in the <<<org.netbeans.clusters>>> groupId (on <<<bits.netbeans.org>>> or in your own repository).
-The following snippet will include the basic NetBeans platform cluster and your own
-module in the application. You can use standard dependency exclusion lists to cut out modules from the Platform that
-you don't need.
-
-+-----+
-    <artifactId>application</artifactId>
-    <packaging>nbm-application</packaging>
-    <version>1.0-SNAPSHOT</version>
-    <dependencies>
-        <dependency>
-            <groupId>org.netbeans.cluster</groupId>
-            <artifactId>platform8</artifactId>
-            <version>${netbeans.version}</version>
-            <type>pom</type>
-        </dependency>
-        <dependency>
-            <groupId>com.mycompany</groupId>
-            <artifactId>module1</artifactId>
-            <version>1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-    ....
-+-----+
-
- The nbm-application project/packaging defines a build lifecycle that creates a final application
-from the NBM files in local/remote repotories and bundles them in a ZIP file (also uploadable to the repository).
-In addition to that you can configure the project to generate an autoupdate site and/or
-webstartable binaries of the applications (typically in a deployment profile):
-
-+-----+
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>extra</id>
-                        <goals>
-                            <goal>autoupdate</goal>
-                            <goal>webstart-app</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-+-----+
-
- See the {{{./autoupdate-mojo.html}autoupdate}} and {{{./webstart-app-mojo.html}webstart-app}} goals
-for more details.
-
-+-------------------------------------------------------------------------------+
-mvn nbm:cluster
-+-------------------------------------------------------------------------------+
-
- This goal aggregates output of multiple NetBeans module projects and creates one 
-or more clusters in the current project. So usually one runs this goal on the parent POM project,
-which aggregates the content of all its modules. 
-The resulting cluster structure can later be used for running the application, creating an installer or similar.
-A variant of this goal is also included in the nbm-application project's default lifecycle.
-
-+-------------------------------------------------------------------------------+
-mvn nbm:branding
-+-------------------------------------------------------------------------------+
-
- Branding is to used when one builds an application based on NetBeans Platform (as opposed to creating set of modules for the IDE).
-Branding contains all the resources that are to be changed in the platform binaries (resource bundles, images, HTML files etc.) 
-to give the application its unique look.
-
- This goal can be attached to one of the nbm module projects that will be part of the
-NetBeans Platform-based application.
-
- For more detailed tutorial, check the {{{http://netbeans.dzone.com/videos/screencast-maven-and-netbeans}Screencast: Maven and the NetBeans Platform}}
-video recorded by Fabrizio Giudici. It describes to Fabrizio's open source project {{{http://kenai.com/projects/forceten}ForceTen}} which can be used as reference setup for Maven NetBeans Platform based apps.
-
- The branding is included as part of a regular nbm subproject and cannot be attached to a <<<pom>>> packaged root project.
-
-+-------------------------------------------------------------------------------+
-mvn nbm:run-ide nbm:run-platform
-+-------------------------------------------------------------------------------+
- 
- These two goals do almost the same, they allow you to execute your projects content within
-the IDE or NetBeans platform.
-
- <<<nbm:run-platform>>> only makes sense to execute on projects with <<<nbm-application>>> packaging.
-
- For more information on plugin configuration and customization, see {{{./plugin-info.html}goal documentation}}.
-
-
-Public packages declaration
-
- By default all your module's packages (and classes) and private to the given module. If you want to expose
-any API to other modules, you will need to declare those public packages in your <<<pom.xml>>>. This includes
-not only your own classes but also any other 3rd party library classes that are packaged with your module
-and are to be exposed for reuse by other modules.
-
- For example:
-
-+-----+
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>nbm-maven-plugin</artifactId>
-                <version>${project.version}</version>
-                <extensions>true</extensions>
-                <configuration>
-                   <publicPackages>
-                       <publicPackage>org.foo.api</publicPackage>
-                       <publicPackage>org.apache.commons.*</publicPackage>
-                   </publicPackages>
-                </configuration>
-            </plugin>
-+-----+
-
- there is a package <<<org.foo.api>>> made public (but not <<<org.foo.api.impl>>> package) and
-any package starting with <<<org.apache.commons>>>, so both <<<org.apache.commons.io>>> and <<<org.apache.commons.exec>>> packages are exposed to the outside
-
-
-
-Archetypes anyone?
- 
- There are two basic archetypes:
-
- The first once creates a single project preconfigured to be a NetBeans module. Use this
-one if you are developing a NetBeans IDE module, or a module for a NetBeans Platform-based application.
-
-+-------------------------------------------------------------------------------+
-mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=nbm-archetype -DarchetypeVersion=... \
-  -DgroupId=org.kleint -DartifactId=milos -Dversion=1.0 archetype:generate
-+-------------------------------------------------------------------------------+
-
- The second one creates a parent POM project containing configuration and application branding for your NetBeans Platform-based application.
-
-+-------------------------------------------------------------------------------+
-mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=netbeans-platform-app-archetype \
-  -DarchetypeVersion=... -DgroupId=org.kleint -DartifactId=milos -Dversion=1.0 archetype:generate
-+-------------------------------------------------------------------------------+
-
-IDE support
-
- The NetBeans IDE has Maven support. Among other features, it
-contains additional support for working with NetBeans module projects. The support includes file templates,
-important nodes in projects view, running module(s) in the IDE or Platform.
-
-Sample real life application
-
- Check the {{{http://netbeans.dzone.com/videos/screencast-maven-and-netbeans}Screencast: Maven and the NetBeans Platform}}
-video recorded by Fabrizio Giudici. It describes to Fabrizio's open source project {{{http://kenai.com/projects/forceten}ForceTen}} which can be used as reference setup for Maven NetBeans Platform based apps.
diff --git a/nbm-maven-plugin/src/site/apt/upgrade.apt b/nbm-maven-plugin/src/site/apt/upgrade.apt
deleted file mode 100644
index 11b0813..0000000
--- a/nbm-maven-plugin/src/site/apt/upgrade.apt
+++ /dev/null
@@ -1,144 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you 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.
-
- ------
- Maven 2 NBM Plugin 
- ------
- Milos Kleint
- <mkleint@codehaus.org>
- ------
- 2007-06-15 Sep 30, 2008  Jun 15, 2007
-
-
-HOW TO: Migrate from older version of the plugin
-
-
-  {{{Upgrading_to_3.9} Upgrading to 3.9}}
-
-  {{{Upgrading_to_3.8} Upgrading to 3.8}}
-
-  {{{Upgrading_from_2.6_version_to_3.0} Upgrading from 2.6 to 3.0}}
-
-  {{{Upgrading_from_2.4_version_to_2.5} Upgrading from 2.4 to 2.5}}
-
-{Upgrading to 3.9}
-
- In 3.9, the <<<populate-repository>>> goal is moved to separate plugin.
-
-{Upgrading to 3.8}
-
- In 3.8 the <<<descriptor>>> parameter is deprecated and is replaced by equivalent plugin parameters. 
-The values from descriptor are still applied, warnings are printed. In future releases the parameter will be removed.
-
-{Upgrading from 2.6 version to 3.0}
-
- There are a few significant incompatible changes introduced in <<3.0's>> version of
-NBM packaging lifecycle. The result should be easier to setup builds and better support for building
-NetBeans platform based applications.
-
-   * The lifecycle mappings have changed. There is no more <<<nbm:jar>>> goal and
-it was replaced by <<<nbm:manifest>>> which is executed at different phase, namely <<<process-classes>>>, right after
-the module's classes are compiled.
-
- <<Important>>: In order to have maven-jar-plugin to pick up the generated manifest, you need to add the following
-configuration snippet to your projects with <<<nbm>>> packaging.
-
-+-----+
-    <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>3.0.2</version>
-        <configuration>
-            <archive>
-                <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-            </archive>
-        </configuration>
-    </plugin>
-+-----+
-
-   * The project's dependencies that shall end up on <<Class-Path>> of the module and
-now processed transitively. In earlier versions, you had to either explicitly list
-all such items in the pom as direct dependencies, or list them in the module descriptor.
-Only transitive dependencies that descend from non-NetBeans module direct dependencies are
-included, eg. if you depend on module that includes Apache's commons-httpclient, the library will not
-be included (unless defined in your project directly). Possible trouble makers are transitive depedencies that are
-defined both in a dependening module and a regular jar dependency. Based on Maven dependency tree resolution,
-the binary could end up on the <<Class-Path>> or not. The resolution to the problem is to define
-The troubled dependency directly and either define the scope as <<<provided>>> if you don't want it included in <<Class-Path>>,
-or keep the default <<<compile>>> scope if you want.
-
-   * NBM file is always generated for any NetBeans module project. You can skip the NBM file
-generation by setting the parameter to nbm:nbm goal, but please be aware that having NBM files in local and
-remote repositories is crucial for the new tools that create a NetBeans Platform based application
-binaries.
-
-   * In previous versions the ultimate final binary for the platform based application,
- was a directory with the cluster(s) of modules. Now a new packaging is defined <<<nbm-application>>> that
-allows for creating a final application zip file, webstartable jnlp files, and an update site.
-All are constructed solely from the repository content (assuming all relevant modules have NBM files in repositories)
-and the primary project for the binaries is the <<<nbm-application>>> packaging project, unlike in previous versions
-where the root pom was the primary project and required all included modules to be built as part of the reactor
-in the same build.
-
-   * The <<<nbm:manifest>>> goal besides generating the manifest, will also check if the runtime dependencies
-match the actual classes being used in the project and it's libraries on <<Class-Path>>. That's analogous to
-the {{{http://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html}<<<dependency:analyze>>>}}
-goal but takes the NetBeans module system constraints into account (non-transitivity of module dependencies,
-public vs. private packages constraint etc)
-
-   * The previous versions didn't define the <<<OpenIDE-Module-Public-Packages>>> entry in the manifest file.
-The result was a deprecated state that made all classes publicly accessible from other modules
-and printed a warning to the application's log file. In <<3.0>>, we introduced a new optional parameter <<<publicPackages>>>
-that lists all public packages in the module. If not defined, no package is exported as public. See
-{{{https://github.com/mojohaus/nbm-maven-plugin/issues/3}issue}} for details. If you have previously
-placed the <<OpenIDE-Module-Public-Packages>> entry in the manifest file manually, it will not be overriden by the new parameter.
-
-=======================================================================
-
-{Upgrading from 2.4 version to 2.5}
-
- There are  significant changes in how NetBeans module system dependencies are mapped to maven's own 
-dependencies model. The <<2.4>> and older version all module system deps had to be explicitly defined in the module descriptor at <<<src/main/nbm/module.xml>>>.
-That is no longer a requirement in <<2.5>> for most cases. The plugin will try to decide based on the declaration
-in maven POM file. 
- 
- These are the rules:
-
-    * for NetBeans module dependencies (jars that have the NetBeans specific entries in META-INF/MANIFEST.MF)
-
-        * It's defined in existing (though optional) <<<module.xml>>> file in <<<dependencies>>> section.
-
-        * It's a direct dependency (non-transitive) and is a NetBeans module.
-
-        * When the dependency is of type <<<nbm>>>. Such dependencies don't include their transitive deps on compilation classpath.
-
-    * for module libraries (jars that are packed together with the module and appear on it's classpath directly, not by a dependency relationship.)
-
-        * It's defined in existing (though optional) <<<module.xml>>> file in <<<libraries>>> section
-
-        * It's a direct dependency (non-transitive) and is not of <<<provided>>> scope.
-
- So if you have used <<2.4>> and older before, you need to check your dependencies when upgrading to <<2.5>>.
-
-    * The <<2.5>> plugin can pick up and declare more module dependencies than the previous version. Module dependencies are safe. 
-You either declared them in your <<<module.xml>>> file. Some additional ones can appear if you have them as direct dependencies in your pom.
-Use the {{{http://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html}<<<dependency:analyze>>>}} goal to check for used/unused direct dependencies.
-
-    * The <<2.5>> plugin can also pick up and declare more module libraries. That's something to watch out for! That happens again only when you declared the jars as direct dependencies.
-You could end up with a single jar being added to multiple modules and get runtime classpath issues and of course your download size 
-will get higher than necessary. Again the {{{http://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html}<<<dependency:analyze>>>}} goal shall help. If you know the jar is required but is provided by a module you depend on, use the <<<provided>>> scope to prevent inclusion.
-
diff --git a/nbm-maven-plugin/src/site/resources/masterjnlp.txt b/nbm-maven-plugin/src/site/resources/masterjnlp.txt
deleted file mode 100644
index a1365d0..0000000
--- a/nbm-maven-plugin/src/site/resources/masterjnlp.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Discriptor 1.5//EN" "http://java.sun.com/dtd/JNLP-1.5.dtd">
-<jnlp spec="1.0+" codebase="${jnlp.codebase}">
-  <information>
-      <title>${app.title}</title>
-      <vendor>${app.title} vendor</vendor>
-      <description>${app.name} application</description>
-      <icon href="${app.icon}"/>
-  </information>
-  <security><all-permissions/></security>
-  <resources>
-    <!-- The following property is needed when running with unsigned jars: -->
-    <property name="netbeans.jnlp.fixPolicy" value="${netbeans.jnlp.fixPolicy}"/>
-    <extension name='branding' href='branding.jnlp' />
-    <j2se version="1.5+"/>
-    <jar href="startup.jar"/>
-    <property name="netbeans.user" value="${user.home}/.${branding.token}"/>
-
-<!-- The following line will be replaced with an automatically generated list of resources: -->
-    ${jnlp.resources}
-  </resources>
-  <resources os="Mac OS X">
-      <property name="netbeans.user" value="${user.home}/Library/Application Support/${branding.token}"/>
-  </resources>
-  <application-desc>
-    <argument>--branding</argument>
-    <argument>${branding.token}</argument>
-  </application-desc>
-</jnlp> 
\ No newline at end of file
diff --git a/nbm-maven-plugin/src/site/site.xml b/nbm-maven-plugin/src/site/site.xml
deleted file mode 100644
index 5beda36..0000000
--- a/nbm-maven-plugin/src/site/site.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
-    <skin>
-        <groupId>org.netbeans.maven</groupId>
-        <artifactId>maven-netbeans-skin</artifactId>
-        <version>1.0-SNAPSHOT</version>
-    </skin>  
-    <body>
-    <menu name="Overview">
-      <item name="Usage" href="index.html"/>
-      <item name="Plugin Goals" href="plugin-info.html"/>
-      <!-- <item name="Javadoc" href="apidocs/index.html"/> -->
-      <!--item name="FAQ" href="faq.html"/-->
-    </menu>
-    <!--<menu name="Upgrade">   
-      <item name="2.4 -> 2.5 upgrade" href="2425upgrade.html"/>
-      <item name="2.6 -> 3.0 upgrade" href="2630upgrade.html"/>
-    </menu>-->
-    <menu name="HOWTOs ">
-      <item name="Customize installers" href="buildinstexample.html"/>
-      <item name="Upgrade from older versions" href="upgrade.html"/>
-    </menu>
-    <menu name="Deprecated">
-      <item name="Descriptor Format" href="nbm.html"/>
-      <item name="Example Descriptor" href="descriptor.html"/>
-    </menu>
-  </body>
-</project>
-
diff --git a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/AbstractNbmMojoTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/AbstractNbmMojoTest.java
deleted file mode 100644
index 1459b67..0000000
--- a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/AbstractNbmMojoTest.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- *  Copyright 2008 mkleint.
- * 
- *  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.
- *  under the License.
- */
-
-package org.netbeans.nbm;
-
-import org.netbeans.nbm.AbstractNbmMojo;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import junit.framework.TestCase;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DefaultArtifact;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugin.logging.SystemStreamLog;
-import org.apache.maven.shared.dependency.graph.DependencyNode;
-import org.apache.maven.shared.dependency.graph.internal.DefaultDependencyNode;
-import org.netbeans.nbm.model.Dependency;
-import org.netbeans.nbm.model.NetBeansModule;
-import org.netbeans.nbm.utils.ExamineManifest;
-
-/**
- *
- * @author mkleint
- */
-public class AbstractNbmMojoTest extends TestCase {
-    Log log = null;
-    DefaultDependencyNode treeRoot = null;
-    
-    public AbstractNbmMojoTest(String testName) {
-        super(testName);
-    }
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        log = new SystemStreamLog();
-        treeRoot = createNode(null, "root", "root", "1.0", "jar", "", true, new ArrayList<Artifact>(), new HashMap<Artifact,ExamineManifest>());
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    /**
-     * Test of matchesLibrary method, of class AbstractNbmMojo.
-     */
-    public void testMatchesLibrary() {
-        System.out.println("matchesLibrary");
-        Artifact artifact = createArtifact("group", "artifact", "1.0", "jar", "compile");
-        List<String> libraries = new ArrayList<String>();
-        libraries.add("group:artifact");
-        ExamineManifest depExaminator = createNonModule();
-        boolean result = AbstractNbmMojo.matchesLibrary(artifact, libraries, depExaminator, log, false);
-        assertTrue("explicitly defined libraries in descriptor are included", result);
-
-        artifact = createArtifact("group", "artifact", "1.0", "jar", "provided");
-        libraries = new ArrayList<String>();
-        result = AbstractNbmMojo.matchesLibrary(artifact, libraries, depExaminator, log, false);
-        assertFalse("provided artifacts are not included", result);
-
-        artifact = createArtifact("group", "artifact", "1.0", "jar", "system");
-        libraries = new ArrayList<String>();
-        result = AbstractNbmMojo.matchesLibrary(artifact, libraries, depExaminator, log, false);
-        assertFalse("system artifacts are not included", result);
-
-        artifact = createArtifact("group", "artifact", "1.0", "jar", "compile");
-        libraries = new ArrayList<String>();
-        libraries.add("group:artifact");
-        depExaminator = createModule();
-        result = AbstractNbmMojo.matchesLibrary(artifact, libraries, depExaminator, log, false);
-        assertTrue("netbeans modules are included if explicitly marked in descriptor", result);
-
-        libraries = new ArrayList<String>();
-        result = AbstractNbmMojo.matchesLibrary(artifact, libraries, depExaminator, log, false);
-        assertFalse("netbeans modules are omitted", result);
-
-        artifact = createArtifact("group", "artifact", "1.0", "nbm", "compile");
-        libraries = new ArrayList<String>();
-        result = AbstractNbmMojo.matchesLibrary(artifact, libraries, depExaminator, log, false);
-        assertFalse("netbeans modules are omitted", result);
-
-    }
-
-    /**
-     * Test of resolveNetBeansDependency method, of class AbstractNbmMojo.
-     */
-    public void testResolveNetBeansDependency() {
-        Artifact artifact = createArtifact("group", "artifact", "1.0", "jar", "compile");
-        List<Dependency> deps = new ArrayList<Dependency>();
-        ExamineManifest manifest = createNonModule();
-        Dependency result = AbstractNbmMojo.resolveNetBeansDependency(artifact, deps, manifest, log);
-        assertNull("not a NetBeans module", result);
-
-        manifest = createModule();
-        result = AbstractNbmMojo.resolveNetBeansDependency(artifact, deps, manifest, log);
-        assertNotNull("is a NetBeans module", result);
-
-        artifact = createArtifact("group", "artifact", "1.0", "nbm", "compile");
-        manifest = createNonModule();
-        result = AbstractNbmMojo.resolveNetBeansDependency(artifact, deps, manifest, log);
-        assertNotNull("nbm type is a NetBeans module", result);
-
-
-        artifact = createArtifact("group", "artifact", "1.0", "jar", "compile");
-        deps = new ArrayList<Dependency>();
-        Dependency d = new Dependency();
-        d.setId("group:artifact");
-        deps.add(d);
-        manifest = createNonModule();
-        result = AbstractNbmMojo.resolveNetBeansDependency(artifact, deps, manifest, log);
-        assertNull("not a NetBeans module, declared in deps but without explicit value", result);
-
-        d.setExplicitValue("XXX > 1.0");
-        result = AbstractNbmMojo.resolveNetBeansDependency(artifact, deps, manifest, log);
-        assertEquals("not a NetBeans module but declared with explicit value", result, d);
-
-        d.setExplicitValue(null);
-        manifest = createModule();
-        result = AbstractNbmMojo.resolveNetBeansDependency(artifact, deps, manifest, log);
-        assertEquals("netbeans module defined in descriptor", result, d);
-    }
-
-    /**
-     * Module is not a library
-     * @throws java.lang.Exception if AbstractNbmMojo.getLibraryArtifacts fail
-     */
-    public void testGetLibraryArtifacts1() throws Exception {
-        System.out.println("getLibraryArtifacts1");
-        Map<Artifact, ExamineManifest> examinerCache = new HashMap<Artifact, ExamineManifest>();
-        List<Artifact> runtimes = new ArrayList<Artifact>();
-        DependencyNode module = createNode(treeRoot, "gr1", "ar1", "1.0", "jar", "compile", true, runtimes, examinerCache);
-        treeRoot.setChildren( Collections.singletonList( module ));
-        NetBeansModule mdl = new NetBeansModule();
-        List<Artifact> result = AbstractNbmMojo.getLibraryArtifacts(treeRoot, mdl, runtimes, examinerCache, log, false);
-        assertEquals(0, result.size());
-    }
-
-    /**
-     * direct dependency is a library
-     * @throws java.lang.Exception if AbstractNbmMojo.getLibraryArtifacts fail
-     */
-    public void testGetLibraryArtifact2() throws Exception {
-        System.out.println("getLibraryArtifacts2");
-        Map<Artifact, ExamineManifest> examinerCache = new HashMap<Artifact, ExamineManifest>();
-        List<Artifact> runtimes = new ArrayList<Artifact>();
-        DependencyNode library = createNode(treeRoot, "gr1", "ar1", "1.0", "jar", "compile", false, runtimes, examinerCache);
-        treeRoot.setChildren( Collections.singletonList( library ));
-        NetBeansModule mdl = new NetBeansModule();
-        List<Artifact> result = AbstractNbmMojo.getLibraryArtifacts(treeRoot, mdl, runtimes, examinerCache, log, false);
-        assertEquals(1, result.size());
-    }
-
-    
-    /**
-     * transitive dependency gets included as well.
-     * @throws java.lang.Exception if AbstractNbmMojo.getLibraryArtifacts fail
-     */
-    public void testGetLibraryArtifact3() throws Exception {
-        System.out.println("getLibraryArtifacts3");
-        Map<Artifact, ExamineManifest> examinerCache = new HashMap<Artifact, ExamineManifest>();
-        List<Artifact> runtimes = new ArrayList<Artifact>();
-        DependencyNode library = createNode(treeRoot, "gr1", "ar1", "1.0", "jar", "compile", false, runtimes, examinerCache);
-        treeRoot.setChildren( Collections.singletonList( library ));
-        DependencyNode translibrary = createNode(library, "gr2", "ar2", "1.0", "jar", "runtime", false, runtimes, examinerCache);
-        ((DefaultDependencyNode)library).setChildren( Collections.singletonList( translibrary ) );
-        
-        NetBeansModule mdl = new NetBeansModule();
-        List<Artifact> result = AbstractNbmMojo.getLibraryArtifacts(treeRoot, mdl, runtimes, examinerCache, log, false);
-        assertEquals(2, result.size());
-    }
-
-    /**
-     * transitive dependency of a module doesn't get included as library
-     * @throws java.lang.Exception if AbstractNbmMojo.getLibraryArtifacts fail
-     */
-    public void testGetLibraryArtifact4() throws Exception {
-        System.out.println("getLibraryArtifacts4");
-        Map<Artifact, ExamineManifest> examinerCache = new HashMap<Artifact, ExamineManifest>();
-        List<Artifact> runtimes = new ArrayList<Artifact>();
-        DependencyNode module = createNode(treeRoot, "gr1", "ar1", "1.0", "jar", "compile", true, runtimes, examinerCache);
-        treeRoot.setChildren( Collections.singletonList( module ));
-        DependencyNode translibrary = createNode(module, "gr2", "ar2", "1.0", "jar", "runtime", false, runtimes, examinerCache);
-        ((DefaultDependencyNode)module).setChildren( Collections.singletonList( translibrary ) );
-        NetBeansModule mdl = new NetBeansModule();
-        List<Artifact> result = AbstractNbmMojo.getLibraryArtifacts(treeRoot, mdl, runtimes, examinerCache, log, false);
-        assertEquals(0, result.size());
-    }
-
-    /**
-     * transitive dependency of a library is a duplicate of a transitive dependency of a module
-     * -&gt;doesn't get included.
-     * @throws java.lang.Exception if AbstractNbmMojo.getLibraryArtifacts fail
-     */
-    public void testGetLibraryArtifact5() throws Exception {
-        System.out.println("getLibraryArtifacts5");
-        Map<Artifact, ExamineManifest> examinerCache = new HashMap<Artifact, ExamineManifest>();
-        List<Artifact> runtimes = new ArrayList<Artifact>();
-        DependencyNode module = createNode(treeRoot, "gr1", "ar1", "1.0", "jar", "compile", true, runtimes, examinerCache);
-        DependencyNode translibrary = createNode(module, "gr2", "ar2", "1.0", "jar", "runtime", false, runtimes, examinerCache);
-        ((DefaultDependencyNode)module).setChildren( Collections.singletonList( translibrary ) );
-
-        DependencyNode library = createNode(treeRoot, "gr3", "ar3", "1.0", "jar", "compile", false, runtimes, examinerCache);
-        DependencyNode translibrary2 = createNode(library, "gr4", "ar4", "1.0", "jar", "runtime", false, runtimes, examinerCache);
-        ((DefaultDependencyNode)library).setChildren( Collections.singletonList( translibrary2 ) );
-        treeRoot.setChildren( Arrays.asList( new DependencyNode[] { module, library}));
-
-
-        NetBeansModule mdl = new NetBeansModule();
-        List<Artifact> result = AbstractNbmMojo.getLibraryArtifacts(treeRoot, mdl, runtimes, examinerCache, log, false);
-        assertEquals(2, result.size());
-        assertEquals(result.get(0).getId(), library.getArtifact().getId());
-        assertEquals(result.get(1).getId(), translibrary2.getArtifact().getId());
-    }
-
-    private DefaultDependencyNode createNode(DependencyNode parent, String gr, String art, String ver, String pack, String scope, boolean isModule, List<Artifact> runtimes, Map<Artifact, ExamineManifest> cache) {
-        Artifact a = createArtifact(gr, art, ver, pack, scope);
-        DefaultDependencyNode nd = new DefaultDependencyNode(parent, a, ver, scope, ver);
-        ExamineManifest manifest = isModule ? createModule() : createNonModule();
-        runtimes.add(a);
-        cache.put(a, manifest);
-        nd.setChildren( Collections.<DependencyNode>emptyList() );
-        return nd;
-    }
-
-//    private DependencyNode createNode(Artifact a, int state) {
-//        DependencyNode nd = new DefaultDependencyNode(a, state, a);
-//        return nd;
-//    }
-
-    private Artifact createArtifact(String gr, String art, String ver, String pack, String scope) {
-        VersionRange rng = VersionRange.createFromVersion(ver);
-        Artifact a = new DefaultArtifact(gr, art, rng, scope, pack, "classifier", null);
-        a.setDependencyTrail(Collections.EMPTY_LIST);
-        a.setFile(new File(gr + File.separator + art + File.separator + art + "-"+ ver + ".jar"));
-        return a;
-    }
-
-    private ExamineManifest createNonModule() {
-        ExamineManifest manifest = new ExamineManifest(log);
-        manifest.setNetBeansModule(false);
-        return manifest;
-    }
-
-    private ExamineManifest createModule() {
-        ExamineManifest manifest = new ExamineManifest(log);
-        manifest.setNetBeansModule(true);
-        return manifest;
-    }
-}
diff --git a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/BrandingMojoTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/BrandingMojoTest.java
deleted file mode 100644
index 3268e31..0000000
--- a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/BrandingMojoTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2013 Codehaus.
- *
- * 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.
- */
-package org.netbeans.nbm;
-
-import org.netbeans.nbm.BrandingMojo;
-import java.io.File;
-import org.junit.Test;
-import static org.junit.Assert.*;
-
-/**
- *
- * @author mkleint
- */
-public class BrandingMojoTest
-{
-    
-    public BrandingMojoTest()
-    {
-    }
-
-    /**
-     * Test of destinationFileName method, of class BrandingMojo.
-     */
-    @Test
-    public void testDestinationFileName()
-    {
-        assertEquals( "cut_brandingToken.gif", BrandingMojo.destinationFileName( "cut.gif", "brandingToken" ) );
-        assertEquals( "cut_brandingToken", BrandingMojo.destinationFileName( "cut", "brandingToken" ) );
-        assertEquals( "cut_pressed_brandingToken.gif", BrandingMojo.destinationFileName( "cut_pressed.gif", "brandingToken" ) );
-        assertEquals( "path1" + File.separator + "path2" + File.separator + "cut_brandingToken", BrandingMojo.destinationFileName( "path1" + File.separator + "path2" + File.separator + "cut", "brandingToken" ) );
-        assertEquals( "path.1" + File.separator + "path.2" + File.separator + "cut_brandingToken", BrandingMojo.destinationFileName( "path.1" + File.separator + "path.2" + File.separator + "cut", "brandingToken" ) );
-        assertEquals( "path.1" + File.separator + "cut_pressed_brandingToken.gif", BrandingMojo.destinationFileName( "path.1" + File.separator + "cut_pressed.gif", "brandingToken" ) );
-    }
-    
-    @Test
-    public void testLocale() {
-        assertEquals("en_us", BrandingMojo.getLocale( "aaa_en_us.properties")[1]);
-        assertEquals("en_us_ca", BrandingMojo.getLocale( "aaa_en_us_ca.properties")[1]);
-        assertEquals("en_us_ca", BrandingMojo.getLocale( "aa_en_us_ca.properties")[1]);
-        assertEquals("en_us_ca", BrandingMojo.getLocale( "bb_aa_en_us_ca.properties")[1]);
-        assertEquals("en", BrandingMojo.getLocale( "bb_aaa_en.properties")[1]);
-        assertEquals(null, BrandingMojo.getLocale( "bb_aaa_end.properties")[1]);
-        assertEquals(null, BrandingMojo.getLocale( "bb_aa_end.properties")[1]);
-        assertEquals(null, BrandingMojo.getLocale( "bb.properties")[1]);
-    }
-}
diff --git a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateClusterAppMojoTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateClusterAppMojoTest.java
deleted file mode 100644
index 0e95c07..0000000
--- a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateClusterAppMojoTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright 2013 Codehaus.
- *
- * 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.
- */
-package org.netbeans.nbm;
-
-import org.netbeans.nbm.CreateClusterAppMojo;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.logging.Log;
-import org.netbeans.nbm.utils.ExamineManifest;
-import org.netbeans.nbm.CreateClusterAppMojo.BundleTuple;
-import static org.junit.Assert.*;
-import org.junit.Test;
-
-/**
- *
- * @author mkleint
- */
-public class CreateClusterAppMojoTest
-{
-    
-    public CreateClusterAppMojoTest()
-    {
-    }
-    
-    @Test
-    public void computeClusterOrderingTest() throws Exception {
-        HashMap<String, Set<String>> clusterDeps = new HashMap<String, Set<String>>();
-        HashMap<String, Set<String>> clusterModules = new HashMap<String, Set<String>>();
-        clusterModules.put( "platform", new HashSet<String>(Arrays.asList( new String[] {"pl-a", "pl-b", "pl-c"})));
-        clusterModules.put( "ide", new HashSet<String>(Arrays.asList( new String[] {"i-a", "i-b", "i-c"})));
-        clusterModules.put( "java", new HashSet<String>(Arrays.asList( new String[] {"j-a", "j-b", "j-c"})));
-        
-        clusterDeps.put( "java", new HashSet<String>(Arrays.asList( new String[] {"i-a", "pl-b", "pl-c"})));
-        clusterDeps.put( "ide", new HashSet<String>(Arrays.asList( new String[] {"pl-b", "pl-c"})));
-        Map<String, Set<String>> res = CreateClusterAppMojo.computeClusterOrdering( clusterDeps, clusterModules);
-        assertNotNull( res );
-        Set<String> resJava = res.get( "java");
-        assertNotNull( resJava );
-        assertEquals( resJava.size(), 2);
-        assertTrue( resJava.contains( "ide"));
-        assertTrue( resJava.contains( "platform"));
-        
-        Set<String> resIde = res.get( "ide");
-        assertNotNull( resIde );
-        assertEquals( resIde.size(), 1);
-        assertTrue( resIde.contains( "platform"));
-        
-    }
-    
-    @Test
-    public void assignClustersToBundles() throws Exception {
-        ArrayList<BundleTuple> bundles = new ArrayList<BundleTuple>();
-        BundleTuple tup1 = createBundleTuple("a.b.c", new File(getClass().getResource( "/osgimanifests" + File.separator + "a.b.c.MF").toURI()));
-        bundles.add( tup1 );
-        BundleTuple tup2 = createBundleTuple("b.c.d", new File(getClass().getResource( "/osgimanifests" + File.separator + "b.c.d.MF").toURI()));
-        assertTrue(Arrays.toString( tup2.manifest.getOsgiImports().toArray()),  tup2.manifest.getOsgiImports().contains( "a.b.c"));
-        bundles.add( tup2 );
-        HashMap<String, Set<String>> clusterDeps = new HashMap<String, Set<String>>();
-        clusterDeps.put( "java", new HashSet<String>(Arrays.asList( new String[] {"i-a", "pl-b", "pl-c"})));
-        clusterDeps.put( "ide", new HashSet<String>(Arrays.asList( new String[] {"pl-b", "pl-c", "a.b.c"})));
-        
-        CreateClusterAppMojo.assignClustersToBundles(bundles, Collections.<String>emptySet(), clusterDeps, Collections.<String, Set<String>>emptyMap(), null);
-        assertEquals( "ide", tup1.cluster);
-        assertEquals( "ide", tup2.cluster);
-        
-        clusterDeps.clear();
-        clusterDeps.put( "ide", new HashSet<String>(Arrays.asList( new String[] {"i-a", "pl-b", "pl-c"})));
-        clusterDeps.put( "java", new HashSet<String>(Arrays.asList( new String[] {"pl-b", "pl-c", "b.c.d"})));
-        tup2.cluster = null;
-        tup1.cluster = null;
-        
-        CreateClusterAppMojo.assignClustersToBundles(bundles, Collections.<String>emptySet(), clusterDeps, Collections.<String, Set<String>>emptyMap(), null);
-        assertEquals( "java", tup2.cluster);
-        assertEquals( "java", tup1.cluster);
-        
-    }
-
-    private BundleTuple createBundleTuple( String cnb, File file ) throws MojoExecutionException
-    {
-        assertTrue( file.exists());
-        
-        ExamineManifest em = new ExamineManifest( null );
-        em.setManifestFile( file );
-        em.setPopulateDependencies( true);
-        em.checkFile();
-        assertEquals( cnb, em.getModule());
-        BundleTuple toRet = new BundleTuple( null, em);
-                
-        return toRet;
-    }
-}
\ No newline at end of file
diff --git a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateNetBeansFileStructureTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateNetBeansFileStructureTest.java
deleted file mode 100644
index 22d9bd5..0000000
--- a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateNetBeansFileStructureTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2012 Codehaus.
- *
- * 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.
- */
-package org.netbeans.nbm;
-
-import org.netbeans.nbm.CreateNetBeansFileStructure;
-import java.io.File;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Collections;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.plugin.testing.AbstractMojoTestCase;
-
-public class CreateNetBeansFileStructureTest
-        extends AbstractMojoTestCase
-{
-
-    public void testWriteExternal()
-            throws Exception
-    {
-        String localRepository = System.getProperty( "localRepository" );
-        ArtifactFactory artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.class.getName() );
-        ArtifactResolver artifactResolver = (ArtifactResolver) lookup( ArtifactResolver.class.getName() );
-        Artifact a = artifactFactory.createBuildArtifact( "junit", "junit", "4.12", "jar" );
-//        DefaultArtifactRepository central = new DefaultArtifactRepository( "central", "http://repo.maven.apache.org/maven2", new DefaultRepositoryLayout() );
-        artifactResolver.resolve( a, Collections.<ArtifactRepository>emptyList(), new DefaultArtifactRepository( "local", new File(localRepository).toURI().toString(), new DefaultRepositoryLayout() ) );
-        StringWriter w = new StringWriter();
-        CreateNetBeansFileStructure.writeExternal( new PrintWriter( w ), a );
-        assertEquals( "CRC:1355517765\nSIZE:314932\nURL:m2:/junit:junit:4.12:jar\nURL:http://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar\n", w.toString() );
-    }
-
-}
diff --git a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/NetBeansManifestUpdateMojoTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
deleted file mode 100644
index ecdeb6c..0000000
--- a/nbm-maven-plugin/src/test/java/org/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- *  Copyright 2008 mkleint.
- * 
- *  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.
- *  under the License.
- */
-
-package org.netbeans.nbm;
-
-import org.netbeans.nbm.NetBeansManifestUpdateMojo;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Locale;
-import java.util.regex.Pattern;
-import junit.framework.TestCase;
-import org.apache.tools.ant.taskdefs.Manifest;
-
-public class NetBeansManifestUpdateMojoTest extends TestCase {
-    
-    public NetBeansManifestUpdateMojoTest(String testName) {
-        super(testName);
-    }
-
-    public void testCreateCompiledPatternList()
-    {
-        List<String> subpackages = Arrays.asList( new String[] {
-                "org.milos.**",
-                "org.tomas.**"
-        });
-        List<Pattern> result = NetBeansManifestUpdateMojo.createCompiledPatternList( subpackages );
-        assertTrue( matches( "org.milos.Test", result));
-        assertTrue( matches( "org.milos.pack.Test", result));
-        assertTrue( matches( "org.tomas.pack.Test$Inside", result));
-        assertFalse( matches( "org.milan", result));
-        assertFalse( matches( "org.milosclass", result));
-
-        List<String> packages = Arrays.asList( new String[] {
-                "org.milos.*",
-                "org.tomas.*"
-        });
-        result = NetBeansManifestUpdateMojo.createCompiledPatternList( packages );
-        assertTrue( matches( "org.milos.Test", result));
-        assertFalse( matches( "org.milos.pack.Test", result));
-        assertFalse( matches( "org.tomas.pack.Test$Inside", result));
-        assertTrue( matches( "org.tomas.Test$Inside", result));
-        assertFalse( matches( "org.milan", result));
-        assertFalse( matches( "org.milosclass", result));
-
-    }
-
-    private boolean matches(String className, List<Pattern> matchers) {
-        for (Pattern patt : matchers) {
-            if (patt.matcher( className ).matches()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public void testShorten()
-    {
-        Locale old = Locale.getDefault();
-        Locale.setDefault( Locale.US );
-        try
-        {
-            assertEquals( null, NetBeansManifestUpdateMojo.shorten ( null ) );
-            assertEquals( null, NetBeansManifestUpdateMojo.shorten ( "" ) );
-            assertEquals( "I typed some description here", NetBeansManifestUpdateMojo.shorten ( "I typed some description here" ) );
-            assertEquals( "Now I'm trying to be serious.", NetBeansManifestUpdateMojo.shorten ( "Now I'm trying to be serious." ) );
-            assertEquals( "A meaningful description.", NetBeansManifestUpdateMojo.shorten ( "A meaningful description. But will it work?" ) );
-            assertEquals( "I have no idea what this module does, do you?", NetBeansManifestUpdateMojo.shorten ( "I have no idea what this module does, do you? No? Fine." ) );
-        }
-        finally
-        {
-            Locale.setDefault( old );
-        }
-    }
-
-    public void testNewlines()
-        throws Exception
-    {
-        Manifest m = new Manifest();
-        Manifest.Section s = m.getMainSection();
-        new NetBeansManifestUpdateMojo().conditionallyAddAttribute( s, "Desc", "Something.\n   Else.\n" );
-        assertEquals( "Something. Else.", s.getAttributeValue( "Desc" ));
-    }
-
-}
diff --git a/nbm-maven-plugin/src/test/resources/osgimanifests/a.b.c.MF b/nbm-maven-plugin/src/test/resources/osgimanifests/a.b.c.MF
deleted file mode 100644
index 4b61376..0000000
--- a/nbm-maven-plugin/src/test/resources/osgimanifests/a.b.c.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Localization: plugin
-Bundle-SymbolicName: a.b.c; singleton:=true
-Require-Bundle: org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)";visibi
- lity:=reexport,org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.
- 0)";visibility:=reexport,org.eclipse.core.jobs;bundle-version="[3.2.0
- ,4.0.0)";visibility:=reexport,org.eclipse.equinox.registry;bundle-ver
- sion="[3.4.0,4.0.0)";visibility:=reexport,org.eclipse.equinox.prefere
- nces;bundle-version="[3.4.0,4.0.0)";visibility:=reexport,org.eclipse.
- core.contenttype;bundle-version="[3.3.0,4.0.0)";visibility:=reexport,
- org.eclipse.core.runtime.compatibility.auth;bundle-version="[3.2.0,4.
- 0.0)";resolution:=optional,org.eclipse.equinox.app;bundle-version="1.
- 0.0";visibility:=reexport
-Export-Package: a.b.c;x-interna
- l:=true,a.b.c.d;x-friends:="org.eclipse.cor
- e.runtime.compatibility"
-Bundle-Version: 3.7.0.v20110110
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-ManifestVersion: 2
-
diff --git a/nbm-maven-plugin/src/test/resources/osgimanifests/b.c.d.MF b/nbm-maven-plugin/src/test/resources/osgimanifests/b.c.d.MF
deleted file mode 100644
index 2b1c729..0000000
--- a/nbm-maven-plugin/src/test/resources/osgimanifests/b.c.d.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4
-Bundle-SymbolicName: b.c.d; singleton:=true
-Eclipse-LazyStart: true
-Export-Package: b.c.d;x-friends:="org.eclipse
- .core.resources,org.eclipse.core.runtime.compatibility,org.eclipse.pd
- e.build",b.c.d.d;common=split;mandatory:=co
- mmon; x-friends:="org.eclipse.core.contenttype
-Bundle-Version: 3.6.0.v20110523
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Import-Package: a.b.c;version="[1.0,2.0)",a.b.c.d;version="[1.1, 2.0)"
-Bundle-ManifestVersion: 2
-
diff --git a/nbm-shared/pom.xml b/nbm-shared/pom.xml
deleted file mode 100644
index 4530256..0000000
--- a/nbm-shared/pom.xml
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.apache.netbeans.utilities</groupId>
-        <artifactId>utilities-parent</artifactId>
-        <version>1-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>nb-shared</artifactId>
-    <version>1.3-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Apache NetBeans Maven Utilities - NBM Plugins Utilities</name>
-    <description>Maven plugin for creating Maven Repository out of a Apache NetBeans installation (and other sources) for consumption by the projects using nbm-maven-plugin.
-    </description>
-    <inceptionYear>2005</inceptionYear>
-    <url>http://bits.netbeans.org/mavenutilities/nb-shared</url>
-    <issueManagement>
-        <system>jira</system>
-        <url>https://issues.apache.org/jira/browse/NETBEANS</url>
-    </issueManagement>
-    <licenses>
-        <license>
-            <name>Apache License 2</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
-    </scm>
-    <developers>
-        <developer>
-            <id>mkleint</id>
-            <name>Milos Kleint</name>
-            <email>mkleint@codehaus.org</email>
-            <organization>Codehaus</organization>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-        <developer>
-            <id>jglick</id>
-            <name>Jesse Glick</name>
-            <email>jglick@codehaus.org</email>
-            <organization>Codehaus</organization>
-            <roles>
-                <role>Developer</role>
-            </roles>
-        </developer>
-    </developers>
-    <contributors>
-        <contributor>
-            <name>Johan Andrén</name>
-            <email>protected</email>
-            <roles>
-                <role>Patch Contributor</role>
-                <role>Goal Contributor</role>
-            </roles>
-        </contributor>
-        <contributor>
-            <name>Mykola Nikishov</name>
-            <email>mn@mn.com.ua</email>
-            <roles>
-                <role>Patch Contributor</role>
-            </roles>
-        </contributor>
-        <contributor>
-            <name>Frantisek Mantlik</name>
-            <email>frantisek@mantlik.cz</email>
-            <roles>
-                <role>Goal Contributor</role>
-            </roles>
-        </contributor>
-    </contributors>
-    
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.6</source>
-                    <target>1.6</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>animal-sniffer-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                        <configuration>
-                            <signature>
-                                <groupId>org.codehaus.mojo.signature</groupId>
-                                <artifactId>java16</artifactId>
-                                <version>1.0</version>
-                            </signature>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-    <reporting>
-        <plugins>
-            <!--<plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <reportSets>
-                    <reportSet>
-                        <reports>
-                            <report>plugin-management</report>
-                            <report>plugins</report>
-                            <report>project-team</report>
-                            <report>scm</report>
-                            <report>summary</report>
-                           
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>-->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-changes-plugin</artifactId>
-                <configuration>
-                    <skip>true</skip>
-                    <!-- <onlyCurrentVersion>true</onlyCurrentVersion>-->
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <configuration>
-                    <quiet>true</quiet>
-                    <links>
-                        <!--<link>http://download-llnw.oracle.com/javaee/1.4/api/</link>-->
-                        <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>
-                        <link>http://commons.apache.org/dbcp/apidocs/</link>
-                        <link>http://commons.apache.org/fileupload/apidocs/</link>
-                        <link>http://commons.apache.org/logging/apidocs/</link>
-                        <link>http://commons.apache.org/pool/apidocs/</link>
-                        <link>http://junit.sourceforge.net/javadoc/</link>
-                        <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
-                        <link>http://jakarta.apache.org/regexp/apidocs/</link>
-                        <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${maven.version}/maven-artifact/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${maven.version}/maven-artifact-manager/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${maven.version}/maven-model/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${maven.version}/maven-plugin-api/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${maven.version}/maven-project/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${maven.version}/maven-reporting/maven-reporting-api/apidocs/</link>
-                        <link>http://maven.apache.org/ref/${maven.version}/maven-settings/apidocs/</link>
-                    </links>
-                    <tagletArtifacts>
-                        <tagletArtifact>
-                            <groupId>org.apache.maven.plugin-tools</groupId>
-                            <artifactId>maven-plugin-tools-javadoc</artifactId>
-                        </tagletArtifact>
-                        <tagletArtifact>
-                            <groupId>org.codehaus.plexus</groupId>
-                            <artifactId>plexus-component-javadoc</artifactId>
-                            <version>1.5.5</version>
-                        </tagletArtifact>
-                    </tagletArtifacts>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jxr-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-pmd-plugin</artifactId>
-                <configuration>
-                    <targetJdk>1.6</targetJdk>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-linkcheck-plugin</artifactId>
-                <configuration>
-                    <excludedLinks>
-                        <excludedLink>../../images/codehaus-small.png</excludedLink>
-                        <excludedLink>../../images/mojo_logo.png</excludedLink>
-                        <excludedLink>plugin-info.html</excludedLink>
-                    </excludedLinks>
-                    <!--<excludedPages>
-                        <excludedPage>dependencies.html</excludedPage> 
-                    </excludedPages>-->
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>cobertura-maven-plugin</artifactId>
-                <version>2.7</version>
-            </plugin> 
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>taglist-maven-plugin</artifactId>
-                <version>2.4</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <version>0.12</version>
-            </plugin>
-        </plugins>
-    </reporting>
-    <!--profiles>
-        <profile>
-            <id>tools.jar</id>
-            <activation>
-                <file>
-                    <exists>${java.home}/../lib/tools.jar</exists>
-                </file>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun</groupId>
-                    <artifactId>tools</artifactId>
-                    <version>1.5.0</version>
-                    <scope>system</scope>
-                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles-->
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-            <version>3.0.4</version>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant</artifactId>
-            <version>1.9.2</version>
-            <scope>compile</scope>
-            <type>jar</type>
-        </dependency>
-    </dependencies>
-    <properties>
-        <mojo.java.target>1.6</mojo.java.target>
-        <maven.version>3.0.4</maven.version>
-    </properties>
-</project>
diff --git a/nbm-shared/src/main/java/org/netbeans/nbm/utils/AbstractNetbeansMojo.java b/nbm-shared/src/main/java/org/netbeans/nbm/utils/AbstractNetbeansMojo.java
deleted file mode 100644
index db9918f..0000000
--- a/nbm-shared/src/main/java/org/netbeans/nbm/utils/AbstractNetbeansMojo.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2004 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm.utils;
-
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.Taskdef;
-
-public abstract class AbstractNetbeansMojo
-    extends AbstractMojo
-{
-
-    /**
-     * Creates a project initialized with the same logger.
-     * @return project
-     */
-    protected final Project antProject()
-    {
-        Project antProject = new Project();
-        antProject.init();
-        antProject.addBuildListener( new BuildListener()
-        {
-            @Override
-            public void buildStarted( BuildEvent be )
-            {
-                getLog().debug( "Ant build started" );
-            }
-            @Override
-            public void buildFinished( BuildEvent be )
-            {
-                if ( be.getException() != null )
-                {
-                    getLog().error( be.getMessage(), be.getException() );
-                }
-                else
-                {
-                    getLog().debug( "Ant build finished" );
-                }
-            }
-            @Override
-            public void targetStarted( BuildEvent be )
-            {
-                getLog().info( be.getTarget().getName() + ":" );
-            }
-            @Override
-            public void targetFinished( BuildEvent be )
-            {
-                getLog().debug( be.getTarget().getName() + " finished" );
-            }
-            @Override
-            public void taskStarted( BuildEvent be )
-            {
-                getLog().debug( be.getTask().getTaskName() + " started" );
-            }
-            @Override
-            public void taskFinished( BuildEvent be )
-            {
-                getLog().debug( be.getTask().getTaskName() + " finished" );
-            }
-            @Override
-            public void messageLogged( BuildEvent be )
-            {
-                switch ( be.getPriority() )
-                {
-                    case Project.MSG_ERR:
-                        getLog().error( be.getMessage() );
-                        break;
-                    case Project.MSG_WARN:
-                        getLog().warn( be.getMessage() );
-                        break;
-                    case Project.MSG_INFO:
-                        getLog().info( be.getMessage() );
-                        break;
-                    default:
-                        getLog().debug( be.getMessage() );
-                }
-            }
-        } );
-        return antProject;
-    }
-
-    protected final Project registerNbmAntTasks()
-    {
-        Project antProject = antProject();
-
-        Taskdef taskdef = (Taskdef) antProject.createTask( "taskdef" );
-        taskdef.setClassname( "org.netbeans.nbbuild.MakeListOfNBM" );
-        taskdef.setName( "genlist" );
-        taskdef.execute();
-
-        taskdef = (Taskdef) antProject.createTask( "taskdef" );
-        taskdef.setClassname( "org.netbeans.nbbuild.MakeNBM" );
-        taskdef.setName( "makenbm" );
-        taskdef.execute();
-
-        taskdef = (Taskdef) antProject.createTask( "taskdef" );
-        taskdef.setClassname( "org.netbeans.nbbuild.MakeUpdateDesc" );
-        taskdef.setName( "updatedist" );
-        taskdef.execute();
-
-        taskdef = (Taskdef) antProject.createTask( "taskdef" );
-        taskdef.setClassname( "org.netbeans.nbbuild.CreateModuleXML" );
-        taskdef.setName( "createmodulexml" );
-        taskdef.execute();
-
-        taskdef = (Taskdef) antProject.createTask( "taskdef" );
-        taskdef.setClassname( "org.netbeans.nbbuild.JHIndexer" );
-        taskdef.setName( "jhindexer" );
-        taskdef.execute();
-
-        return antProject;
-    }
-
-
-
-}
diff --git a/nbm-shared/src/main/java/org/netbeans/nbm/utils/ExamineManifest.java b/nbm-shared/src/main/java/org/netbeans/nbm/utils/ExamineManifest.java
deleted file mode 100644
index f75d5ec..0000000
--- a/nbm-shared/src/main/java/org/netbeans/nbm/utils/ExamineManifest.java
+++ /dev/null
@@ -1,503 +0,0 @@
-/* ==========================================================================
- * Copyright 2003-2004 Mevenide Team
- *
- * 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.
- * =========================================================================
- */
-package org.netbeans.nbm.utils;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.Attributes;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.logging.Log;
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * Tag examines the manifest of a jar file and retrieves NetBeans specific information.
- * @author <a href="mailto:mkleint@codehaus.org">Milos Kleint</a>
- *
- */
-public class ExamineManifest
-{
-
-    private final Log logger;
-    private File jarFile;
-    private File manifestFile;
-    private boolean netBeansModule;
-    private boolean osgiBundle;
-
-    private boolean localized;
-    private String specVersion;
-    private String implVersion;
-    private String module;
-    private String locBundle;
-    private String classpath;
-    private boolean publicPackages;
-    private boolean populateDependencies = false;
-    private List<String> dependencyTokens = Collections.<String>emptyList();
-    private Set<String> osgiImports = Collections.<String>emptySet();
-    private Set<String> osgiExports = Collections.<String>emptySet();
-
-    private boolean friendPackages = false;
-    private List<String> friends = Collections.<String>emptyList();
-    private List<String> packages = Collections.<String>emptyList();
-
-    private List<String> requires = Collections.<String>emptyList();
-
-    private List<String> provides = Collections.<String>emptyList();
-    //that's the default behaviour without the special manifest entry
-    private boolean bundleAutoload = true;
-
-    public ExamineManifest( Log logger )
-    {
-        this.logger = logger;
-    }
-
-    public void checkFile()
-        throws MojoExecutionException
-    {
-
-        resetExamination();
-
-        Manifest mf = null;
-        if ( jarFile != null )
-        {
-            JarFile jar = null;
-            try
-            {
-                jar = new JarFile( jarFile );
-                mf = jar.getManifest();
-            }
-            catch ( Exception exc )
-            {
-                throw new MojoExecutionException( "Could not open " + jarFile + ": " + exc.getMessage(), exc );
-            }
-            finally
-            {
-                if ( jar != null )
-                {
-                    try
-                    {
-                        jar.close();
-                    }
-                    catch ( IOException io )
-                    {
-                        throw new MojoExecutionException( io.getMessage(), io );
-                    }
-                }
-            }
-        }
-        else if ( manifestFile != null )
-        {
-            InputStream stream = null;
-            try
-            {
-                stream = new FileInputStream( manifestFile );
-                mf = new Manifest( stream );
-            }
-            catch ( Exception exc )
-            {
-                throw new MojoExecutionException( exc.getMessage(), exc );
-            }
-            finally
-            {
-                if ( stream != null )
-                {
-                    try
-                    {
-                        stream.close();
-                    }
-                    catch ( IOException io )
-                    {
-                        throw new MojoExecutionException( io.getMessage(), io );
-                    }
-                }
-            }
-        }
-        if ( mf != null )
-        {
-            processManifest( mf );
-        }
-        else
-        {
-            //MNBMODULE-22
-            File source = manifestFile;
-            if ( source == null )
-            {
-                source = jarFile;
-            }
-            if ( source == null )
-            {
-                logger.debug( "No manifest to examine" );
-            }
-            else
-            {
-                logger.debug( "Cannot find manifest entries in " + source.getAbsolutePath() );
-            }
-        }
-    }
-
-    private void resetExamination()
-    {
-        setNetBeansModule( false );
-        this.localized = false;
-        this.specVersion = null;
-        this.implVersion = null;
-        this.module = null;
-        this.locBundle = null;
-        this.publicPackages = false;
-        classpath = "";
-    }
-
-    private void processManifest( Manifest mf )
-    {
-        Attributes attrs = mf.getMainAttributes();
-        this.module = attrs.getValue( "OpenIDE-Module" );
-        setNetBeansModule( getModule() != null );
-        if ( isNetBeansModule() )
-        {
-            this.locBundle = attrs.getValue( "OpenIDE-Module-Localizing-Bundle" );
-            this.localized = locBundle != null;
-            this.specVersion = attrs.getValue( "OpenIDE-Module-Specification-Version" );
-            this.implVersion = attrs.getValue( "OpenIDE-Module-Implementation-Version" );
-            String cp = attrs.getValue( Attributes.Name.CLASS_PATH );
-            classpath = cp == null ? "" : cp;
-            String value = attrs.getValue( "OpenIDE-Module-Public-Packages" );
-            String frList = attrs.getValue( "OpenIDE-Module-Friends" );
-            if ( value == null || value.trim().equals( "-" ) )
-            {
-                this.publicPackages = false;
-            }
-            else
-            {
-                if ( frList != null )
-                {
-                    this.publicPackages = false;
-                    String[] friendList = StringUtils.stripAll( StringUtils.split( frList, "," ) );
-                    friendPackages = true;
-                    friends = Arrays.asList( friendList );
-                }
-                else
-                {
-                    this.publicPackages = true;
-                }
-                String[] packageList = StringUtils.stripAll( StringUtils.split( value, "," ) );
-                packages = Arrays.asList( packageList );
-            }
-            if ( populateDependencies )
-            {
-                String deps = attrs.getValue( "OpenIDE-Module-Module-Dependencies" );
-                if ( deps != null )
-                {
-                    StringTokenizer tokens = new StringTokenizer( deps, "," );
-                    List<String> depList = new ArrayList<String>();
-                    while ( tokens.hasMoreTokens() )
-                    {
-                        String tok = tokens.nextToken();
-                        //we are just interested in specification and loose dependencies.
-                        int spec = tok.indexOf( '>' );
-                        int impl = tok.indexOf( '=');
-                        if ( spec > 0 )
-                        {
-                            tok = tok.substring( 0, spec );
-                        }
-                        else if ( impl > 0 )
-                        {
-                            tok = tok.substring( 0, impl );
-                        }
-                        int slash = tok.indexOf( '/' );
-                        if ( slash > 0 )
-                        {
-                            tok = tok.substring( 0, slash );
-                        }
-                        depList.add( tok.trim().intern() );
-                    }
-                    this.dependencyTokens = depList;
-                }
-                String req = attrs.getValue( "OpenIDE-Module-Requires" );
-                String prov = attrs.getValue( "OpenIDE-Module-Provides" );
-                String needs = attrs.getValue( "OpenIDE-Module-Needs" );
-                if (prov != null) {
-                    provides = Arrays.asList( StringUtils.stripAll( StringUtils.split( prov, "," ) ));
-                }
-                if (req != null || needs != null) {
-                    requires = new ArrayList<String>();
-                    if (req != null) {
-                        requires.addAll(Arrays.asList( StringUtils.stripAll( StringUtils.split( req, "," ) )));
-                    }
-                    if (needs != null) {
-                        requires.addAll(Arrays.asList( StringUtils.stripAll( StringUtils.split( needs, "," ) )));
-                    }
-                }
-            }
-
-        }
-        else
-        {
-        
-            //check osgi headers first, let nb stuff override it, making nb default
-            String bndName = attrs.getValue( "Bundle-SymbolicName" );
-            if ( bndName != null )
-            {
-                this.osgiBundle = true;
-                this.module =
-                    bndName./* MNBMODULE-125 */replaceFirst( " *;.+", "" )./* MNBMODULE-96 */replace( '-', '_' );
-                this.specVersion = attrs.getValue( "Bundle-Version" );
-                String exp = attrs.getValue( "Export-Package" );
-                String autoload = attrs.getValue( "Nbm-Maven-Plugin-Autoload");
-                if (autoload != null) {
-                    bundleAutoload = Boolean.parseBoolean( autoload );
-                }
-                this.publicPackages = exp != null;
-                if ( populateDependencies )
-                {
-                    //well, this doesn't appear to cover the major way of declation dependencies in osgi - Import-Package
-                    String deps = attrs.getValue( "Require-Bundle" );
-                    if ( deps != null )
-                    {
-                        List<String> depList = new ArrayList<String>();
-                        // http://stackoverflow.com/questions/1757065/java-splitting-a-comma-separated-string-but-ignoring-commas-in-quotes
-                        for ( String piece : deps.split( ",(?=([^\"]*\"[^\"]*\")*[^\"]*$)" ) )
-                        {
-                            depList.add( piece.replaceFirst( ";.+", "" ).trim().intern() );
-                        }
-                        this.dependencyTokens = depList;
-                    }
-                    String imps = attrs.getValue( "Import-Package" );
-                    if ( imps != null )
-                    {
-                        Set<String> depList = new HashSet<String>();
-                        // http://stackoverflow.com/questions/1757065/java-splitting-a-comma-separated-string-but-ignoring-commas-in-quotes
-                        for ( String piece : imps.split( ",(?=([^\"]*\"[^\"]*\")*[^\"]*$)" ) )
-                        {
-                            depList.add( piece.replaceFirst( ";.+", "" ).trim().intern() );
-                        }
-                        this.osgiImports = depList;
-                    }
-                    String exps = attrs.getValue( "Export-Package" );
-                    if ( exps != null )
-                    {
-                        Set<String> depList = new HashSet<String>();
-                        // http://stackoverflow.com/questions/1757065/java-splitting-a-comma-separated-string-but-ignoring-commas-in-quotes
-                        for ( String piece : exps.split( ",(?=([^\"]*\"[^\"]*\")*[^\"]*$)" ) )
-                        {
-                            depList.add( piece.replaceFirst( ";.+", "" ).trim().intern() );
-                        }
-                        this.osgiExports = depList;
-                    }
-                    
-                }
-            }
-            else
-            {
-
-                // for non-netbeans, non-osgi jars.
-                this.specVersion = attrs.getValue( "Specification-Version" );
-                this.implVersion = attrs.getValue( "Implementation-Version" );
-                this.module = attrs.getValue( "Package" );
-                this.publicPackages = false;
-                classpath = "";
-                /*    if ( module != null )
-                {
-                // now we have the package to make it a module definition, add the version there..
-                module = module + "/1";
-                }
-                 */
-                if ( getModule() == null )
-                {
-                    // do we want to do that?
-                    this.module = attrs.getValue( "Extension-Name" );
-                }
-            }
-        }
-
-    }
-
-    /**
-     * The jar file to examine. It is exclusive with manifestFile.
-     * @param jarFileLoc jar file
-     */
-    public void setJarFile( File jarFileLoc )
-    {
-        jarFile = jarFileLoc;
-    }
-
-    /** 
-     * Manifest file to be examined. It is exclusive with jarFile.
-     * @param manifestFileLoc manifedt file
-     */
-    public void setManifestFile( File manifestFileLoc )
-    {
-        manifestFile = manifestFileLoc;
-    }
-
-    /**
-     * Either call {@link #setJarFile} or {@link #setManifestFile} as appropriate.
-     * @param artifactFileLoc a JAR or folder
-     */
-    public void setArtifactFile( File artifactFileLoc )
-    {
-        if ( artifactFileLoc.isFile() )
-        {
-            setJarFile( artifactFileLoc );
-        }
-        else if ( artifactFileLoc.isDirectory() )
-        {
-            File mani = new File( artifactFileLoc, "META-INF/MANIFEST.MF" );
-            if ( mani.isFile() )
-            {
-                setManifestFile( mani );
-            } // else e.g. jarprj/target/classes has no manifest, so nothing to examine
-        }
-        else
-        {
-            throw new IllegalArgumentException( artifactFileLoc.getAbsolutePath() );
-        }
-    }
-
-    public String getClasspath()
-    {
-        return classpath;
-    }
-
-    public boolean isNetBeansModule()
-    {
-        return netBeansModule;
-    }
-
-    public void setNetBeansModule( boolean netBeansModule )
-    {
-        this.netBeansModule = netBeansModule;
-    }
-
-    public boolean isLocalized()
-    {
-        return localized;
-    }
-
-    public String getSpecVersion()
-    {
-        return specVersion;
-    }
-
-    public String getImplVersion()
-    {
-        return implVersion;
-    }
-
-    /**
-     * Code name base of the module only.
-     * Does not include any release version.
-     * @return module code name base
-     */
-    public String getModule()
-    {
-        return module != null ? module.replaceFirst( "/\\d+$", "" ) : module;
-    }
-
-    /**
-     * Full name of module: code name base, then optionally slash and major release version.
-     * @return module full name 
-     */
-    public String getModuleWithRelease()
-    {
-        return module;
-    }
-
-    /**
-     * returns true if there are defined public packages and there is no friend
-     * declaration.
-     * @return true if has public package
-     */
-    public boolean hasPublicPackages()
-    {
-        return publicPackages;
-    }
-
-    public void setPopulateDependencies( boolean populateDependencies )
-    {
-        this.populateDependencies = populateDependencies;
-    }
-
-    public List<String> getDependencyTokens()
-    {
-        return dependencyTokens;
-    }
-
-    /**
-     * returns true if both public packages and friend list are declared.
-     * @return true if has friend package
-     */
-    public boolean hasFriendPackages()
-    {
-        return friendPackages;
-    }
-
-    public List<String> getFriends()
-    {
-        return friends;
-    }
-
-    /**
-     * list of package statements from OpenIDE-Module-Public-Packages.
-     * All items end with .*
-     * @return list of package
-     */
-    public List<String> getPackages()
-    {
-        return packages;
-    }
-
-    public boolean isOsgiBundle()
-    {
-        return osgiBundle;
-    }
-
-    public Set<String> getOsgiImports()
-    {
-        return osgiImports;
-    }
-
-    public Set<String> getOsgiExports()
-    {
-        return osgiExports;
-    }
-    
-    public List<String> getNetBeansRequiresTokens()
-    {
-        return requires;
-    }
-
-    public List<String> getNetBeansProvidesTokens()
-    {
-        return provides;
-    }
-
-    public boolean isBundleAutoload()
-    {
-        return bundleAutoload;
-    }
-
-}
diff --git a/nbm-shared/src/site/site.xml b/nbm-shared/src/site/site.xml
deleted file mode 100644
index bffce38..0000000
--- a/nbm-shared/src/site/site.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
-    <skin>
-        <groupId>org.netbeans.maven</groupId>
-        <artifactId>maven-netbeans-skin</artifactId>
-        <version>1.0-SNAPSHOT</version>
-    </skin>  
-    <body>
-    </body>
-</project>
-
diff --git a/nbm-shared/src/test/java/org/netbeans/nbm/utils/ExamineManifestTest.java b/nbm-shared/src/test/java/org/netbeans/nbm/utils/ExamineManifestTest.java
deleted file mode 100644
index be99990..0000000
--- a/nbm-shared/src/test/java/org/netbeans/nbm/utils/ExamineManifestTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 2010 jglick.
- *
- * 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.
- * under the License.
- */
-
-package org.netbeans.nbm.utils;
-
-import org.netbeans.nbm.utils.ExamineManifest;
-import java.io.File;
-import java.io.PrintWriter;
-import junit.framework.TestCase;
-import org.apache.maven.plugin.logging.SystemStreamLog;
-
-public class ExamineManifestTest extends TestCase
-{
-    
-    public ExamineManifestTest( String testName )
-    {
-        super(testName);
-    }
-
-    public void testDependencyParsing()
-            throws Exception
-    {
-        ExamineManifest em = new ExamineManifest( new SystemStreamLog() );
-        File mf = File.createTempFile( "ExamineManifestTes", ".mf" );
-        mf.deleteOnExit();
-        PrintWriter w = new PrintWriter( mf );
-        w.println( "OpenIDE-Module: org.netbeans.modules.nbjunit/1" );
-        w.println( "OpenIDE-Module-Module-Dependencies: org.netbeans.insane/1, org.netbeans.libs.junit4 > 1.0" );
-        w.flush();
-        w.close();
-        em.setManifestFile( mf );
-        em.setPopulateDependencies( true );
-        em.checkFile();
-        assertEquals( "[org.netbeans.insane, org.netbeans.libs.junit4]", em.getDependencyTokens().toString() );
-        assertEquals( "org.netbeans.modules.nbjunit", em.getModule() );
-        assertEquals( "org.netbeans.modules.nbjunit/1", em.getModuleWithRelease() );
-        em = new ExamineManifest( new SystemStreamLog() );
-        mf.delete();
-        w = new PrintWriter( mf );
-        w.println( "Manifest-Version: 1.0" );
-        w.flush();
-        w.close();
-        em.setManifestFile( mf );
-        em.setPopulateDependencies( true );
-        em.checkFile();
-        assertEquals( null, em.getModule() );
-        assertEquals( null, em.getModuleWithRelease() );
-    }
-
-    public void testBundles()
-            throws Exception
-    {
-        ExamineManifest em = new ExamineManifest( new SystemStreamLog() );
-        File mf = File.createTempFile( "ExamineManifestTest", ".mf" );
-        mf.deleteOnExit();
-        PrintWriter w = new PrintWriter( mf );
-        w.println( "Bundle-SymbolicName: org.eclipse.jdt.core; singleton:=true" );
-        w.println( "Bundle-Version: 3.1.0" );
-        w.println( "Export-Package: org.eclipse.jdt.core," );
-        w.println( " org.eclipse.jdt.internal.formatter.old;x-internal:=true" );
-        w.println( "Require-Bundle: org.eclipse.equinox.registry;bundle-version=\"[3.4.0,4." );
-        w.println( " 0.0)\",org.eclipse.equinox.common;bundle-version=\"[3.2.0,4.0.0)\"" );
-        w.flush();
-        w.close();
-        em.setManifestFile( mf );
-        em.setPopulateDependencies( true );
-        em.checkFile();
-        assertEquals( "org.eclipse.jdt.core", em.getModule() );
-        assertEquals( "3.1.0", em.getSpecVersion() );
-        assertTrue( em.hasPublicPackages() );
-        assertEquals( "[org.eclipse.equinox.registry, org.eclipse.equinox.common]", em.getDependencyTokens().toString() );
-    }
-
-}
diff --git a/netbeansparent/DISCLAIMER b/netbeansparent/DISCLAIMER
deleted file mode 100644
index d6f7fea..0000000
--- a/netbeansparent/DISCLAIMER
+++ /dev/null
@@ -1,8 +0,0 @@
-Apache NetBeans is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of
-all newly accepted projects until a further review indicates that the
-infrastructure, communications, and decision making process have stabilized in
-a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the
-ASF.
diff --git a/netbeansparent/LICENSE b/netbeansparent/LICENSE
deleted file mode 100644
index de4b130..0000000
--- a/netbeansparent/LICENSE
+++ /dev/null
@@ -1,204 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   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.
-
-
diff --git a/netbeansparent/NOTICE b/netbeansparent/NOTICE
deleted file mode 100644
index 96d9609..0000000
--- a/netbeansparent/NOTICE
+++ /dev/null
@@ -1,6 +0,0 @@
-Apache NetBeans
-Copyright 2017-2019 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/netbeansparent/pom.xml b/netbeansparent/pom.xml
deleted file mode 100644
index 210ec15..0000000
--- a/netbeansparent/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache</groupId>
-        <artifactId>apache</artifactId>
-        <version>21</version>
-    </parent>
-
-    <groupId>org.apache.netbeans</groupId>
-    <artifactId>netbeans-parent</artifactId>
-    <version>2-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <name>Apache Netbeans</name>
-    <description>Apache NetBeans (incubating) is an integrated development environment, tooling platform, and application framework.</description>
-    <url>https://netbeans.apache.org/</url>
-    <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-
-    <developers>
-        <developer>
-            <id>apachenetbeansdev</id>
-            <name>Apache NetBeans Dev Mailing List</name>
-            <email>dev@netbeans.incubator.apache.org</email>
-        </developer>
-    </developers>
-
-    <mailingLists>
-        <mailingList> 
-            <name>Apache Netbeans (incubating) Users List</name>
-            <subscribe>users-subscribe@netbeans.incubator.apache.org</subscribe>
-            <unsubscribe>users-unsubscribe@netbeans.incubator.apache.org</unsubscribe>
-            <post>mailto:users@netbeans.incubator.apache.org</post>
-            <archive>https://mail-archives.apache.org/mod_mbox/netbeans-users/</archive>
-        </mailingList>
-        <mailingList> 
-            <name>Apache Netbeans (incubating) Dev List</name>
-            <subscribe>dev-subscribe@netbeans.incubator.apache.org</subscribe>
-            <unsubscribe>dev-unsubscribe@netbeans.incubator.apache.org</unsubscribe>
-            <post>mailto:dev@netbeans.incubator.apache.org</post>
-            <archive>https://mail-archives.apache.org/mod_mbox/netbeans-dev/</archive>
-        </mailingList>
-        <mailingList> 
-            <name>Apache Netbeans (incubating) NetCAT List</name>
-            <subscribe>netcat-subscribe@netbeans.incubator.apache.org</subscribe>
-            <unsubscribe>netcat-unsubscribe@netbeans.incubator.apache.org</unsubscribe>
-            <post>mailto:netcat@netbeans.incubator.apache.org</post>
-            <archive>https://mail-archives.apache.org/mod_mbox/netbeans-netcat/</archive>
-        </mailingList>
-        <mailingList> 
-            <name>Apache Netbeans (incubating) Announcements List</name>
-            <subscribe>announce-subscribe@netbeans.incubator.apache.org</subscribe>
-            <unsubscribe>announce-unsubscribe@netbeans.incubator.apache.org</unsubscribe>
-            <post>mailto:announce@netbeans.incubator.apache.org</post>
-            <archive>https://mail-archives.apache.org/mod_mbox/netbeans-announce/</archive>
-        </mailingList>
-        <mailingList> 
-            <name>Apache Netbeans (incubating) Commits List</name>
-            <subscribe>commits-subscribe@netbeans.incubator.apache.org</subscribe>
-            <unsubscribe>commits-unsubscribe@netbeans.incubator.apache.org</unsubscribe>
-            <post>mailto:commits@netbeans.incubator.apache.org</post>
-            <archive>https://mail-archives.apache.org/mod_mbox/netbeans-commits/</archive>
-        </mailingList>
-        <mailingList> 
-            <name>Apache Netbeans (incubating) Notifications List</name>
-            <subscribe>notifications-subscribe@netbeans.incubator.apache.org</subscribe>
-            <unsubscribe>notifications-unsubscribe@netbeans.incubator.apache.org</unsubscribe>
-            <post>mailto:notifications@netbeans.incubator.apache.org</post>
-            <archive>https://mail-archives.apache.org/mod_mbox/netbeans-notifications/</archive>
-        </mailingList>
-    </mailingLists>
-
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
-      <tag>HEAD</tag>
-  </scm>
-    <issueManagement>
-        <system>jira</system>
-        <url>https://issues.apache.org/jira/projects/NETBEANS</url>
-    </issueManagement>
-</project>
diff --git a/parent/pom.xml b/parent/pom.xml
deleted file mode 100644
index 959c232..0000000
--- a/parent/pom.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-    <modelVersion>4.0.0</modelVersion>
-    
-    <parent>
-        <groupId>org.apache.netbeans</groupId>
-        <artifactId>netbeans-parent</artifactId>
-        <version>1</version>
-    </parent>
-    <groupId>org.apache.netbeans.utilities</groupId>
-    <artifactId>utilities-parent</artifactId>
-    <version>1-SNAPSHOT</version>
-    <packaging>pom</packaging>
-    <name>Apache Netbeans Maven Utilities</name>
-    <description>Apache Netbeans Maven Utilities is a set of artefacts to build and populate Apache NetBeans artefacts using Apache Maven</description>
-    <url>http://bits.netbeans.org/mavenutilities/parent</url>
-    <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
-    </scm>
-    <dependencyManagement>
-        <dependencies>
-            <dependency> 
-                <groupId>junit</groupId>
-                <artifactId>junit</artifactId>
-                <version>4.12</version>
-                <scope>test</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>animal-sniffer-maven-plugin</artifactId>
-                    <version>1.17</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-changes-plugin</artifactId>
-                    <version>2.12.1</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-checkstyle-plugin</artifactId>
-                    <version>3.0.0</version>
-                    <configuration>
-                        <configLocation>config/maven_checks.xml</configLocation>
-                        <headerLocation>config/maven-header.txt</headerLocation>
-                    </configuration>
-                    <dependencies>
-                        <dependency>
-                            <groupId>org.apache.maven.shared</groupId>
-                            <artifactId>maven-shared-resources</artifactId>
-                            <version>2</version>
-                        </dependency>
-                    </dependencies>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-jxr-plugin</artifactId>
-                    <version>3.0.0</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-pmd-plugin</artifactId>
-                    <version>3.10.0</version>
-                </plugin>
-                <plugin>
-                    <artifactId>maven-linkcheck-plugin</artifactId>
-                    <version>1.2</version>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-</project>
diff --git a/parent/src/site/site.xml b/parent/src/site/site.xml
deleted file mode 100644
index b78cf91..0000000
--- a/parent/src/site/site.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
-    <skin>
-        <groupId>org.netbeans.maven</groupId>
-        <artifactId>maven-netbeans-skin</artifactId>
-        <version>1.0-SNAPSHOT</version>
-    </skin>
-  <body>  
-  </body>
-</project>
-
diff --git a/archetype/nbm-archetype/pom.xml b/pom.xml
similarity index 83%
rename from archetype/nbm-archetype/pom.xml
rename to pom.xml
index c9cb029..cd4bcf9 100644
--- a/archetype/nbm-archetype/pom.xml
+++ b/pom.xml
@@ -1,11 +1,11 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <groupId>org.netbeans.maven</groupId>
-        <artifactId>utilities-parent</artifactId>
-        <version>1-SNAPSHOT</version>
+        <groupId>org.apache.netbeans</groupId>
+        <artifactId>netbeans-parent</artifactId>
+        <version>1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <groupId>org.netbeans.maven.archetypes</groupId>
+    <groupId>org.apache.netbeans.archetypes</groupId>
     <artifactId>nbm-archetype</artifactId>
     <version>1.16-SNAPSHOT</version>
     <packaging>maven-archetype</packaging>
@@ -16,9 +16,9 @@
         <url>https://issues.apache.org/jira/projects/NETBEANS</url>
     </issueManagement>
     <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
+        <connection>scm:git:https://gitbox.apache.org/repos/asf/netbeans-mavenutils-archetype-nbm-archetype.git</connection>
+        <developerConnection>scm:git:gitbox.apache.org/repos/asf/netbeans-mavenutils-archetype-nbm-archetype.git</developerConnection>
+        <url>https://github.com/apache/netbeans-mavenutils-archetype-nbm-archetype</url>
         <tag>master</tag>
     </scm> 
     <licenses>
diff --git a/archetype/nbm-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/src/main/resources/META-INF/maven/archetype-metadata.xml
similarity index 100%
rename from archetype/nbm-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
rename to src/main/resources/META-INF/maven/archetype-metadata.xml
diff --git a/archetype/nbm-archetype/src/main/resources/archetype-resources/pom.xml b/src/main/resources/archetype-resources/pom.xml
similarity index 100%
rename from archetype/nbm-archetype/src/main/resources/archetype-resources/pom.xml
rename to src/main/resources/archetype-resources/pom.xml
diff --git a/archetype/nbm-archetype/src/main/resources/archetype-resources/src/main/nbm/manifest.mf b/src/main/resources/archetype-resources/src/main/nbm/manifest.mf
similarity index 100%
rename from archetype/nbm-archetype/src/main/resources/archetype-resources/src/main/nbm/manifest.mf
rename to src/main/resources/archetype-resources/src/main/nbm/manifest.mf
diff --git a/archetype/nbm-archetype/src/main/resources/archetype-resources/src/main/resources/Bundle.properties b/src/main/resources/archetype-resources/src/main/resources/Bundle.properties
similarity index 100%
rename from archetype/nbm-archetype/src/main/resources/archetype-resources/src/main/resources/Bundle.properties
rename to src/main/resources/archetype-resources/src/main/resources/Bundle.properties
diff --git a/webskin/pom.xml b/webskin/pom.xml
deleted file mode 100644
index 0139885..0000000
--- a/webskin/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.apache.netbeans.utilities</groupId>
-        <artifactId>utilities-parent</artifactId>
-        <version>1-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>maven-netbeans-skin</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Apache NetBeans Maven Utilities - Web skin</name>
-    <description>Maven site skin for Apache Netbeans Utilities.
-    </description>
-    <inceptionYear>2018</inceptionYear>
-    <url>http://bits.netbeans.org/mavenutilities/maven-netbeans-skin</url>
-    <issueManagement>
-        <system>jira</system>
-        <url>https://issues.apache.org/jira/browse/NETBEANS</url>
-    </issueManagement>
-    <licenses>
-        <license>
-            <name>Apache License 2</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm>
-        <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</connection>
-        <developerConnection>scm:git:gitbox.apache.org/repos/asf/incubator-netbeans-mavenutils.git</developerConnection>
-        <url>https://github.com/apache/incubator-netbeans-mavenutils</url>
-    </scm>    
-</project>
diff --git a/webskin/src/main/resources/META-INF/maven/site.vm b/webskin/src/main/resources/META-INF/maven/site.vm
deleted file mode 100644
index cbffd58..0000000
--- a/webskin/src/main/resources/META-INF/maven/site.vm
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-## Licensed to the Apache Software Foundation (ASF) under one
-## or more contributor license agreements.  See the NOTICE file
-## distributed with this work for additional information
-## regarding copyright ownership.  The ASF licenses this file
-## to you 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.
-
-<html class="no-js" lang="en" dir="ltr">
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="x-ua-compatible" content="ie=edge">
-  <title>$title</title>
-  <link rel="stylesheet" href="$relativePath/css/netbeans.css" />
-  <link href="https://fonts.googleapis.com/css?family=Lato:400,700" rel="stylesheet">   
-</head>
-<body>
-<div class="top-bar" id="responsive-menu">
-    <div class='top-bar-left'>
-        <a class="title" href="http://netbeans.apache.org"><img src="./images/apache-netbeans.svg" style="padding: 8px; height: 48px;">Apache NetBeans (incubating)</a>
-    </div>
-    <div class="top-bar-right">
-        <ul class="vertical medium-horizontal menu" style="right: 90px;" data-responsive-menu="drilldown medium-dropdown">
-#* *##set( $stylecompensate = "style='line-height: 1;margin-bottom: 0;padding: 0.7rem 1rem;display: block;'" )
-#* *##if ($project.artifactId == 'nb-repository-plugin')
-            <li> <strong $stylecompensate >NB Repository Plugin</strong> </li>
-#* *##else
-            <li> <a href="../nb-repository-plugin/index.html">NB Repository Plugin</a> </li>
-#* *##end
-#* *##if ($project.artifactId == 'nbm-maven-plugin')
-            <li> <strong $stylecompensate >NBM Plugin</strong> </li>
-#* *##else
-            <li> <a href="../nbm-maven-plugin/index.html">NBM Plugin</a> </li>
-#* *##end
-#* *##if ($project.artifactId == 'nb-shared')
-            <li> <strong $stylecompensate>Shared</strong> </li>
-#* *##else
-            <li> <a href="../nbm-shared/index.html">Shared</a> </li>
-#* *##end
-#* *##if ($project.artifactId == 'utilities-parent')
-            <li> <strong $stylecompensate>Parent</strong> </li>
-#* *##else
-            <li> <a href="../parent/index.html">Parent</a> </li>
-#* *##end
-        </ul>
-    </div>
-</div>
-<div class='grid-container main-content'>
-            <div id="toc" class="toc">
-#* *##foreach( $menu in $decoration.body.menus )
-<div id="toctitle">$menu.name</div>
-<ul class="sectlevel1">
-#* *##foreach( $item in $menu.items )
-<li><a href="$item.href">$item.name</a></li>
-#* *##end
-</ul>
-#* *##end
-</div>
-<div id="preamble">
-<div class="sectionbody">
-$bodyContent
-</div>
-</div>
-</div>
-<div class='grid-container incubator-area' style='margin-top: 64px'>
-    <div class='grid-x grid-padding-x'>
-        <div class='large-auto cell text-center'>
-            <a href="https://www.apache.org/">
-                <img style="width: 320px" title="Apache Software Foundation" src="./images/asf_logo_wide.svg" />
-            </a>
-        </div>
-        <div class='large-auto cell text-center'>
-            <a href="https://www.apache.org/events/current-event.html">
-               <img style="width:234px; height: 60px;" title="Apache Software Foundation current event" src="https://www.apache.org/events/current-event-234x60.png"/>
-            </a>
-        </div>
-    </div>
-</div>
-<div class='footer-disclaimer'>
-    <div class="footer-disclaimer-content">
-        <p>Copyright &copy; 2017-2018 <a href="https://www.apache.org">The Apache Software Foundation</a>.</p>
-        <p>Licensed under the Apache <a href="https://www.apache.org/licenses/">license</a>, version 2.0</p>
-        <p><a href="https://incubator.apache.org/" alt="Apache Incubator"><img src="./images/incubator_feather_egg_logo_bw_crop.png" title="Apache Incubator" /></a></p>
-        <div style='max-width: 40em; margin: 0 auto'>
-            <p>Apache NetBeans is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p>
-            <p>Apache Incubator, Apache, the Apache feather logo, the Apache NetBeans logo, and the Apache Incubator project logo are trademarks of <a href="https://www.apache.org">The Apache Software Foundation</a>.</p>
-            <p>Oracle and Java are registered trademarks of Oracle and/or its affiliates.</p>
-        </div>
-        
-    </div>
-</div>
-<a href="${project.scm.url}"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_green_007200.png" alt="Fork me on GitHub"></a>
-
-
-
-        <script src="./js/vendor/jquery-3.2.1.min.js"></script>
-        <script src="./js/vendor/what-input.js"></script>
-        <script src="./js/vendor/jquery.colorbox-min.js"></script>
-        <script src="./js/vendor/foundation.min.js"></script>
-        <script src="./js/netbeans.js"></script>
-        <script>
-            
-            $(function(){ $(document).foundation(); });
-        </script>
-</body>
diff --git a/webskin/src/main/resources/css/netbeans.css b/webskin/src/main/resources/css/netbeans.css
deleted file mode 100644
index 6add186..0000000
--- a/webskin/src/main/resources/css/netbeans.css
+++ /dev/null
@@ -1 +0,0 @@
-pre,code{font-family:Consolas,Menlo,Monaco,"IBM Plex Mono",Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,sans-serif}@media print, screen and (min-width: 40em){.reveal,.reveal.tiny,.reveal.small,.reveal.large{right:auto;left:auto;margin:0 auto}}/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}main{display:block}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}input{overflow:visible}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{box-sizing:border-box;display:table;max-width:100%;padding:0;color:inherit;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}details{display:block}summary{display:list-item}menu{display:block}canvas{display:inline-block}template{display:none}[hidden]{display:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{box-sizing:border-box;font-size:100%}*,*::before,*::after{box-sizing:inherit}body{margin:0;padding:0;background:#fefefe;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:1.5;color:#0a0a0a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{box-sizing:border-box;width:100%;border-radius:0}.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}button{padding:0;appearance:none;border:0;border-radius:0;background:transparent;line-height:1;cursor:auto}[data-whatinput='mouse'] button{outline:0}pre{overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block !important}.is-hidden{display:none !important}.grid-container{padding-right:.625rem;padding-left:.625rem;max-width:62.5rem;margin:0 auto}@media print, screen and (min-width: 40em){.grid-container{padding-right:.938rem;padding-left:.938rem}}.grid-container.fluid{padding-right:.625rem;padding-left:.625rem;max-width:100%;margin:0 auto}@media print, screen and (min-width: 40em){.grid-container.fluid{padding-right:.938rem;padding-left:.938rem}}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin:0 auto}.grid-x{display:flex;flex-flow:row wrap}.cell{flex:0 0 auto;min-height:0px;min-width:0px;width:100%}.cell.auto{flex:1 1 0px}.cell.shrink{flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-shrink,.grid-x>.small-full,.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{flex-basis:auto}@media print, screen and (min-width: 40em){.grid-x>.medium-shrink,.grid-x>.medium-full,.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12{flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-x>.large-shrink,.grid-x>.large-full,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{flex-basis:auto}}.grid-x>.small-1{width:8.333%}.grid-x>.small-2{width:16.667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.333%}.grid-x>.small-5{width:41.667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.333%}.grid-x>.small-8{width:66.667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.333%}.grid-x>.small-11{width:91.667%}.grid-x>.small-12{width:100%}@media print, screen and (min-width: 40em){.grid-x>.medium-auto{flex:1 1 0px;width:auto}.grid-x>.medium-shrink{flex:0 0 auto;width:auto}.grid-x>.medium-1{width:8.333%}.grid-x>.medium-2{width:16.667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.333%}.grid-x>.medium-5{width:41.667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.333%}.grid-x>.medium-8{width:66.667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.333%}.grid-x>.medium-11{width:91.667%}.grid-x>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.grid-x>.large-auto{flex:1 1 0px;width:auto}.grid-x>.large-shrink{flex:0 0 auto;width:auto}.grid-x>.large-1{width:8.333%}.grid-x>.large-2{width:16.667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.333%}.grid-x>.large-5{width:41.667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.333%}.grid-x>.large-8{width:66.667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.333%}.grid-x>.large-11{width:91.667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-x{margin-left:-.938rem;margin-right:-.938rem}}.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print, screen and (min-width: 40em){.grid-margin-x>.cell{width:calc(100% - 1.875rem);margin-left:.938rem;margin-right:.938rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}.grid-padding-x .grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.grid-padding-x .grid-padding-x{margin-right:-.938rem;margin-left:-.938rem}}.grid-container:not(.full)>.grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.grid-container:not(.full)>.grid-padding-x{margin-right:-.938rem;margin-left:-.938rem}}.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){.grid-padding-x>.cell{padding-right:.938rem;padding-left:.938rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.667%}.small-up-7>.cell{width:14.286%}.small-up-8>.cell{width:12.5%}@media print, screen and (min-width: 40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.667%}.medium-up-7>.cell{width:14.286%}.medium-up-8>.cell{width:12.5%}}@media print, screen and (min-width: 64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.667%}.large-up-7>.cell{width:14.286%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.286% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.286% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.286% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.286% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.333%}.small-margin-collapse>.small-2{width:16.667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.333%}.small-margin-collapse>.small-5{width:41.667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.333%}.small-margin-collapse>.small-8{width:66.667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.333%}.small-margin-collapse>.small-11{width:91.667%}.small-margin-collapse>.small-12{width:100%}@media print, screen and (min-width: 40em){.small-margin-collapse>.medium-1{width:8.333%}.small-margin-collapse>.medium-2{width:16.667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.333%}.small-margin-collapse>.medium-5{width:41.667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.333%}.small-margin-collapse>.medium-8{width:66.667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.333%}.small-margin-collapse>.medium-11{width:91.667%}.small-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.small-margin-collapse>.large-1{width:8.333%}.small-margin-collapse>.large-2{width:16.667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.333%}.small-margin-collapse>.large-5{width:41.667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.333%}.small-margin-collapse>.large-8{width:66.667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.333%}.small-margin-collapse>.large-11{width:91.667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print, screen and (min-width: 40em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.small-1{width:8.333%}.medium-margin-collapse>.small-2{width:16.667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.333%}.medium-margin-collapse>.small-5{width:41.667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.333%}.medium-margin-collapse>.small-8{width:66.667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.333%}.medium-margin-collapse>.small-11{width:91.667%}.medium-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.medium-1{width:8.333%}.medium-margin-collapse>.medium-2{width:16.667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.333%}.medium-margin-collapse>.medium-5{width:41.667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.333%}.medium-margin-collapse>.medium-8{width:66.667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.333%}.medium-margin-collapse>.medium-11{width:91.667%}.medium-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.medium-margin-collapse>.large-1{width:8.333%}.medium-margin-collapse>.large-2{width:16.667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.333%}.medium-margin-collapse>.large-5{width:41.667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.333%}.medium-margin-collapse>.large-8{width:66.667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.333%}.medium-margin-collapse>.large-11{width:91.667%}.medium-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 40em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse{margin-right:0;margin-left:0}.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse>.small-1{width:8.333%}.large-margin-collapse>.small-2{width:16.667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.333%}.large-margin-collapse>.small-5{width:41.667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.333%}.large-margin-collapse>.small-8{width:66.667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.333%}.large-margin-collapse>.small-11{width:91.667%}.large-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.medium-1{width:8.333%}.large-margin-collapse>.medium-2{width:16.667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.333%}.large-margin-collapse>.medium-5{width:41.667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.333%}.large-margin-collapse>.medium-8{width:66.667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.333%}.large-margin-collapse>.medium-11{width:91.667%}.large-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.large-1{width:8.333%}.large-margin-collapse>.large-2{width:16.667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.333%}.large-margin-collapse>.large-5{width:41.667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.333%}.large-margin-collapse>.large-8{width:66.667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.333%}.large-margin-collapse>.large-11{width:91.667%}.large-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 64em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0%}.grid-margin-x>.small-offset-0{margin-left:calc(0% + .625rem)}.small-offset-1{margin-left:8.333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.333% + .625rem)}.small-offset-2{margin-left:16.667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.667% + .625rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}.small-offset-4{margin-left:33.333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.333% + .625rem)}.small-offset-5{margin-left:41.667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.667% + .625rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}.small-offset-7{margin-left:58.333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.333% + .625rem)}.small-offset-8{margin-left:66.667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.667% + .625rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}.small-offset-10{margin-left:83.333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.333% + .625rem)}.small-offset-11{margin-left:91.667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.667% + .625rem)}@media print, screen and (min-width: 40em){.medium-offset-0{margin-left:0%}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + .938rem)}.medium-offset-1{margin-left:8.333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.333% + .938rem)}.medium-offset-2{margin-left:16.667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.667% + .938rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .938rem)}.medium-offset-4{margin-left:33.333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.333% + .938rem)}.medium-offset-5{margin-left:41.667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.667% + .938rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .938rem)}.medium-offset-7{margin-left:58.333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.333% + .938rem)}.medium-offset-8{margin-left:66.667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.667% + .938rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .938rem)}.medium-offset-10{margin-left:83.333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.333% + .938rem)}.medium-offset-11{margin-left:91.667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.667% + .938rem)}}@media print, screen and (min-width: 64em){.large-offset-0{margin-left:0%}.grid-margin-x>.large-offset-0{margin-left:calc(0% + .938rem)}.large-offset-1{margin-left:8.333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.333% + .938rem)}.large-offset-2{margin-left:16.667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.667% + .938rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .938rem)}.large-offset-4{margin-left:33.333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.333% + .938rem)}.large-offset-5{margin-left:41.667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.667% + .938rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .938rem)}.large-offset-7{margin-left:58.333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.333% + .938rem)}.large-offset-8{margin-left:66.667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.667% + .938rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .938rem)}.large-offset-10{margin-left:83.333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.333% + .938rem)}.large-offset-11{margin-left:91.667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.667% + .938rem)}}.grid-y{display:flex;flex-flow:column nowrap}.grid-y>.cell{width:auto}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-shrink,.grid-y>.small-full,.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{flex-basis:auto}@media print, screen and (min-width: 40em){.grid-y>.medium-shrink,.grid-y>.medium-full,.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12{flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-y>.large-shrink,.grid-y>.large-full,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{flex-basis:auto}}.grid-y>.small-1{height:8.333%}.grid-y>.small-2{height:16.667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.333%}.grid-y>.small-5{height:41.667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.333%}.grid-y>.small-8{height:66.667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.333%}.grid-y>.small-11{height:91.667%}.grid-y>.small-12{height:100%}@media print, screen and (min-width: 40em){.grid-y>.medium-auto{flex:1 1 0px;height:auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.333%}.grid-y>.medium-2{height:16.667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.333%}.grid-y>.medium-5{height:41.667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.333%}.grid-y>.medium-8{height:66.667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.333%}.grid-y>.medium-11{height:91.667%}.grid-y>.medium-12{height:100%}}@media print, screen and (min-width: 64em){.grid-y>.large-auto{flex:1 1 0px;height:auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.333%}.grid-y>.large-2{height:16.667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.333%}.grid-y>.large-5{height:41.667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.333%}.grid-y>.large-8{height:66.667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.333%}.grid-y>.large-11{height:91.667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-padding-y .grid-padding-y{margin-top:-.938rem;margin-bottom:-.938rem}}.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-padding-y>.cell{padding-top:.938rem;padding-bottom:.938rem}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.938rem;margin-bottom:-.938rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.938rem;margin-bottom:.938rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.cell-block-container{display:flex;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}@media print, screen and (min-width: 40em){.medium-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.medium-cell-block-container{display:flex;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}}@media print, screen and (min-width: 64em){.large-grid-frame{overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}.large-cell-block-container{display:flex;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-stype:-ms-autohiding-scrollbar}}.grid-y.grid-frame{width:auto;overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh}@media print, screen and (min-width: 40em){.grid-y.medium-grid-frame{width:auto;overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh}}@media print, screen and (min-width: 64em){.grid-y.large-grid-frame{width:auto;overflow:hidden;position:relative;flex-wrap:nowrap;align-items:stretch;height:100vh}}.cell .grid-y.grid-frame{height:100%}@media print, screen and (min-width: 40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print, screen and (min-width: 64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.938rem;margin-bottom:-.938rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.938rem;margin-bottom:.938rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print, screen and (min-width: 40em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.875rem)}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:80%;line-height:inherit}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;color:inherit;text-rendering:optimizeLegibility}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small{line-height:0;color:#cacaca}h1,.h1{font-size:1.5rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h2,.h2{font-size:1.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h3,.h3{font-size:1.188rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h4,.h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h5,.h5{font-size:1.062rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h6,.h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print, screen and (min-width: 40em){h1,.h1{font-size:3rem}h2,.h2{font-size:2.5rem}h3,.h3{font-size:1.938rem}h4,.h4{font-size:1.562rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}}a{line-height:inherit;color:#1779ba;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#1468a0}a img{border:0}hr{clear:both;max-width:62.5rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ul ul,ol ul,ul ol,ol ol{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:bold}blockquote{margin:0 0 1rem;padding:.562rem 1.25rem 0 1.188rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.812rem;color:#8a8a8a}cite:before{content:"— "}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure{margin:0}code{padding:.125rem .312rem .062rem;border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a}kbd{margin:0;padding:.125rem .25rem 0;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#0a0a0a}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ul.no-bullet,ol.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print, screen and (min-width: 40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print, screen and (min-width: 64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none !important}@media print{*{background:transparent !important;box-shadow:none !important;color:black !important;text-shadow:none !important}.show-for-print{display:block !important}.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='javascript:']:after,a[href^='#']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}[type='text'],[type='password'],[type='date'],[type='datetime'],[type='datetime-local'],[type='month'],[type='week'],[type='email'],[type='number'],[type='search'],[type='tel'],[type='time'],[type='url'],[type='color'],textarea{display:block;box-sizing:border-box;width:100%;height:2.438rem;margin:0 0 1rem;padding:.5rem;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;appearance:none}[type='text']:focus,[type='password']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='week']:focus,[type='email']:focus,[type='number']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='url']:focus,[type='color']:focus,textarea:focus{outline:none;border:1px solid #8a8a8a;background-color:#fefefe;box-shadow:0 0 5px #cacaca;transition:box-shadow 0.5s,border-color 0.25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type='submit'],[type='button']{appearance:none;border-radius:0}input[type='search']{box-sizing:border-box}[type='file'],[type='checkbox'],[type='radio']{margin:0 0 1rem}[type='checkbox']+label,[type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}[type='checkbox']+label[for],[type='radio']+label[for]{cursor:pointer}label>[type='checkbox'],label>[type='radio']{margin-right:.5rem}[type='file']{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.562rem 0}.help-text{margin-top:-.5rem;font-size:.812rem;font-style:italic;color:#0a0a0a}.input-group{display:flex;width:100%;margin-bottom:1rem;align-items:stretch}.input-group>:first-child{border-radius:0 0 0 0}.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-label,.input-group-field,.input-group-button,.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{margin:0;white-space:nowrap}.input-group-label{padding:0 1rem;border:1px solid #cacaca;background:#e6e6e6;color:#0a0a0a;text-align:center;white-space:nowrap;display:flex;flex:0 0 auto;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;flex:1 1 0px;height:auto;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:flex;flex:0 0 auto}.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{height:auto;align-self:stretch;padding-top:0;padding-bottom:0;font-size:1rem}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.5rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #cacaca}.fieldset legend{margin:0;margin-left:-.188rem;padding:0 .188rem}select{height:2.438rem;margin:0 0 1rem;padding:.5rem;appearance:none;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.5rem;transition:box-shadow 0.5s,border-color 0.25s ease-in-out}@media screen and (min-width: 0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{outline:none;border:1px solid #8a8a8a;background-color:#fefefe;box-shadow:0 0 5px #cacaca;transition:box-shadow 0.5s,border-color 0.25s ease-in-out}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){border-color:#cc4b37;background-color:#f9ecea}.is-invalid-input:not(:focus)::placeholder{color:#cc4b37}.is-invalid-label{color:#cc4b37}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:bold;color:#cc4b37}.form-error.is-visible{display:block}.button{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;font-family:inherit;padding:0.85em 1em;-webkit-appearance:none;border:1px solid transparent;border-radius:0;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-size:0.9rem;line-height:1;text-align:center;cursor:pointer;background-color:#1779ba;color:#fefefe}[data-whatinput='mouse'] .button{outline:0}.button:hover,.button:focus{background-color:#14679e;color:#fefefe}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button.primary{background-color:#1779ba;color:#fefefe}.button.primary:hover,.button.primary:focus{background-color:#126195;color:#fefefe}.button.secondary{background-color:#767676;color:#fefefe}.button.secondary:hover,.button.secondary:focus{background-color:#5e5e5e;color:#fefefe}.button.success{background-color:#3adb76;color:#0a0a0a}.button.success:hover,.button.success:focus{background-color:#22bb5b;color:#0a0a0a}.button.warning{background-color:#ffae00;color:#0a0a0a}.button.warning:hover,.button.warning:focus{background-color:#cc8b00;color:#0a0a0a}.button.alert{background-color:#cc4b37;color:#fefefe}.button.alert:hover,.button.alert:focus{background-color:#a53b2a;color:#fefefe}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled,.button.disabled:hover,.button.disabled:focus,.button[disabled],.button[disabled]:hover,.button[disabled]:focus{background-color:#1779ba;color:#fefefe}.button.disabled.primary,.button[disabled].primary{opacity:.25;cursor:not-allowed}.button.disabled.primary,.button.disabled.primary:hover,.button.disabled.primary:focus,.button[disabled].primary,.button[disabled].primary:hover,.button[disabled].primary:focus{background-color:#1779ba;color:#fefefe}.button.disabled.secondary,.button[disabled].secondary{opacity:.25;cursor:not-allowed}.button.disabled.secondary,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#767676;color:#fefefe}.button.disabled.success,.button[disabled].success{opacity:.25;cursor:not-allowed}.button.disabled.success,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#3adb76;color:#0a0a0a}.button.disabled.warning,.button[disabled].warning{opacity:.25;cursor:not-allowed}.button.disabled.warning,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#ffae00;color:#0a0a0a}.button.disabled.alert,.button[disabled].alert{opacity:.25;cursor:not-allowed}.button.disabled.alert,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cc4b37;color:#fefefe}.button.hollow{border:1px solid #1779ba;color:#1779ba}.button.hollow,.button.hollow:hover,.button.hollow:focus{background-color:transparent}.button.hollow.disabled,.button.hollow.disabled:hover,.button.hollow.disabled:focus,.button.hollow[disabled],.button.hollow[disabled]:hover,.button.hollow[disabled]:focus{background-color:transparent}.button.hollow:hover,.button.hollow:focus{border-color:#0c3d5d;color:#0c3d5d}.button.hollow:hover.disabled,.button.hollow:hover[disabled],.button.hollow:focus.disabled,.button.hollow:focus[disabled]{border:1px solid #1779ba;color:#1779ba}.button.hollow.primary{border:1px solid #1779ba;color:#1779ba}.button.hollow.primary:hover,.button.hollow.primary:focus{border-color:#0c3d5d;color:#0c3d5d}.button.hollow.primary:hover.disabled,.button.hollow.primary:hover[disabled],.button.hollow.primary:focus.disabled,.button.hollow.primary:focus[disabled]{border:1px solid #1779ba;color:#1779ba}.button.hollow.secondary{border:1px solid #767676;color:#767676}.button.hollow.secondary:hover,.button.hollow.secondary:focus{border-color:#3b3b3b;color:#3b3b3b}.button.hollow.secondary:hover.disabled,.button.hollow.secondary:hover[disabled],.button.hollow.secondary:focus.disabled,.button.hollow.secondary:focus[disabled]{border:1px solid #767676;color:#767676}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:hover,.button.hollow.success:focus{border-color:#157539;color:#157539}.button.hollow.success:hover.disabled,.button.hollow.success:hover[disabled],.button.hollow.success:focus.disabled,.button.hollow.success:focus[disabled]{border:1px solid #3adb76;color:#3adb76}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:hover,.button.hollow.warning:focus{border-color:#805700;color:#805700}.button.hollow.warning:hover.disabled,.button.hollow.warning:hover[disabled],.button.hollow.warning:focus.disabled,.button.hollow.warning:focus[disabled]{border:1px solid #ffae00;color:#ffae00}.button.hollow.alert{border:1px solid #cc4b37;color:#cc4b37}.button.hollow.alert:hover,.button.hollow.alert:focus{border-color:#67251a;color:#67251a}.button.hollow.alert:hover.disabled,.button.hollow.alert:hover[disabled],.button.hollow.alert:focus.disabled,.button.hollow.alert:focus[disabled]{border:1px solid #cc4b37;color:#cc4b37}.button.clear{border:1px solid #1779ba;color:#1779ba}.button.clear,.button.clear:hover,.button.clear:focus{background-color:transparent}.button.clear.disabled,.button.clear.disabled:hover,.button.clear.disabled:focus,.button.clear[disabled],.button.clear[disabled]:hover,.button.clear[disabled]:focus{background-color:transparent}.button.clear:hover,.button.clear:focus{border-color:#0c3d5d;color:#0c3d5d}.button.clear:hover.disabled,.button.clear:hover[disabled],.button.clear:focus.disabled,.button.clear:focus[disabled]{border:1px solid #1779ba;color:#1779ba}.button.clear,.button.clear.disabled,.button.clear[disabled],.button.clear:hover,.button.clear:hover.disabled,.button.clear:hover[disabled],.button.clear:focus,.button.clear:focus.disabled,.button.clear:focus[disabled]{border-color:transparent}.button.clear.primary{border:1px solid #1779ba;color:#1779ba}.button.clear.primary:hover,.button.clear.primary:focus{border-color:#0c3d5d;color:#0c3d5d}.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled],.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled]{border:1px solid #1779ba;color:#1779ba}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary[disabled],.button.clear.primary:hover,.button.clear.primary:hover.disabled,.button.clear.primary:hover[disabled],.button.clear.primary:focus,.button.clear.primary:focus.disabled,.button.clear.primary:focus[disabled]{border-color:transparent}.button.clear.secondary{border:1px solid #767676;color:#767676}.button.clear.secondary:hover,.button.clear.secondary:focus{border-color:#3b3b3b;color:#3b3b3b}.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled],.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled]{border:1px solid #767676;color:#767676}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary[disabled],.button.clear.secondary:hover,.button.clear.secondary:hover.disabled,.button.clear.secondary:hover[disabled],.button.clear.secondary:focus,.button.clear.secondary:focus.disabled,.button.clear.secondary:focus[disabled]{border-color:transparent}.button.clear.success{border:1px solid #3adb76;color:#3adb76}.button.clear.success:hover,.button.clear.success:focus{border-color:#157539;color:#157539}.button.clear.success:hover.disabled,.button.clear.success:hover[disabled],.button.clear.success:focus.disabled,.button.clear.success:focus[disabled]{border:1px solid #3adb76;color:#3adb76}.button.clear.success,.button.clear.success.disabled,.button.clear.success[disabled],.button.clear.success:hover,.button.clear.success:hover.disabled,.button.clear.success:hover[disabled],.button.clear.success:focus,.button.clear.success:focus.disabled,.button.clear.success:focus[disabled]{border-color:transparent}.button.clear.warning{border:1px solid #ffae00;color:#ffae00}.button.clear.warning:hover,.button.clear.warning:focus{border-color:#805700;color:#805700}.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled],.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled]{border:1px solid #ffae00;color:#ffae00}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning[disabled],.button.clear.warning:hover,.button.clear.warning:hover.disabled,.button.clear.warning:hover[disabled],.button.clear.warning:focus,.button.clear.warning:focus.disabled,.button.clear.warning:focus[disabled]{border-color:transparent}.button.clear.alert{border:1px solid #cc4b37;color:#cc4b37}.button.clear.alert:hover,.button.clear.alert:focus{border-color:#67251a;color:#67251a}.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled],.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled]{border:1px solid #cc4b37;color:#cc4b37}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert[disabled],.button.clear.alert:hover,.button.clear.alert:hover.disabled,.button.clear.alert:hover[disabled],.button.clear.alert:focus,.button.clear.alert:focus.disabled,.button.clear.alert:focus[disabled]{border-color:transparent}.button.dropdown::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent;position:relative;top:0.4em;display:inline-block;float:right;margin-left:1em}.button.dropdown.hollow::after{border-top-color:#1779ba}.button.dropdown.hollow.primary::after{border-top-color:#1779ba}.button.dropdown.hollow.secondary::after{border-top-color:#767676}.button.dropdown.hollow.success::after{border-top-color:#3adb76}.button.dropdown.hollow.warning::after{border-top-color:#ffae00}.button.dropdown.hollow.alert::after{border-top-color:#cc4b37}.button.arrow-only::after{top:-0.1em;float:none;margin-left:0}a.button:hover,a.button:focus{text-decoration:none}.accordion{margin-left:0;background:#fefefe;list-style-type:none}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child{border-radius:0 0 0 0}.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{position:relative;display:block;padding:1.25rem 1rem;border:1px solid #e6e6e6;border-bottom:0;font-size:.75rem;line-height:1;color:#1779ba}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #e6e6e6;border-radius:0 0 0 0}.accordion-title:hover,.accordion-title:focus{background-color:#e6e6e6}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-0.5rem;content:'+'}.is-active>.accordion-title::before{content:'\2013'}.accordion-content{display:none;padding:1rem;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.accordion-menu li{width:100%}.accordion-menu a{padding:0.7rem 1rem}.accordion-menu .is-accordion-submenu a{padding:0.7rem 1rem}.accordion-menu .nested.is-accordion-submenu{margin-right:0;margin-left:1rem}.accordion-menu.align-right .nested.is-accordion-submenu{margin-right:1rem;margin-left:0}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a{position:relative}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;position:absolute;top:50%;margin-top:-3px;right:1rem}.accordion-menu.align-left .is-accordion-submenu-parent>a::after{left:auto;right:1rem}.accordion-menu.align-right .is-accordion-submenu-parent>a::after{right:auto;left:1rem}.accordion-menu .is-accordion-submenu-parent[aria-expanded='true']>a::after{transform:rotate(180deg);transform-origin:50% 50%}.is-accordion-submenu-parent{position:relative}.has-submenu-toggle>a{margin-right:40px}.submenu-toggle{position:absolute;top:0;right:0;cursor:pointer;width:40px;height:40px}.submenu-toggle::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;top:0;bottom:0;margin:auto}.submenu-toggle[aria-expanded='true']::after{transform:scaleY(-1);transform-origin:50% 50%}.submenu-toggle-text{position:absolute !important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);border:0}.badge{display:inline-block;min-width:2.1em;padding:.3em;border-radius:50%;font-size:.6rem;text-align:center;background:#1779ba;color:#fefefe}.badge.primary{background:#1779ba;color:#fefefe}.badge.secondary{background:#767676;color:#fefefe}.badge.success{background:#3adb76;color:#0a0a0a}.badge.warning{background:#ffae00;color:#0a0a0a}.badge.alert{background:#cc4b37;color:#fefefe}.breadcrumbs{margin:0 0 1rem 0;list-style:none}.breadcrumbs::before,.breadcrumbs::after{display:table;content:' ';flex-basis:0;order:1}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;font-size:.688rem;color:#0a0a0a;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{position:relative;margin:0 .75rem;opacity:1;content:"/";color:#cacaca}.breadcrumbs a{color:#1779ba}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;display:flex;flex-wrap:nowrap;align-items:stretch}.button-group::before,.button-group::after{display:table;content:' ';flex-basis:0;order:1}.button-group::after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:0.9rem;flex:0 0 auto}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{flex:1 1 0px}.button-group.primary .button{background-color:#1779ba;color:#fefefe}.button-group.primary .button:hover,.button-group.primary .button:focus{background-color:#126195;color:#fefefe}.button-group.secondary .button{background-color:#767676;color:#fefefe}.button-group.secondary .button:hover,.button-group.secondary .button:focus{background-color:#5e5e5e;color:#fefefe}.button-group.success .button{background-color:#3adb76;color:#0a0a0a}.button-group.success .button:hover,.button-group.success .button:focus{background-color:#22bb5b;color:#0a0a0a}.button-group.warning .button{background-color:#ffae00;color:#0a0a0a}.button-group.warning .button:hover,.button-group.warning .button:focus{background-color:#cc8b00;color:#0a0a0a}.button-group.alert .button{background-color:#cc4b37;color:#fefefe}.button-group.alert .button:hover,.button-group.alert .button:focus{background-color:#a53b2a;color:#fefefe}.button-group.stacked,.button-group.stacked-for-small,.button-group.stacked-for-medium{flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked-for-small .button,.button-group.stacked-for-medium .button{flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked-for-medium .button:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.button-group.stacked-for-small .button{flex:1 1 0px;margin-bottom:0}}@media print, screen and (min-width: 64em){.button-group.stacked-for-medium .button{flex:1 1 0px;margin-bottom:0}}@media screen and (max-width: 39.938em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}.callout{position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(10,10,10,0.25);border-radius:0;background-color:#fff;color:#0a0a0a}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#d7ecfa;color:#0a0a0a}.callout.secondary{background-color:#eaeaea;color:#0a0a0a}.callout.success{background-color:#e1faea;color:#0a0a0a}.callout.warning{background-color:#fff3d9;color:#0a0a0a}.callout.alert{background-color:#f7e4e1;color:#0a0a0a}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.card{display:flex;flex-direction:column;flex-grow:1;margin-bottom:1rem;border:1px solid #e6e6e6;border-radius:0;background:#fefefe;box-shadow:none;overflow:hidden;color:#0a0a0a}.card>:last-child{margin-bottom:0}.card-divider{flex:0 1 auto;display:flex;padding:1rem;background:#e6e6e6}.card-divider>:last-child{margin-bottom:0}.card-section{flex:1 0 auto;padding:1rem}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.close-button{position:absolute;color:#8a8a8a;cursor:pointer}[data-whatinput='mouse'] .close-button{outline:0}.close-button:hover,.close-button:focus{color:#0a0a0a}.close-button.small{right:0.66rem;top:0.33em;font-size:1.5em;line-height:1}.close-button,.close-button.medium{right:1rem;top:0.5rem;font-size:2em;line-height:1}.menu{padding:0;margin:0;list-style:none;position:relative;display:flex;flex-wrap:wrap}[data-whatinput='mouse'] .menu li{outline:0}.menu a,.menu .button{line-height:1;text-decoration:none;display:block;padding:0.7rem 1rem}.menu input,.menu select,.menu a,.menu button{margin-bottom:0}.menu input{display:inline-block}.menu,.menu.horizontal{flex-wrap:wrap;flex-direction:row}.menu.vertical{flex-wrap:nowrap;flex-direction:column}.menu.expanded li{flex:1 1 0px}.menu.simple{align-items:center}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print, screen and (min-width: 40em){.menu.medium-horizontal{flex-wrap:wrap;flex-direction:row}.menu.medium-vertical{flex-wrap:nowrap;flex-direction:column}.menu.medium-expanded li{flex:1 1 0px}.menu.medium-simple li{flex:1 1 0px}}@media print, screen and (min-width: 64em){.menu.large-horizontal{flex-wrap:wrap;flex-direction:row}.menu.large-vertical{flex-wrap:nowrap;flex-direction:column}.menu.large-expanded li{flex:1 1 0px}.menu.large-simple li{flex:1 1 0px}}.menu.nested{margin-right:0;margin-left:1rem}.menu.icons a{display:flex}.menu.icon-top a,.menu.icon-right a,.menu.icon-bottom a,.menu.icon-left a{display:flex}.menu.icon-left li a{flex-flow:row nowrap}.menu.icon-left li a img,.menu.icon-left li a i,.menu.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a{flex-flow:row nowrap}.menu.icon-right li a img,.menu.icon-right li a i,.menu.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a{flex-flow:column nowrap}.menu.icon-top li a img,.menu.icon-top li a i,.menu.icon-top li a svg{align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a{flex-flow:column nowrap}.menu.icon-bottom li a img,.menu.icon-bottom li a i,.menu.icon-bottom li a svg{align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .is-active>a{background:#1779ba;color:#fefefe}.menu .active>a{background:#1779ba;color:#fefefe}.menu.align-left{justify-content:flex-start}.menu.align-right li{display:flex;justify-content:flex-end}.menu.align-right li .submenu li{justify-content:flex-start}.menu.align-right.vertical li{display:block;text-align:right}.menu.align-right.vertical li .submenu li{text-align:right}.menu.align-right .nested{margin-right:1rem;margin-left:0}.menu.align-center li{display:flex;justify-content:center}.menu.align-center li .submenu li{justify-content:flex-start}.menu .menu-text{padding:0.7rem 1rem;font-weight:bold;line-height:1;color:inherit}.menu-centered>.menu{justify-content:center}.menu-centered>.menu li{display:flex;justify-content:center}.menu-centered>.menu li .submenu li{justify-content:flex-start}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#fefefe;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:''}.menu-icon:hover::after{background:#cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.menu-icon.dark{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;content:''}.menu-icon.dark:hover::after{background:#8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block}.is-drilldown.animate-height{transition:height 0.5s}.drilldown a{padding:0.7rem 1rem;background:#fefefe}.drilldown .is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;width:100%;background:#fefefe;transition:transform 0.15s linear}.drilldown .is-drilldown-submenu.is-active{z-index:1;display:block;transform:translateX(-100%)}.drilldown .is-drilldown-submenu.is-closing{transform:translateX(100%)}.drilldown .is-drilldown-submenu a{padding:0.7rem 1rem}.drilldown .nested.is-drilldown-submenu{margin-right:0;margin-left:0}.drilldown .drilldown-submenu-cover-previous{min-height:100%}.drilldown .is-drilldown-submenu-parent>a{position:relative}.drilldown .is-drilldown-submenu-parent>a::after{position:absolute;top:50%;margin-top:-6px;right:1rem;display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}.drilldown.align-left .is-drilldown-submenu-parent>a::after{left:auto;right:1rem;display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}.drilldown.align-right .is-drilldown-submenu-parent>a::after{right:auto;left:1rem;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent}.drilldown .js-drilldown-back>a::before{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent;border-left-width:0;display:inline-block;vertical-align:middle;margin-right:0.75rem;border-left-width:0}.dropdown-pane{position:absolute;z-index:10;width:300px;padding:1rem;visibility:hidden;display:none;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{visibility:visible;display:block}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu a{padding:0.7rem 1rem}[data-whatinput='mouse'] .dropdown.menu a{outline:0}.dropdown.menu .is-active>a{background:transparent;color:#1779ba}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-right:0;margin-left:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after{right:14px}.dropdown.menu.vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent}.dropdown.menu.vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}@media print, screen and (min-width: 40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent}.dropdown.menu.medium-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}}@media print, screen and (min-width: 64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:#1779ba transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{right:100%;left:auto;top:0}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent}.dropdown.menu.large-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;left:auto;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:200px;border:1px solid #cacaca;background:#fefefe}.dropdown .is-dropdown-submenu a{padding:0.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{right:auto;left:5px;display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #1779ba transparent transparent}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #1779ba}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.responsive-embed,.flex-video{position:relative;height:0;margin-bottom:1rem;padding-bottom:75%;overflow:hidden}.responsive-embed iframe,.responsive-embed object,.responsive-embed embed,.responsive-embed video,.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.responsive-embed.widescreen,.flex-video.widescreen{padding-bottom:56.25%}.label{display:inline-block;padding:0.333rem 0.5rem;border-radius:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#1779ba;color:#fefefe}.label.primary{background:#1779ba;color:#fefefe}.label.secondary{background:#767676;color:#fefefe}.label.success{background:#3adb76;color:#0a0a0a}.label.warning{background:#ffae00;color:#0a0a0a}.label.alert{background:#cc4b37;color:#fefefe}.media-object{display:flex;margin-bottom:1rem;flex-wrap:nowrap}.media-object img{max-width:none}@media screen and (max-width: 39.938em){.media-object.stack-for-small{flex-wrap:wrap}}@media screen and (max-width: 39.938em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;flex-basis:100%;max-width:100%}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{flex:0 1 auto}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.main-section{flex:1 1 0px}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;transition:opacity .5s ease,visibility .5s ease;background:rgba(254,254,254,0.25);opacity:0;visibility:hidden;overflow:hidden}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{position:relative;overflow:hidden}.off-canvas{position:fixed;z-index:12;transition:transform .5s ease;backface-visibility:hidden;background:#e6e6e6}[data-whatinput='mouse'] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(10,10,10,0.7)}.off-canvas.is-open{transform:translate(0, 0)}.off-canvas-absolute{position:absolute;z-index:12;transition:transform .5s ease;backface-visibility:hidden;background:#e6e6e6}[data-whatinput='mouse'] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(10,10,10,0.7)}.off-canvas-absolute.is-open{transform:translate(0, 0)}.position-left{top:0;left:0;height:100%;overflow-y:auto;width:250px;transform:translateX(-250px)}@media print, screen and (min-width: 40em){.position-left{width:250px;transform:translateX(-250px)}}.off-canvas-content .off-canvas.position-left{transform:translateX(-250px)}@media print, screen and (min-width: 40em){.off-canvas-content .off-canvas.position-left{transform:translateX(-250px)}}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-left.has-transition-push{transform:translateX(250px)}@media print, screen and (min-width: 40em){.off-canvas-content.is-open-left.has-transition-push{transform:translateX(250px)}}.position-left.is-transition-push{box-shadow:inset -13px 0 20px -13px rgba(10,10,10,0.25)}.position-right{top:0;right:0;height:100%;overflow-y:auto;width:250px;transform:translateX(250px)}@media print, screen and (min-width: 40em){.position-right{width:250px;transform:translateX(250px)}}.off-canvas-content .off-canvas.position-right{transform:translateX(250px)}@media print, screen and (min-width: 40em){.off-canvas-content .off-canvas.position-right{transform:translateX(250px)}}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-right.has-transition-push{transform:translateX(-250px)}@media print, screen and (min-width: 40em){.off-canvas-content.is-open-right.has-transition-push{transform:translateX(-250px)}}.position-right.is-transition-push{box-shadow:inset 13px 0 20px -13px rgba(10,10,10,0.25)}.position-top{top:0;left:0;width:100%;overflow-x:auto;height:250px;transform:translateY(-250px)}@media print, screen and (min-width: 40em){.position-top{height:250px;transform:translateY(-250px)}}.off-canvas-content .off-canvas.position-top{transform:translateY(-250px)}@media print, screen and (min-width: 40em){.off-canvas-content .off-canvas.position-top{transform:translateY(-250px)}}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-top.has-transition-push{transform:translateY(250px)}@media print, screen and (min-width: 40em){.off-canvas-content.is-open-top.has-transition-push{transform:translateY(250px)}}.position-top.is-transition-push{box-shadow:inset 0 -13px 20px -13px rgba(10,10,10,0.25)}.position-bottom{bottom:0;left:0;width:100%;overflow-x:auto;height:250px;transform:translateY(250px)}@media print, screen and (min-width: 40em){.position-bottom{height:250px;transform:translateY(250px)}}.off-canvas-content .off-canvas.position-bottom{transform:translateY(250px)}@media print, screen and (min-width: 40em){.off-canvas-content .off-canvas.position-bottom{transform:translateY(250px)}}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{transform:translate(0, 0)}.off-canvas-content.is-open-bottom.has-transition-push{transform:translateY(-250px)}@media print, screen and (min-width: 40em){.off-canvas-content.is-open-bottom.has-transition-push{transform:translateY(-250px)}}.position-bottom.is-transition-push{box-shadow:inset 0 13px 20px -13px rgba(10,10,10,0.25)}.off-canvas-content{transform:none;transition:transform .5s ease;backface-visibility:hidden}.off-canvas-content.has-transition-push{transform:translate(0, 0)}.off-canvas-content .off-canvas.is-open{transform:translate(0, 0)}@media print, screen and (min-width: 40em){.position-left.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-medium ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-medium ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-medium ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{transform:none;z-index:12;transition:none;visibility:visible}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-medium ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 64em){.position-left.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-large ~ .off-canvas-content{margin-left:250px}.position-right.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-large ~ .off-canvas-content{margin-right:250px}.position-top.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-large ~ .off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{transform:none;z-index:12;transition:none;visibility:visible}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-large ~ .off-canvas-content{margin-bottom:250px}}@media print, screen and (min-width: 40em){.off-canvas.in-canvas-for-medium{visibility:visible;height:auto;position:static;background:inherit;width:inherit;overflow:inherit;transition:inherit}.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top,.off-canvas.in-canvas-for-medium.position-bottom{box-shadow:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print, screen and (min-width: 64em){.off-canvas.in-canvas-for-large{visibility:visible;height:auto;position:static;background:inherit;width:inherit;overflow:inherit;transition:inherit}.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top,.off-canvas.in-canvas-for-large.position-bottom{box-shadow:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}.orbit{position:relative}.orbit-container{position:relative;height:0;margin:0;list-style:none;overflow:hidden}.orbit-slide{width:100%}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{width:100%;max-width:100%;margin:0}.orbit-caption{position:absolute;bottom:0;width:100%;margin-bottom:0;padding:1rem;background-color:rgba(10,10,10,0.5);color:#fefefe}.orbit-previous,.orbit-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:1rem;color:#fefefe}[data-whatinput='mouse'] .orbit-previous,[data-whatinput='mouse'] .orbit-next{outline:0}.orbit-previous:hover,.orbit-next:hover,.orbit-previous:active,.orbit-next:active,.orbit-previous:focus,.orbit-next:focus{background-color:rgba(10,10,10,0.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput='mouse'] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;border-radius:50%;background-color:#cacaca}.orbit-bullets button:hover{background-color:#8a8a8a}.orbit-bullets button.is-active{background-color:#8a8a8a}.pagination{margin-left:0;margin-bottom:1rem}.pagination::before,.pagination::after{display:table;content:' ';flex-basis:0;order:1}.pagination::after{clear:both}.pagination li{margin-right:.062rem;border-radius:0;font-size:.875rem;display:none}.pagination li:last-child,.pagination li:first-child{display:inline-block}@media print, screen and (min-width: 40em){.pagination li{display:inline-block}}.pagination a,.pagination button{display:block;padding:.188rem .625rem;border-radius:0;color:#0a0a0a}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.188rem .625rem;background:#1779ba;color:#fefefe;cursor:default}.pagination .disabled{padding:.188rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis::after{padding:.188rem .625rem;content:'\2026';color:#0a0a0a}.pagination-previous a::before,.pagination-previous.disabled::before{display:inline-block;margin-right:0.5rem;content:'\00ab'}.pagination-next a::after,.pagination-next.disabled::after{display:inline-block;margin-left:0.5rem;content:'\00bb'}.progress{height:1rem;margin-bottom:1rem;border-radius:0;background-color:#cacaca}.progress.primary .progress-meter{background-color:#1779ba}.progress.secondary .progress-meter{background-color:#767676}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#cc4b37}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#1779ba}.progress-meter-text{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);position:absolute;margin:0;font-size:0.75rem;font-weight:bold;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;user-select:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;transition:all 0.2s ease-in-out}.slider-fill.is-dragging{transition:all 0s linear}.slider-handle{position:absolute;top:50%;transform:translateY(-50%);left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;border-radius:0;background-color:#1779ba;transition:all 0.2s ease-in-out;touch-action:manipulation}[data-whatinput='mouse'] .slider-handle{outline:0}.slider-handle:hover{background-color:#14679e}.slider-handle.is-dragging{transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;transform:scale(1, -1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:relative;z-index:0;transform:translate3d(0, 0, 0)}.sticky.is-stuck{position:fixed;z-index:5;width:100%}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:relative;right:auto;left:auto}.sticky.is-anchored.is-at-bottom{bottom:0}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{min-height:100%;overflow:hidden;position:fixed;user-select:none}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(10,10,10,0.45);overflow-y:scroll}.reveal{z-index:1006;backface-visibility:hidden;display:none;padding:1rem;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;position:relative;top:100px;margin-right:auto;margin-left:auto;overflow-y:auto}[data-whatinput='mouse'] .reveal{outline:0}@media print, screen and (min-width: 40em){.reveal{min-height:0}}.reveal .column{min-width:0}.reveal>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.reveal{width:600px;max-width:62.5rem}}.reveal.collapse{padding:0}@media print, screen and (min-width: 40em){.reveal.tiny{width:30%;max-width:62.5rem}}@media print, screen and (min-width: 40em){.reveal.small{width:50%;max-width:62.5rem}}@media print, screen and (min-width: 40em){.reveal.large{width:90%;max-width:62.5rem}}.reveal.full{top:0;left:0;width:100%;max-width:none;height:100%;height:100vh;min-height:100vh;margin-left:0;border:0;border-radius:0}@media screen and (max-width: 39.938em){.reveal{top:0;left:0;width:100%;max-width:none;height:100%;height:100vh;min-height:100vh;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.switch{height:2rem;position:relative;margin-bottom:1rem;outline:0;font-size:.875rem;font-weight:bold;color:#fefefe;user-select:none}.switch-input{position:absolute;margin-bottom:0;opacity:0}.switch-paddle{position:relative;display:block;width:4rem;height:2rem;border-radius:0;background:#cacaca;transition:all 0.25s ease-out;font-weight:inherit;color:inherit;cursor:pointer}input+.switch-paddle{margin:0}.switch-paddle::after{position:absolute;top:.25rem;left:.25rem;display:block;width:1.5rem;height:1.5rem;transform:translate3d(0, 0, 0);border-radius:0;background:#fefefe;transition:all 0.25s ease-out;content:''}input:checked ~ .switch-paddle{background:#1779ba}input:checked ~ .switch-paddle::after{left:2.25rem}[data-whatinput='mouse'] input:focus ~ .switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{top:.25rem;left:.25rem;width:1rem;height:1rem}.switch.tiny input:checked ~ .switch-paddle::after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle::after{top:.25rem;left:.25rem;width:1.25rem;height:1.25rem}.switch.small input:checked ~ .switch-paddle::after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle::after{top:.25rem;left:.25rem;width:2rem;height:2rem}.switch.large input:checked ~ .switch-paddle::after{left:2.75rem}table{border-collapse:collapse;width:100%;margin-bottom:1rem;border-radius:0}thead,tbody,tfoot{border:1px solid #f1f1f1;background-color:#fefefe}caption{padding:.5rem .625rem .625rem;font-weight:bold}thead{background:#f8f8f8;color:#0a0a0a}tfoot{background:#f1f1f1;color:#0a0a0a}thead tr,tfoot tr{background:transparent}thead th,thead td,tfoot th,tfoot td{padding:.5rem .625rem .625rem;font-weight:bold;text-align:left}tbody th,tbody td{padding:.5rem .625rem .625rem}tbody tr:nth-child(even){border-bottom:0;background-color:#f1f1f1}table.unstriped tbody{background-color:#fefefe}table.unstriped tbody tr{border-bottom:0;border-bottom:1px solid #f1f1f1;background-color:#fefefe}@media screen and (max-width: 63.938em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack tr,table.stack th,table.stack td{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover thead tr:hover{background-color:#f3f3f3}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.tabs{margin:0;border:1px solid #e6e6e6;background:#fefefe;list-style-type:none}.tabs::before,.tabs::after{display:table;content:' ';flex-basis:0;order:1}.tabs::after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#1779ba}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:hover,.tabs.primary>li>a:focus{background:#1673b1}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;font-size:.75rem;line-height:1;color:#1779ba}.tabs-title>a:hover{background:#fefefe;color:#1468a0}.tabs-title>a:focus,.tabs-title>a[aria-selected='true']{background:#e6e6e6;color:#1779ba}.tabs-content{border:1px solid #e6e6e6;border-top:0;background:#fefefe;color:#0a0a0a;transition:all 0.5s ease}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{display:inline-block;max-width:100%;margin-bottom:1rem;border:solid 4px #fefefe;border-radius:0;box-shadow:0 0 0 1px rgba(10,10,10,0.2);line-height:0}a.thumbnail{transition:box-shadow 200ms ease-out}a.thumbnail:hover,a.thumbnail:focus{box-shadow:0 0 6px 1px rgba(23,121,186,0.5)}a.thumbnail image{box-shadow:none}.title-bar{padding:.5rem;background:#0a0a0a;color:#fefefe;display:flex;justify-content:flex-start;align-items:center}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;vertical-align:middle;font-weight:bold}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #8a8a8a;font-weight:bold;cursor:help}.tooltip{position:absolute;top:calc(100% + .649rem);z-index:1200;max-width:10rem;padding:.75rem;border-radius:0;background-color:#0a0a0a;font-size:80%;color:#fefefe}.tooltip::before{position:absolute}.tooltip.bottom::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #0a0a0a;bottom:100%}.tooltip.bottom.align-center::before{left:50%;transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#0a0a0a transparent transparent;top:100%;bottom:auto}.tooltip.top.align-center::before{left:50%;transform:translateX(-50%)}.tooltip.left::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #0a0a0a;left:100%}.tooltip.left.align-center::before{bottom:auto;top:50%;transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:100%;left:auto}.tooltip.right.align-center::before{bottom:auto;top:50%;transform:translateY(-50%)}.tooltip.align-top::before{bottom:auto;top:10%}.tooltip.align-bottom::before{bottom:10%;top:auto}.tooltip.align-left::before{left:10%;right:auto}.tooltip.align-right::before{left:auto;right:10%}.top-bar{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:.5rem;flex-wrap:wrap}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{flex:0 0 100%;max-width:100%}@media print, screen and (min-width: 40em){.top-bar{flex-wrap:nowrap}.top-bar .top-bar-left{flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{flex:0 1 auto;margin-left:auto}}@media screen and (max-width: 63.938em){.top-bar.stacked-for-medium{flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{flex:0 0 100%;max-width:100%}}@media screen and (max-width: 74.938em){.top-bar.stacked-for-large{flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{flex:0 0 100%;max-width:100%}}.top-bar-title{flex:0 0 auto;margin:0.5rem 1rem 0.5rem 0}.top-bar-left,.top-bar-right{flex:0 0 auto}.hide{display:none !important}.invisible{visibility:hidden}@media screen and (max-width: 39.938em){.hide-for-small-only{display:none !important}}@media screen and (max-width: 0em), screen and (min-width: 40em){.show-for-small-only{display:none !important}}@media print, screen and (min-width: 40em){.hide-for-medium{display:none !important}}@media screen and (max-width: 39.938em){.show-for-medium{display:none !important}}@media screen and (min-width: 40em) and (max-width: 63.938em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 39.938em), screen and (min-width: 64em){.show-for-medium-only{display:none !important}}@media print, screen and (min-width: 64em){.hide-for-large{display:none !important}}@media screen and (max-width: 63.938em){.show-for-large{display:none !important}}@media screen and (min-width: 64em) and (max-width: 74.938em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 63.938em), screen and (min-width: 75em){.show-for-large-only{display:none !important}}.show-for-sr,.show-on-focus{position:absolute !important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);border:0}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;clip-path:none}.show-for-landscape,.hide-for-portrait{display:block !important}@media screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:block !important}}@media screen and (orientation: portrait){.show-for-landscape,.hide-for-portrait{display:none !important}}.hide-for-landscape,.show-for-portrait{display:none !important}@media screen and (orientation: landscape){.hide-for-landscape,.show-for-portrait{display:none !important}}@media screen and (orientation: portrait){.hide-for-landscape,.show-for-portrait{display:block !important}}.float-left{float:left !important}.float-right{float:right !important}.float-center{display:block;margin-right:auto;margin-left:auto}.clearfix::before,.clearfix::after{display:table;content:' ';flex-basis:0;order:1}.clearfix::after{clear:both}.align-right{justify-content:flex-end}.align-center{justify-content:center}.align-justify{justify-content:space-between}.align-spaced{justify-content:space-around}.align-right.vertical.menu>li>a{justify-content:flex-end}.align-center.vertical.menu>li>a{justify-content:center}.align-top{align-items:flex-start}.align-self-top{align-self:flex-start}.align-bottom{align-items:flex-end}.align-self-bottom{align-self:flex-end}.align-middle{align-items:center}.align-self-middle{align-self:center}.align-stretch{align-items:stretch}.align-self-stretch{align-self:stretch}.align-center-middle{justify-content:center;align-items:center;align-content:center}.small-order-1{order:1}.small-order-2{order:2}.small-order-3{order:3}.small-order-4{order:4}.small-order-5{order:5}.small-order-6{order:6}@media print, screen and (min-width: 40em){.medium-order-1{order:1}.medium-order-2{order:2}.medium-order-3{order:3}.medium-order-4{order:4}.medium-order-5{order:5}.medium-order-6{order:6}}@media print, screen and (min-width: 64em){.large-order-1{order:1}.large-order-2{order:2}.large-order-3{order:3}.large-order-4{order:4}.large-order-5{order:5}.large-order-6{order:6}}.flex-container{display:flex}.flex-child-auto{flex:1 1 auto}.flex-child-grow{flex:1 0 auto}.flex-child-shrink{flex:0 1 auto}.flex-dir-row{flex-direction:row}.flex-dir-row-reverse{flex-direction:row-reverse}.flex-dir-column{flex-direction:column}.flex-dir-column-reverse{flex-direction:column-reverse}@media print, screen and (min-width: 40em){.medium-flex-container{display:flex}.medium-flex-child-auto{flex:1 1 auto}.medium-flex-child-grow{flex:1 0 auto}.medium-flex-child-shrink{flex:0 1 auto}.medium-flex-dir-row{flex-direction:row}.medium-flex-dir-row-reverse{flex-direction:row-reverse}.medium-flex-dir-column{flex-direction:column}.medium-flex-dir-column-reverse{flex-direction:column-reverse}}@media print, screen and (min-width: 64em){.large-flex-container{display:flex}.large-flex-child-auto{flex:1 1 auto}.large-flex-child-grow{flex:1 0 auto}.large-flex-child-shrink{flex:0 1 auto}.large-flex-dir-row{flex-direction:row}.large-flex-dir-row-reverse{flex-direction:row-reverse}.large-flex-dir-column{flex-direction:column}.large-flex-dir-column-reverse{flex-direction:column-reverse}}.slide-in-down.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:translateY(-100%);transition-property:transform, opacity;backface-visibility:hidden}.slide-in-down.mui-enter.mui-enter-active{transform:translateY(0)}.slide-in-left.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:translateX(-100%);transition-property:transform, opacity;backface-visibility:hidden}.slide-in-left.mui-enter.mui-enter-active{transform:translateX(0)}.slide-in-up.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:translateY(100%);transition-property:transform, opacity;backface-visibility:hidden}.slide-in-up.mui-enter.mui-enter-active{transform:translateY(0)}.slide-in-right.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:translateX(100%);transition-property:transform, opacity;backface-visibility:hidden}.slide-in-right.mui-enter.mui-enter-active{transform:translateX(0)}.slide-out-down.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:translateY(0);transition-property:transform, opacity;backface-visibility:hidden}.slide-out-down.mui-leave.mui-leave-active{transform:translateY(100%)}.slide-out-right.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:translateX(0);transition-property:transform, opacity;backface-visibility:hidden}.slide-out-right.mui-leave.mui-leave-active{transform:translateX(100%)}.slide-out-up.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:translateY(0);transition-property:transform, opacity;backface-visibility:hidden}.slide-out-up.mui-leave.mui-leave-active{transform:translateY(-100%)}.slide-out-left.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:translateX(0);transition-property:transform, opacity;backface-visibility:hidden}.slide-out-left.mui-leave.mui-leave-active{transform:translateX(-100%)}.fade-in.mui-enter{transition-duration:500ms;transition-timing-function:linear;opacity:0;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{transition-duration:500ms;transition-timing-function:linear;opacity:1;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateX(-90deg);transform-origin:top;transition-property:transform, opacity;opacity:0}.hinge-in-from-top.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-right.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateY(-90deg);transform-origin:right;transition-property:transform, opacity;opacity:0}.hinge-in-from-right.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-bottom.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateX(90deg);transform-origin:bottom;transition-property:transform, opacity;opacity:0}.hinge-in-from-bottom.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-left.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateY(90deg);transform-origin:left;transition-property:transform, opacity;opacity:0}.hinge-in-from-left.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-x.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateX(-90deg);transform-origin:center;transition-property:transform, opacity;opacity:0}.hinge-in-from-middle-x.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-y.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateY(-90deg);transform-origin:center;transition-property:transform, opacity;opacity:0}.hinge-in-from-middle-y.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-out-from-top.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:top;transition-property:transform, opacity;opacity:1}.hinge-out-from-top.mui-leave.mui-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-right.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:right;transition-property:transform, opacity;opacity:1}.hinge-out-from-right.mui-leave.mui-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.hinge-out-from-bottom.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:bottom;transition-property:transform, opacity;opacity:1}.hinge-out-from-bottom.mui-leave.mui-leave-active{transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-left.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:left;transition-property:transform, opacity;opacity:1}.hinge-out-from-left.mui-leave.mui-leave-active{transform:perspective(2000px) rotateY(90deg);opacity:0}.hinge-out-from-middle-x.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:center;transition-property:transform, opacity;opacity:1}.hinge-out-from-middle-x.mui-leave.mui-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-middle-y.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:center;transition-property:transform, opacity;opacity:1}.hinge-out-from-middle-y.mui-leave.mui-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.scale-in-up.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:scale(.5);transition-property:transform, opacity;opacity:0}.scale-in-up.mui-enter.mui-enter-active{transform:scale(1);opacity:1}.scale-in-down.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:scale(1.5);transition-property:transform, opacity;opacity:0}.scale-in-down.mui-enter.mui-enter-active{transform:scale(1);opacity:1}.scale-out-up.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:scale(1);transition-property:transform, opacity;opacity:1}.scale-out-up.mui-leave.mui-leave-active{transform:scale(1.5);opacity:0}.scale-out-down.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:scale(1);transition-property:transform, opacity;opacity:1}.scale-out-down.mui-leave.mui-leave-active{transform:scale(.5);opacity:0}.spin-in.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:rotate(-.75turn);transition-property:transform, opacity;opacity:0}.spin-in.mui-enter.mui-enter-active{transform:rotate(0);opacity:1}.spin-out.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:rotate(0);transition-property:transform, opacity;opacity:1}.spin-out.mui-leave.mui-leave-active{transform:rotate(.75turn);opacity:0}.spin-in-ccw.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:rotate(.75turn);transition-property:transform, opacity;opacity:0}.spin-in-ccw.mui-enter.mui-enter-active{transform:rotate(0);opacity:1}.spin-out-ccw.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:rotate(0);transition-property:transform, opacity;opacity:1}.spin-out-ccw.mui-leave.mui-leave-active{transform:rotate(-.75turn);opacity:0}.slow{transition-duration:750ms !important}.fast{transition-duration:250ms !important}.linear{transition-timing-function:linear !important}.ease{transition-timing-function:ease !important}.ease-in{transition-timing-function:ease-in !important}.ease-out{transition-timing-function:ease-out !important}.ease-in-out{transition-timing-function:ease-in-out !important}.bounce-in{transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{transition-delay:300ms !important}.long-delay{transition-delay:700ms !important}.shake{animation-name:shake-7}@keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{transform:translateX(-7%)}}.spin-cw{animation-name:spin-cw-1turn}@keyframes spin-cw-1turn{0%{transform:rotate(-1turn)}100%{transform:rotate(0)}}.spin-ccw{animation-name:spin-cw-1turn}@keyframes spin-cw-1turn{0%{transform:rotate(0)}100%{transform:rotate(1turn)}}.wiggle{animation-name:wiggle-7deg}@keyframes wiggle-7deg{40%,50%,60%{transform:rotate(7deg)}35%,45%,55%,65%{transform:rotate(-7deg)}0%,30%,70%,100%{transform:rotate(0)}}.shake,.spin-cw,.spin-ccw,.wiggle{animation-duration:500ms}.infinite{animation-iteration-count:infinite}.slow{animation-duration:750ms !important}.fast{animation-duration:250ms !important}.linear{animation-timing-function:linear !important}.ease{animation-timing-function:ease !important}.ease-in{animation-timing-function:ease-in !important}.ease-out{animation-timing-function:ease-out !important}.ease-in-out{animation-timing-function:ease-in-out !important}.bounce-in{animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{animation-delay:300ms !important}.long-delay{animation-delay:700ms !important}.slide-in-down.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:translateY(-100%);transition-property:transform, opacity;backface-visibility:hidden}.slide-in-down.mui-enter.mui-enter-active{transform:translateY(0)}.slide-in-left.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:translateX(-100%);transition-property:transform, opacity;backface-visibility:hidden}.slide-in-left.mui-enter.mui-enter-active{transform:translateX(0)}.slide-in-up.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:translateY(100%);transition-property:transform, opacity;backface-visibility:hidden}.slide-in-up.mui-enter.mui-enter-active{transform:translateY(0)}.slide-in-right.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:translateX(100%);transition-property:transform, opacity;backface-visibility:hidden}.slide-in-right.mui-enter.mui-enter-active{transform:translateX(0)}.slide-out-down.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:translateY(0);transition-property:transform, opacity;backface-visibility:hidden}.slide-out-down.mui-leave.mui-leave-active{transform:translateY(100%)}.slide-out-right.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:translateX(0);transition-property:transform, opacity;backface-visibility:hidden}.slide-out-right.mui-leave.mui-leave-active{transform:translateX(100%)}.slide-out-up.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:translateY(0);transition-property:transform, opacity;backface-visibility:hidden}.slide-out-up.mui-leave.mui-leave-active{transform:translateY(-100%)}.slide-out-left.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:translateX(0);transition-property:transform, opacity;backface-visibility:hidden}.slide-out-left.mui-leave.mui-leave-active{transform:translateX(-100%)}.fade-in.mui-enter{transition-duration:500ms;transition-timing-function:linear;opacity:0;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{transition-duration:500ms;transition-timing-function:linear;opacity:1;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateX(-90deg);transform-origin:top;transition-property:transform, opacity;opacity:0}.hinge-in-from-top.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-right.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateY(-90deg);transform-origin:right;transition-property:transform, opacity;opacity:0}.hinge-in-from-right.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-bottom.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateX(90deg);transform-origin:bottom;transition-property:transform, opacity;opacity:0}.hinge-in-from-bottom.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-left.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateY(90deg);transform-origin:left;transition-property:transform, opacity;opacity:0}.hinge-in-from-left.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-x.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateX(-90deg);transform-origin:center;transition-property:transform, opacity;opacity:0}.hinge-in-from-middle-x.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-y.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotateY(-90deg);transform-origin:center;transition-property:transform, opacity;opacity:0}.hinge-in-from-middle-y.mui-enter.mui-enter-active{transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-out-from-top.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:top;transition-property:transform, opacity;opacity:1}.hinge-out-from-top.mui-leave.mui-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-right.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:right;transition-property:transform, opacity;opacity:1}.hinge-out-from-right.mui-leave.mui-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.hinge-out-from-bottom.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:bottom;transition-property:transform, opacity;opacity:1}.hinge-out-from-bottom.mui-leave.mui-leave-active{transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-left.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:left;transition-property:transform, opacity;opacity:1}.hinge-out-from-left.mui-leave.mui-leave-active{transform:perspective(2000px) rotateY(90deg);opacity:0}.hinge-out-from-middle-x.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:center;transition-property:transform, opacity;opacity:1}.hinge-out-from-middle-x.mui-leave.mui-leave-active{transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-middle-y.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:perspective(2000px) rotate(0deg);transform-origin:center;transition-property:transform, opacity;opacity:1}.hinge-out-from-middle-y.mui-leave.mui-leave-active{transform:perspective(2000px) rotateY(-90deg);opacity:0}.scale-in-up.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:scale(.5);transition-property:transform, opacity;opacity:0}.scale-in-up.mui-enter.mui-enter-active{transform:scale(1);opacity:1}.scale-in-down.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:scale(1.5);transition-property:transform, opacity;opacity:0}.scale-in-down.mui-enter.mui-enter-active{transform:scale(1);opacity:1}.scale-out-up.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:scale(1);transition-property:transform, opacity;opacity:1}.scale-out-up.mui-leave.mui-leave-active{transform:scale(1.5);opacity:0}.scale-out-down.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:scale(1);transition-property:transform, opacity;opacity:1}.scale-out-down.mui-leave.mui-leave-active{transform:scale(.5);opacity:0}.spin-in.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:rotate(-.75turn);transition-property:transform, opacity;opacity:0}.spin-in.mui-enter.mui-enter-active{transform:rotate(0);opacity:1}.spin-out.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:rotate(0);transition-property:transform, opacity;opacity:1}.spin-out.mui-leave.mui-leave-active{transform:rotate(.75turn);opacity:0}.spin-in-ccw.mui-enter{transition-duration:500ms;transition-timing-function:linear;transform:rotate(.75turn);transition-property:transform, opacity;opacity:0}.spin-in-ccw.mui-enter.mui-enter-active{transform:rotate(0);opacity:1}.spin-out-ccw.mui-leave{transition-duration:500ms;transition-timing-function:linear;transform:rotate(0);transition-property:transform, opacity;opacity:1}.spin-out-ccw.mui-leave.mui-leave-active{transform:rotate(-.75turn);opacity:0}.slow{transition-duration:750ms !important}.fast{transition-duration:250ms !important}.linear{transition-timing-function:linear !important}.ease{transition-timing-function:ease !important}.ease-in{transition-timing-function:ease-in !important}.ease-out{transition-timing-function:ease-out !important}.ease-in-out{transition-timing-function:ease-in-out !important}.bounce-in{transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{transition-delay:300ms !important}.long-delay{transition-delay:700ms !important}.shake{animation-name:shake-7}@keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{transform:translateX(-7%)}}.spin-cw{animation-name:spin-cw-1turn}@keyframes spin-cw-1turn{0%{transform:rotate(-1turn)}100%{transform:rotate(0)}}.spin-ccw{animation-name:spin-cw-1turn}@keyframes spin-cw-1turn{0%{transform:rotate(0)}100%{transform:rotate(1turn)}}.wiggle{animation-name:wiggle-7deg}@keyframes wiggle-7deg{40%,50%,60%{transform:rotate(7deg)}35%,45%,55%,65%{transform:rotate(-7deg)}0%,30%,70%,100%{transform:rotate(0)}}.shake,.spin-cw,.spin-ccw,.wiggle{animation-duration:500ms}.infinite{animation-iteration-count:infinite}.slow{animation-duration:750ms !important}.fast{animation-duration:250ms !important}.linear{animation-timing-function:linear !important}.ease{animation-timing-function:ease !important}.ease-in{animation-timing-function:ease-in !important}.ease-out{animation-timing-function:ease-out !important}.ease-in-out{animation-timing-function:ease-in-out !important}.bounce-in{animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{animation-delay:300ms !important}.long-delay{animation-delay:700ms !important}#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0, 0, 0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:0.9;filter:alpha(opacity=90)}#colorbox{outline:0}#cboxTopLeft{width:14px;height:14px;background:url(/images/colorbox/controls.png) no-repeat 0 0}#cboxTopCenter{height:14px;background:url(/images/colorbox/border.png) repeat-x top left}#cboxTopRight{width:14px;height:14px;background:url(/images/colorbox/controls.png) no-repeat -36px 0}#cboxBottomLeft{width:14px;height:43px;background:url(/images/colorbox/controls.png) no-repeat 0 -32px}#cboxBottomCenter{height:43px;background:url(/images/colorbox/border.png) repeat-x bottom left}#cboxBottomRight{width:14px;height:43px;background:url(/images/colorbox/controls.png) no-repeat -36px -32px}#cboxMiddleLeft{width:14px;background:url(/images/colorbox/controls.png) repeat-y -175px 0}#cboxMiddleRight{width:14px;background:url(/images/colorbox/controls.png) repeat-y -211px 0}#cboxContent{background:#fff;overflow:visible}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{margin-bottom:5px}#cboxLoadingOverlay{background:url(/images/colorbox/loading_background.png) no-repeat center center}#cboxLoadingGraphic{background:url(/images/colorbox/loading.gif) no-repeat center center}#cboxTitle{position:absolute;bottom:-25px;left:0;text-align:center;width:100%;font-weight:bold;color:#7C7C7C}#cboxCurrent{position:absolute;bottom:-25px;left:58px;font-weight:bold;color:#7C7C7C}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;position:absolute;bottom:-29px;background:url(/images/colorbox/controls.png) no-repeat 0px 0px;width:23px;height:23px;text-indent:-9999px}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxPrevious{left:0px;background-position:-51px -25px}#cboxPrevious:hover{background-position:-51px 0px}#cboxNext{left:27px;background-position:-75px -25px}#cboxNext:hover{background-position:-75px 0px}#cboxClose{right:0;background-position:-100px -25px}#cboxClose:hover{background-position:-100px 0px}.cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px;right:27px}.cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px}.cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px;right:27px}.cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px}html{font-family:"Lato",sans-serif;font-size:12pt}body{font-family:"Lato",sans-serif;font-size:12pt;background-color:#fff}.drilldown a{background-color:#fafafb}.top-bar{background-color:#fafafb;box-shadow:0 1px 0 rgba(12,13,14,0.1),0 1px 3px rgba(12,13,14,0.1),0 4px 20px rgba(12,13,14,0.035),0 1px 1px rgba(12,13,14,0.025)}.top-bar a.title{color:#333;font-weight:bold;font-size:110%}.top-bar ul{background-color:#fafafb}.top-bar a{color:#777}.top-bar a:hover{color:#777}a,a:hover{color:#326fb8}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:"Lato",sans-serif;color:#327cc5}code{background-color:transparent;border:0}pre{background-color:#fafafb;border:1px solid #6290c5;white-space:pre-wrap;padding:8px}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{border-top-color:#326fb8}.top-spacer{margin-top:64px}@media print, screen and (min-width: 40em){.top-spacer{margin-top:32px}}p{margin-bottom:0.5rem}li p,.ulist ul li p,.arabic li p,dd p{margin-bottom:0.25em}dl dt{font-size:120%;margin-bottom:0}.nb-orbit{background:#000}.nb-orbit .orbit-container .orbit-slide{color:#fff}.ulist .menu ul{padding:0;margin:0;list-style:none;position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row}section.hero{color:#fff;position:relative;padding:75px 0}section.hero .grid-container .cell h1,section.hero .grid-container .cell p{color:#eee}section.hero .grid-container .cell h1 a,section.hero .grid-container .cell p a{color:#fff}.hero.news,.orbit-wrapper{background:url("/images/hero-background.jpg") no-repeat;background-size:cover;background-position:center bottom}.toc{max-width:75%;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:0 auto}.toc ul{margin:0;padding:8px;list-style-type:none}.toc ul li{display:inline-block;font-size:10pt;color:#327cc5}.toc ul li a{color:#021a72}@media print, screen and (min-width: 40em){.toc{border-top:0px;border-bottom:0px;border-left:1px solid #ddd;max-width:15em;margin:32px 0 2em 2em}.toc ul{margin-left:8px}.toc ul li{display:block;line-height:1.68em;margin-bottom:1em}}.valign-top{vertical-align:top}table tbody tr{border-bottom:1px solid #f1f1f1}table tbody tr:nth-child(2n){background-color:#fff;border-bottom:1px solid #f1f1f1}.main-content{padding:0}.main-content .sect1{padding:16px 32px}.main-content .aside{background-color:#eff0f1;font-size:90%}.main-content .aside p,.main-content .aside div{font-size:10pt}.thumbnail{border:0;box-shadow:none}@media print, screen and (min-width: 40em){.main-content .toc{float:right}}footer{min-height:256px;background-color:#333;color:#ddd;padding:64px 0;margin-top:64px}footer h1{font-size:120%;font-weight:bold;text-transform:uppercase;color:#ddd}footer ul{list-style-type:none;margin:0}footer ul li{margin-bottom:8px}footer a{color:#ddd}footer a:hover{color:#fff}.footer-disclaimer{background-color:#000}.footer-disclaimer-content{margin:0 auto;padding:64px 0;display:block;max-width:75%;font-size:10pt}.footer-disclaimer-content p{margin:8px 0 0 0;text-align:center;color:#ccc}.footer-disclaimer-content p a{color:#fff}.footer-disclaimer-content pre{color:#fff;font-size:10pt}.footer-disclaimer-content img{width:200px;max-width:100%}.sidebarblock.cards{text-align:center}.paragraph.card{text-align:left;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.2),0 1px 5px 0 rgba(0,0,0,0.12);border-radius:4px;display:inline-block;vertical-align:top;max-width:16em;min-height:10em;background-color:#fafafb;margin:0.5em;padding:1em}.paragraph.card .title{font-size:130%;font-weight:bold;margin-bottom:0.5em}.openblock.feature{padding:1em 0;margin:0.5em 0;overflow:auto;padding:1em 0 0.5em 0}.openblock.feature .title{font-weight:bold;font-size:140%}.openblock.feature .content .paragraph p span.image{max-width:100%;padding:4px}@media print, screen and (min-width: 40em){.openblock.feature .content .paragraph p span.image{margin:0.5em 1em 0.5em 0;max-width:60%;border:1px solid #326fb8;float:left}.openblock.feature .content .paragraph p span.image.right{float:right;margin:0.5em 0 0.5em 1em}.openblock.feature:after{clear:both}}.videoblock .content{clear:both;float:none;height:0;margin:1em 0 1.5em 0;padding-bottom:56.25%;padding-top:25px;position:relative;width:100%}.videoblock .content iframe{height:100%;left:0;position:absolute;top:0;width:100%}
diff --git a/webskin/src/main/resources/images/apache-netbeans.svg b/webskin/src/main/resources/images/apache-netbeans.svg
deleted file mode 100644
index d296421..0000000
--- a/webskin/src/main/resources/images/apache-netbeans.svg
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you 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.
-
--->
-<svg xmlns="http://www.w3.org/2000/svg" width="444px" height="512px" viewBox="0 0 444 512" version="1.1">
-  <title>Apache NetBeans Logo</title>
-  <description>Apache NetBeans Logo</description>
-  <g id="logo" stroke-width="0" fill="none" fill-rule="evenodd">
-    <path d="M222,0 L222,99 L86,178 L0,128 L222,0 Z" fill="#A1C535"/>
-    <path d="M444,128 L358,178 L222,99 L222,0 L444,128 L444,128 Z" fill="#ADD439"/>
-    <path d="M444,384 L358,334 L358,178 L444,128 L444,384 L444,384 Z" fill="#1B6AC6"/>
-    <path d="M222,512 L222,413 L358,334 L444,384 L222,512 L222,512 Z" fill="#2E90E8"/>
-    <path d="M0,384 L86,334 L222,413 L222,512 L0,384 L0,384 Z" fill="#EA205E"/>
-    <path d="M0,128 L86,178 L86,334 L0,384 L0,128 L0,128 Z" fill="#A5073E"/>
-    <path d="M86,178 L222,99 L358,178 L222,256 L86,178 Z" fill="#F1F6E2"/>
-    <path d="M222,256 L358,178 L358,334 L222,413 L222,256 Z" fill="#CEDBE6"/>
-    <path d="M86,178 L222,256 L222,413 L86,334 L86,178 Z" fill="#FFFFFF"/>
-  </g>
-</svg>
diff --git a/webskin/src/main/resources/images/apache-netbeansx1024.png b/webskin/src/main/resources/images/apache-netbeansx1024.png
deleted file mode 100644
index 98089b5..0000000
--- a/webskin/src/main/resources/images/apache-netbeansx1024.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/asf_logo_wide.svg b/webskin/src/main/resources/images/asf_logo_wide.svg
deleted file mode 100644
index 52a88c6..0000000
--- a/webskin/src/main/resources/images/asf_logo_wide.svg
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Apache_Logo_Horizontal" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 9835 1713.9" enable-background="new 0 0 9835 1713.9" xml:space="preserve">
-<path fill="#6D6E71" d="M1069.6,296.4v92.2h-11.8v-92.2h-33.7V285h79.4v11.4H1069.6z"/>
-<path fill="#6D6E71" d="M1234.8,388.5V343h-62.4v45.6h-11.8V285h11.8v46.8h62.4V285h11.8v103.6H1234.8z"/>
-<path fill="#6D6E71" d="M1329.2,296.4v34h52.2v11.4h-52.2v35.5h60.4v11.3h-72.2V285h70.3v11.4H1329.2z"/>
-<path fill="#D22128" d="M933.7,1098.5l247.5-591.6h47.5l247.5,591.6h-62.5l-76.7-185h-265.8l-75.8,185H933.7z M1205.4,575.2  l-121.7,292.5h240L1205.4,575.2z"/>
-<path fill="#D22128" d="M1540.1,1098.5V506.9h245c101.7,0,175,94.2,175,185.8c0,96.7-68.3,187.5-170,187.5h-192.5v218.3H1540.1z   M1597.6,828.5h189.1c70,0,115-64.2,115-135.8c0-74.2-55-134.2-120-134.2h-184.1V828.5z"/>
-<path fill="#D22128" d="M1927.7,1098.5l247.5-591.6h47.5l247.5,591.6h-62.5l-76.7-185h-265.8l-75.8,185H1927.7z M2199.3,575.2  l-121.7,292.5h240L2199.3,575.2z"/>
-<path fill="#D22128" d="M2750.1,503.6c105,0,181.6,53.3,218.3,129.2l-46.7,28.3c-37.5-78.3-110.8-105-175-105  c-141.7,0-219.1,126.7-219.1,245.8c0,130.8,95.8,249.1,221.6,249.1c66.7,0,145-33.3,182.5-110l48.3,25  c-38.3,88.3-143.3,137.5-234.1,137.5c-162.5,0-276.6-155-276.6-305C2469.3,656,2571.7,503.6,2750.1,503.6z"/>
-<path fill="#D22128" d="M3528,506.9v591.6h-58.3V821.9h-350.8v276.6h-57.5V506.9h57.5v263.3h350.8V506.9H3528z"/>
-<path fill="#D22128" d="M4059.1,1046.8v51.7h-397.5V506.9h390v51.7h-332.5v213.3h290V821h-290v225.8H4059.1z"/>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-4229.6655" y1="-4143.6401" x2="-3987.5886" y2="-3860.573" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0" style="stop-color:#F69923"/>
-	<stop offset="0.3123" style="stop-color:#F79A23"/>
-	<stop offset="0.8383" style="stop-color:#E97826"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M729.5,8.1C702.6,24,657.9,68.9,604.6,134l49,92.5c34.4-49.2,69.3-93.4,104.5-131.2  c2.7-3,4.1-4.4,4.1-4.4c-1.4,1.5-2.7,3-4.1,4.4c-11.4,12.6-46,52.9-98.2,133.1c50.2-2.5,127.5-12.8,190.4-23.5  c18.7-105-18.4-153-18.4-153S784.8-24.6,729.5,8.1z"/>
-<path fill="none" d="M646.5,535.5c0.4-0.1,0.7-0.1,1.1-0.2l-7.1,0.8c-0.4,0.2-0.8,0.4-1.2,0.6C641.7,536.3,644.1,535.9,646.5,535.5z  "/>
-<path fill="none" d="M596.5,701.1c-4,0.9-8.1,1.6-12.3,2.2C588.4,702.7,592.5,702,596.5,701.1z"/>
-<path fill="none" d="M256.7,1072.7c0.5-1.4,1-2.8,1.6-4.1c10.8-28.5,21.5-56.1,32-83.1c11.9-30.2,23.6-59.5,35.2-87.9  c12.2-29.9,24.3-58.8,36.1-86.8c12.5-29.3,24.7-57.5,36.8-84.7c9.8-22.1,19.5-43.5,29-64.2c3.2-6.9,6.3-13.7,9.5-20.5  c6.2-13.4,12.4-26.6,18.5-39.4c5.6-11.9,11.2-23.5,16.8-34.9c1.8-3.8,3.7-7.6,5.5-11.3c0.3-0.6,0.6-1.2,0.9-1.8l-6,0.7l-4.8-9.4  c-0.5,0.9-0.9,1.8-1.4,2.7c-8.6,17.1-17.1,34.3-25.6,51.7c-4.9,10-9.7,20.1-14.6,30.3c-13.4,28.1-26.5,56.5-39.5,85  c-13.1,28.8-25.9,57.8-38.5,86.9c-12.4,28.5-24.5,57.1-36.3,85.5c-11.8,28.4-23.4,56.8-34.7,84.9c-11.8,29.4-23.3,58.5-34.4,87.3  c-2.5,6.5-5,13-7.5,19.4c-8.9,23.2-17.6,46.2-26.1,68.8l7.5,14.9l6.7-0.7c0.2-0.7,0.5-1.4,0.7-2  C235.2,1129.9,246,1100.9,256.7,1072.7z"/>
-<path fill="none" d="M581.2,703.8L581.2,703.8C581.2,703.8,581.2,703.8,581.2,703.8C581.2,703.8,581.2,703.8,581.2,703.8z"/>
-<path fill="#BE202E" d="M564.9,784.6c-6.3,1.1-12.7,2.2-19.3,3.4c0,0-0.1,0-0.1,0.1c3.3-0.5,6.6-1,9.9-1.6  C558.6,785.9,561.8,785.3,564.9,784.6z"/>
-<path opacity="0.35" fill="#BE202E" d="M564.9,784.6c-6.3,1.1-12.7,2.2-19.3,3.4c0,0-0.1,0-0.1,0.1c3.3-0.5,6.6-1,9.9-1.6  C558.6,785.9,561.8,785.3,564.9,784.6z"/>
-<path fill="#BE202E" d="M581.3,703.7C581.3,703.8,581.3,703.8,581.3,703.7c-0.1,0-0.1,0.1-0.1,0.1c1-0.1,2.1-0.3,3.1-0.5  c4.2-0.6,8.3-1.3,12.3-2.2C591.6,702,586.5,702.9,581.3,703.7L581.3,703.7L581.3,703.7z"/>
-<path opacity="0.35" fill="#BE202E" d="M581.3,703.7C581.3,703.8,581.3,703.8,581.3,703.7c-0.1,0-0.1,0.1-0.1,0.1  c1-0.1,2.1-0.3,3.1-0.5c4.2-0.6,8.3-1.3,12.3-2.2C591.6,702,586.5,702.9,581.3,703.7L581.3,703.7L581.3,703.7z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-6021.2769" y1="-4174.8843" x2="-4294.1865" y2="-4174.8843" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0.3233" style="stop-color:#9E2064"/>
-	<stop offset="0.6302" style="stop-color:#C92037"/>
-	<stop offset="0.7514" style="stop-color:#CD2335"/>
-	<stop offset="1" style="stop-color:#E97826"/>
-</linearGradient>
-<path fill="url(#SVGID_2_)" d="M509.2,465.4c14.9-27.8,30-55,45.2-81.5c15.8-27.5,31.8-54.2,48-79.9c1-1.5,1.9-3.1,2.9-4.6  c16-25.3,32.1-49.6,48.4-72.9l-49-92.5c-3.7,4.5-7.4,9.1-11.1,13.7c-14.1,17.6-28.8,36.5-43.8,56.6c-17,22.6-34.4,46.8-52.1,72.2  c-16.3,23.4-32.9,48-49.5,73.4c-14.1,21.6-28.3,43.9-42.4,66.7c-0.5,0.8-1,1.7-1.6,2.6l63.7,125.9  C481.4,518.1,495.2,491.5,509.2,465.4z"/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-5812.7939" y1="-4001.6594" x2="-4783.6157" y2="-4001.6594" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0" style="stop-color:#282662"/>
-	<stop offset="9.548390e-02" style="stop-color:#662E8D"/>
-	<stop offset="0.7882" style="stop-color:#9F2064"/>
-	<stop offset="0.9487" style="stop-color:#CD2032"/>
-</linearGradient>
-<path fill="url(#SVGID_3_)" d="M218.8,1174.8c-8.4,23.2-16.9,46.8-25.4,70.9c-0.1,0.4-0.2,0.7-0.4,1.1c-1.2,3.4-2.4,6.8-3.6,10.2  c-5.7,16.3-10.7,30.9-22.1,64.2c18.8,8.6,33.9,31.1,48.1,56.7c-1.5-26.5-12.5-51.4-33.3-70.7c92.6,4.2,172.4-19.2,213.6-86.9  c3.7-6,7.1-12.4,10.1-19.1c-18.8,23.8-42,33.8-85.7,31.4c-0.1,0-0.2,0.1-0.3,0.1c0.1,0,0.2-0.1,0.3-0.1  c64.4-28.8,96.7-56.5,125.3-102.3c6.8-10.9,13.3-22.7,20.1-35.9c-56.3,57.8-121.6,74.3-190.3,61.8l-51.6,5.7  C222,1166.1,220.4,1170.4,218.8,1174.8z"/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-5924.2744" y1="-4190.9775" x2="-4197.1841" y2="-4190.9775" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0.3233" style="stop-color:#9E2064"/>
-	<stop offset="0.6302" style="stop-color:#C92037"/>
-	<stop offset="0.7514" style="stop-color:#CD2335"/>
-	<stop offset="1" style="stop-color:#E97826"/>
-</linearGradient>
-<path fill="url(#SVGID_4_)" d="M242.9,1059.3c11.1-28.8,22.6-57.9,34.4-87.3c11.3-28.1,22.9-56.5,34.7-84.9  c11.8-28.5,24-57,36.3-85.5c12.6-29,25.4-58,38.5-86.9c12.9-28.5,26.1-56.9,39.5-85c4.8-10.1,9.7-20.2,14.6-30.3  c8.4-17.4,17-34.6,25.6-51.7c0.5-0.9,0.9-1.8,1.4-2.7l-63.7-125.9c-1,1.7-2.1,3.4-3.1,5.1c-14.9,24.3-29.6,49.1-44.1,74.4  c-14.7,25.6-29.1,51.7-43.1,78.1c-11.9,22.3-23.5,44.8-34.7,67.5c-2.3,4.6-4.5,9.2-6.7,13.7c-13.9,28.6-26.4,56.2-37.8,82.8  c-12.9,30.1-24.2,58.8-34.1,86.1c-6.5,17.9-12.5,35.2-17.9,51.9c-4.5,14.2-8.7,28.4-12.7,42.6c-9.5,33.4-17.7,66.7-24.5,99.8  l64,126.4c8.5-22.6,17.1-45.6,26.1-68.8C237.9,1072.3,240.4,1065.8,242.9,1059.3z"/>
-<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-5798.3159" y1="-4167.6108" x2="-4890.6782" y2="-4167.6108" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0" style="stop-color:#282662"/>
-	<stop offset="9.548390e-02" style="stop-color:#662E8D"/>
-	<stop offset="0.7882" style="stop-color:#9F2064"/>
-	<stop offset="0.9487" style="stop-color:#CD2032"/>
-</linearGradient>
-<path fill="url(#SVGID_5_)" d="M144.4,1025.6c-8,40.5-13.8,80.8-16.6,120.8c-0.1,1.4-0.2,2.8-0.3,4.2c-20-32-73.5-63.3-73.4-63  c38.3,55.5,67.4,110.7,71.7,164.8c-20.5,4.2-48.6-1.9-81.1-13.8c33.9,31.1,59.3,39.7,69.2,42c-31.1,1.9-63.5,23.3-96.1,47.9  c47.7-19.5,86.3-27.2,113.9-20.9c-43.8,124-87.7,260.9-131.6,406.2c13.5-4,21.5-13,26-25.3c7.8-26.3,59.8-199,141.2-425.9  c2.3-6.5,4.6-12.9,7-19.5c0.7-1.8,1.3-3.6,2-5.4c8.6-23.8,17.5-48.1,26.7-72.9c2.1-5.6,4.2-11.3,6.3-17c0-0.1,0.1-0.2,0.1-0.3  l-64-126.4C145,1022.6,144.7,1024.1,144.4,1025.6z"/>
-<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-5924.2744" y1="-4012.23" x2="-4197.1841" y2="-4012.23" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0.3233" style="stop-color:#9E2064"/>
-	<stop offset="0.6302" style="stop-color:#C92037"/>
-	<stop offset="0.7514" style="stop-color:#CD2335"/>
-	<stop offset="1" style="stop-color:#E97826"/>
-</linearGradient>
-<path fill="url(#SVGID_6_)" d="M477.7,555.7c-1.8,3.7-3.7,7.5-5.5,11.3c-5.5,11.4-11.1,23-16.8,34.9c-6.1,12.8-12.3,26-18.5,39.4  c-3.1,6.8-6.3,13.6-9.5,20.5c-9.5,20.7-19.2,42.1-29,64.2c-12.1,27.2-24.3,55.4-36.8,84.7c-11.9,27.9-23.9,56.8-36.1,86.8  c-11.6,28.4-23.3,57.7-35.2,87.9c-10.6,27-21.3,54.6-32,83.1c-0.5,1.4-1,2.8-1.6,4.1c-10.7,28.3-21.5,57.3-32.4,87  c-0.2,0.7-0.5,1.4-0.7,2l51.6-5.7c-1-0.2-2-0.3-3.1-0.5c61.6-7.7,143.6-53.7,196.5-110.6c24.4-26.2,46.5-57.1,67-93.3  c15.2-26.9,29.6-56.8,43.2-89.8c11.9-28.9,23.3-60.1,34.4-94c-14.2,7.5-30.4,12.9-48.3,16.7c-3.1,0.7-6.3,1.3-9.6,1.9  c-3.2,0.6-6.5,1.1-9.9,1.6l0,0l0,0c0,0,0.1,0,0.1-0.1c57.5-22.1,93.7-64.8,120.1-117.1c-15.1,10.3-39.7,23.8-69.2,30.3  c-4,0.9-8.1,1.6-12.3,2.2c-1,0.1-2.1,0.3-3.1,0.5l0,0l0,0c0,0,0.1,0,0.1,0c0,0,0,0,0.1,0l0,0c19.9-8.3,36.8-17.7,51.4-28.7  c3.1-2.4,6.2-4.8,9.1-7.3c4.5-3.8,8.7-7.9,12.7-12.2c2.6-2.7,5.1-5.5,7.5-8.4c5.7-6.8,11.1-14.2,16.1-22.1c1.5-2.4,3-4.9,4.5-7.5  c1.9-3.7,3.7-7.3,5.5-10.8c8-16.1,14.5-30.5,19.6-43.2c2.6-6.3,4.8-12.2,6.7-17.6c0.8-2.2,1.5-4.3,2.2-6.3c2-6.1,3.7-11.5,5-16.2  c2-7.1,3.1-12.7,3.8-16.8l0,0l0,0c-1.9,1.5-4.2,3.1-6.7,4.6c-17.3,10.4-47.1,19.8-71.1,24.2l47.3-5.2l-47.3,5.2  c-0.4,0.1-0.7,0.1-1.1,0.2c-2.4,0.4-4.8,0.8-7.2,1.2c0.4-0.2,0.8-0.4,1.2-0.6l-161.9,17.7C478.3,554.5,478,555.1,477.7,555.7z"/>
-<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-6031.4116" y1="-4021.106" x2="-4304.3213" y2="-4021.106" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0.3233" style="stop-color:#9E2064"/>
-	<stop offset="0.6302" style="stop-color:#C92037"/>
-	<stop offset="0.7514" style="stop-color:#CD2335"/>
-	<stop offset="1" style="stop-color:#E97826"/>
-</linearGradient>
-<path fill="url(#SVGID_7_)" d="M660,228.4c-14.4,22.1-30.1,47.2-47.1,75.6c-0.9,1.5-1.8,3-2.7,4.5c-14.6,24.6-30.1,51.6-46.4,81.2  c-14.1,25.5-28.8,52.9-44,82.4c-13.3,25.7-27,52.9-41.1,81.7l161.9-17.7c47.2-21.7,68.3-41.3,88.7-69.7c5.4-7.8,10.9-16,16.3-24.5  c16.6-26,32.9-54.6,47.5-83c14.1-27.4,26.5-54.7,36-79.2c6.1-15.6,10.9-30.1,14.3-42.8c2.9-11.2,5.3-21.9,7.1-32.1  C787.5,215.6,710.2,225.9,660,228.4z"/>
-<path fill="#BE202E" d="M555.4,786.4c-3.2,0.6-6.5,1.1-9.9,1.6l0,0C548.8,787.5,552.1,787,555.4,786.4z"/>
-<path opacity="0.35" fill="#BE202E" d="M555.4,786.4c-3.2,0.6-6.5,1.1-9.9,1.6l0,0C548.8,787.5,552.1,787,555.4,786.4z"/>
-<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-5924.2744" y1="-3959.0669" x2="-4197.1841" y2="-3959.0669" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0.3233" style="stop-color:#9E2064"/>
-	<stop offset="0.6302" style="stop-color:#C92037"/>
-	<stop offset="0.7514" style="stop-color:#CD2335"/>
-	<stop offset="1" style="stop-color:#E97826"/>
-</linearGradient>
-<path fill="url(#SVGID_8_)" d="M555.4,786.4c-3.2,0.6-6.5,1.1-9.9,1.6l0,0C548.8,787.5,552.1,787,555.4,786.4z"/>
-<path fill="#BE202E" d="M581.2,703.8c1-0.1,2.1-0.3,3.1-0.5C583.2,703.5,582.2,703.7,581.2,703.8L581.2,703.8z"/>
-<path opacity="0.35" fill="#BE202E" d="M581.2,703.8c1-0.1,2.1-0.3,3.1-0.5C583.2,703.5,582.2,703.7,581.2,703.8L581.2,703.8z"/>
-<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-5924.2744" y1="-3965.1499" x2="-4197.1841" y2="-3965.1499" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0.3233" style="stop-color:#9E2064"/>
-	<stop offset="0.6302" style="stop-color:#C92037"/>
-	<stop offset="0.7514" style="stop-color:#CD2335"/>
-	<stop offset="1" style="stop-color:#E97826"/>
-</linearGradient>
-<path fill="url(#SVGID_9_)" d="M581.2,703.8c1-0.1,2.1-0.3,3.1-0.5C583.2,703.5,582.2,703.7,581.2,703.8L581.2,703.8z"/>
-<path fill="#BE202E" d="M581.3,703.8C581.3,703.8,581.3,703.8,581.3,703.8L581.3,703.8L581.3,703.8L581.3,703.8  C581.3,703.8,581.3,703.8,581.3,703.8z"/>
-<path opacity="0.35" fill="#BE202E" d="M581.3,703.8C581.3,703.8,581.3,703.8,581.3,703.8L581.3,703.8L581.3,703.8L581.3,703.8  C581.3,703.8,581.3,703.8,581.3,703.8z"/>
-<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-4954.02" y1="-3966.3701" x2="-4572.2764" y2="-3966.3701" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 6189.0356 -1936.8361)">
-	<stop offset="0.3233" style="stop-color:#9E2064"/>
-	<stop offset="0.6302" style="stop-color:#C92037"/>
-	<stop offset="0.7514" style="stop-color:#CD2335"/>
-	<stop offset="1" style="stop-color:#E97826"/>
-</linearGradient>
-<path fill="url(#SVGID_10_)" d="M581.3,703.8C581.3,703.8,581.3,703.8,581.3,703.8L581.3,703.8L581.3,703.8L581.3,703.8  C581.3,703.8,581.3,703.8,581.3,703.8z"/>
-<path fill="#6D6E71" d="M4552.4,508.2c12,3.6,22.6,8.4,31.5,14.5l-10.5,23c-9.2-6.1-19-10.6-29.4-13.6c-10.4-3-20.3-4.5-29.7-4.5  c-13.8,0-24.9,2.5-33.2,7.5c-8.3,5-12.4,12-12.4,21.1c0,7.8,2.3,14.2,6.9,19.3c4.6,5.1,10.3,9,17.3,11.9c6.9,2.8,16.4,6.1,28.5,9.8  c14.6,4.7,26.4,9.1,35.3,13.1c8.9,4.1,16.5,10.1,22.9,18.1c6.3,8,9.5,18.5,9.5,31.5c0,11.9-3.2,22.2-9.6,31.1  c-6.4,8.9-15.5,15.7-27.3,20.6c-11.8,4.9-25.3,7.3-40.6,7.3c-15.3,0-30.2-3-44.7-8.9c-14.4-5.9-26.8-13.9-37.2-23.8l10.9-22  c9.8,9.6,21,17,33.8,22.3c12.8,5.3,25.3,7.9,37.4,7.9c15.5,0,27.8-3,36.8-9c9-6,13.4-14.1,13.4-24.3c0-8-2.3-14.5-7-19.7  c-4.7-5.2-10.5-9.2-17.4-12.1c-6.9-2.9-16.4-6.1-28.5-9.7c-14.4-4.3-26.2-8.4-35.2-12.4c-9-4-16.6-9.9-22.9-17.8  c-6.2-7.9-9.3-18.2-9.3-31.1c0-11.1,3.1-20.8,9.2-29.1c6.1-8.4,14.8-14.8,26.1-19.4c11.3-4.6,24.2-6.9,38.9-6.9  C4528.2,502.8,4540.3,504.6,4552.4,508.2z"/>
-<path fill="#6D6E71" d="M4870.3,517.6c17.1,9.6,30.7,22.6,40.7,39.1c10,16.4,15,34.5,15,54.2c0,19.8-5,38-15,54.5  c-10,16.5-23.6,29.6-40.7,39.3c-17.1,9.7-35.9,14.5-56.2,14.5c-20.6,0-39.5-4.8-56.6-14.5c-17.1-9.7-30.7-22.8-40.7-39.3  c-10-16.5-15-34.7-15-54.5c0-19.8,5-38,15-54.5c10-16.5,23.6-29.5,40.7-39c17.1-9.5,36-14.3,56.6-14.3  C4834.4,503.1,4853.2,507.9,4870.3,517.6z M4770.5,537.8c-13.4,7.6-24,17.8-32,30.6c-8,12.9-12,27-12,42.4c0,15.5,4,29.8,12,42.7  c8,13,18.6,23.2,32,30.7c13.3,7.5,27.9,11.3,43.6,11.3c15.7,0,30.2-3.8,43.4-11.3c13.2-7.5,23.7-17.8,31.6-30.7  c7.9-12.9,11.8-27.2,11.8-42.7s-3.9-29.7-11.8-42.5c-7.9-12.8-18.4-23-31.7-30.6c-13.3-7.6-27.7-11.4-43.3-11.4  C4798.4,526.4,4783.8,530.2,4770.5,537.8z"/>
-<path fill="#6D6E71" d="M5080.3,527.3v75.3h100.1v23.6h-100.1V718h-24.5V503.7h136.1v23.6H5080.3z"/>
-<path fill="#6D6E71" d="M5390.7,527.3V718h-24.5V527.3h-69.6v-23.6h164.2v23.6H5390.7z"/>
-<path fill="#6D6E71" d="M5777.5,718l-57.8-180.5L5661.1,718h-25l-71.7-214.3h26.3l58.9,185.9l58.1-185.6l24.5-0.3l58.7,185.9  l58.1-185.9h25.4L5802.6,718H5777.5z"/>
-<path fill="#6D6E71" d="M5996.7,663.9l-23.9,54.1h-26l96.1-214.3h25.4l95.8,214.3h-26.6l-23.9-54.1H5996.7z M6054.9,531.7  l-47.7,108.6h96.1L6054.9,531.7z"/>
-<path fill="#6D6E71" d="M6377,649.7c-6.1,0.4-10.9,0.6-14.3,0.6h-56.9V718h-24.5V503.7h81.4c26.7,0,47.4,6.3,62.2,18.8  c14.8,12.6,22.2,30.3,22.2,53.2c0,17.5-4.1,32.2-12.4,44c-8.3,11.8-20.1,20.3-35.6,25.5l50.1,72.8h-27.8L6377,649.7z M6407.7,614  c10.5-8.6,15.8-21.1,15.8-37.7c0-16.1-5.3-28.3-15.8-36.6c-10.5-8.3-25.5-12.4-45.1-12.4h-56.9v99.5h56.9  C6382.2,626.9,6397.2,622.6,6407.7,614z"/>
-<path fill="#6D6E71" d="M6608.2,527.3v70.4h108v23.6h-108v73.4h124.9V718h-149.4V503.7H6729v23.6H6608.2z"/>
-<path fill="#6D6E71" d="M7074.8,527.3v75.3h100.1v23.6h-100.1V718h-24.5V503.7h136.1v23.6H7074.8z"/>
-<path fill="#6D6E71" d="M7457.7,517.6c17.1,9.6,30.7,22.6,40.7,39.1c10,16.4,15,34.5,15,54.2c0,19.8-5,38-15,54.5  c-10,16.5-23.6,29.6-40.7,39.3c-17.1,9.7-35.9,14.5-56.2,14.5c-20.6,0-39.5-4.8-56.6-14.5c-17.1-9.7-30.7-22.8-40.7-39.3  c-10-16.5-15-34.7-15-54.5c0-19.8,5-38,15-54.5c10-16.5,23.6-29.5,40.7-39c17.1-9.5,36-14.3,56.6-14.3  C7421.8,503.1,7440.5,507.9,7457.7,517.6z M7357.9,537.8c-13.4,7.6-24,17.8-32,30.6c-8,12.9-12,27-12,42.4c0,15.5,4,29.8,12,42.7  c8,13,18.6,23.2,32,30.7c13.3,7.5,27.9,11.3,43.6,11.3c15.7,0,30.2-3.8,43.4-11.3c13.2-7.5,23.7-17.8,31.6-30.7  c7.9-12.9,11.8-27.2,11.8-42.7s-3.9-29.7-11.8-42.5c-7.9-12.8-18.4-23-31.7-30.6c-13.3-7.6-27.7-11.4-43.3-11.4  C7385.7,526.4,7371.2,530.2,7357.9,537.8z"/>
-<path fill="#6D6E71" d="M7794.8,695.5c-15.9,15.8-37.9,23.7-65.9,23.7c-28.2,0-50.3-7.9-66.3-23.7c-16-15.8-24-37.7-24-65.7V503.7  h24.5v126.1c0,20.6,5.9,36.7,17.6,48.3c11.8,11.6,27.8,17.4,48.1,17.4c20.4,0,36.4-5.7,48-17.3c11.6-11.5,17.3-27.7,17.3-48.5V503.7  h24.5v126.1C7818.7,657.8,7810.7,679.7,7794.8,695.5z"/>
-<path fill="#6D6E71" d="M8115.1,718l-128.5-172v172h-24.5V503.7h25.4L8116,676V503.7h24.2V718H8115.1z"/>
-<path fill="#6D6E71" d="M8429.3,517.9c16.7,9.4,29.9,22.3,39.6,38.6c9.7,16.3,14.6,34.4,14.6,54.5s-4.9,38.2-14.6,54.5  c-9.7,16.3-23,29.2-40,38.6c-16.9,9.4-35.8,14-56.5,14h-85.8V503.7h86.7C8394,503.7,8412.6,508.4,8429.3,517.9z M8311.2,694.7h62.5  c15.7,0,30.1-3.6,43-10.8c12.9-7.2,23.2-17.2,30.7-30c7.5-12.7,11.3-27,11.3-42.7c0-15.7-3.8-30-11.5-42.7  c-7.7-12.7-18-22.7-31.1-30.1c-13.1-7.4-27.5-11.1-43.3-11.1h-61.6V694.7z"/>
-<path fill="#6D6E71" d="M8622.8,663.9l-23.9,54.1h-26l96.1-214.3h25.4l95.8,214.3h-26.6l-23.9-54.1H8622.8z M8681,531.7l-47.7,108.6  h96.1L8681,531.7z"/>
-<path fill="#6D6E71" d="M8950.8,527.3V718h-24.5V527.3h-69.6v-23.6h164.2v23.6H8950.8z"/>
-<path fill="#6D6E71" d="M9138.9,718V503.7h24.5V718H9138.9z"/>
-<path fill="#6D6E71" d="M9462.2,517.6c17.1,9.6,30.7,22.6,40.7,39.1c10,16.4,15,34.5,15,54.2c0,19.8-5,38-15,54.5  c-10,16.5-23.6,29.6-40.7,39.3c-17.1,9.7-35.9,14.5-56.2,14.5c-20.6,0-39.5-4.8-56.6-14.5c-17.1-9.7-30.7-22.8-40.7-39.3  c-10-16.5-15-34.7-15-54.5c0-19.8,5-38,15-54.5c10-16.5,23.6-29.5,40.7-39c17.1-9.5,36-14.3,56.6-14.3  C9426.4,503.1,9445.1,507.9,9462.2,517.6z M9362.4,537.8c-13.4,7.6-24,17.8-32,30.6c-8,12.9-12,27-12,42.4c0,15.5,4,29.8,12,42.7  c8,13,18.6,23.2,32,30.7c13.3,7.5,27.9,11.3,43.6,11.3c15.7,0,30.2-3.8,43.4-11.3c13.2-7.5,23.7-17.8,31.6-30.7  c7.9-12.9,11.8-27.2,11.8-42.7s-3.9-29.7-11.8-42.5c-7.9-12.8-18.4-23-31.7-30.6c-13.3-7.6-27.7-11.4-43.3-11.4  C9390.3,526.4,9375.8,530.2,9362.4,537.8z"/>
-<path fill="#6D6E71" d="M9800.8,718l-128.5-172v172h-24.5V503.7h25.4L9801.7,676V503.7h24.2V718H9800.8z"/>
-<path fill="#6D6E71" d="M4204.9,500.9c9,9,13.5,19.9,13.5,32.6c0,12.7-4.5,23.6-13.5,32.7c-9,9.1-20,13.7-32.8,13.7  c-12.9,0-23.8-4.5-32.7-13.5c-8.9-9-13.4-19.9-13.4-32.6c0-12.7,4.5-23.6,13.5-32.7c9-9.1,19.9-13.7,32.7-13.7  C4185,487.4,4195.9,491.9,4204.9,500.9z M4201,562.4c7.9-8,11.8-17.6,11.8-28.8c0-11.2-3.9-20.7-11.7-28.6  c-7.8-7.9-17.4-11.9-28.7-11.9c-11.3,0-20.9,4-28.8,11.9c-7.8,8-11.8,17.6-11.8,28.8c0,11.2,3.9,20.8,11.6,28.7  c7.8,7.9,17.3,11.9,28.6,11.9S4193.1,570.4,4201,562.4z M4194.5,524.7c0,8.3-3.6,13.5-10.9,15.6l13.3,18h-10.7l-12-16.7h-11v16.7  h-8.7v-50h18.8c7.6,0,13,1.3,16.3,3.9C4192.9,514.8,4194.5,519,4194.5,524.7z M4183.4,531.7c1.7-1.4,2.6-3.8,2.6-7.1  c0-3.3-0.9-5.6-2.7-6.8c-1.8-1.3-4.9-1.9-9.5-1.9h-10.6v18h10.4C4178.4,533.9,4181.6,533.2,4183.4,531.7z"/>
-<path fill="#6D6E71" d="M4540.6,918.2c21.1,0,37.7,6.1,49.6,18.4c11.9,12.3,17.9,29.2,17.9,50.8V1097h-26.3V994.4  c0-15.7-4.4-28-13.3-36.8s-21.2-13.2-36.9-13.2c-18.7,0.2-33.3,6.3-44,18.2c-10.7,11.9-16,27.5-16,46.9v87.4h-26.3V846.6h26.3V959  C4483.1,932.2,4506.2,918.6,4540.6,918.2z"/>
-<path fill="#6D6E71" d="M4823.7,1063.6l7.4,21.3c-12.8,8.8-26.2,13.3-40.2,13.5c-13.7,0-24.7-4.2-32.9-12.7  c-8.2-8.4-12.3-21.1-12.3-38V946.2h-25.6v-21.3h25.6V878h26v46.9l56.3-0.3v21.6h-56.3v96.8c0,19.8,7.9,29.7,23.6,29.7  C4804.6,1072.7,4814,1069.6,4823.7,1063.6z"/>
-<path fill="#6D6E71" d="M5027.8,1063.6l7.4,21.3c-12.8,8.8-26.2,13.3-40.2,13.5c-13.7,0-24.7-4.2-32.9-12.7  c-8.2-8.4-12.3-21.1-12.3-38V946.2h-25.6v-21.3h25.6V878h26v46.9l56.3-0.3v21.6h-56.3v96.8c0,19.8,7.9,29.7,23.6,29.7  C5008.7,1072.7,5018.1,1069.6,5027.8,1063.6z"/>
-<path fill="#6D6E71" d="M5244.1,918.2c25.2,0,45.7,8.4,61.6,25.3c15.9,16.9,23.8,38.6,23.8,65.1c0,26.3-7.8,47.8-23.5,64.5  c-15.6,16.6-36,25-61.2,25c-32.2,0-55.2-13-69.2-39.1v103.6h-26.3V919.2h26.3v38.4C5189.5,931.3,5212.4,918.2,5244.1,918.2z   M5239.4,1074c18.4,0,33.6-6.2,45.5-18.6c11.9-12.3,17.9-28.2,17.9-47.6c0-19.1-6-34.9-17.9-47.4c-11.9-12.5-27.1-18.7-45.5-18.7  c-18.7,0-34,6.2-45.9,18.6c-11.9,12.4-17.9,28.2-17.9,47.6c0,19.3,6,35.2,17.9,47.6C5205.4,1067.8,5220.7,1074,5239.4,1074z"/>
-<path fill="#6D6E71" d="M5449.9,964.4c4.5,0,8.3,1.7,11.5,5.1c3.2,3.4,4.7,7.5,4.7,12.5s-1.6,9.1-4.7,12.5c-3.2,3.4-7,5.1-11.5,5.1  c-4.7,0-8.7-1.7-11.8-5.1c-3.2-3.4-4.7-7.5-4.7-12.5s1.6-9.1,4.7-12.5C5441.2,966.1,5445.2,964.4,5449.9,964.4z M5449.9,1064.6  c4.5,0,8.3,1.7,11.5,5c3.2,3.4,4.7,7.5,4.7,12.5c0,4.9-1.6,9.1-4.7,12.5c-3.2,3.4-7,5.1-11.5,5.1c-4.7,0-8.7-1.7-11.8-5.1  c-3.2-3.4-4.7-7.5-4.7-12.5c0-4.9,1.6-9.1,4.7-12.5C5441.2,1066.3,5445.2,1064.6,5449.9,1064.6z"/>
-<path fill="#6D6E71" d="M5574.1,1138.1h-22.9l105.3-317.8h23.3L5574.1,1138.1z"/>
-<path fill="#6D6E71" d="M5753.6,1138.1h-22.9l105.3-317.8h23.3L5753.6,1138.1z"/>
-<path fill="#6D6E71" d="M6140.5,1097h-27.3l-52.3-144.4l-52,144.4h-27.3l-66.5-177.8h27.7l52.6,150.5l51.6-150.5h27.7l52.3,150.5  l52-150.5h27.3L6140.5,1097z"/>
-<path fill="#6D6E71" d="M6504.6,1097h-27.3L6425,952.6l-52,144.4h-27.3l-66.5-177.8h27.7l52.6,150.5l51.6-150.5h27.7l52.3,150.5  l52-150.5h27.3L6504.6,1097z"/>
-<path fill="#6D6E71" d="M6868.6,1097h-27.3L6789,952.6l-52,144.4h-27.3l-66.5-177.8h27.7l52.6,150.5l51.6-150.5h27.7l52.3,150.5  l52-150.5h27.3L6868.6,1097z"/>
-<path fill="#6D6E71" d="M7034.6,1064.6c4.5,0,8.3,1.7,11.5,5c3.2,3.4,4.7,7.5,4.7,12.5c0,4.9-1.6,9.1-4.7,12.5  c-3.2,3.4-7,5.1-11.5,5.1c-4.7,0-8.7-1.7-11.8-5.1c-3.2-3.4-4.7-7.5-4.7-12.5c0-4.9,1.6-9.1,4.7-12.5  C7026,1066.3,7029.9,1064.6,7034.6,1064.6z"/>
-<path fill="#6D6E71" d="M7283,1097v-27.3c-14.2,19.1-35.9,28.7-65.1,28.7c-18,0-32.6-5.1-43.7-15.4c-11.1-10.2-16.7-23.2-16.7-39  c0-15.5,5.8-27.8,17.5-37c11.7-9.1,28-13.8,48.9-14h58.4v-10.5c0-13.3-4.1-23.5-12.1-30.7c-8.1-7.2-19.9-10.8-35.4-10.8  c-18,0-36.8,6.7-56.4,20.2l-11.1-19.2c12.6-8.3,24.2-14.4,34.9-18.2s23.2-5.7,37.6-5.7c21.8,0,38.6,5.4,50.4,16.2  c11.8,10.8,17.8,25.9,18.1,45.2l0.3,117.4H7283z M7222.9,1075.4c15.1,0,27.9-3.5,38.6-10.6c10.7-7.1,17.7-16.8,21.1-29.2v-21.3  h-55.3c-30.1,0-45.2,9.6-45.2,28.7c0,9.9,3.7,17.8,11.1,23.6C7200.6,1072.5,7210.5,1075.4,7222.9,1075.4z"/>
-<path fill="#6D6E71" d="M7536.3,918.2c25.2,0,45.7,8.4,61.6,25.3c15.9,16.9,23.8,38.6,23.8,65.1c0,26.3-7.8,47.8-23.5,64.5  c-15.6,16.6-36,25-61.2,25c-32.2,0-55.2-13-69.2-39.1v103.6h-26.3V919.2h26.3v38.4C7481.8,931.3,7504.6,918.2,7536.3,918.2z   M7531.6,1074c18.4,0,33.6-6.2,45.5-18.6c11.9-12.3,17.9-28.2,17.9-47.6c0-19.1-6-34.9-17.9-47.4c-11.9-12.5-27.1-18.7-45.5-18.7  c-18.7,0-34,6.2-45.9,18.6c-11.9,12.4-17.9,28.2-17.9,47.6c0,19.3,6,35.2,17.9,47.6C7497.6,1067.8,7512.9,1074,7531.6,1074z"/>
-<path fill="#6D6E71" d="M7850.8,1097v-27.3c-14.2,19.1-35.9,28.7-65.1,28.7c-18,0-32.6-5.1-43.7-15.4c-11.1-10.2-16.7-23.2-16.7-39  c0-15.5,5.8-27.8,17.5-37c11.7-9.1,28-13.8,48.9-14h58.4v-10.5c0-13.3-4.1-23.5-12.1-30.7c-8.1-7.2-19.9-10.8-35.4-10.8  c-18,0-36.8,6.7-56.4,20.2l-11.1-19.2c12.6-8.3,24.2-14.4,34.9-18.2c10.7-3.8,23.2-5.7,37.6-5.7c21.8,0,38.6,5.4,50.4,16.2  c11.8,10.8,17.8,25.9,18.1,45.2l0.3,117.4H7850.8z M7790.7,1075.4c15.1,0,27.9-3.5,38.6-10.6c10.7-7.1,17.7-16.8,21.1-29.2v-21.3  h-55.3c-30.2,0-45.2,9.6-45.2,28.7c0,9.9,3.7,17.8,11.1,23.6C7768.5,1072.5,7778.4,1075.4,7790.7,1075.4z"/>
-<path fill="#6D6E71" d="M8077.8,918.5c28.6-0.2,51.4,8.5,68.5,26.3l-14.5,18.6c-14.4-13.7-32.1-20.6-53-20.6  c-18.4,0-33.6,6.1-45.4,18.2c-11.8,12.1-17.7,27.9-17.7,47.2s5.9,35.2,17.7,47.4c11.8,12.3,26.9,18.4,45.4,18.4  c23.8,0,42.2-7.6,55-22.9l15.2,16.2c-16.9,20.5-40.6,30.7-71.2,30.7c-25.9,0-47-8.3-63.4-25c-16.4-16.6-24.6-38.2-24.6-64.8  c0-26.3,8.3-47.9,24.8-64.6C8031.1,926.9,8052.2,918.5,8077.8,918.5z"/>
-<path fill="#6D6E71" d="M8366.7,918.2c21.1,0,37.7,6.1,49.6,18.4c11.9,12.3,17.9,29.2,17.9,50.8V1097h-26.3V994.4  c0-15.7-4.4-28-13.3-36.8s-21.2-13.2-36.9-13.2c-18.7,0.2-33.3,6.3-44,18.2c-10.7,11.9-16,27.5-16,46.9v87.4h-26.3V846.6h26.3V959  C8309.2,932.2,8332.2,918.6,8366.7,918.2z"/>
-<path fill="#6D6E71" d="M8635.6,918.5c28.1-0.2,49.3,8.7,63.6,26.6c14.3,18,20.8,42.4,19.4,73.2h-145.1c2.2,17.3,9.2,31.1,20.9,41.3  c11.7,10.2,26.2,15.4,43.5,15.4c22.5,0,40.8-7.4,55-22.3l14.5,15.5c-17.8,19.8-41.6,29.7-71.5,29.7c-26.1,0-47.4-8.3-63.8-25  c-16.4-16.6-24.6-38.2-24.6-64.8s8.2-48.1,24.6-64.8C8588.5,926.8,8609.7,918.5,8635.6,918.5z M8573.5,996.8H8695  c-0.9-17.1-6.7-30.7-17.4-40.7c-10.7-10-24.7-15-42-15c-16.9,0-30.9,5.1-42.2,15.2C8582.1,966.4,8575.5,979.9,8573.5,996.8z"/>
-<path fill="#6D6E71" d="M8838,1064.6c4.5,0,8.3,1.7,11.5,5c3.1,3.4,4.7,7.5,4.7,12.5c0,4.9-1.6,9.1-4.7,12.5  c-3.2,3.4-7,5.1-11.5,5.1c-4.7,0-8.7-1.7-11.8-5.1c-3.2-3.4-4.7-7.5-4.7-12.5c0-4.9,1.6-9.1,4.7-12.5  C8829.3,1066.3,8833.3,1064.6,8838,1064.6z"/>
-<path fill="#6D6E71" d="M8983.4,943.5c16.9-16.6,38.5-25,64.8-25c26.3,0,47.9,8.3,64.8,25c16.9,16.6,25.3,38.1,25.3,64.5  c0,26.5-8.5,48.2-25.3,64.9c-16.9,16.8-38.5,25.1-64.8,25.1c-26.3,0-47.9-8.4-64.8-25.1c-16.9-16.8-25.3-38.4-25.3-64.9  C8958.1,981.6,8966.5,960.1,8983.4,943.5z M9094.1,960.8c-11.9-12.3-27.2-18.4-45.9-18.4c-18.7,0-34,6.1-45.9,18.4  c-11.9,12.3-17.9,28.1-17.9,47.4c0,19.6,6,35.5,17.9,47.7c11.9,12.3,27.2,18.4,45.9,18.4c18.7,0,34-6.1,45.9-18.4  c11.9-12.3,17.9-28.2,17.9-47.7C9111.9,988.9,9106,973.1,9094.1,960.8z"/>
-<path fill="#6D6E71" d="M9283.3,919.2v39.5c12.2-26.5,33.4-40,63.8-40.5v26.7c-18.4-0.2-33.3,4.9-44.5,15.3  c-11.3,10.5-17.6,24.6-19.2,42.3v94.5H9257V919.2H9283.3z"/>
-<path fill="#6D6E71" d="M9610,919.2v159.2c0,25.9-8.2,46.5-24.5,61.7c-16.3,15.3-38,22.9-64.9,22.9c-26.3-0.2-50.6-8.8-72.9-25.7  l12.1-20.2c17.8,14.8,37.7,22.4,59.7,22.6c19.4,0,34.9-5.5,46.6-16.5c11.7-11,17.5-25.7,17.5-44.2v-27c-13,24.7-34.9,37.1-65.4,37.1  c-23.9,0-43.3-8-58.4-24c-15.1-16-22.6-36.7-22.6-62.1c0-24.7,7.4-45,22.3-60.9c14.8-15.9,34.2-23.9,58-24.1  c30.6,0,52.6,12.4,66.1,37.1v-36.1H9610z M9479.2,1049.2c11.4,11.8,25.9,17.7,43.7,17.7s32.3-5.9,43.7-17.7c11.3-11.8,17-26.8,17-45  c0-18.4-5.7-33.6-17-45.4c-11.4-11.8-25.9-17.7-43.7-17.7s-32.3,5.9-43.7,17.7c-11.3,11.8-17.1,26.9-17.4,45.4  C9462.1,1022.4,9467.9,1037.4,9479.2,1049.2z"/>
-<path fill="#6D6E71" d="M9729.4,1138.1h-22.9l105.3-317.8h23.3L9729.4,1138.1z"/>
-</svg>
\ No newline at end of file
diff --git a/webskin/src/main/resources/images/hero-background-2.jpg b/webskin/src/main/resources/images/hero-background-2.jpg
deleted file mode 100644
index 3e41c7c..0000000
--- a/webskin/src/main/resources/images/hero-background-2.jpg
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/hero-background.jpg b/webskin/src/main/resources/images/hero-background.jpg
deleted file mode 100644
index c59ab05..0000000
--- a/webskin/src/main/resources/images/hero-background.jpg
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/incubator_feather_egg_logo_bw_crop.png b/webskin/src/main/resources/images/incubator_feather_egg_logo_bw_crop.png
deleted file mode 100644
index 377e4e3..0000000
--- a/webskin/src/main/resources/images/incubator_feather_egg_logo_bw_crop.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/incubator_feather_egg_logo_sm.png b/webskin/src/main/resources/images/incubator_feather_egg_logo_sm.png
deleted file mode 100644
index 759252f..0000000
--- a/webskin/src/main/resources/images/incubator_feather_egg_logo_sm.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/nblogo32x32.png b/webskin/src/main/resources/images/nblogo32x32.png
deleted file mode 100644
index 75e21aa..0000000
--- a/webskin/src/main/resources/images/nblogo32x32.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/nblogo48x48.png b/webskin/src/main/resources/images/nblogo48x48.png
deleted file mode 100644
index 62340a6..0000000
--- a/webskin/src/main/resources/images/nblogo48x48.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/nblogo64x64.png b/webskin/src/main/resources/images/nblogo64x64.png
deleted file mode 100644
index 29ca14b..0000000
--- a/webskin/src/main/resources/images/nblogo64x64.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/nblogo96x96.png b/webskin/src/main/resources/images/nblogo96x96.png
deleted file mode 100644
index 2fd05d1..0000000
--- a/webskin/src/main/resources/images/nblogo96x96.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/touch-icon-ipad-retina.png b/webskin/src/main/resources/images/touch-icon-ipad-retina.png
deleted file mode 100644
index 48848c9..0000000
--- a/webskin/src/main/resources/images/touch-icon-ipad-retina.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/touch-icon-ipad.png b/webskin/src/main/resources/images/touch-icon-ipad.png
deleted file mode 100644
index 531975f..0000000
--- a/webskin/src/main/resources/images/touch-icon-ipad.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/images/touch-icon-iphone-retina.png b/webskin/src/main/resources/images/touch-icon-iphone-retina.png
deleted file mode 100644
index 2dec5b8..0000000
--- a/webskin/src/main/resources/images/touch-icon-iphone-retina.png
+++ /dev/null
Binary files differ
diff --git a/webskin/src/main/resources/js/netbeans.js b/webskin/src/main/resources/js/netbeans.js
deleted file mode 100644
index e665bb3..0000000
--- a/webskin/src/main/resources/js/netbeans.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-
-/*
- * Seeks for all <a class='image'> inside <div class='openblock feature'> and adds colorbox to them.
- */
-$(document).ready(function() {
-    $('.openblock.feature a.image').each(function (index) {
-        'use strict'
-        var title = $(this).children('img').attr('title');
-        $(this).colorbox({opacity: 0.7, title : title, scalePhotos: true, maxWidth: "98%", maxHeight: "98%" });
-    });
-});
diff --git a/webskin/src/main/resources/js/vendor/foundation.min.js b/webskin/src/main/resources/js/vendor/foundation.min.js
deleted file mode 100644
index b418932..0000000
--- a/webskin/src/main/resources/js/vendor/foundation.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-!function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};return e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=35)}([function(t,e){t.exports=jQuery},function(t,e,i){"use strict";function n(){return"rtl"===r()("html").attr("dir")}function s(t,e){return t=t||6,Math.round(Math.pow(36,t+1)-Math.random()*Math.pow(36,t)).toString(36).slice(1)+(e?"-"+e:"")}function o(t){var e,i={transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend"},n=document.createElement("div");for(var s in i)"undefined"!=typeof n.style[s]&&(e=i[s]);return e?e:(e=setTimeout(function(){t.triggerHandler("transitionend",[t])},1),"transitionend")}i.d(e,"c",function(){return n}),i.d(e,"a",function(){return s}),i.d(e,"b",function(){return o});var a=i(0),r=i.n(a)},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function o(t){return s("undefined"!=typeof t.constructor.name?t.constructor.name:t.className)}i.d(e,"a",function(){return u});var a=i(0),r=(i.n(a),i(1)),l=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),u=function(){function t(e,s){n(this,t),this._setup(e,s);var a=o(this);this.uuid=i.i(r.a)(6,a),this.$element.attr("data-"+a)||this.$element.attr("data-"+a,this.uuid),this.$element.data("zfPlugin")||this.$element.data("zfPlugin",this),this.$element.trigger("init.zf."+a)}return l(t,[{key:"destroy",value:function(){this._destroy();var t=o(this);this.$element.removeAttr("data-"+t).removeData("zfPlugin").trigger("destroyed.zf."+t);for(var e in this)this[e]=null}}]),t}()},function(t,e,i){"use strict";function n(t){var e={};return"string"!=typeof t?e:(t=t.trim().slice(1,-1))?e=t.split("&").reduce(function(t,e){var i=e.replace(/\+/g," ").split("="),n=i[0],s=i[1];return n=decodeURIComponent(n),s=void 0===s?null:decodeURIComponent(s),t.hasOwnProperty(n)?Array.isArray(t[n])?t[n].push(s):t[n]=[t[n],s]:t[n]=s,t},{}):e}i.d(e,"a",function(){return r});var s=i(0),o=i.n(s),a=window.matchMedia||function(){var t=window.styleMedia||window.media;if(!t){var e=document.createElement("style"),i=document.getElementsByTagName("script")[0],n=null;e.type="text/css",e.id="matchmediajs-test",i&&i.parentNode&&i.parentNode.insertBefore(e,i),n="getComputedStyle"in window&&window.getComputedStyle(e,null)||e.currentStyle,t={matchMedium:function(t){var i="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return e.styleSheet?e.styleSheet.cssText=i:e.textContent=i,"1px"===n.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}(),r={queries:[],current:"",_init:function(){var t=this,e=o()("meta.foundation-mq");e.length||o()('<meta class="foundation-mq">').appendTo(document.head);var i,s=o()(".foundation-mq").css("font-family");i=n(s);for(var a in i)i.hasOwnProperty(a)&&t.queries.push({name:a,value:"only screen and (min-width: "+i[a]+")"});this.current=this._getCurrentSize(),this._watcher()},atLeast:function(t){var e=this.get(t);return!!e&&a(e).matches},is:function(t){return t=t.trim().split(" "),t.length>1&&"only"===t[1]?t[0]===this._getCurrentSize():this.atLeast(t[0])},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){var i=this.queries[e];if(t===i.name)return i.value}return null},_getCurrentSize:function(){for(var t,e=0;e<this.queries.length;e++){var i=this.queries[e];a(i.value).matches&&(t=i)}return"object"==typeof t?t.name:t},_watcher:function(){var t=this;o()(window).off("resize.zf.mediaquery").on("resize.zf.mediaquery",function(){var e=t._getCurrentSize(),i=t.current;e!==i&&(t.current=e,o()(window).trigger("changed.zf.mediaquery",[e,i]))})}}},function(t,e,i){"use strict";function n(t){return!!t&&t.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!r()(this).is(":visible")||r()(this).attr("tabindex")<0)})}function s(t){var e=u[t.which||t.keyCode]||String.fromCharCode(t.which).toUpperCase();return e=e.replace(/\W+/,""),t.shiftKey&&(e="SHIFT_"+e),t.ctrlKey&&(e="CTRL_"+e),t.altKey&&(e="ALT_"+e),e=e.replace(/_$/,"")}function o(t){var e={};for(var i in t)e[t[i]]=t[i];return e}i.d(e,"a",function(){return h});var a=i(0),r=i.n(a),l=i(1),u={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},c={},h={keys:o(u),parseKey:s,handleKey:function(t,e,n){var s,o,a,u=c[e],h=this.parseKey(t);if(!u)return console.warn("Component not defined!");if(s="undefined"==typeof u.ltr?u:i.i(l.c)()?r.a.extend({},u.ltr,u.rtl):r.a.extend({},u.rtl,u.ltr),o=s[h],a=n[o],a&&"function"==typeof a){var d=a.apply();(n.handled||"function"==typeof n.handled)&&n.handled(d)}else(n.unhandled||"function"==typeof n.unhandled)&&n.unhandled()},findFocusable:n,register:function(t,e){c[t]=e},trapFocus:function(t){var e=n(t),i=e.eq(0),o=e.eq(-1);t.on("keydown.zf.trapfocus",function(t){t.target===o[0]&&"TAB"===s(t)?(t.preventDefault(),i.focus()):t.target===i[0]&&"SHIFT_TAB"===s(t)&&(t.preventDefault(),o.focus())})},releaseFocus:function(t){t.off("keydown.zf.trapfocus")}}},function(t,e,i){"use strict";function n(t,e,i){var n=void 0,s=Array.prototype.slice.call(arguments,3);o()(window).off(e).on(e,function(e){n&&clearTimeout(n),n=setTimeout(function(){i.apply(null,s)},t||10)})}i.d(e,"a",function(){return u});var s=i(0),o=i.n(s),a=i(6),r=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if(t[e]+"MutationObserver"in window)return window[t[e]+"MutationObserver"];return!1}(),l=function(t,e){t.data(e).split(" ").forEach(function(i){o()("#"+i)["close"===e?"trigger":"triggerHandler"](e+".zf.trigger",[t])})},u={Listeners:{Basic:{},Global:{}},Initializers:{}};u.Listeners.Basic={openListener:function(){l(o()(this),"open")},closeListener:function(){var t=o()(this).data("close");t?l(o()(this),"close"):o()(this).trigger("close.zf.trigger")},toggleListener:function(){var t=o()(this).data("toggle");t?l(o()(this),"toggle"):o()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){t.stopPropagation();var e=o()(this).data("closable");""!==e?a.a.animateOut(o()(this),e,function(){o()(this).trigger("closed.zf")}):o()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=o()(this).data("toggle-focus");o()("#"+t).triggerHandler("toggle.zf.trigger",[o()(this)])}},u.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",u.Listeners.Basic.openListener)},u.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",u.Listeners.Basic.closeListener)},u.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",u.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",u.Listeners.Basic.toggleListener)},u.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",u.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",u.Listeners.Basic.closeableListener)},u.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",u.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",u.Listeners.Basic.toggleFocusListener)},u.Listeners.Global={resizeListener:function(t){r||t.each(function(){o()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){r||t.each(function(){o()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0],n=o()("[data-"+i+"]").not('[data-yeti-box="'+e+'"]');n.each(function(){var t=o()(this);t.triggerHandler("close.zf.trigger",[t])})}},u.Initializers.addClosemeListener=function(t){var e=o()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"==typeof t&&"string"==typeof t[0]?i.concat(t):console.error("Plugin names must be strings")),e.length){var n=i.map(function(t){return"closeme.zf."+t}).join(" ");o()(window).off(n).on(n,u.Listeners.Global.closeMeListener)}},u.Initializers.addResizeListener=function(t){var e=o()("[data-resize]");e.length&&n(t,"resize.zf.trigger",u.Listeners.Global.resizeListener,e)},u.Initializers.addScrollListener=function(t){var e=o()("[data-scroll]");e.length&&n(t,"scroll.zf.trigger",u.Listeners.Global.scrollListener,e)},u.Initializers.addMutationEventsListener=function(t){if(!r)return!1;var e=t.find("[data-resize], [data-scroll], [data-mutate]"),i=function(t){var e=o()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}};if(e.length)for(var n=0;n<=e.length-1;n++){var s=new r(i);s.observe(e[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},u.Initializers.addSimpleListeners=function(){var t=o()(document);u.Initializers.addOpenListener(t),u.Initializers.addCloseListener(t),u.Initializers.addToggleListener(t),u.Initializers.addCloseableListener(t),u.Initializers.addToggleFocusListener(t)},u.Initializers.addGlobalListeners=function(){var t=o()(document);u.Initializers.addMutationEventsListener(t),u.Initializers.addResizeListener(),u.Initializers.addScrollListener(),u.Initializers.addClosemeListener()},u.init=function(t,e){if("undefined"==typeof t.triggersInitialized){t(document);"complete"===document.readyState?(u.Initializers.addSimpleListeners(),u.Initializers.addGlobalListeners()):t(window).on("load",function(){u.Initializers.addSimpleListeners(),u.Initializers.addGlobalListeners()}),t.triggersInitialized=!0}e&&(e.Triggers=u,e.IHearYou=u.Initializers.addGlobalListeners)}},function(t,e,i){"use strict";function n(t,e,i){function n(r){a||(a=r),o=r-a,i.apply(e),o<t?s=window.requestAnimationFrame(n,e):(window.cancelAnimationFrame(s),e.trigger("finished.zf.animate",[e]).triggerHandler("finished.zf.animate",[e]))}var s,o,a=null;return 0===t?(i.apply(e),void e.trigger("finished.zf.animate",[e]).triggerHandler("finished.zf.animate",[e])):void(s=window.requestAnimationFrame(n))}function s(t,e,n,s){function o(){t||e.hide(),c(),s&&s.apply(e)}function c(){e[0].style.transitionDuration=0,e.removeClass(h+" "+d+" "+n)}if(e=a()(e).eq(0),e.length){var h=t?l[0]:l[1],d=t?u[0]:u[1];c(),e.addClass(n).css("transition","none"),requestAnimationFrame(function(){e.addClass(h),t&&e.show()}),requestAnimationFrame(function(){e[0].offsetWidth,e.css("transition","").addClass(d)}),e.one(i.i(r.b)(e),o)}}i.d(e,"b",function(){return n}),i.d(e,"a",function(){return c});var o=i(0),a=i.n(o),r=i(1),l=["mui-enter","mui-leave"],u=["mui-enter-active","mui-leave-active"],c={animateIn:function(t,e,i){s(!0,t,e,i)},animateOut:function(t,e,i){s(!1,t,e,i)}}},function(t,e,i){"use strict";function n(t,e,i,n,o){return 0===s(t,e,i,n,o)}function s(t,e,i,n,s){var a,r,l,u,c=o(t);if(e){var h=o(e);r=h.height+h.offset.top-(c.offset.top+c.height),a=c.offset.top-h.offset.top,l=c.offset.left-h.offset.left,u=h.width+h.offset.left-(c.offset.left+c.width)}else r=c.windowDims.height+c.windowDims.offset.top-(c.offset.top+c.height),a=c.offset.top-c.windowDims.offset.top,l=c.offset.left-c.windowDims.offset.left,u=c.windowDims.width-(c.offset.left+c.width);return r=s?0:Math.min(r,0),a=Math.min(a,0),l=Math.min(l,0),u=Math.min(u,0),i?l+u:n?a+r:Math.sqrt(a*a+r*r+l*l+u*u)}function o(t){if(t=t.length?t[0]:t,t===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var e=t.getBoundingClientRect(),i=t.parentNode.getBoundingClientRect(),n=document.body.getBoundingClientRect(),s=window.pageYOffset,o=window.pageXOffset;return{width:e.width,height:e.height,offset:{top:e.top+s,left:e.left+o},parentDims:{width:i.width,height:i.height,offset:{top:i.top+s,left:i.left+o}},windowDims:{width:n.width,height:n.height,offset:{top:s,left:o}}}}function a(t,e,n,s,o,a){switch(console.log("NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5"),n){case"top":return i.i(l.c)()?r(t,e,"top","left",s,o,a):r(t,e,"top","right",s,o,a);case"bottom":return i.i(l.c)()?r(t,e,"bottom","left",s,o,a):r(t,e,"bottom","right",s,o,a);case"center top":return r(t,e,"top","center",s,o,a);case"center bottom":return r(t,e,"bottom","center",s,o,a);case"center left":return r(t,e,"left","center",s,o,a);case"center right":return r(t,e,"right","center",s,o,a);case"left bottom":return r(t,e,"bottom","left",s,o,a);case"right bottom":return r(t,e,"bottom","right",s,o,a);case"center":return{left:$eleDims.windowDims.offset.left+$eleDims.windowDims.width/2-$eleDims.width/2+o,top:$eleDims.windowDims.offset.top+$eleDims.windowDims.height/2-($eleDims.height/2+s)};case"reveal":return{left:($eleDims.windowDims.width-$eleDims.width)/2+o,top:$eleDims.windowDims.offset.top+s};case"reveal full":return{left:$eleDims.windowDims.offset.left,top:$eleDims.windowDims.offset.top};default:return{left:i.i(l.c)()?$anchorDims.offset.left-$eleDims.width+$anchorDims.width-o:$anchorDims.offset.left+o,top:$anchorDims.offset.top+$anchorDims.height+s}}}function r(t,e,i,n,s,a,r){var l,u,c=o(t),h=e?o(e):null;switch(i){case"top":l=h.offset.top-(c.height+s);break;case"bottom":l=h.offset.top+h.height+s;break;case"left":u=h.offset.left-(c.width+a);break;case"right":u=h.offset.left+h.width+a}switch(i){case"top":case"bottom":switch(n){case"left":u=h.offset.left+a;break;case"right":u=h.offset.left-c.width+h.width-a;break;case"center":u=r?a:h.offset.left+h.width/2-c.width/2+a}break;case"right":case"left":switch(n){case"bottom":l=h.offset.top-s+h.height-c.height;break;case"top":l=h.offset.top+s;break;case"center":l=h.offset.top+s+h.height/2-c.height/2}}return{top:l,left:u}}i.d(e,"a",function(){return u});var l=i(1),u={ImNotTouchingYou:n,OverlapArea:s,GetDimensions:o,GetOffsets:a,GetExplicitOffsets:r}},function(t,e,i){"use strict";function n(t,e){function i(){n--,0===n&&e()}var n=t.length;0===n&&e(),t.each(function(){if(this.complete&&void 0!==this.naturalWidth)i();else{var t=new Image,e="load.zf.images error.zf.images";o()(t).one(e,function t(n){o()(this).off(e,t),i()}),t.src=o()(this).attr("src")}})}i.d(e,"a",function(){return n});var s=i(0),o=i.n(s)},function(t,e,i){"use strict";i.d(e,"a",function(){return o});var n=i(0),s=i.n(n),o={Feather:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"zf";t.attr("role","menubar");var i=t.find("li").attr({role:"menuitem"}),n="is-"+e+"-submenu",o=n+"-item",a="is-"+e+"-submenu-parent",r="accordion"!==e;i.each(function(){var t=s()(this),i=t.children("ul");i.length&&(t.addClass(a),i.addClass("submenu "+n).attr({"data-submenu":""}),r&&(t.attr({"aria-haspopup":!0,"aria-label":t.children("a:first").text()}),"drilldown"===e&&t.attr({"aria-expanded":!1})),i.addClass("submenu "+n).attr({"data-submenu":"",role:"menu"}),"drilldown"===e&&i.attr({"aria-hidden":!0})),t.parent("[data-submenu]").length&&t.addClass("is-submenu-item "+o)})},Burn:function(t,e){var i="is-"+e+"-submenu",n=i+"-item",s="is-"+e+"-submenu-parent";t.find(">li, .menu, .menu > li").removeClass(i+" "+n+" "+s+" is-submenu-item submenu is-active").removeAttr("data-submenu").css("display","")}}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(4),u=i(1),c=i(2),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Accordion",this._init(),l.a.register("Accordion",{ENTER:"toggle",SPACE:"toggle",ARROW_DOWN:"next",ARROW_UP:"previous"})}},{key:"_init",value:function(){var t=this;this.$element.attr("role","tablist"),this.$tabs=this.$element.children("[data-accordion-item]"),this.$tabs.each(function(t,e){var n=r()(e),s=n.children("[data-tab-content]"),o=s[0].id||i.i(u.a)(6,"accordion"),a=e.id||o+"-label";n.find("a:first").attr({"aria-controls":o,role:"tab",id:a,"aria-expanded":!1,"aria-selected":!1}),s.attr({role:"tabpanel","aria-labelledby":a,"aria-hidden":!0,id:o})});var e=this.$element.find(".is-active").children("[data-tab-content]");this.firstTimeInit=!0,e.length&&(this.down(e,this.firstTimeInit),this.firstTimeInit=!1),this._checkDeepLink=function(){var e=window.location.hash;if(e.length){var i=t.$element.find('[href$="'+e+'"]'),n=r()(e);if(i.length&&n){if(i.parent("[data-accordion-item]").hasClass("is-active")||(t.down(n,t.firstTimeInit),t.firstTimeInit=!1),t.options.deepLinkSmudge){var s=t;r()(window).load(function(){var t=s.$element.offset();r()("html, body").animate({scrollTop:t.top},s.options.deepLinkSmudgeDelay)})}t.$element.trigger("deeplink.zf.accordion",[i,n])}}},this.options.deepLink&&this._checkDeepLink(),this._events()}},{key:"_events",value:function(){var t=this;this.$tabs.each(function(){var e=r()(this),i=e.children("[data-tab-content]");i.length&&e.children("a").off("click.zf.accordion keydown.zf.accordion").on("click.zf.accordion",function(e){e.preventDefault(),t.toggle(i)}).on("keydown.zf.accordion",function(n){l.a.handleKey(n,"Accordion",{toggle:function(){t.toggle(i)},next:function(){var i=e.next().find("a").focus();t.options.multiExpand||i.trigger("click.zf.accordion")},previous:function(){var i=e.prev().find("a").focus();t.options.multiExpand||i.trigger("click.zf.accordion")},handled:function(){n.preventDefault(),n.stopPropagation()}})})}),this.options.deepLink&&r()(window).on("popstate",this._checkDeepLink)}},{key:"toggle",value:function(t){if(t.closest("[data-accordion]").is("[disabled]"))return void console.info("Cannot toggle an accordion that is disabled.");if(t.parent().hasClass("is-active")?this.up(t):this.down(t),this.options.deepLink){var e=t.prev("a").attr("href");this.options.updateHistory?history.pushState({},"",e):history.replaceState({},"",e)}}},{key:"down",value:function(t,e){var i=this;if(t.closest("[data-accordion]").is("[disabled]")&&!e)return void console.info("Cannot call down on an accordion that is disabled.");if(t.attr("aria-hidden",!1).parent("[data-tab-content]").addBack().parent().addClass("is-active"),!this.options.multiExpand&&!e){var n=this.$element.children(".is-active").children("[data-tab-content]");n.length&&this.up(n.not(t))}t.slideDown(this.options.slideSpeed,function(){i.$element.trigger("down.zf.accordion",[t])}),r()("#"+t.attr("aria-labelledby")).attr({"aria-expanded":!0,"aria-selected":!0})}},{key:"up",value:function(t){if(t.closest("[data-accordion]").is("[disabled]"))return void console.info("Cannot call up on an accordion that is disabled.");var e=t.parent().siblings(),i=this;(this.options.allowAllClosed||e.hasClass("is-active"))&&t.parent().hasClass("is-active")&&(t.slideUp(i.options.slideSpeed,function(){i.$element.trigger("up.zf.accordion",[t])}),t.attr("aria-hidden",!0).parent().removeClass("is-active"),r()("#"+t.attr("aria-labelledby")).attr({"aria-expanded":!1,"aria-selected":!1}))}},{key:"_destroy",value:function(){this.$element.find("[data-tab-content]").stop(!0).slideUp(0).css("display",""),this.$element.find("a").off(".zf.accordion"),this.options.deepLink&&r()(window).off("popstate",this._checkDeepLink)}}]),e}(c.a);d.defaults={slideSpeed:250,multiExpand:!1,allowAllClosed:!1,deepLink:!1,deepLinkSmudge:!1,deepLinkSmudgeDelay:300,updateHistory:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return f});var a=i(0),r=i.n(a),l=i(4),u=i(9),c=i(1),h=i(2),d=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),f=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),d(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="AccordionMenu",this._init(),l.a.register("AccordionMenu",{ENTER:"toggle",SPACE:"toggle",ARROW_RIGHT:"open",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"close",ESCAPE:"closeAll"})}},{key:"_init",value:function(){u.a.Feather(this.$element,"accordion");var t=this;this.$element.find("[data-submenu]").not(".is-active").slideUp(0),this.$element.attr({role:"tree","aria-multiselectable":this.options.multiOpen}),this.$menuLinks=this.$element.find(".is-accordion-submenu-parent"),this.$menuLinks.each(function(){var e=this.id||i.i(c.a)(6,"acc-menu-link"),n=r()(this),s=n.children("[data-submenu]"),o=s[0].id||i.i(c.a)(6,"acc-menu"),a=s.hasClass("is-active");t.options.submenuToggle?(n.addClass("has-submenu-toggle"),n.children("a").after('<button id="'+e+'" class="submenu-toggle" aria-controls="'+o+'" aria-expanded="'+a+'" title="'+t.options.submenuToggleText+'"><span class="submenu-toggle-text">'+t.options.submenuToggleText+"</span></button>")):n.attr({"aria-controls":o,"aria-expanded":a,id:e}),s.attr({"aria-labelledby":e,"aria-hidden":!a,role:"group",id:o})}),this.$element.find("li").attr({role:"treeitem"});var e=this.$element.find(".is-active");if(e.length){var t=this;e.each(function(){t.down(r()(this))})}this._events()}},{key:"_events",value:function(){var t=this;this.$element.find("li").each(function(){var e=r()(this).children("[data-submenu]");e.length&&(t.options.submenuToggle?r()(this).children(".submenu-toggle").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(i){t.toggle(e)}):r()(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(i){i.preventDefault(),t.toggle(e)}))}).on("keydown.zf.accordionmenu",function(e){var i,n,s=r()(this),o=s.parent("ul").children("li"),a=s.children("[data-submenu]");o.each(function(t){if(r()(this).is(s))return i=o.eq(Math.max(0,t-1)).find("a").first(),n=o.eq(Math.min(t+1,o.length-1)).find("a").first(),r()(this).children("[data-submenu]:visible").length&&(n=s.find("li:first-child").find("a").first()),r()(this).is(":first-child")?i=s.parents("li").first().find("a").first():i.parents("li").first().children("[data-submenu]:visible").length&&(i=i.parents("li").find("li:last-child").find("a").first()),void(r()(this).is(":last-child")&&(n=s.parents("li").first().next("li").find("a").first()))}),l.a.handleKey(e,"AccordionMenu",{open:function(){a.is(":hidden")&&(t.down(a),a.find("li").first().find("a").first().focus())},close:function(){a.length&&!a.is(":hidden")?t.up(a):s.parent("[data-submenu]").length&&(t.up(s.parent("[data-submenu]")),s.parents("li").first().find("a").first().focus())},up:function(){return i.focus(),!0},down:function(){return n.focus(),!0},toggle:function(){return!t.options.submenuToggle&&(s.children("[data-submenu]").length?(t.toggle(s.children("[data-submenu]")),!0):void 0)},closeAll:function(){t.hideAll()},handled:function(t){t&&e.preventDefault(),e.stopImmediatePropagation()}})})}},{key:"hideAll",value:function(){this.up(this.$element.find("[data-submenu]"))}},{key:"showAll",value:function(){this.down(this.$element.find("[data-submenu]"))}},{key:"toggle",value:function(t){t.is(":animated")||(t.is(":hidden")?this.down(t):this.up(t))}},{key:"down",value:function(t){var e=this;this.options.multiOpen||this.up(this.$element.find(".is-active").not(t.parentsUntil(this.$element).add(t))),t.addClass("is-active").attr({"aria-hidden":!1}),this.options.submenuToggle?t.prev(".submenu-toggle").attr({"aria-expanded":!0}):t.parent(".is-accordion-submenu-parent").attr({"aria-expanded":!0}),t.slideDown(e.options.slideSpeed,function(){e.$element.trigger("down.zf.accordionMenu",[t])})}},{key:"up",value:function(t){var e=this;t.slideUp(e.options.slideSpeed,function(){e.$element.trigger("up.zf.accordionMenu",[t])});var i=t.find("[data-submenu]").slideUp(0).addBack().attr("aria-hidden",!0);this.options.submenuToggle?i.prev(".submenu-toggle").attr("aria-expanded",!1):i.parent(".is-accordion-submenu-parent").attr("aria-expanded",!1)}},{key:"_destroy",value:function(){this.$element.find("[data-submenu]").slideDown(0).css("display",""),this.$element.find("a").off("click.zf.accordionMenu"),this.options.submenuToggle&&(this.$element.find(".has-submenu-toggle").removeClass("has-submenu-toggle"),this.$element.find(".submenu-toggle").remove()),u.a.Burn(this.$element,"accordion")}}]),e}(h.a);f.defaults={slideSpeed:250,submenuToggle:!1,submenuToggleText:"Toggle menu",multiOpen:!0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(4),u=i(9),c=i(1),h=i(7),d=i(2),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Drilldown",this._init(),l.a.register("Drilldown",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close",TAB:"down",SHIFT_TAB:"up"})}},{key:"_init",value:function(){u.a.Feather(this.$element,"drilldown"),this.options.autoApplyClass&&this.$element.addClass("drilldown"),this.$element.attr({role:"tree","aria-multiselectable":!1}),this.$submenuAnchors=this.$element.find("li.is-drilldown-submenu-parent").children("a"),this.$submenus=this.$submenuAnchors.parent("li").children("[data-submenu]").attr("role","group"),this.$menuItems=this.$element.find("li").not(".js-drilldown-back").attr("role","treeitem").find("a"),this.$element.attr("data-mutate",this.$element.attr("data-drilldown")||i.i(c.a)(6,"drilldown")),this._prepareMenu(),this._registerEvents(),this._keyboardEvents()}},{key:"_prepareMenu",value:function(){var t=this;this.$submenuAnchors.each(function(){var e=r()(this),i=e.parent();t.options.parentLink&&e.clone().prependTo(i.children("[data-submenu]")).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menuitem"></li>'),e.data("savedHref",e.attr("href")).removeAttr("href").attr("tabindex",0),e.children("[data-submenu]").attr({"aria-hidden":!0,tabindex:0,role:"group"}),t._events(e)}),this.$submenus.each(function(){var e=r()(this),i=e.find(".js-drilldown-back");if(!i.length)switch(t.options.backButtonPosition){case"bottom":e.append(t.options.backButton);break;case"top":e.prepend(t.options.backButton);break;default:console.error("Unsupported backButtonPosition value '"+t.options.backButtonPosition+"'")}t._back(e)}),this.$submenus.addClass("invisible"),this.options.autoHeight||this.$submenus.addClass("drilldown-submenu-cover-previous"),this.$element.parent().hasClass("is-drilldown")||(this.$wrapper=r()(this.options.wrapper).addClass("is-drilldown"),this.options.animateHeight&&this.$wrapper.addClass("animate-height"),this.$element.wrap(this.$wrapper)),this.$wrapper=this.$element.parent(),this.$wrapper.css(this._getMaxDims())}},{key:"_resize",value:function(){this.$wrapper.css({"max-width":"none","min-height":"none"}),this.$wrapper.css(this._getMaxDims())}},{key:"_events",value:function(t){var e=this;t.off("click.zf.drilldown").on("click.zf.drilldown",function(i){if(r()(i.target).parentsUntil("ul","li").hasClass("is-drilldown-submenu-parent")&&(i.stopImmediatePropagation(),i.preventDefault()),e._show(t.parent("li")),e.options.closeOnClick){var n=r()("body");n.off(".zf.drilldown").on("click.zf.drilldown",function(t){t.target===e.$element[0]||r.a.contains(e.$element[0],t.target)||(t.preventDefault(),e._hideAll(),n.off(".zf.drilldown"))})}})}},{key:"_registerEvents",value:function(){this.options.scrollTop&&(this._bindHandler=this._scrollTop.bind(this),this.$element.on("open.zf.drilldown hide.zf.drilldown closed.zf.drilldown",this._bindHandler)),this.$element.on("mutateme.zf.trigger",this._resize.bind(this))}},{key:"_scrollTop",value:function(){var t=this,e=""!=t.options.scrollTopElement?r()(t.options.scrollTopElement):t.$element,i=parseInt(e.offset().top+t.options.scrollTopOffset,10);r()("html, body").stop(!0).animate({scrollTop:i},t.options.animationDuration,t.options.animationEasing,function(){this===r()("html")[0]&&t.$element.trigger("scrollme.zf.drilldown")})}},{key:"_keyboardEvents",value:function(){var t=this;this.$menuItems.add(this.$element.find(".js-drilldown-back > a, .is-submenu-parent-item > a")).on("keydown.zf.drilldown",function(e){var n,s,o=r()(this),a=o.parent("li").parent("ul").children("li").children("a");a.each(function(t){if(r()(this).is(o))return n=a.eq(Math.max(0,t-1)),void(s=a.eq(Math.min(t+1,a.length-1)))}),l.a.handleKey(e,"Drilldown",{next:function(){if(o.is(t.$submenuAnchors))return t._show(o.parent("li")),o.parent("li").one(i.i(c.b)(o),function(){
-o.parent("li").find("ul li a").filter(t.$menuItems).first().focus()}),!0},previous:function(){return t._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(i.i(c.b)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0},up:function(){return n.focus(),!o.is(t.$element.find("> li:first-child > a"))},down:function(){return s.focus(),!o.is(t.$element.find("> li:last-child > a"))},close:function(){o.is(t.$element.find("> li > a"))||(t._hide(o.parent().parent()),o.parent().parent().siblings("a").focus())},open:function(){return o.is(t.$menuItems)?o.is(t.$submenuAnchors)?(t._show(o.parent("li")),o.parent("li").one(i.i(c.b)(o),function(){o.parent("li").find("ul li a").filter(t.$menuItems).first().focus()}),!0):void 0:(t._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(i.i(c.b)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0)},handled:function(t){t&&e.preventDefault(),e.stopImmediatePropagation()}})})}},{key:"_hideAll",value:function(){var t=this.$element.find(".is-drilldown-submenu.is-active").addClass("is-closing");this.options.autoHeight&&this.$wrapper.css({height:t.parent().closest("ul").data("calcHeight")}),t.one(i.i(c.b)(t),function(e){t.removeClass("is-active is-closing")}),this.$element.trigger("closed.zf.drilldown")}},{key:"_back",value:function(t){var e=this;t.off("click.zf.drilldown"),t.children(".js-drilldown-back").on("click.zf.drilldown",function(i){i.stopImmediatePropagation(),e._hide(t);var n=t.parent("li").parent("ul").parent("li");n.length&&e._show(n)})}},{key:"_menuLinkEvents",value:function(){var t=this;this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown",function(e){setTimeout(function(){t._hideAll()},0)})}},{key:"_show",value:function(t){this.options.autoHeight&&this.$wrapper.css({height:t.children("[data-submenu]").data("calcHeight")}),t.attr("aria-expanded",!0),t.children("[data-submenu]").addClass("is-active").removeClass("invisible").attr("aria-hidden",!1),this.$element.trigger("open.zf.drilldown",[t])}},{key:"_hide",value:function(t){this.options.autoHeight&&this.$wrapper.css({height:t.parent().closest("ul").data("calcHeight")});t.parent("li").attr("aria-expanded",!1),t.attr("aria-hidden",!0).addClass("is-closing"),t.addClass("is-closing").one(i.i(c.b)(t),function(){t.removeClass("is-active is-closing"),t.blur().addClass("invisible")}),t.trigger("hide.zf.drilldown",[t])}},{key:"_getMaxDims",value:function(){var t=0,e={},i=this;return this.$submenus.add(this.$element).each(function(){var n=(r()(this).children("li").length,h.a.GetDimensions(this).height);t=n>t?n:t,i.options.autoHeight&&(r()(this).data("calcHeight",n),r()(this).hasClass("is-drilldown-submenu")||(e.height=n))}),this.options.autoHeight||(e["min-height"]=t+"px"),e["max-width"]=this.$element[0].getBoundingClientRect().width+"px",e}},{key:"_destroy",value:function(){this.options.scrollTop&&this.$element.off(".zf.drilldown",this._bindHandler),this._hideAll(),this.$element.off("mutateme.zf.trigger"),u.a.Burn(this.$element,"drilldown"),this.$element.unwrap().find(".js-drilldown-back, .is-submenu-parent-item").remove().end().find(".is-active, .is-closing, .is-drilldown-submenu").removeClass("is-active is-closing is-drilldown-submenu").end().find("[data-submenu]").removeAttr("aria-hidden tabindex role"),this.$submenuAnchors.each(function(){r()(this).off(".zf.drilldown")}),this.$submenus.removeClass("drilldown-submenu-cover-previous invisible"),this.$element.find("a").each(function(){var t=r()(this);t.removeAttr("tabindex"),t.data("savedHref")&&t.attr("href",t.data("savedHref")).removeData("savedHref")})}}]),e}(d.a);p.defaults={autoApplyClass:!0,backButton:'<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',backButtonPosition:"top",wrapper:"<div></div>",parentLink:!1,closeOnClick:!1,autoHeight:!1,animateHeight:!1,scrollTop:!1,scrollTopElement:"",scrollTopOffset:0,animationDuration:500,animationEasing:"swing"}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(4),u=i(9),c=i(7),h=i(1),d=i(2),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="DropdownMenu",this._init(),l.a.register("DropdownMenu",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"up",ARROW_DOWN:"down",ARROW_LEFT:"previous",ESCAPE:"close"})}},{key:"_init",value:function(){u.a.Feather(this.$element,"dropdown");var t=this.$element.find("li.is-dropdown-submenu-parent");this.$element.children(".is-dropdown-submenu-parent").children(".is-dropdown-submenu").addClass("first-sub"),this.$menuItems=this.$element.find('[role="menuitem"]'),this.$tabs=this.$element.children('[role="menuitem"]'),this.$tabs.find("ul.is-dropdown-submenu").addClass(this.options.verticalClass),"auto"===this.options.alignment?this.$element.hasClass(this.options.rightClass)||i.i(h.c)()||this.$element.parents(".top-bar-right").is("*")?(this.options.alignment="right",t.addClass("opens-left")):(this.options.alignment="left",t.addClass("opens-right")):"right"===this.options.alignment?t.addClass("opens-left"):t.addClass("opens-right"),this.changed=!1,this._events()}},{key:"_isVertical",value:function(){return"block"===this.$tabs.css("display")||"column"===this.$element.css("flex-direction")}},{key:"_isRtl",value:function(){return this.$element.hasClass("align-right")||i.i(h.c)()&&!this.$element.hasClass("align-left")}},{key:"_events",value:function(){var t=this,e="ontouchstart"in window||"undefined"!=typeof window.ontouchstart,i="is-dropdown-submenu-parent",n=function(n){var s=r()(n.target).parentsUntil("ul","."+i),o=s.hasClass(i),a="true"===s.attr("data-is-click"),l=s.children(".is-dropdown-submenu");if(o)if(a){if(!t.options.closeOnClick||!t.options.clickOpen&&!e||t.options.forceFollow&&e)return;n.stopImmediatePropagation(),n.preventDefault(),t._hide(s)}else n.preventDefault(),n.stopImmediatePropagation(),t._show(l),s.add(s.parentsUntil(t.$element,"."+i)).attr("data-is-click",!0)};(this.options.clickOpen||e)&&this.$menuItems.on("click.zf.dropdownmenu touchstart.zf.dropdownmenu",n),t.options.closeOnClickInside&&this.$menuItems.on("click.zf.dropdownmenu",function(e){var n=r()(this),s=n.hasClass(i);s||t._hide()}),this.options.disableHover||this.$menuItems.on("mouseenter.zf.dropdownmenu",function(e){var n=r()(this),s=n.hasClass(i);s&&(clearTimeout(n.data("_delay")),n.data("_delay",setTimeout(function(){t._show(n.children(".is-dropdown-submenu"))},t.options.hoverDelay)))}).on("mouseleave.zf.dropdownmenu",function(e){var n=r()(this),s=n.hasClass(i);if(s&&t.options.autoclose){if("true"===n.attr("data-is-click")&&t.options.clickOpen)return!1;clearTimeout(n.data("_delay")),n.data("_delay",setTimeout(function(){t._hide(n)},t.options.closingTime))}}),this.$menuItems.on("keydown.zf.dropdownmenu",function(e){var i,n,s=r()(e.target).parentsUntil("ul",'[role="menuitem"]'),o=t.$tabs.index(s)>-1,a=o?t.$tabs:s.siblings("li").add(s);a.each(function(t){if(r()(this).is(s))return i=a.eq(t-1),void(n=a.eq(t+1))});var u=function(){n.children("a:first").focus(),e.preventDefault()},c=function(){i.children("a:first").focus(),e.preventDefault()},h=function(){var i=s.children("ul.is-dropdown-submenu");i.length&&(t._show(i),s.find("li > a:first").focus(),e.preventDefault())},d=function(){var i=s.parent("ul").parent("li");i.children("a:first").focus(),t._hide(i),e.preventDefault()},f={open:h,close:function(){t._hide(t.$element),t.$menuItems.eq(0).children("a").focus(),e.preventDefault()},handled:function(){e.stopImmediatePropagation()}};o?t._isVertical()?t._isRtl()?r.a.extend(f,{down:u,up:c,next:d,previous:h}):r.a.extend(f,{down:u,up:c,next:h,previous:d}):t._isRtl()?r.a.extend(f,{next:c,previous:u,down:h,up:d}):r.a.extend(f,{next:u,previous:c,down:h,up:d}):t._isRtl()?r.a.extend(f,{next:d,previous:h,down:u,up:c}):r.a.extend(f,{next:h,previous:d,down:u,up:c}),l.a.handleKey(e,"DropdownMenu",f)})}},{key:"_addBodyHandler",value:function(){var t=r()(document.body),e=this;t.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu").on("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu",function(i){var n=e.$element.find(i.target);n.length||(e._hide(),t.off("mouseup.zf.dropdownmenu touchend.zf.dropdownmenu"))})}},{key:"_show",value:function(t){var e=this.$tabs.index(this.$tabs.filter(function(e,i){return r()(i).find(t).length>0})),i=t.parent("li.is-dropdown-submenu-parent").siblings("li.is-dropdown-submenu-parent");this._hide(i,e),t.css("visibility","hidden").addClass("js-dropdown-active").parent("li.is-dropdown-submenu-parent").addClass("is-active");var n=c.a.ImNotTouchingYou(t,null,!0);if(!n){var s="left"===this.options.alignment?"-right":"-left",o=t.parent(".is-dropdown-submenu-parent");o.removeClass("opens"+s).addClass("opens-"+this.options.alignment),n=c.a.ImNotTouchingYou(t,null,!0),n||o.removeClass("opens-"+this.options.alignment).addClass("opens-inner"),this.changed=!0}t.css("visibility",""),this.options.closeOnClick&&this._addBodyHandler(),this.$element.trigger("show.zf.dropdownmenu",[t])}},{key:"_hide",value:function(t,e){var i;i=t&&t.length?t:void 0!==e?this.$tabs.not(function(t,i){return t===e}):this.$element;var n=i.hasClass("is-active")||i.find(".is-active").length>0;if(n){if(i.find("li.is-active").add(i).attr({"data-is-click":!1}).removeClass("is-active"),i.find("ul.js-dropdown-active").removeClass("js-dropdown-active"),this.changed||i.find("opens-inner").length){var s="left"===this.options.alignment?"right":"left";i.find("li.is-dropdown-submenu-parent").add(i).removeClass("opens-inner opens-"+this.options.alignment).addClass("opens-"+s),this.changed=!1}this.$element.trigger("hide.zf.dropdownmenu",[i])}}},{key:"_destroy",value:function(){this.$menuItems.off(".zf.dropdownmenu").removeAttr("data-is-click").removeClass("is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner"),r()(document.body).off(".zf.dropdownmenu"),u.a.Burn(this.$element,"dropdown")}}]),e}(d.a);p.defaults={disableHover:!1,autoclose:!0,hoverDelay:50,clickOpen:!1,closingTime:500,alignment:"auto",closeOnClick:!0,closeOnClickInside:!0,verticalClass:"vertical",rightClass:"align-right",forceFollow:!0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return h});var a=i(0),r=i.n(a),l=i(1),u=i(2),c=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),h=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),c(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="SmoothScroll",this._init()}},{key:"_init",value:function(){var t=this.$element[0].id||i.i(l.a)(6,"smooth-scroll");this.$element.attr({id:t}),this._events()}},{key:"_events",value:function(){var t=this,i=function(i){if(!r()(this).is('a[href^="#"]'))return!1;var n=this.getAttribute("href");t._inTransition=!0,e.scrollToLoc(n,t.options,function(){t._inTransition=!1}),i.preventDefault()};this.$element.on("click.zf.smoothScroll",i),this.$element.on("click.zf.smoothScroll",'a[href^="#"]',i)}}],[{key:"scrollToLoc",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.defaults,n=arguments[2];if(!r()(t).length)return!1;var s=Math.round(r()(t).offset().top-i.threshold/2-i.offset);r()("html, body").stop(!0).animate({scrollTop:s},i.animationDuration,i.animationEasing,function(){n&&"function"==typeof n&&n()})}}]),e}(u.a);h.defaults={animationDuration:500,animationEasing:"linear",threshold:50,offset:0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(4),u=i(8),c=i(2),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Tabs",this._init(),l.a.register("Tabs",{ENTER:"open",SPACE:"open",ARROW_RIGHT:"next",ARROW_UP:"previous",ARROW_DOWN:"next",ARROW_LEFT:"previous"})}},{key:"_init",value:function(){var t=this,e=this;if(this.$element.attr({role:"tablist"}),this.$tabTitles=this.$element.find("."+this.options.linkClass),this.$tabContent=r()('[data-tabs-content="'+this.$element[0].id+'"]'),this.$tabTitles.each(function(){var t=r()(this),i=t.find("a"),n=t.hasClass(""+e.options.linkActiveClass),s=i.attr("data-tabs-target")||i[0].hash.slice(1),o=i[0].id?i[0].id:s+"-label",a=r()("#"+s);t.attr({role:"presentation"}),i.attr({role:"tab","aria-controls":s,"aria-selected":n,id:o,tabindex:n?"0":"-1"}),a.attr({role:"tabpanel","aria-labelledby":o}),n||a.attr("aria-hidden","true"),n&&e.options.autoFocus&&r()(window).load(function(){r()("html, body").animate({scrollTop:t.offset().top},e.options.deepLinkSmudgeDelay,function(){i.focus()})})}),this.options.matchHeight){var n=this.$tabContent.find("img");n.length?i.i(u.a)(n,this._setHeight.bind(this)):this._setHeight()}this._checkDeepLink=function(){var e=window.location.hash;if(e.length){var i=t.$element.find('[href$="'+e+'"]');if(i.length){if(t.selectTab(r()(e),!0),t.options.deepLinkSmudge){var n=t.$element.offset();r()("html, body").animate({scrollTop:n.top},t.options.deepLinkSmudgeDelay)}t.$element.trigger("deeplink.zf.tabs",[i,r()(e)])}}},this.options.deepLink&&this._checkDeepLink(),this._events()}},{key:"_events",value:function(){this._addKeyHandler(),this._addClickHandler(),this._setHeightMqHandler=null,this.options.matchHeight&&(this._setHeightMqHandler=this._setHeight.bind(this),r()(window).on("changed.zf.mediaquery",this._setHeightMqHandler)),this.options.deepLink&&r()(window).on("popstate",this._checkDeepLink)}},{key:"_addClickHandler",value:function(){var t=this;this.$element.off("click.zf.tabs").on("click.zf.tabs","."+this.options.linkClass,function(e){e.preventDefault(),e.stopPropagation(),t._handleTabChange(r()(this))})}},{key:"_addKeyHandler",value:function(){var t=this;this.$tabTitles.off("keydown.zf.tabs").on("keydown.zf.tabs",function(e){if(9!==e.which){var i,n,s=r()(this),o=s.parent("ul").children("li");o.each(function(e){if(r()(this).is(s))return void(t.options.wrapOnKeys?(i=0===e?o.last():o.eq(e-1),n=e===o.length-1?o.first():o.eq(e+1)):(i=o.eq(Math.max(0,e-1)),n=o.eq(Math.min(e+1,o.length-1))))}),l.a.handleKey(e,"Tabs",{open:function(){s.find('[role="tab"]').focus(),t._handleTabChange(s)},previous:function(){i.find('[role="tab"]').focus(),t._handleTabChange(i)},next:function(){n.find('[role="tab"]').focus(),t._handleTabChange(n)},handled:function(){e.stopPropagation(),e.preventDefault()}})}})}},{key:"_handleTabChange",value:function(t,e){if(t.hasClass(""+this.options.linkActiveClass))return void(this.options.activeCollapse&&(this._collapseTab(t),this.$element.trigger("collapse.zf.tabs",[t])));var i=this.$element.find("."+this.options.linkClass+"."+this.options.linkActiveClass),n=t.find('[role="tab"]'),s=n.attr("data-tabs-target")||n[0].hash.slice(1),o=this.$tabContent.find("#"+s);if(this._collapseTab(i),this._openTab(t),this.options.deepLink&&!e){var a=t.find("a").attr("href");this.options.updateHistory?history.pushState({},"",a):history.replaceState({},"",a)}this.$element.trigger("change.zf.tabs",[t,o]),o.find("[data-mutate]").trigger("mutateme.zf.trigger")}},{key:"_openTab",value:function(t){var e=t.find('[role="tab"]'),i=e.attr("data-tabs-target")||e[0].hash.slice(1),n=this.$tabContent.find("#"+i);t.addClass(""+this.options.linkActiveClass),e.attr({"aria-selected":"true",tabindex:"0"}),n.addClass(""+this.options.panelActiveClass).removeAttr("aria-hidden")}},{key:"_collapseTab",value:function(t){var e=t.removeClass(""+this.options.linkActiveClass).find('[role="tab"]').attr({"aria-selected":"false",tabindex:-1});r()("#"+e.attr("aria-controls")).removeClass(""+this.options.panelActiveClass).attr({"aria-hidden":"true"})}},{key:"selectTab",value:function(t,e){var i;i="object"==typeof t?t[0].id:t,i.indexOf("#")<0&&(i="#"+i);var n=this.$tabTitles.find('[href$="'+i+'"]').parent("."+this.options.linkClass);this._handleTabChange(n,e)}},{key:"_setHeight",value:function(){var t=0,e=this;this.$tabContent.find("."+this.options.panelClass).css("height","").each(function(){var i=r()(this),n=i.hasClass(""+e.options.panelActiveClass);n||i.css({visibility:"hidden",display:"block"});var s=this.getBoundingClientRect().height;n||i.css({visibility:"",display:""}),t=s>t?s:t}).css("height",t+"px")}},{key:"_destroy",value:function(){this.$element.find("."+this.options.linkClass).off(".zf.tabs").hide().end().find("."+this.options.panelClass).hide(),this.options.matchHeight&&null!=this._setHeightMqHandler&&r()(window).off("changed.zf.mediaquery",this._setHeightMqHandler),this.options.deepLink&&r()(window).off("popstate",this._checkDeepLink)}}]),e}(c.a);d.defaults={deepLink:!1,deepLinkSmudge:!1,deepLinkSmudgeDelay:300,updateHistory:!1,autoFocus:!1,wrapOnKeys:!0,matchHeight:!1,activeCollapse:!1,linkClass:"tabs-title",linkActiveClass:"is-active",panelClass:"tabs-panel",panelActiveClass:"is-active"}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t,e){var i=e.indexOf(t);return i===e.length-1?e[0]:e[i+1]}i.d(e,"a",function(){return m});var r=i(7),l=i(2),u=i(1),c=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),h=["left","right","top","bottom"],d=["top","bottom","center"],f=["left","right","center"],p={left:d,right:d,top:f,bottom:f},m=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),c(e,[{key:"_init",value:function(){this.triedPositions={},this.position="auto"===this.options.position?this._getDefaultPosition():this.options.position,this.alignment="auto"===this.options.alignment?this._getDefaultAlignment():this.options.alignment}},{key:"_getDefaultPosition",value:function(){return"bottom"}},{key:"_getDefaultAlignment",value:function(){switch(this.position){case"bottom":case"top":return i.i(u.c)()?"right":"left";case"left":case"right":return"bottom"}}},{key:"_reposition",value:function(){this._alignmentsExhausted(this.position)?(this.position=a(this.position,h),this.alignment=p[this.position][0]):this._realign()}},{key:"_realign",value:function(){this._addTriedPosition(this.position,this.alignment),this.alignment=a(this.alignment,p[this.position])}},{key:"_addTriedPosition",value:function(t,e){this.triedPositions[t]=this.triedPositions[t]||[],this.triedPositions[t].push(e)}},{key:"_positionsExhausted",value:function(){for(var t=!0,e=0;e<h.length;e++)t=t&&this._alignmentsExhausted(h[e]);return t}},{key:"_alignmentsExhausted",value:function(t){return this.triedPositions[t]&&this.triedPositions[t].length==p[t].length}},{key:"_getVOffset",value:function(){return this.options.vOffset}},{key:"_getHOffset",value:function(){return this.options.hOffset}},{key:"_setPosition",value:function(t,e,i){if("false"===t.attr("aria-expanded"))return!1;r.a.GetDimensions(e),r.a.GetDimensions(t);if(e.offset(r.a.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset())),!this.options.allowOverlap){for(var n=1e8,s={position:this.position,alignment:this.alignment};!this._positionsExhausted();){var o=r.a.OverlapArea(e,i,!1,!1,this.options.allowBottomOverlap);if(0===o)return;o<n&&(n=o,s={position:this.position,alignment:this.alignment}),this._reposition(),e.offset(r.a.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}this.position=s.position,this.alignment=s.alignment,e.offset(r.a.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}}}]),e}(l.a);m.defaults={position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!0,vOffset:0,hOffset:0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(){this.removeEventListener("touchmove",o),this.removeEventListener("touchend",s),g=!1}function o(t){if(f.a.spotSwipe.preventDefault&&t.preventDefault(),g){var e,i=t.touches[0].pageX,n=(t.touches[0].pageY,l-i);h=(new Date).getTime()-c,Math.abs(n)>=f.a.spotSwipe.moveThreshold&&h<=f.a.spotSwipe.timeThreshold&&(e=n>0?"left":"right"),e&&(t.preventDefault(),s.call(this),f()(this).trigger("swipe",e).trigger("swipe"+e))}}function a(t){1==t.touches.length&&(l=t.touches[0].pageX,u=t.touches[0].pageY,g=!0,c=(new Date).getTime(),this.addEventListener("touchmove",o,!1),this.addEventListener("touchend",s,!1))}function r(){this.addEventListener&&this.addEventListener("touchstart",a,!1)}i.d(e,"a",function(){return m});var l,u,c,h,d=i(0),f=i.n(d),p=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),m={},g=!1,v=function(){function t(e){n(this,t),this.version="1.0.0",this.enabled="ontouchstart"in document.documentElement,this.preventDefault=!1,this.moveThreshold=75,this.timeThreshold=200,this.$=e,this._init()}return p(t,[{key:"_init",value:function(){var t=this.$;t.event.special.swipe={setup:r},t.each(["left","up","down","right"],function(){t.event.special["swipe"+this]={setup:function(){t(this).on("swipe",t.noop)}}})}}]),t}();m.setupSpotSwipe=function(t){t.spotSwipe=new v(t)},m.setupTouchHandler=function(t){t.fn.addTouch=function(){this.each(function(i,n){t(n).bind("touchstart touchmove touchend touchcancel",function(){e(event)})});var e=function(t){var e,i=t.changedTouches,n=i[0],s={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"},o=s[t.type];"MouseEvent"in window&&"function"==typeof window.MouseEvent?e=new window.MouseEvent(o,{bubbles:!0,cancelable:!0,screenX:n.screenX,screenY:n.screenY,clientX:n.clientX,clientY:n.clientY}):(e=document.createEvent("MouseEvent"),e.initMouseEvent(o,!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null)),n.target.dispatchEvent(e)}}},m.init=function(t){"undefined"==typeof t.spotSwipe&&(m.setupSpotSwipe(t),m.setupTouchHandler(t))}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return c});var a=i(0),r=i.n(a),l=i(2),u=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),c=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),u(e,[{key:"_setup",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.$element=t,this.options=r.a.extend(!0,{},e.defaults,this.$element.data(),i),this.className="Abide",this._init()}},{key:"_init",value:function(){this.$inputs=this.$element.find("input, textarea, select"),this._events()}},{key:"_events",value:function(){var t=this;this.$element.off(".abide").on("reset.zf.abide",function(){t.resetForm()}).on("submit.zf.abide",function(){return t.validateForm()}),"fieldChange"===this.options.validateOn&&this.$inputs.off("change.zf.abide").on("change.zf.abide",function(e){t.validateInput(r()(e.target))}),this.options.liveValidate&&this.$inputs.off("input.zf.abide").on("input.zf.abide",function(e){t.validateInput(r()(e.target))}),this.options.validateOnBlur&&this.$inputs.off("blur.zf.abide").on("blur.zf.abide",function(e){t.validateInput(r()(e.target))})}},{key:"_reflow",value:function(){this._init()}},{key:"requiredCheck",value:function(t){if(!t.attr("required"))return!0;var e=!0;switch(t[0].type){case"checkbox":e=t[0].checked;break;case"select":case"select-one":case"select-multiple":var i=t.find("option:selected");i.length&&i.val()||(e=!1);break;default:t.val()&&t.val().length||(e=!1)}return e}},{key:"findFormError",value:function(t){var e=t[0].id,i=t.siblings(this.options.formErrorSelector);return i.length||(i=t.parent().find(this.options.formErrorSelector)),i=i.add(this.$element.find('[data-form-error-for="'+e+'"]'))}},{key:"findLabel",value:function(t){var e=t[0].id,i=this.$element.find('label[for="'+e+'"]');return i.length?i:t.closest("label")}},{key:"findRadioLabels",value:function(t){var e=this,i=t.map(function(t,i){var n=i.id,s=e.$element.find('label[for="'+n+'"]');return s.length||(s=r()(i).closest("label")),s[0]});return r()(i)}},{key:"addErrorClasses",value:function(t){var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.addClass(this.options.labelErrorClass),i.length&&i.addClass(this.options.formErrorClass),t.addClass(this.options.inputErrorClass).attr("data-invalid","")}},{key:"removeRadioErrorClasses",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),i=this.findRadioLabels(e),n=this.findFormError(e);i.length&&i.removeClass(this.options.labelErrorClass),n.length&&n.removeClass(this.options.formErrorClass),e.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"removeErrorClasses",value:function(t){if("radio"==t[0].type)return this.removeRadioErrorClasses(t.attr("name"));var e=this.findLabel(t),i=this.findFormError(t);e.length&&e.removeClass(this.options.labelErrorClass),i.length&&i.removeClass(this.options.formErrorClass),t.removeClass(this.options.inputErrorClass).removeAttr("data-invalid")}},{key:"validateInput",value:function(t){var e=this,i=this.requiredCheck(t),n=!1,s=!0,o=t.attr("data-validator"),a=!0;if(t.is("[data-abide-ignore]")||t.is('[type="hidden"]')||t.is("[disabled]"))return!0;switch(t[0].type){case"radio":n=this.validateRadio(t.attr("name"));break;case"checkbox":n=i;break;case"select":case"select-one":case"select-multiple":n=i;break;default:n=this.validateText(t)}o&&(s=this.matchValidation(t,o,t.attr("required"))),t.attr("data-equalto")&&(a=this.options.validators.equalTo(t));var l=[i,n,s,a].indexOf(!1)===-1,u=(l?"valid":"invalid")+".zf.abide";if(l){var c=this.$element.find('[data-equalto="'+t.attr("id")+'"]');c.length&&!function(){var t=e;c.each(function(){r()(this).val()&&t.validateInput(r()(this))})}()}return this[l?"removeErrorClasses":"addErrorClasses"](t),t.trigger(u,[t]),l}},{key:"validateForm",value:function(){var t=[],e=this;this.$inputs.each(function(){t.push(e.validateInput(r()(this)))});var i=t.indexOf(!1)===-1;return this.$element.find("[data-abide-error]").css("display",i?"none":"block"),this.$element.trigger((i?"formvalid":"forminvalid")+".zf.abide",[this.$element]),i}},{key:"validateText",value:function(t,e){e=e||t.attr("pattern")||t.attr("type");var i=t.val(),n=!1;return i.length?n=this.options.patterns.hasOwnProperty(e)?this.options.patterns[e].test(i):e===t.attr("type")||new RegExp(e).test(i):t.prop("required")||(n=!0),n}},{key:"validateRadio",value:function(t){var e=this.$element.find(':radio[name="'+t+'"]'),i=!1,n=!1;return e.each(function(t,e){r()(e).attr("required")&&(n=!0)}),n||(i=!0),i||e.each(function(t,e){r()(e).prop("checked")&&(i=!0)}),i}},{key:"matchValidation",value:function(t,e,i){var n=this;i=!!i;var s=e.split(" ").map(function(e){return n.options.validators[e](t,i,t.parent())});return s.indexOf(!1)===-1}},{key:"resetForm",value:function(){var t=this.$element,e=this.options;r()("."+e.labelErrorClass,t).not("small").removeClass(e.labelErrorClass),r()("."+e.inputErrorClass,t).not("small").removeClass(e.inputErrorClass),r()(e.formErrorSelector+"."+e.formErrorClass).removeClass(e.formErrorClass),t.find("[data-abide-error]").css("display","none"),r()(":input",t).not(":button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]").val("").removeAttr("data-invalid"),r()(":input:radio",t).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),r()(":input:checkbox",t).not("[data-abide-ignore]").prop("checked",!1).removeAttr("data-invalid"),t.trigger("formreset.zf.abide",[t])}},{key:"_destroy",value:function(){var t=this;this.$element.off(".abide").find("[data-abide-error]").css("display","none"),this.$inputs.off(".abide").each(function(){t.removeErrorClasses(r()(this))})}}]),e}(l.a);c.defaults={validateOn:"fieldChange",labelErrorClass:"is-invalid-label",inputErrorClass:"is-invalid-input",formErrorSelector:".form-error",formErrorClass:"is-visible",
-liveValidate:!1,validateOnBlur:!1,patterns:{alpha:/^[a-zA-Z]+$/,alpha_numeric:/^[a-zA-Z0-9]+$/,integer:/^[-+]?\d+$/,number:/^[-+]?\d*(?:[\.\,]\d+)?$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(?:222[1-9]|2[3-6][0-9]{2}|27[0-1][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,url:/^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,website:{test:function(t){return c.defaults.patterns.domain.test(t)||c.defaults.patterns.url.test(t)}}},validators:{equalTo:function(t,e,i){return r()("#"+t.attr("data-equalto")).val()===t.val()}}}},function(t,e,i){"use strict";function n(t){if(void 0===Function.prototype.name){var e=/function\s([^(]{1,})\(/,i=e.exec(t.toString());return i&&i.length>1?i[1].trim():""}return void 0===t.prototype?t.constructor.name:t.prototype.constructor.name}function s(t){return"true"===t||"false"!==t&&(isNaN(1*t)?t:parseFloat(t))}function o(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}i.d(e,"a",function(){return h});var a=i(0),r=i.n(a),l=i(1),u=i(3),c="6.4.2",h={version:c,_plugins:{},_uuids:[],plugin:function(t,e){var i=e||n(t),s=o(i);this._plugins[s]=this[i]=t},registerPlugin:function(t,e){var s=e?o(e):n(t.constructor).toLowerCase();t.uuid=i.i(l.a)(6,s),t.$element.attr("data-"+s)||t.$element.attr("data-"+s,t.uuid),t.$element.data("zfPlugin")||t.$element.data("zfPlugin",t),t.$element.trigger("init.zf."+s),this._uuids.push(t.uuid)},unregisterPlugin:function(t){var e=o(n(t.$element.data("zfPlugin").constructor));this._uuids.splice(this._uuids.indexOf(t.uuid),1),t.$element.removeAttr("data-"+e).removeData("zfPlugin").trigger("destroyed.zf."+e);for(var i in t)t[i]=null},reInit:function(t){var e=t instanceof r.a;try{if(e)t.each(function(){r()(this).data("zfPlugin")._init()});else{var i=typeof t,n=this,s={object:function(t){t.forEach(function(t){t=o(t),r()("[data-"+t+"]").foundation("_init")})},string:function(){t=o(t),r()("[data-"+t+"]").foundation("_init")},undefined:function(){this.object(Object.keys(n._plugins))}};s[i](t)}}catch(t){console.error(t)}finally{return t}},reflow:function(t,e){"undefined"==typeof e?e=Object.keys(this._plugins):"string"==typeof e&&(e=[e]);var i=this;r.a.each(e,function(e,n){var o=i._plugins[n],a=r()(t).find("[data-"+n+"]").addBack("[data-"+n+"]");a.each(function(){var t=r()(this),e={};if(t.data("zfPlugin"))return void console.warn("Tried to initialize "+n+" on an element that already has a Foundation plugin.");if(t.attr("data-options")){t.attr("data-options").split(";").forEach(function(t,i){var n=t.split(":").map(function(t){return t.trim()});n[0]&&(e[n[0]]=s(n[1]))})}try{t.data("zfPlugin",new o(r()(this),e))}catch(t){console.error(t)}finally{return}})})},getFnName:n,addToJquery:function(t){var e=function(e){var i=typeof e,s=t(".no-js");if(s.length&&s.removeClass("no-js"),"undefined"===i)u.a._init(),h.reflow(this);else{if("string"!==i)throw new TypeError("We're sorry, "+i+" is not a valid parameter. You must use a string representing the method you wish to invoke.");var o=Array.prototype.slice.call(arguments,1),a=this.data("zfPlugin");if(void 0===a||void 0===a[e])throw new ReferenceError("We're sorry, '"+e+"' is not an available method for "+(a?n(a):"this element")+".");1===this.length?a[e].apply(a,o):this.each(function(i,n){a[e].apply(t(n).data("zfPlugin"),o)})}return this};return t.fn.foundation=e,t}};h.util={throttle:function(t,e){var i=null;return function(){var n=this,s=arguments;null===i&&(i=setTimeout(function(){t.apply(n,s),i=null},e))}}},window.Foundation=h,function(){Date.now&&window.Date.now||(window.Date.now=Date.now=function(){return(new Date).getTime()});for(var t=["webkit","moz"],e=0;e<t.length&&!window.requestAnimationFrame;++e){var i=t[e];window.requestAnimationFrame=window[i+"RequestAnimationFrame"],window.cancelAnimationFrame=window[i+"CancelAnimationFrame"]||window[i+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var n=0;window.requestAnimationFrame=function(t){var e=Date.now(),i=Math.max(n+16,e);return setTimeout(function(){t(n=i)},i-e)},window.cancelAnimationFrame=clearTimeout}window.performance&&window.performance.now||(window.performance={start:Date.now(),now:function(){return Date.now()-this.start}})}(),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),i=this,n=function(){},s=function(){return i.apply(this instanceof n?this:t,e.concat(Array.prototype.slice.call(arguments)))};return this.prototype&&(n.prototype=this.prototype),s.prototype=new n,s})},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(4),u=i(1),c=i(16),h=i(5),d=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),f=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;if(void 0!==a)return a.call(n)},p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),d(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Dropdown",h.a.init(r.a),this._init(),l.a.register("Dropdown",{ENTER:"open",SPACE:"open",ESCAPE:"close"})}},{key:"_init",value:function(){var t=this.$element.attr("id");this.$anchors=r()('[data-toggle="'+t+'"]').length?r()('[data-toggle="'+t+'"]'):r()('[data-open="'+t+'"]'),this.$anchors.attr({"aria-controls":t,"data-is-focus":!1,"data-yeti-box":t,"aria-haspopup":!0,"aria-expanded":!1}),this._setCurrentAnchor(this.$anchors.first()),this.options.parentClass?this.$parent=this.$element.parents("."+this.options.parentClass):this.$parent=null,this.$element.attr({"aria-hidden":"true","data-yeti-box":t,"data-resize":t,"aria-labelledby":this.$currentAnchor.id||i.i(u.a)(6,"dd-anchor")}),f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_init",this).call(this),this._events()}},{key:"_getDefaultPosition",value:function(){var t=this.$element[0].className.match(/(top|left|right|bottom)/g);return t?t[0]:"bottom"}},{key:"_getDefaultAlignment",value:function(){var t=/float-(\S+)/.exec(this.$currentAnchor.className);return t?t[1]:f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_getDefaultAlignment",this).call(this)}},{key:"_setPosition",value:function(){f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_setPosition",this).call(this,this.$currentAnchor,this.$element,this.$parent)}},{key:"_setCurrentAnchor",value:function(t){this.$currentAnchor=r()(t)}},{key:"_events",value:function(){var t=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":this._setPosition.bind(this)}),this.$anchors.off("click.zf.trigger").on("click.zf.trigger",function(){t._setCurrentAnchor(this)}),this.options.hover&&(this.$anchors.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){t._setCurrentAnchor(this);var e=r()("body").data();"undefined"!=typeof e.whatinput&&"mouse"!==e.whatinput||(clearTimeout(t.timeout),t.timeout=setTimeout(function(){t.open(),t.$anchors.data("hover",!0)},t.options.hoverDelay))}).on("mouseleave.zf.dropdown",function(){clearTimeout(t.timeout),t.timeout=setTimeout(function(){t.close(),t.$anchors.data("hover",!1)},t.options.hoverDelay)}),this.options.hoverPane&&this.$element.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){clearTimeout(t.timeout)}).on("mouseleave.zf.dropdown",function(){clearTimeout(t.timeout),t.timeout=setTimeout(function(){t.close(),t.$anchors.data("hover",!1)},t.options.hoverDelay)})),this.$anchors.add(this.$element).on("keydown.zf.dropdown",function(e){var i=r()(this);l.a.findFocusable(t.$element);l.a.handleKey(e,"Dropdown",{open:function(){i.is(t.$anchors)&&(t.open(),t.$element.attr("tabindex",-1).focus(),e.preventDefault())},close:function(){t.close(),t.$anchors.focus()}})})}},{key:"_addBodyHandler",value:function(){var t=r()(document.body).not(this.$element),e=this;t.off("click.zf.dropdown").on("click.zf.dropdown",function(i){e.$anchors.is(i.target)||e.$anchors.find(i.target).length||e.$element.find(i.target).length||(e.close(),t.off("click.zf.dropdown"))})}},{key:"open",value:function(){if(this.$element.trigger("closeme.zf.dropdown",this.$element.attr("id")),this.$anchors.addClass("hover").attr({"aria-expanded":!0}),this.$element.addClass("is-opening"),this._setPosition(),this.$element.removeClass("is-opening").addClass("is-open").attr({"aria-hidden":!1}),this.options.autoFocus){var t=l.a.findFocusable(this.$element);t.length&&t.eq(0).focus()}this.options.closeOnClick&&this._addBodyHandler(),this.options.trapFocus&&l.a.trapFocus(this.$element),this.$element.trigger("show.zf.dropdown",[this.$element])}},{key:"close",value:function(){return!!this.$element.hasClass("is-open")&&(this.$element.removeClass("is-open").attr({"aria-hidden":!0}),this.$anchors.removeClass("hover").attr("aria-expanded",!1),this.$element.trigger("hide.zf.dropdown",[this.$element]),void(this.options.trapFocus&&l.a.releaseFocus(this.$element)))}},{key:"toggle",value:function(){if(this.$element.hasClass("is-open")){if(this.$anchors.data("hover"))return;this.close()}else this.open()}},{key:"_destroy",value:function(){this.$element.off(".zf.trigger").hide(),this.$anchors.off(".zf.dropdown"),r()(document.body).off("click.zf.dropdown")}}]),e}(c.a);p.defaults={parentClass:null,hoverDelay:250,hover:!1,hoverPane:!1,vOffset:0,hOffset:0,positionClass:"",position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!0,trapFocus:!1,autoFocus:!1,closeOnClick:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return f});var a=i(0),r=i.n(a),l=i(3),u=i(8),c=i(1),h=i(2),d=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),f=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),d(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Equalizer",this._init()}},{key:"_init",value:function(){var t=this.$element.attr("data-equalizer")||"",e=this.$element.find('[data-equalizer-watch="'+t+'"]');l.a._init(),this.$watched=e.length?e:this.$element.find("[data-equalizer-watch]"),this.$element.attr("data-resize",t||i.i(c.a)(6,"eq")),this.$element.attr("data-mutate",t||i.i(c.a)(6,"eq")),this.hasNested=this.$element.find("[data-equalizer]").length>0,this.isNested=this.$element.parentsUntil(document.body,"[data-equalizer]").length>0,this.isOn=!1,this._bindHandler={onResizeMeBound:this._onResizeMe.bind(this),onPostEqualizedBound:this._onPostEqualized.bind(this)};var n,s=this.$element.find("img");this.options.equalizeOn?(n=this._checkMQ(),r()(window).on("changed.zf.mediaquery",this._checkMQ.bind(this))):this._events(),(void 0!==n&&n===!1||void 0===n)&&(s.length?i.i(u.a)(s,this._reflow.bind(this)):this._reflow())}},{key:"_pauseEvents",value:function(){this.isOn=!1,this.$element.off({".zf.equalizer":this._bindHandler.onPostEqualizedBound,"resizeme.zf.trigger":this._bindHandler.onResizeMeBound,"mutateme.zf.trigger":this._bindHandler.onResizeMeBound})}},{key:"_onResizeMe",value:function(t){this._reflow()}},{key:"_onPostEqualized",value:function(t){t.target!==this.$element[0]&&this._reflow()}},{key:"_events",value:function(){this._pauseEvents(),this.hasNested?this.$element.on("postequalized.zf.equalizer",this._bindHandler.onPostEqualizedBound):(this.$element.on("resizeme.zf.trigger",this._bindHandler.onResizeMeBound),this.$element.on("mutateme.zf.trigger",this._bindHandler.onResizeMeBound)),this.isOn=!0}},{key:"_checkMQ",value:function(){var t=!l.a.is(this.options.equalizeOn);return t?this.isOn&&(this._pauseEvents(),this.$watched.css("height","auto")):this.isOn||this._events(),t}},{key:"_killswitch",value:function(){}},{key:"_reflow",value:function(){return!this.options.equalizeOnStack&&this._isStacked()?(this.$watched.css("height","auto"),!1):void(this.options.equalizeByRow?this.getHeightsByRow(this.applyHeightByRow.bind(this)):this.getHeights(this.applyHeight.bind(this)))}},{key:"_isStacked",value:function(){return!this.$watched[0]||!this.$watched[1]||this.$watched[0].getBoundingClientRect().top!==this.$watched[1].getBoundingClientRect().top}},{key:"getHeights",value:function(t){for(var e=[],i=0,n=this.$watched.length;i<n;i++)this.$watched[i].style.height="auto",e.push(this.$watched[i].offsetHeight);t(e)}},{key:"getHeightsByRow",value:function(t){var e=this.$watched.length?this.$watched.first().offset().top:0,i=[],n=0;i[n]=[];for(var s=0,o=this.$watched.length;s<o;s++){this.$watched[s].style.height="auto";var a=r()(this.$watched[s]).offset().top;a!=e&&(n++,i[n]=[],e=a),i[n].push([this.$watched[s],this.$watched[s].offsetHeight])}for(var l=0,u=i.length;l<u;l++){var c=r()(i[l]).map(function(){return this[1]}).get(),h=Math.max.apply(null,c);i[l].push(h)}t(i)}},{key:"applyHeight",value:function(t){var e=Math.max.apply(null,t);this.$element.trigger("preequalized.zf.equalizer"),this.$watched.css("height",e),this.$element.trigger("postequalized.zf.equalizer")}},{key:"applyHeightByRow",value:function(t){this.$element.trigger("preequalized.zf.equalizer");for(var e=0,i=t.length;e<i;e++){var n=t[e].length,s=t[e][n-1];if(n<=2)r()(t[e][0][0]).css({height:"auto"});else{this.$element.trigger("preequalizedrow.zf.equalizer");for(var o=0,a=n-1;o<a;o++)r()(t[e][o][0]).css({height:s});this.$element.trigger("postequalizedrow.zf.equalizer")}}this.$element.trigger("postequalized.zf.equalizer")}},{key:"_destroy",value:function(){this._pauseEvents(),this.$watched.css("height","auto")}}]),e}(h.a);f.defaults={equalizeOnStack:!1,equalizeByRow:!1,equalizeOn:""}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(3),u=i(2),c=i(1),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,i),this.rules=[],this.currentPath="",this.className="Interchange",this._init(),this._events()}},{key:"_init",value:function(){l.a._init();var t=this.$element[0].id||i.i(c.a)(6,"interchange");this.$element.attr({"data-resize":t,id:t}),this._addBreakpoints(),this._generateRules(),this._reflow()}},{key:"_events",value:function(){var t=this;this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(){return t._reflow()})}},{key:"_reflow",value:function(){var t;for(var e in this.rules)if(this.rules.hasOwnProperty(e)){var i=this.rules[e];window.matchMedia(i.query).matches&&(t=i)}t&&this.replace(t.path)}},{key:"_addBreakpoints",value:function(){for(var t in l.a.queries)if(l.a.queries.hasOwnProperty(t)){var i=l.a.queries[t];e.SPECIAL_QUERIES[i.name]=i.value}}},{key:"_generateRules",value:function(t){var i,n=[];i=this.options.rules?this.options.rules:this.$element.data("interchange"),i="string"==typeof i?i.match(/\[.*?\]/g):i;for(var s in i)if(i.hasOwnProperty(s)){var o=i[s].slice(1,-1).split(", "),a=o.slice(0,-1).join(""),r=o[o.length-1];e.SPECIAL_QUERIES[r]&&(r=e.SPECIAL_QUERIES[r]),n.push({path:a,query:r})}this.rules=n}},{key:"replace",value:function(t){if(this.currentPath!==t){var e=this,i="replaced.zf.interchange";"IMG"===this.$element[0].nodeName?this.$element.attr("src",t).on("load",function(){e.currentPath=t}).trigger(i):t.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)?(t=t.replace(/\(/g,"%28").replace(/\)/g,"%29"),this.$element.css({"background-image":"url("+t+")"}).trigger(i)):r.a.get(t,function(n){e.$element.html(n).trigger(i),r()(n).foundation(),e.currentPath=t})}}},{key:"_destroy",value:function(){this.$element.off("resizeme.zf.trigger")}}]),e}(u.a);d.defaults={rules:null},d.SPECIAL_QUERIES={landscape:"screen and (orientation: landscape)",portrait:"screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)"}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(1),u=i(2),c=i(14),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Magellan",this._init(),this.calcPoints()}},{key:"_init",value:function(){var t=this.$element[0].id||i.i(l.a)(6,"magellan");this.$targets=r()("[data-magellan-target]"),this.$links=this.$element.find("a"),this.$element.attr({"data-resize":t,"data-scroll":t,id:t}),this.$active=r()(),this.scrollPos=parseInt(window.pageYOffset,10),this._events()}},{key:"calcPoints",value:function(){var t=this,e=document.body,i=document.documentElement;this.points=[],this.winHeight=Math.round(Math.max(window.innerHeight,i.clientHeight)),this.docHeight=Math.round(Math.max(e.scrollHeight,e.offsetHeight,i.clientHeight,i.scrollHeight,i.offsetHeight)),this.$targets.each(function(){var e=r()(this),i=Math.round(e.offset().top-t.options.threshold);e.targetPoint=i,t.points.push(i)})}},{key:"_events",value:function(){var t=this;r()("html, body"),{duration:t.options.animationDuration,easing:t.options.animationEasing};r()(window).one("load",function(){t.options.deepLinking&&location.hash&&t.scrollToLoc(location.hash),t.calcPoints(),t._updateActive()}),this.$element.on({"resizeme.zf.trigger":this.reflow.bind(this),"scrollme.zf.trigger":this._updateActive.bind(this)}).on("click.zf.magellan",'a[href^="#"]',function(e){e.preventDefault();var i=this.getAttribute("href");t.scrollToLoc(i)}),this._deepLinkScroll=function(e){t.options.deepLinking&&t.scrollToLoc(window.location.hash)},r()(window).on("popstate",this._deepLinkScroll)}},{key:"scrollToLoc",value:function(t){this._inTransition=!0;var e=this,i={animationEasing:this.options.animationEasing,animationDuration:this.options.animationDuration,threshold:this.options.threshold,offset:this.options.offset};c.a.scrollToLoc(t,i,function(){e._inTransition=!1,e._updateActive()})}},{key:"reflow",value:function(){this.calcPoints(),this._updateActive()}},{key:"_updateActive",value:function(){if(!this._inTransition){var t,e=parseInt(window.pageYOffset,10);if(e+this.winHeight===this.docHeight)t=this.points.length-1;else if(e<this.points[0])t=void 0;else{var i=this.scrollPos<e,n=this,s=this.points.filter(function(t,s){return i?t-n.options.offset<=e:t-n.options.offset-n.options.threshold<=e});t=s.length?s.length-1:0}if(this.$active.removeClass(this.options.activeClass),this.$active=this.$links.filter('[href="#'+this.$targets.eq(t).data("magellan-target")+'"]').addClass(this.options.activeClass),this.options.deepLinking){var o="";void 0!=t&&(o=this.$active[0].getAttribute("href")),o!==window.location.hash&&(window.history.pushState?window.history.pushState(null,null,o):window.location.hash=o)}this.scrollPos=e,this.$element.trigger("update.zf.magellan",[this.$active])}}},{key:"_destroy",value:function(){if(this.$element.off(".zf.trigger .zf.magellan").find("."+this.options.activeClass).removeClass(this.options.activeClass),this.options.deepLinking){var t=this.$active[0].getAttribute("href");window.location.hash.replace(t,"")}r()(window).off("popstate",this._deepLinkScroll)}}]),e}(u.a);d.defaults={animationDuration:500,animationEasing:"linear",threshold:50,activeClass:"is-active",deepLinking:!1,offset:0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(4),u=i(3),c=i(1),h=i(2),d=i(5),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,i){var n=this;this.className="OffCanvas",this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.contentClasses={base:[],reveal:[]},this.$lastTrigger=r()(),this.$triggers=r()(),this.position="left",this.$content=r()(),this.nested=!!this.options.nested,r()(["push","overlap"]).each(function(t,e){n.contentClasses.base.push("has-transition-"+e)}),r()(["left","right","top","bottom"]).each(function(t,e){n.contentClasses.base.push("has-position-"+e),n.contentClasses.reveal.push("has-reveal-"+e)}),d.a.init(r.a),u.a._init(),this._init(),this._events(),l.a.register("OffCanvas",{ESCAPE:"close"})}},{key:"_init",value:function(){var t=this.$element.attr("id");if(this.$element.attr("aria-hidden","true"),this.options.contentId?this.$content=r()("#"+this.options.contentId):this.$element.siblings("[data-off-canvas-content]").length?this.$content=this.$element.siblings("[data-off-canvas-content]").first():this.$content=this.$element.closest("[data-off-canvas-content]").first(),this.options.contentId?this.options.contentId&&null===this.options.nested&&console.warn("Remember to use the nested option if using the content ID option!"):this.nested=0===this.$element.siblings("[data-off-canvas-content]").length,this.nested===!0&&(this.options.transition="overlap",this.$element.removeClass("is-transition-push")),this.$element.addClass("is-transition-"+this.options.transition+" is-closed"),this.$triggers=r()(document).find('[data-open="'+t+'"], [data-close="'+t+'"], [data-toggle="'+t+'"]').attr("aria-expanded","false").attr("aria-controls",t),this.position=this.$element.is(".position-left, .position-top, .position-right, .position-bottom")?this.$element.attr("class").match(/position\-(left|top|right|bottom)/)[1]:this.position,this.options.contentOverlay===!0){var e=document.createElement("div"),i="fixed"===r()(this.$element).css("position")?"is-overlay-fixed":"is-overlay-absolute";e.setAttribute("class","js-off-canvas-overlay "+i),this.$overlay=r()(e),"is-overlay-fixed"===i?r()(this.$overlay).insertAfter(this.$element):this.$content.append(this.$overlay)}this.options.isRevealed=this.options.isRevealed||new RegExp(this.options.revealClass,"g").test(this.$element[0].className),this.options.isRevealed===!0&&(this.options.revealOn=this.options.revealOn||this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split("-")[2],this._setMQChecker()),this.options.transitionTime&&this.$element.css("transition-duration",this.options.transitionTime),this._removeContentClasses()}},{key:"_events",value:function(){if(this.$element.off(".zf.trigger .zf.offcanvas").on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"keydown.zf.offcanvas":this._handleKeyboard.bind(this)}),this.options.closeOnClick===!0){var t=this.options.contentOverlay?this.$overlay:this.$content;t.on({"click.zf.offcanvas":this.close.bind(this)})}}},{key:"_setMQChecker",value:function(){var t=this;r()(window).on("changed.zf.mediaquery",function(){u.a.atLeast(t.options.revealOn)?t.reveal(!0):t.reveal(!1)}).one("load.zf.offcanvas",function(){u.a.atLeast(t.options.revealOn)&&t.reveal(!0)})}},{key:"_removeContentClasses",value:function(t){"boolean"!=typeof t?this.$content.removeClass(this.contentClasses.base.join(" ")):t===!1&&this.$content.removeClass("has-reveal-"+this.position)}},{key:"_addContentClasses",value:function(t){this._removeContentClasses(t),"boolean"!=typeof t?this.$content.addClass("has-transition-"+this.options.transition+" has-position-"+this.position):t===!0&&this.$content.addClass("has-reveal-"+this.position)}},{key:"reveal",value:function(t){t?(this.close(),this.isRevealed=!0,this.$element.attr("aria-hidden","false"),this.$element.off("open.zf.trigger toggle.zf.trigger"),this.$element.removeClass("is-closed")):(this.isRevealed=!1,this.$element.attr("aria-hidden","true"),this.$element.off("open.zf.trigger toggle.zf.trigger").on({"open.zf.trigger":this.open.bind(this),"toggle.zf.trigger":this.toggle.bind(this)}),this.$element.addClass("is-closed")),this._addContentClasses(t)}},{key:"_stopScrolling",value:function(t){return!1}},{key:"_recordScrollable",value:function(t){var e=this;e.scrollHeight!==e.clientHeight&&(0===e.scrollTop&&(e.scrollTop=1),e.scrollTop===e.scrollHeight-e.clientHeight&&(e.scrollTop=e.scrollHeight-e.clientHeight-1)),e.allowUp=e.scrollTop>0,e.allowDown=e.scrollTop<e.scrollHeight-e.clientHeight,e.lastY=t.originalEvent.pageY}},{key:"_stopScrollPropagation",value:function(t){var e=this,i=t.pageY<e.lastY,n=!i;e.lastY=t.pageY,i&&e.allowUp||n&&e.allowDown?t.stopPropagation():t.preventDefault()}},{key:"open",value:function(t,e){if(!this.$element.hasClass("is-open")&&!this.isRevealed){var n=this;e&&(this.$lastTrigger=e),"top"===this.options.forceTo?window.scrollTo(0,0):"bottom"===this.options.forceTo&&window.scrollTo(0,document.body.scrollHeight),this.options.transitionTime&&"overlap"!==this.options.transition?this.$element.siblings("[data-off-canvas-content]").css("transition-duration",this.options.transitionTime):this.$element.siblings("[data-off-canvas-content]").css("transition-duration",""),this.$element.addClass("is-open").removeClass("is-closed"),this.$triggers.attr("aria-expanded","true"),this.$element.attr("aria-hidden","false").trigger("opened.zf.offcanvas"),this.$content.addClass("is-open-"+this.position),this.options.contentScroll===!1&&(r()("body").addClass("is-off-canvas-open").on("touchmove",this._stopScrolling),this.$element.on("touchstart",this._recordScrollable),this.$element.on("touchmove",this._stopScrollPropagation)),this.options.contentOverlay===!0&&this.$overlay.addClass("is-visible"),this.options.closeOnClick===!0&&this.options.contentOverlay===!0&&this.$overlay.addClass("is-closable"),this.options.autoFocus===!0&&this.$element.one(i.i(c.b)(this.$element),function(){
-if(n.$element.hasClass("is-open")){var t=n.$element.find("[data-autofocus]");t.length?t.eq(0).focus():n.$element.find("a, button").eq(0).focus()}}),this.options.trapFocus===!0&&(this.$content.attr("tabindex","-1"),l.a.trapFocus(this.$element)),this._addContentClasses()}}},{key:"close",value:function(t){if(this.$element.hasClass("is-open")&&!this.isRevealed){var e=this;this.$element.removeClass("is-open"),this.$element.attr("aria-hidden","true").trigger("closed.zf.offcanvas"),this.$content.removeClass("is-open-left is-open-top is-open-right is-open-bottom"),this.options.contentScroll===!1&&(r()("body").removeClass("is-off-canvas-open").off("touchmove",this._stopScrolling),this.$element.off("touchstart",this._recordScrollable),this.$element.off("touchmove",this._stopScrollPropagation)),this.options.contentOverlay===!0&&this.$overlay.removeClass("is-visible"),this.options.closeOnClick===!0&&this.options.contentOverlay===!0&&this.$overlay.removeClass("is-closable"),this.$triggers.attr("aria-expanded","false"),this.options.trapFocus===!0&&(this.$content.removeAttr("tabindex"),l.a.releaseFocus(this.$element)),this.$element.one(i.i(c.b)(this.$element),function(t){e.$element.addClass("is-closed"),e._removeContentClasses()})}}},{key:"toggle",value:function(t,e){this.$element.hasClass("is-open")?this.close(t,e):this.open(t,e)}},{key:"_handleKeyboard",value:function(t){var e=this;l.a.handleKey(t,"OffCanvas",{close:function(){return e.close(),e.$lastTrigger.focus(),!0},handled:function(){t.stopPropagation(),t.preventDefault()}})}},{key:"_destroy",value:function(){this.close(),this.$element.off(".zf.trigger .zf.offcanvas"),this.$overlay.off(".zf.offcanvas")}}]),e}(h.a);p.defaults={closeOnClick:!0,contentOverlay:!0,contentId:null,nested:null,contentScroll:!0,transitionTime:null,transition:"push",forceTo:null,isRevealed:!1,revealOn:null,autoFocus:!0,revealClass:"reveal-for-",trapFocus:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return g});var a=i(0),r=i.n(a),l=i(4),u=i(6),c=i(34),h=i(8),d=i(1),f=i(2),p=i(17),m=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),g=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),m(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Orbit",p.a.init(r.a),this._init(),l.a.register("Orbit",{ltr:{ARROW_RIGHT:"next",ARROW_LEFT:"previous"},rtl:{ARROW_LEFT:"next",ARROW_RIGHT:"previous"}})}},{key:"_init",value:function(){this._reset(),this.$wrapper=this.$element.find("."+this.options.containerClass),this.$slides=this.$element.find("."+this.options.slideClass);var t=this.$element.find("img"),e=this.$slides.filter(".is-active"),n=this.$element[0].id||i.i(d.a)(6,"orbit");this.$element.attr({"data-resize":n,id:n}),e.length||this.$slides.eq(0).addClass("is-active"),this.options.useMUI||this.$slides.addClass("no-motionui"),t.length?i.i(h.a)(t,this._prepareForOrbit.bind(this)):this._prepareForOrbit(),this.options.bullets&&this._loadBullets(),this._events(),this.options.autoPlay&&this.$slides.length>1&&this.geoSync(),this.options.accessible&&this.$wrapper.attr("tabindex",0)}},{key:"_loadBullets",value:function(){this.$bullets=this.$element.find("."+this.options.boxOfBullets).find("button")}},{key:"geoSync",value:function(){var t=this;this.timer=new c.a(this.$element,{duration:this.options.timerDelay,infinite:!1},function(){t.changeSlide(!0)}),this.timer.start()}},{key:"_prepareForOrbit",value:function(){this._setWrapperHeight()}},{key:"_setWrapperHeight",value:function(t){var e,i=0,n=0,s=this;this.$slides.each(function(){e=this.getBoundingClientRect().height,r()(this).attr("data-slide",n),/mui/g.test(r()(this)[0].className)||s.$slides.filter(".is-active")[0]===s.$slides.eq(n)[0]||r()(this).css({position:"relative",display:"none"}),i=e>i?e:i,n++}),n===this.$slides.length&&(this.$wrapper.css({height:i}),t&&t(i))}},{key:"_setSlideHeight",value:function(t){this.$slides.each(function(){r()(this).css("max-height",t)})}},{key:"_events",value:function(){var t=this;if(this.$element.off(".resizeme.zf.trigger").on({"resizeme.zf.trigger":this._prepareForOrbit.bind(this)}),this.$slides.length>1){if(this.options.swipe&&this.$slides.off("swipeleft.zf.orbit swiperight.zf.orbit").on("swipeleft.zf.orbit",function(e){e.preventDefault(),t.changeSlide(!0)}).on("swiperight.zf.orbit",function(e){e.preventDefault(),t.changeSlide(!1)}),this.options.autoPlay&&(this.$slides.on("click.zf.orbit",function(){t.$element.data("clickedOn",!t.$element.data("clickedOn")),t.timer[t.$element.data("clickedOn")?"pause":"start"]()}),this.options.pauseOnHover&&this.$element.on("mouseenter.zf.orbit",function(){t.timer.pause()}).on("mouseleave.zf.orbit",function(){t.$element.data("clickedOn")||t.timer.start()})),this.options.navButtons){var e=this.$element.find("."+this.options.nextClass+", ."+this.options.prevClass);e.attr("tabindex",0).on("click.zf.orbit touchend.zf.orbit",function(e){e.preventDefault(),t.changeSlide(r()(this).hasClass(t.options.nextClass))})}this.options.bullets&&this.$bullets.on("click.zf.orbit touchend.zf.orbit",function(){if(/is-active/g.test(this.className))return!1;var e=r()(this).data("slide"),i=e>t.$slides.filter(".is-active").data("slide"),n=t.$slides.eq(e);t.changeSlide(i,n,e)}),this.options.accessible&&this.$wrapper.add(this.$bullets).on("keydown.zf.orbit",function(e){l.a.handleKey(e,"Orbit",{next:function(){t.changeSlide(!0)},previous:function(){t.changeSlide(!1)},handled:function(){r()(e.target).is(t.$bullets)&&t.$bullets.filter(".is-active").focus()}})})}}},{key:"_reset",value:function(){"undefined"!=typeof this.$slides&&this.$slides.length>1&&(this.$element.off(".zf.orbit").find("*").off(".zf.orbit"),this.options.autoPlay&&this.timer.restart(),this.$slides.each(function(t){r()(t).removeClass("is-active is-active is-in").removeAttr("aria-live").hide()}),this.$slides.first().addClass("is-active").show(),this.$element.trigger("slidechange.zf.orbit",[this.$slides.first()]),this.options.bullets&&this._updateBullets(0))}},{key:"changeSlide",value:function(t,e,i){if(this.$slides){var n=this.$slides.filter(".is-active").eq(0);if(/mui/g.test(n[0].className))return!1;var s,o=this.$slides.first(),a=this.$slides.last(),r=t?"Right":"Left",l=t?"Left":"Right",c=this;s=e?e:t?this.options.infiniteWrap?n.next("."+this.options.slideClass).length?n.next("."+this.options.slideClass):o:n.next("."+this.options.slideClass):this.options.infiniteWrap?n.prev("."+this.options.slideClass).length?n.prev("."+this.options.slideClass):a:n.prev("."+this.options.slideClass),s.length&&(this.$element.trigger("beforeslidechange.zf.orbit",[n,s]),this.options.bullets&&(i=i||this.$slides.index(s),this._updateBullets(i)),this.options.useMUI&&!this.$element.is(":hidden")?(u.a.animateIn(s.addClass("is-active").css({position:"absolute",top:0}),this.options["animInFrom"+r],function(){s.css({position:"relative",display:"block"}).attr("aria-live","polite")}),u.a.animateOut(n.removeClass("is-active"),this.options["animOutTo"+l],function(){n.removeAttr("aria-live"),c.options.autoPlay&&!c.timer.isPaused&&c.timer.restart()})):(n.removeClass("is-active is-in").removeAttr("aria-live").hide(),s.addClass("is-active is-in").attr("aria-live","polite").show(),this.options.autoPlay&&!this.timer.isPaused&&this.timer.restart()),this.$element.trigger("slidechange.zf.orbit",[s]))}}},{key:"_updateBullets",value:function(t){var e=this.$element.find("."+this.options.boxOfBullets).find(".is-active").removeClass("is-active").blur(),i=e.find("span:last").detach();this.$bullets.eq(t).addClass("is-active").append(i)}},{key:"_destroy",value:function(){this.$element.off(".zf.orbit").find("*").off(".zf.orbit").end().hide()}}]),e}(f.a);g.defaults={bullets:!0,navButtons:!0,animInFromRight:"slide-in-right",animOutToRight:"slide-out-right",animInFromLeft:"slide-in-left",animOutToLeft:"slide-out-left",autoPlay:!0,timerDelay:5e3,infiniteWrap:!0,swipe:!0,pauseOnHover:!0,accessible:!0,containerClass:"orbit-container",slideClass:"orbit-slide",boxOfBullets:"orbit-bullets",nextClass:"orbit-next",prevClass:"orbit-previous",useMUI:!0}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return m});var a=i(0),r=i.n(a),l=i(3),u=i(1),c=i(2),h=i(10),d=i(15),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p={tabs:{cssClass:"tabs",plugin:d.a},accordion:{cssClass:"accordion",plugin:h.a}},m=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,e){this.$element=r()(t),this.options=r.a.extend({},this.$element.data(),e),this.rules=this.$element.data("responsive-accordion-tabs"),this.currentMq=null,this.currentPlugin=null,this.className="ResponsiveAccordionTabs",this.$element.attr("id")||this.$element.attr("id",i.i(u.a)(6,"responsiveaccordiontabs")),this._init(),this._events()}},{key:"_init",value:function(){if(l.a._init(),"string"==typeof this.rules){for(var t={},e=this.rules.split(" "),i=0;i<e.length;i++){var n=e[i].split("-"),s=n.length>1?n[0]:"small",o=n.length>1?n[1]:n[0];null!==p[o]&&(t[s]=p[o])}this.rules=t}this._getAllOptions(),r.a.isEmptyObject(this.rules)||this._checkMediaQueries()}},{key:"_getAllOptions",value:function(){var t=this;t.allOptions={};for(var e in p)if(p.hasOwnProperty(e)){var i=p[e];try{var n=r()("<ul></ul>"),s=new i.plugin(n,t.options);for(var o in s.options)if(s.options.hasOwnProperty(o)&&"zfPlugin"!==o){var a=s.options[o];t.allOptions[o]=a}s.destroy()}catch(t){}}}},{key:"_events",value:function(){var t=this;r()(window).on("changed.zf.mediaquery",function(){t._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var t,e=this;r.a.each(this.rules,function(e){l.a.atLeast(e)&&(t=e)}),t&&(this.currentPlugin instanceof this.rules[t].plugin||(r.a.each(p,function(t,i){e.$element.removeClass(i.cssClass)}),this.$element.addClass(this.rules[t].cssClass),this.currentPlugin&&(!this.currentPlugin.$element.data("zfPlugin")&&this.storezfData&&this.currentPlugin.$element.data("zfPlugin",this.storezfData),this.currentPlugin.destroy()),this._handleMarkup(this.rules[t].cssClass),this.currentPlugin=new this.rules[t].plugin(this.$element,{}),this.storezfData=this.currentPlugin.$element.data("zfPlugin")))}},{key:"_handleMarkup",value:function(t){var e=this,n="accordion",s=r()("[data-tabs-content="+this.$element.attr("id")+"]");if(s.length&&(n="tabs"),n!==t){var o=e.allOptions.linkClass?e.allOptions.linkClass:"tabs-title",a=e.allOptions.panelClass?e.allOptions.panelClass:"tabs-panel";this.$element.removeAttr("role");var l=this.$element.children("."+o+",[data-accordion-item]").removeClass(o).removeClass("accordion-item").removeAttr("data-accordion-item"),c=l.children("a").removeClass("accordion-title");if("tabs"===n?(s=s.children("."+a).removeClass(a).removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby"),s.children("a").removeAttr("role").removeAttr("aria-controls").removeAttr("aria-selected")):s=l.children("[data-tab-content]").removeClass("accordion-content"),s.css({display:"",visibility:""}),l.css({display:"",visibility:""}),"accordion"===t)s.each(function(t,i){r()(i).appendTo(l.get(t)).addClass("accordion-content").attr("data-tab-content","").removeClass("is-active").css({height:""}),r()("[data-tabs-content="+e.$element.attr("id")+"]").after('<div id="tabs-placeholder-'+e.$element.attr("id")+'"></div>').detach(),l.addClass("accordion-item").attr("data-accordion-item",""),c.addClass("accordion-title")});else if("tabs"===t){var h=r()("[data-tabs-content="+e.$element.attr("id")+"]"),d=r()("#tabs-placeholder-"+e.$element.attr("id"));d.length?(h=r()('<div class="tabs-content"></div>').insertAfter(d).attr("data-tabs-content",e.$element.attr("id")),d.remove()):h=r()('<div class="tabs-content"></div>').insertAfter(e.$element).attr("data-tabs-content",e.$element.attr("id")),s.each(function(t,e){var n=r()(e).appendTo(h).addClass(a),s=c.get(t).hash.slice(1),o=r()(e).attr("id")||i.i(u.a)(6,"accordion");s!==o&&(""!==s?r()(e).attr("id",s):(s=o,r()(e).attr("id",s),r()(c.get(t)).attr("href",r()(c.get(t)).attr("href").replace("#","")+"#"+s)));var d=r()(l.get(t)).hasClass("is-active");d&&n.addClass("is-active")}),l.addClass(o)}}}},{key:"_destroy",value:function(){this.currentPlugin&&this.currentPlugin.destroy(),r()(window).off(".zf.ResponsiveAccordionTabs")}}]),e}(c.a);m.defaults={}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return g});var a=i(0),r=i.n(a),l=i(3),u=i(1),c=i(2),h=i(13),d=i(12),f=i(11),p=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),m={dropdown:{cssClass:"dropdown",plugin:h.a},drilldown:{cssClass:"drilldown",plugin:d.a},accordion:{cssClass:"accordion-menu",plugin:f.a}},g=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),p(e,[{key:"_setup",value:function(t,e){this.$element=r()(t),this.rules=this.$element.data("responsive-menu"),this.currentMq=null,this.currentPlugin=null,this.className="ResponsiveMenu",this._init(),this._events()}},{key:"_init",value:function(){if(l.a._init(),"string"==typeof this.rules){for(var t={},e=this.rules.split(" "),n=0;n<e.length;n++){var s=e[n].split("-"),o=s.length>1?s[0]:"small",a=s.length>1?s[1]:s[0];null!==m[a]&&(t[o]=m[a])}this.rules=t}r.a.isEmptyObject(this.rules)||this._checkMediaQueries(),this.$element.attr("data-mutate",this.$element.attr("data-mutate")||i.i(u.a)(6,"responsive-menu"))}},{key:"_events",value:function(){var t=this;r()(window).on("changed.zf.mediaquery",function(){t._checkMediaQueries()})}},{key:"_checkMediaQueries",value:function(){var t,e=this;r.a.each(this.rules,function(e){l.a.atLeast(e)&&(t=e)}),t&&(this.currentPlugin instanceof this.rules[t].plugin||(r.a.each(m,function(t,i){e.$element.removeClass(i.cssClass)}),this.$element.addClass(this.rules[t].cssClass),this.currentPlugin&&this.currentPlugin.destroy(),this.currentPlugin=new this.rules[t].plugin(this.$element,{})))}},{key:"_destroy",value:function(){this.currentPlugin.destroy(),r()(window).off(".zf.ResponsiveMenu")}}]),e}(c.a);g.defaults={}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(3),u=i(6),c=i(2),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=r()(t),this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="ResponsiveToggle",this._init(),this._events()}},{key:"_init",value:function(){l.a._init();var t=this.$element.data("responsive-toggle");if(t||console.error("Your tab bar needs an ID of a Menu as the value of data-tab-bar."),this.$targetMenu=r()("#"+t),this.$toggler=this.$element.find("[data-toggle]").filter(function(){var e=r()(this).data("toggle");return e===t||""===e}),this.options=r.a.extend({},this.options,this.$targetMenu.data()),this.options.animate){var e=this.options.animate.split(" ");this.animationIn=e[0],this.animationOut=e[1]||null}this._update()}},{key:"_events",value:function(){this._updateMqHandler=this._update.bind(this),r()(window).on("changed.zf.mediaquery",this._updateMqHandler),this.$toggler.on("click.zf.responsiveToggle",this.toggleMenu.bind(this))}},{key:"_update",value:function(){l.a.atLeast(this.options.hideFor)?(this.$element.hide(),this.$targetMenu.show()):(this.$element.show(),this.$targetMenu.hide())}},{key:"toggleMenu",value:function(){var t=this;l.a.atLeast(this.options.hideFor)||(this.options.animate?this.$targetMenu.is(":hidden")?u.a.animateIn(this.$targetMenu,this.animationIn,function(){t.$element.trigger("toggled.zf.responsiveToggle"),t.$targetMenu.find("[data-mutate]").triggerHandler("mutateme.zf.trigger")}):u.a.animateOut(this.$targetMenu,this.animationOut,function(){t.$element.trigger("toggled.zf.responsiveToggle")}):(this.$targetMenu.toggle(0),this.$targetMenu.find("[data-mutate]").trigger("mutateme.zf.trigger"),this.$element.trigger("toggled.zf.responsiveToggle")))}},{key:"_destroy",value:function(){this.$element.off(".zf.responsiveToggle"),this.$toggler.off(".zf.responsiveToggle"),r()(window).off("changed.zf.mediaquery",this._updateMqHandler)}}]),e}(c.a);d.defaults={hideFor:"medium",animate:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(){return/iP(ad|hone|od).*OS/.test(window.navigator.userAgent)}function r(){return/Android/.test(window.navigator.userAgent)}function l(){return a()||r()}i.d(e,"a",function(){return v});var u=i(0),c=i.n(u),h=i(4),d=i(3),f=i(6),p=i(2),m=i(5),g=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),v=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),g(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=c.a.extend({},e.defaults,this.$element.data(),i),this.className="Reveal",this._init(),m.a.init(c.a),h.a.register("Reveal",{ESCAPE:"close"})}},{key:"_init",value:function(){d.a._init(),this.id=this.$element.attr("id"),this.isActive=!1,this.cached={mq:d.a.current},this.isMobile=l(),this.$anchor=c()('[data-open="'+this.id+'"]').length?c()('[data-open="'+this.id+'"]'):c()('[data-toggle="'+this.id+'"]'),this.$anchor.attr({"aria-controls":this.id,"aria-haspopup":!0,tabindex:0}),(this.options.fullScreen||this.$element.hasClass("full"))&&(this.options.fullScreen=!0,this.options.overlay=!1),this.options.overlay&&!this.$overlay&&(this.$overlay=this._makeOverlay(this.id)),this.$element.attr({role:"dialog","aria-hidden":!0,"data-yeti-box":this.id,"data-resize":this.id}),this.$overlay?this.$element.detach().appendTo(this.$overlay):(this.$element.detach().appendTo(c()(this.options.appendTo)),this.$element.addClass("without-overlay")),this._events(),this.options.deepLink&&window.location.hash==="#"+this.id&&c()(window).one("load.zf.reveal",this.open.bind(this))}},{key:"_makeOverlay",value:function(){var t="";return this.options.additionalOverlayClasses&&(t=" "+this.options.additionalOverlayClasses),c()("<div></div>").addClass("reveal-overlay"+t).appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var t,e,i=this.$element.outerWidth(),n=c()(window).width(),s=this.$element.outerHeight(),o=c()(window).height();t="auto"===this.options.hOffset?parseInt((n-i)/2,10):parseInt(this.options.hOffset,10),e="auto"===this.options.vOffset?s>o?parseInt(Math.min(100,o/10),10):parseInt((o-s)/4,10):parseInt(this.options.vOffset,10),this.$element.css({top:e+"px"}),this.$overlay&&"auto"===this.options.hOffset||(this.$element.css({left:t+"px"}),this.$element.css({margin:"0px"}))}},{key:"_events",value:function(){var t=this,e=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":function(i,n){if(i.target===e.$element[0]||c()(i.target).parents("[data-closable]")[0]===n)return t.close.apply(t)},"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":function(){e._updatePosition()}}),this.options.closeOnClick&&this.options.overlay&&this.$overlay.off(".zf.reveal").on("click.zf.reveal",function(t){t.target!==e.$element[0]&&!c.a.contains(e.$element[0],t.target)&&c.a.contains(document,t.target)&&e.close()}),this.options.deepLink&&c()(window).on("popstate.zf.reveal:"+this.id,this._handleState.bind(this))}},{key:"_handleState",value:function(t){window.location.hash!=="#"+this.id||this.isActive?this.close():this.open()}},{key:"open",value:function(){function t(){n.isMobile?(n.originalScrollPos||(n.originalScrollPos=window.pageYOffset),c()("html, body").addClass("is-reveal-open")):c()("body").addClass("is-reveal-open")}var e=this;if(this.options.deepLink){var i="#"+this.id;window.history.pushState?this.options.updateHistory?window.history.pushState({},"",i):window.history.replaceState({},"",i):window.location.hash=i}this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id);var n=this;this.options.animationIn?!function(){var i=function(){n.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),t(),h.a.trapFocus(n.$element)};e.options.overlay&&f.a.animateIn(e.$overlay,"fade-in"),f.a.animateIn(e.$element,e.options.animationIn,function(){e.$element&&(e.focusableElements=h.a.findFocusable(e.$element),i())})}():(this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay)),this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),h.a.trapFocus(this.$element),t(),this._extraHandlers(),this.$element.trigger("open.zf.reveal")}},{key:"_extraHandlers",value:function(){var t=this;this.$element&&(this.focusableElements=h.a.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||c()("body").on("click.zf.reveal",function(e){e.target!==t.$element[0]&&!c.a.contains(t.$element[0],e.target)&&c.a.contains(document,e.target)&&t.close()}),this.options.closeOnEsc&&c()(window).on("keydown.zf.reveal",function(e){h.a.handleKey(e,"Reveal",{close:function(){t.options.closeOnEsc&&t.close()}})}))}},{key:"close",value:function(){function t(){e.isMobile?(0===c()(".reveal:visible").length&&c()("html, body").removeClass("is-reveal-open"),e.originalScrollPos&&(c()("body").scrollTop(e.originalScrollPos),e.originalScrollPos=null)):0===c()(".reveal:visible").length&&c()("body").removeClass("is-reveal-open"),h.a.releaseFocus(e.$element),e.$element.attr("aria-hidden",!0),e.$element.trigger("closed.zf.reveal")}if(!this.isActive||!this.$element.is(":visible"))return!1;var e=this;this.options.animationOut?(this.options.overlay&&f.a.animateOut(this.$overlay,"fade-out"),f.a.animateOut(this.$element,this.options.animationOut,t)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,t):t()),this.options.closeOnEsc&&c()(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&c()("body").off("click.zf.reveal"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,e.options.deepLink&&(window.history.replaceState?window.history.replaceState("",document.title,window.location.href.replace("#"+this.id,"")):window.location.hash=""),this.$anchor.focus()}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"_destroy",value:function(){this.options.overlay&&(this.$element.appendTo(c()(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),c()(window).off(".zf.reveal:"+this.id)}}]),e}(p.a);v.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,btmOffsetPct:10,overlay:!0,resetOnClose:!1,deepLink:!1,updateHistory:!1,appendTo:"body",additionalOverlayClasses:""}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t,e){return t/e}function r(t,e,i,n){return Math.abs(t.position()[e]+t[n]()/2-i)}function l(t,e){return Math.log(e)/Math.log(t)}i.d(e,"a",function(){return b});var u=i(0),c=i.n(u),h=i(4),d=i(6),f=i(1),p=i(2),m=i(17),g=i(5),v=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),b=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),v(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=c.a.extend({},e.defaults,this.$element.data(),i),this.className="Slider",m.a.init(c.a),g.a.init(c.a),this._init(),h.a.register("Slider",{ltr:{ARROW_RIGHT:"increase",ARROW_UP:"increase",ARROW_DOWN:"decrease",ARROW_LEFT:"decrease",SHIFT_ARROW_RIGHT:"increase_fast",SHIFT_ARROW_UP:"increase_fast",SHIFT_ARROW_DOWN:"decrease_fast",SHIFT_ARROW_LEFT:"decrease_fast",HOME:"min",END:"max"},rtl:{ARROW_LEFT:"increase",ARROW_RIGHT:"decrease",SHIFT_ARROW_LEFT:"increase_fast",SHIFT_ARROW_RIGHT:"decrease_fast"}})}},{key:"_init",value:function(){this.inputs=this.$element.find("input"),this.handles=this.$element.find("[data-slider-handle]"),this.$handle=this.handles.eq(0),this.$input=this.inputs.length?this.inputs.eq(0):c()("#"+this.$handle.attr("aria-controls")),this.$fill=this.$element.find("[data-slider-fill]").css(this.options.vertical?"height":"width",0);var t=!1;(this.options.disabled||this.$element.hasClass(this.options.disabledClass))&&(this.options.disabled=!0,this.$element.addClass(this.options.disabledClass)),this.inputs.length||(this.inputs=c()().add(this.$input),this.options.binding=!0),this._setInitAttr(0),this.handles[1]&&(this.options.doubleSided=!0,this.$handle2=this.handles.eq(1),this.$input2=this.inputs.length>1?this.inputs.eq(1):c()("#"+this.$handle2.attr("aria-controls")),this.inputs[1]||(this.inputs=this.inputs.add(this.$input2)),t=!0,this._setInitAttr(1)),this.setHandles(),this._events()}},{key:"setHandles",value:function(){var t=this;this.handles[1]?this._setHandlePos(this.$handle,this.inputs.eq(0).val(),!0,function(){t._setHandlePos(t.$handle2,t.inputs.eq(1).val(),!0)}):this._setHandlePos(this.$handle,this.inputs.eq(0).val(),!0)}},{key:"_reflow",value:function(){this.setHandles()}},{key:"_pctOfBar",value:function(t){var e=a(t-this.options.start,this.options.end-this.options.start);switch(this.options.positionValueFunction){case"pow":e=this._logTransform(e);break;case"log":e=this._powTransform(e)}return e.toFixed(2)}},{key:"_value",value:function(t){switch(this.options.positionValueFunction){case"pow":t=this._powTransform(t);break;case"log":t=this._logTransform(t)}var e=(this.options.end-this.options.start)*t+this.options.start;return e}},{key:"_logTransform",value:function(t){return l(this.options.nonLinearBase,t*(this.options.nonLinearBase-1)+1)}},{key:"_powTransform",value:function(t){return(Math.pow(this.options.nonLinearBase,t)-1)/(this.options.nonLinearBase-1)}},{key:"_setHandlePos",value:function(t,e,n,s){if(!this.$element.hasClass(this.options.disabledClass)){e=parseFloat(e),e<this.options.start?e=this.options.start:e>this.options.end&&(e=this.options.end);var o=this.options.doubleSided;if(this.options.vertical&&!n&&(e=this.options.end-e),o)if(0===this.handles.index(t)){var r=parseFloat(this.$handle2.attr("aria-valuenow"));e=e>=r?r-this.options.step:e}else{var l=parseFloat(this.$handle.attr("aria-valuenow"));e=e<=l?l+this.options.step:e}var u=this,c=this.options.vertical,h=c?"height":"width",f=c?"top":"left",p=t[0].getBoundingClientRect()[h],m=this.$element[0].getBoundingClientRect()[h],g=this._pctOfBar(e),v=(m-p)*g,b=(100*a(v,m)).toFixed(this.options.decimal);e=parseFloat(e.toFixed(this.options.decimal));var y={};if(this._setValues(t,e),o){var w,_=0===this.handles.index(t),$=~~(100*a(p,m));if(_)y[f]=b+"%",w=parseFloat(this.$handle2[0].style[f])-b+$,s&&"function"==typeof s&&s();else{var k=parseFloat(this.$handle[0].style[f]);w=b-(isNaN(k)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):k)+$}y["min-"+h]=w+"%"}this.$element.one("finished.zf.animate",function(){u.$element.trigger("moved.zf.slider",[t])});var C=this.$element.data("dragging")?1e3/60:this.options.moveTime;i.i(d.b)(C,t,function(){isNaN(b)?t.css(f,100*g+"%"):t.css(f,b+"%"),u.options.doubleSided?u.$fill.css(y):u.$fill.css(h,100*g+"%");
-}),clearTimeout(u.timeout),u.timeout=setTimeout(function(){u.$element.trigger("changed.zf.slider",[t])},u.options.changedDelay)}}},{key:"_setInitAttr",value:function(t){var e=0===t?this.options.initialStart:this.options.initialEnd,n=this.inputs.eq(t).attr("id")||i.i(f.a)(6,"slider");this.inputs.eq(t).attr({id:n,max:this.options.end,min:this.options.start,step:this.options.step}),this.inputs.eq(t).val(e),this.handles.eq(t).attr({role:"slider","aria-controls":n,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":e,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var i=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(i).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(t,e,n){var s,o;if(n)s=this._adjustValue(null,n),o=!0;else{t.preventDefault();var l=this,u=this.options.vertical,h=u?"height":"width",d=u?"top":"left",p=u?t.pageY:t.pageX,m=(this.$handle[0].getBoundingClientRect()[h]/2,this.$element[0].getBoundingClientRect()[h]),g=u?c()(window).scrollTop():c()(window).scrollLeft(),v=this.$element.offset()[d];t.clientY===t.pageY&&(p+=g);var b,y=p-v;b=y<0?0:y>m?m:y;var w=a(b,m);if(s=this._value(w),i.i(f.c)()&&!this.options.vertical&&(s=this.options.end-s),s=l._adjustValue(null,s),o=!1,!e){var _=r(this.$handle,d,b,h),$=r(this.$handle2,d,b,h);e=_<=$?this.$handle:this.$handle2}}this._setHandlePos(e,s,o)}},{key:"_adjustValue",value:function(t,e){var i,n,s,o,a=this.options.step,r=parseFloat(a/2);return i=t?parseFloat(t.attr("aria-valuenow")):e,n=i%a,s=i-n,o=s+a,0===n?i:i=i>=s+r?o:s}},{key:"_events",value:function(){this._eventsForHandle(this.$handle),this.handles[1]&&this._eventsForHandle(this.$handle2)}},{key:"_eventsForHandle",value:function(t){var e,i=this;if(this.inputs.off("change.zf.slider").on("change.zf.slider",function(t){var e=i.inputs.index(c()(this));i._handleEvent(t,i.handles.eq(e),c()(this).val())}),this.options.clickSelect&&this.$element.off("click.zf.slider").on("click.zf.slider",function(t){return!i.$element.data("dragging")&&void(c()(t.target).is("[data-slider-handle]")||(i.options.doubleSided?i._handleEvent(t):i._handleEvent(t,i.$handle)))}),this.options.draggable){this.handles.addTouch();var n=c()("body");t.off("mousedown.zf.slider").on("mousedown.zf.slider",function(s){t.addClass("is-dragging"),i.$fill.addClass("is-dragging"),i.$element.data("dragging",!0),e=c()(s.currentTarget),n.on("mousemove.zf.slider",function(t){t.preventDefault(),i._handleEvent(t,e)}).on("mouseup.zf.slider",function(s){i._handleEvent(s,e),t.removeClass("is-dragging"),i.$fill.removeClass("is-dragging"),i.$element.data("dragging",!1),n.off("mousemove.zf.slider mouseup.zf.slider")})}).on("selectstart.zf.slider touchmove.zf.slider",function(t){t.preventDefault()})}t.off("keydown.zf.slider").on("keydown.zf.slider",function(t){var e,n=c()(this),s=i.options.doubleSided?i.handles.index(n):0,o=parseFloat(i.inputs.eq(s).val());h.a.handleKey(t,"Slider",{decrease:function(){e=o-i.options.step},increase:function(){e=o+i.options.step},decrease_fast:function(){e=o-10*i.options.step},increase_fast:function(){e=o+10*i.options.step},min:function(){e=i.options.start},max:function(){e=i.options.end},handled:function(){t.preventDefault(),i._setHandlePos(n,e,!0)}})})}},{key:"_destroy",value:function(){this.handles.off(".zf.slider"),this.inputs.off(".zf.slider"),this.$element.off(".zf.slider"),clearTimeout(this.timeout)}}]),e}(p.a);b.defaults={start:0,end:100,step:1,initialStart:0,initialEnd:100,binding:!1,clickSelect:!0,vertical:!1,draggable:!0,disabled:!1,doubleSided:!1,decimal:2,moveTime:200,disabledClass:"disabled",invertVertical:!1,changedDelay:500,nonLinearBase:5,positionValueFunction:"linear"}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}i.d(e,"a",function(){return p});var r=i(0),l=i.n(r),u=i(1),c=i(3),h=i(2),d=i(5),f=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),f(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=l.a.extend({},e.defaults,this.$element.data(),i),this.className="Sticky",d.a.init(l.a),this._init()}},{key:"_init",value:function(){c.a._init();var t=this.$element.parent("[data-sticky-container]"),e=this.$element[0].id||i.i(u.a)(6,"sticky"),n=this;t.length?this.$container=t:(this.wasWrapped=!0,this.$element.wrap(this.options.container),this.$container=this.$element.parent()),this.$container.addClass(this.options.containerClass),this.$element.addClass(this.options.stickyClass).attr({"data-resize":e,"data-mutate":e}),""!==this.options.anchor&&l()("#"+n.options.anchor).attr({"data-mutate":e}),this.scrollCount=this.options.checkEvery,this.isStuck=!1,l()(window).one("load.zf.sticky",function(){n.containerHeight="none"==n.$element.css("display")?0:n.$element[0].getBoundingClientRect().height,n.$container.css("height",n.containerHeight),n.elemHeight=n.containerHeight,""!==n.options.anchor?n.$anchor=l()("#"+n.options.anchor):n._parsePoints(),n._setSizes(function(){var t=window.pageYOffset;n._calc(!1,t),n.isStuck||n._removeSticky(!(t>=n.topPoint))}),n._events(e.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var t=""==this.options.topAnchor?1:this.options.topAnchor,e=""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor,i=[t,e],n={},s=0,o=i.length;s<o&&i[s];s++){var a;if("number"==typeof i[s])a=i[s];else{var r=i[s].split(":"),u=l()("#"+r[0]);a=u.offset().top,r[1]&&"bottom"===r[1].toLowerCase()&&(a+=u[0].getBoundingClientRect().height)}n[s]=a}this.points=n}},{key:"_events",value:function(t){var e=this,i=this.scrollListener="scroll.zf."+t;this.isOn||(this.canStick&&(this.isOn=!0,l()(window).off(i).on(i,function(t){0===e.scrollCount?(e.scrollCount=e.options.checkEvery,e._setSizes(function(){e._calc(!1,window.pageYOffset)})):(e.scrollCount--,e._calc(!1,window.pageYOffset))})),this.$element.off("resizeme.zf.trigger").on("resizeme.zf.trigger",function(i,n){e._eventsHandler(t)}),this.$element.on("mutateme.zf.trigger",function(i,n){e._eventsHandler(t)}),this.$anchor&&this.$anchor.on("mutateme.zf.trigger",function(i,n){e._eventsHandler(t)}))}},{key:"_eventsHandler",value:function(t){var e=this,i=this.scrollListener="scroll.zf."+t;e._setSizes(function(){e._calc(!1),e.canStick?e.isOn||e._events(t):e.isOn&&e._pauseListeners(i)})}},{key:"_pauseListeners",value:function(t){this.isOn=!1,l()(window).off(t),this.$element.trigger("pause.zf.sticky")}},{key:"_calc",value:function(t,e){return t&&this._setSizes(),this.canStick?(e||(e=window.pageYOffset),void(e>=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0))):(this.isStuck&&this._removeSticky(!0),!1)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,i="top"===e?"marginTop":"marginBottom",n="top"===e?"bottom":"top",s={};s[i]=this.options[i]+"em",s[e]=0,s[n]="auto",this.isStuck=!0,this.$element.removeClass("is-anchored is-at-"+n).addClass("is-stuck is-at-"+e).css(s).trigger("sticky.zf.stuckto:"+e),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,i="top"===e,n={},s=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,o=i?"marginTop":"marginBottom",a=t?"top":"bottom";n[o]=0,n.bottom="auto",t?n.top=0:n.top=s,this.isStuck=!1,this.$element.removeClass("is-stuck is-at-"+e).addClass("is-anchored is-at-"+a).css(n).trigger("sticky.zf.unstuckfrom:"+a)}},{key:"_setSizes",value:function(t){this.canStick=c.a.is(this.options.stickyOn),this.canStick||t&&"function"==typeof t&&t();var e=this.$container[0].getBoundingClientRect().width,i=window.getComputedStyle(this.$container[0]),n=parseInt(i["padding-left"],10),s=parseInt(i["padding-right"],10);this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":e-n-s+"px"});var o=this.$element[0].getBoundingClientRect().height||this.containerHeight;if("none"==this.$element.css("display")&&(o=0),this.containerHeight=o,this.$container.css({height:o}),this.elemHeight=o,!this.isStuck&&this.$element.hasClass("is-at-bottom")){var a=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight;this.$element.css("top",a)}this._setBreakPoints(o,function(){t&&"function"==typeof t&&t()})}},{key:"_setBreakPoints",value:function(t,e){if(!this.canStick){if(!e||"function"!=typeof e)return!1;e()}var i=a(this.options.marginTop),n=a(this.options.marginBottom),s=this.points?this.points[0]:this.$anchor.offset().top,o=this.points?this.points[1]:s+this.anchorHeight,r=window.innerHeight;"top"===this.options.stickTo?(s-=i,o-=t+i):"bottom"===this.options.stickTo&&(s-=r-(t+n),o-=r-n),this.topPoint=s,this.bottomPoint=o,e&&"function"==typeof e&&e()}},{key:"_destroy",value:function(){this._removeSticky(!0),this.$element.removeClass(this.options.stickyClass+" is-anchored is-at-top").css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger").off("mutateme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),l()(window).off(this.scrollListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""})}}]),e}(h.a);p.defaults={container:"<div data-sticky-container></div>",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",checkEvery:-1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return d});var a=i(0),r=i.n(a),l=i(6),u=i(2),c=i(5),h=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),d=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),h(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,t.data(),i),this.className="",this.className="Toggler",c.a.init(r.a),this._init(),this._events()}},{key:"_init",value:function(){var t;this.options.animate?(t=this.options.animate.split(" "),this.animationIn=t[0],this.animationOut=t[1]||null):(t=this.$element.data("toggler"),this.className="."===t[0]?t.slice(1):t);var e=this.$element[0].id;r()('[data-open="'+e+'"], [data-close="'+e+'"], [data-toggle="'+e+'"]').attr("aria-controls",e),this.$element.attr("aria-expanded",!this.$element.is(":hidden"))}},{key:"_events",value:function(){this.$element.off("toggle.zf.trigger").on("toggle.zf.trigger",this.toggle.bind(this))}},{key:"toggle",value:function(){this[this.options.animate?"_toggleAnimate":"_toggleClass"]()}},{key:"_toggleClass",value:function(){this.$element.toggleClass(this.className);var t=this.$element.hasClass(this.className);t?this.$element.trigger("on.zf.toggler"):this.$element.trigger("off.zf.toggler"),this._updateARIA(t),this.$element.find("[data-mutate]").trigger("mutateme.zf.trigger")}},{key:"_toggleAnimate",value:function(){var t=this;this.$element.is(":hidden")?l.a.animateIn(this.$element,this.animationIn,function(){t._updateARIA(!0),this.trigger("on.zf.toggler"),this.find("[data-mutate]").trigger("mutateme.zf.trigger")}):l.a.animateOut(this.$element,this.animationOut,function(){t._updateARIA(!1),this.trigger("off.zf.toggler"),this.find("[data-mutate]").trigger("mutateme.zf.trigger")})}},{key:"_updateARIA",value:function(t){this.$element.attr("aria-expanded",!!t)}},{key:"_destroy",value:function(){this.$element.off(".zf.toggler")}}]),e}(u.a);d.defaults={animate:!1}},function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.d(e,"a",function(){return p});var a=i(0),r=i.n(a),l=i(1),u=i(3),c=i(5),h=i(16),d=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),f=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;if(void 0!==a)return a.call(n)},p=function(t){function e(){return n(this,e),s(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),d(e,[{key:"_setup",value:function(t,i){this.$element=t,this.options=r.a.extend({},e.defaults,this.$element.data(),i),this.className="Tooltip",this.isActive=!1,this.isClick=!1,c.a.init(r.a),this._init()}},{key:"_init",value:function(){u.a._init();var t=this.$element.attr("aria-describedby")||i.i(l.a)(6,"tooltip");this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?r()(this.options.template):this._buildTemplate(t),this.options.allowHtml?this.template.appendTo(document.body).html(this.options.tipText).hide():this.template.appendTo(document.body).text(this.options.tipText).hide(),this.$element.attr({title:"","aria-describedby":t,"data-yeti-box":t,"data-toggle":t,"data-resize":t}).addClass(this.options.triggerClass),f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_init",this).call(this),this._events()}},{key:"_getDefaultPosition",value:function(){var t=this.$element[0].className.match(/\b(top|left|right|bottom)\b/g);return t?t[0]:"top"}},{key:"_getDefaultAlignment",value:function(){return"center"}},{key:"_getHOffset",value:function(){return"left"===this.position||"right"===this.position?this.options.hOffset+this.options.tooltipWidth:this.options.hOffset}},{key:"_getVOffset",value:function(){return"top"===this.position||"bottom"===this.position?this.options.vOffset+this.options.tooltipHeight:this.options.vOffset}},{key:"_buildTemplate",value:function(t){var e=(this.options.tooltipClass+" "+this.options.positionClass+" "+this.options.templateClasses).trim(),i=r()("<div></div>").addClass(e).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:t});return i}},{key:"_setPosition",value:function(){f(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"_setPosition",this).call(this,this.$element,this.template)}},{key:"show",value:function(){if("all"!==this.options.showOn&&!u.a.is(this.options.showOn))return!1;var t=this;this.template.css("visibility","hidden").show(),this._setPosition(),this.template.removeClass("top bottom left right").addClass(this.position),this.template.removeClass("align-top align-bottom align-left align-right align-center").addClass("align-"+this.alignment),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),t.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var t=this,e=(this.template,!1);this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(e){t.isActive||(t.timeout=setTimeout(function(){t.show()},t.options.hoverDelay))}).on("mouseleave.zf.tooltip",function(i){clearTimeout(t.timeout),(!e||t.isClick&&!t.options.clickOpen)&&t.hide()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick||(t.isClick=!0,!t.options.disableHover&&t.$element.attr("tabindex")||t.isActive||t.show())}):this.$element.on("mousedown.zf.tooltip",function(e){e.stopImmediatePropagation(),t.isClick=!0}),this.options.disableForTouch||this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(e){t.isActive?t.hide():t.show()}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(i){return e=!0,t.isClick?(t.options.clickOpen||(e=!1),!1):void t.show()}).on("focusout.zf.tooltip",function(i){e=!1,t.isClick=!1,t.hide()}).on("resizeme.zf.trigger",function(){t.isActive&&t._setPosition()})}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"_destroy",value:function(){this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tooltip").removeClass("has-tip top right left").removeAttr("aria-describedby aria-haspopup data-disable-hover data-resize data-toggle data-tooltip data-yeti-box"),this.template.remove()}}]),e}(h.a);p.defaults={disableForTouch:!1,hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,positionClass:"",position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!1,vOffset:0,hOffset:0,tooltipHeight:14,tooltipWidth:12,allowHtml:!1}},function(t,e,i){"use strict";function n(t,e,i){var n,s,o=this,a=e.duration,r=Object.keys(t.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(s),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(s),l=l<=0?a:l,t.data("paused",!1),n=Date.now(),s=setTimeout(function(){e.infinite&&o.restart(),i&&"function"==typeof i&&i()},l),t.trigger("timerstart.zf."+r)},this.pause=function(){this.isPaused=!0,clearTimeout(s),t.data("paused",!0);var e=Date.now();l-=e-n,t.trigger("timerpaused.zf."+r)}}i.d(e,"a",function(){return n});var s=i(0);i.n(s)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),s=i.n(n),o=i(19),a=i(3),r=i(5),l=i(30),u=i(12),c=i(11),h=i(13),d=i(23),f=i(27),p=i(10),m=i(20),g=i(24),v=i(15),b=i(29),y=i(26),w=i(33),_=i(25),$=i(31),k=i(22),C=i(28),z=i(32),O=i(18),T=i(21),E=i(14);o.a.addToJquery(s.a),o.a.MediaQuery=a.a,r.a.init(s.a,o.a),o.a.plugin(l.a,"Slider"),o.a.plugin(u.a,"Drilldown"),o.a.plugin(c.a,"AccordionMenu"),o.a.plugin(h.a,"DropdownMenu"),o.a.plugin(d.a,"Magellan"),o.a.plugin(f.a,"ResponsiveMenu"),o.a.plugin(p.a,"Accordion"),o.a.plugin(m.a,"Dropdown"),o.a.plugin(g.a,"OffCanvas"),o.a.plugin(v.a,"Tabs"),o.a.plugin(b.a,"Reveal"),o.a.plugin(y.a,"ResponsiveAccordionTabs"),o.a.plugin(w.a,"Tooltip"),o.a.plugin(_.a,"Orbit"),o.a.plugin($.a,"Sticky"),o.a.plugin(k.a,"Interchange"),o.a.plugin(C.a,"ResponsiveToggle"),o.a.plugin(z.a,"Toggler"),o.a.plugin(O.a,"Abide"),o.a.plugin(T.a,"Equalizer"),o.a.plugin(E.a,"SmoothScroll")}]);
diff --git a/webskin/src/main/resources/js/vendor/jquery-3.2.1.min.js b/webskin/src/main/resources/js/vendor/jquery-3.2.1.min.js
deleted file mode 100644
index 644d35e..0000000
--- a/webskin/src/main/resources/js/vendor/jquery-3.2.1.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),
-a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),
-null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r});
diff --git a/webskin/src/main/resources/js/vendor/jquery.colorbox-min.js b/webskin/src/main/resources/js/vendor/jquery.colorbox-min.js
deleted file mode 100644
index b5109a2..0000000
--- a/webskin/src/main/resources/js/vendor/jquery.colorbox-min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
-	Colorbox 1.6.4
-	license: MIT
-	http://www.jacklmoore.com/colorbox
-*/
-(function(t,e,i){function n(i,n,o){var r=e.createElement(i);return n&&(r.id=Z+n),o&&(r.style.cssText=o),t(r)}function o(){return i.innerHeight?i.innerHeight:t(i).height()}function r(e,i){i!==Object(i)&&(i={}),this.cache={},this.el=e,this.value=function(e){var n;return void 0===this.cache[e]&&(n=t(this.el).attr("data-cbox-"+e),void 0!==n?this.cache[e]=n:void 0!==i[e]?this.cache[e]=i[e]:void 0!==X[e]&&(this.cache[e]=X[e])),this.cache[e]},this.get=function(e){var i=this.value(e);return t.isFunction(i)?i.call(this.el,this):i}}function h(t){var e=W.length,i=(A+t)%e;return 0>i?e+i:i}function a(t,e){return Math.round((/%/.test(t)?("x"===e?E.width():o())/100:1)*parseInt(t,10))}function s(t,e){return t.get("photo")||t.get("photoRegex").test(e)}function l(t,e){return t.get("retinaUrl")&&i.devicePixelRatio>1?e.replace(t.get("photoRegex"),t.get("retinaSuffix")):e}function d(t){"contains"in x[0]&&!x[0].contains(t.target)&&t.target!==v[0]&&(t.stopPropagation(),x.focus())}function c(t){c.str!==t&&(x.add(v).removeClass(c.str).addClass(t),c.str=t)}function g(e){A=0,e&&e!==!1&&"nofollow"!==e?(W=t("."+te).filter(function(){var i=t.data(this,Y),n=new r(this,i);return n.get("rel")===e}),A=W.index(_.el),-1===A&&(W=W.add(_.el),A=W.length-1)):W=t(_.el)}function u(i){t(e).trigger(i),ae.triggerHandler(i)}function f(i){var o;if(!G){if(o=t(i).data(Y),_=new r(i,o),g(_.get("rel")),!U){U=$=!0,c(_.get("className")),x.css({visibility:"hidden",display:"block",opacity:""}),I=n(se,"LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden"),b.css({width:"",height:""}).append(I),j=T.height()+k.height()+b.outerHeight(!0)-b.height(),D=C.width()+H.width()+b.outerWidth(!0)-b.width(),N=I.outerHeight(!0),z=I.outerWidth(!0);var h=a(_.get("initialWidth"),"x"),s=a(_.get("initialHeight"),"y"),l=_.get("maxWidth"),f=_.get("maxHeight");_.w=Math.max((l!==!1?Math.min(h,a(l,"x")):h)-z-D,0),_.h=Math.max((f!==!1?Math.min(s,a(f,"y")):s)-N-j,0),I.css({width:"",height:_.h}),J.position(),u(ee),_.get("onOpen"),O.add(F).hide(),x.focus(),_.get("trapFocus")&&e.addEventListener&&(e.addEventListener("focus",d,!0),ae.one(re,function(){e.removeEventListener("focus",d,!0)})),_.get("returnFocus")&&ae.one(re,function(){t(_.el).focus()})}var p=parseFloat(_.get("opacity"));v.css({opacity:p===p?p:"",cursor:_.get("overlayClose")?"pointer":"",visibility:"visible"}).show(),_.get("closeButton")?B.html(_.get("close")).appendTo(b):B.appendTo("<div/>"),w()}}function p(){x||(V=!1,E=t(i),x=n(se).attr({id:Y,"class":t.support.opacity===!1?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),v=n(se,"Overlay").hide(),L=t([n(se,"LoadingOverlay")[0],n(se,"LoadingGraphic")[0]]),y=n(se,"Wrapper"),b=n(se,"Content").append(F=n(se,"Title"),R=n(se,"Current"),P=t('<button type="button"/>').attr({id:Z+"Previous"}),K=t('<button type="button"/>').attr({id:Z+"Next"}),S=t('<button type="button"/>').attr({id:Z+"Slideshow"}),L),B=t('<button type="button"/>').attr({id:Z+"Close"}),y.append(n(se).append(n(se,"TopLeft"),T=n(se,"TopCenter"),n(se,"TopRight")),n(se,!1,"clear:left").append(C=n(se,"MiddleLeft"),b,H=n(se,"MiddleRight")),n(se,!1,"clear:left").append(n(se,"BottomLeft"),k=n(se,"BottomCenter"),n(se,"BottomRight"))).find("div div").css({"float":"left"}),M=n(se,!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),O=K.add(P).add(R).add(S)),e.body&&!x.parent().length&&t(e.body).append(v,x.append(y,M))}function m(){function i(t){t.which>1||t.shiftKey||t.altKey||t.metaKey||t.ctrlKey||(t.preventDefault(),f(this))}return x?(V||(V=!0,K.click(function(){J.next()}),P.click(function(){J.prev()}),B.click(function(){J.close()}),v.click(function(){_.get("overlayClose")&&J.close()}),t(e).bind("keydown."+Z,function(t){var e=t.keyCode;U&&_.get("escKey")&&27===e&&(t.preventDefault(),J.close()),U&&_.get("arrowKey")&&W[1]&&!t.altKey&&(37===e?(t.preventDefault(),P.click()):39===e&&(t.preventDefault(),K.click()))}),t.isFunction(t.fn.on)?t(e).on("click."+Z,"."+te,i):t("."+te).live("click."+Z,i)),!0):!1}function w(){var e,o,r,h=J.prep,d=++le;if($=!0,q=!1,u(he),u(ie),_.get("onLoad"),_.h=_.get("height")?a(_.get("height"),"y")-N-j:_.get("innerHeight")&&a(_.get("innerHeight"),"y"),_.w=_.get("width")?a(_.get("width"),"x")-z-D:_.get("innerWidth")&&a(_.get("innerWidth"),"x"),_.mw=_.w,_.mh=_.h,_.get("maxWidth")&&(_.mw=a(_.get("maxWidth"),"x")-z-D,_.mw=_.w&&_.w<_.mw?_.w:_.mw),_.get("maxHeight")&&(_.mh=a(_.get("maxHeight"),"y")-N-j,_.mh=_.h&&_.h<_.mh?_.h:_.mh),e=_.get("href"),Q=setTimeout(function(){L.show()},100),_.get("inline")){var c=t(e).eq(0);r=t("<div>").hide().insertBefore(c),ae.one(he,function(){r.replaceWith(c)}),h(c)}else _.get("iframe")?h(" "):_.get("html")?h(_.get("html")):s(_,e)?(e=l(_,e),q=_.get("createImg"),t(q).addClass(Z+"Photo").bind("error."+Z,function(){h(n(se,"Error").html(_.get("imgError")))}).one("load",function(){d===le&&setTimeout(function(){var e;_.get("retinaImage")&&i.devicePixelRatio>1&&(q.height=q.height/i.devicePixelRatio,q.width=q.width/i.devicePixelRatio),_.get("scalePhotos")&&(o=function(){q.height-=q.height*e,q.width-=q.width*e},_.mw&&q.width>_.mw&&(e=(q.width-_.mw)/q.width,o()),_.mh&&q.height>_.mh&&(e=(q.height-_.mh)/q.height,o())),_.h&&(q.style.marginTop=Math.max(_.mh-q.height,0)/2+"px"),W[1]&&(_.get("loop")||W[A+1])&&(q.style.cursor="pointer",t(q).bind("click."+Z,function(){J.next()})),q.style.width=q.width+"px",q.style.height=q.height+"px",h(q)},1)}),q.src=e):e&&M.load(e,_.get("data"),function(e,i){d===le&&h("error"===i?n(se,"Error").html(_.get("xhrError")):t(this).contents())})}var v,x,y,b,T,C,H,k,W,E,I,M,L,F,R,S,K,P,B,O,_,j,D,N,z,A,q,U,$,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return t(this).attr("href")},title:function(){return this.title},createImg:function(){var e=new Image,i=t(this).data("cbox-img-attrs");return"object"==typeof i&&t.each(i,function(t,i){e[t]=i}),e},createIframe:function(){var i=e.createElement("iframe"),n=t(this).data("cbox-iframe-attrs");return"object"==typeof n&&t.each(n,function(t,e){i[t]=e}),"frameBorder"in i&&(i.frameBorder=0),"allowTransparency"in i&&(i.allowTransparency="true"),i.name=(new Date).getTime(),i.allowFullscreen=!0,i}},Y="colorbox",Z="cbox",te=Z+"Element",ee=Z+"_open",ie=Z+"_load",ne=Z+"_complete",oe=Z+"_cleanup",re=Z+"_closed",he=Z+"_purge",ae=t("<a/>"),se="div",le=0,de={},ce=function(){function t(){clearTimeout(h)}function e(){(_.get("loop")||W[A+1])&&(t(),h=setTimeout(J.next,_.get("slideshowSpeed")))}function i(){S.html(_.get("slideshowStop")).unbind(s).one(s,n),ae.bind(ne,e).bind(ie,t),x.removeClass(a+"off").addClass(a+"on")}function n(){t(),ae.unbind(ne,e).unbind(ie,t),S.html(_.get("slideshowStart")).unbind(s).one(s,function(){J.next(),i()}),x.removeClass(a+"on").addClass(a+"off")}function o(){r=!1,S.hide(),t(),ae.unbind(ne,e).unbind(ie,t),x.removeClass(a+"off "+a+"on")}var r,h,a=Z+"Slideshow_",s="click."+Z;return function(){r?_.get("slideshow")||(ae.unbind(oe,o),o()):_.get("slideshow")&&W[1]&&(r=!0,ae.one(oe,o),_.get("slideshowAuto")?i():n(),S.show())}}();t[Y]||(t(p),J=t.fn[Y]=t[Y]=function(e,i){var n,o=this;return e=e||{},t.isFunction(o)&&(o=t("<a/>"),e.open=!0),o[0]?(p(),m()&&(i&&(e.onComplete=i),o.each(function(){var i=t.data(this,Y)||{};t.data(this,Y,t.extend(i,e))}).addClass(te),n=new r(o[0],e),n.get("open")&&f(o[0])),o):o},J.position=function(e,i){function n(){T[0].style.width=k[0].style.width=b[0].style.width=parseInt(x[0].style.width,10)-D+"px",b[0].style.height=C[0].style.height=H[0].style.height=parseInt(x[0].style.height,10)-j+"px"}var r,h,s,l=0,d=0,c=x.offset();if(E.unbind("resize."+Z),x.css({top:-9e4,left:-9e4}),h=E.scrollTop(),s=E.scrollLeft(),_.get("fixed")?(c.top-=h,c.left-=s,x.css({position:"fixed"})):(l=h,d=s,x.css({position:"absolute"})),d+=_.get("right")!==!1?Math.max(E.width()-_.w-z-D-a(_.get("right"),"x"),0):_.get("left")!==!1?a(_.get("left"),"x"):Math.round(Math.max(E.width()-_.w-z-D,0)/2),l+=_.get("bottom")!==!1?Math.max(o()-_.h-N-j-a(_.get("bottom"),"y"),0):_.get("top")!==!1?a(_.get("top"),"y"):Math.round(Math.max(o()-_.h-N-j,0)/2),x.css({top:c.top,left:c.left,visibility:"visible"}),y[0].style.width=y[0].style.height="9999px",r={width:_.w+z+D,height:_.h+N+j,top:l,left:d},e){var g=0;t.each(r,function(t){return r[t]!==de[t]?(g=e,void 0):void 0}),e=g}de=r,e||x.css(r),x.dequeue().animate(r,{duration:e||0,complete:function(){n(),$=!1,y[0].style.width=_.w+z+D+"px",y[0].style.height=_.h+N+j+"px",_.get("reposition")&&setTimeout(function(){E.bind("resize."+Z,J.position)},1),t.isFunction(i)&&i()},step:n})},J.resize=function(t){var e;U&&(t=t||{},t.width&&(_.w=a(t.width,"x")-z-D),t.innerWidth&&(_.w=a(t.innerWidth,"x")),I.css({width:_.w}),t.height&&(_.h=a(t.height,"y")-N-j),t.innerHeight&&(_.h=a(t.innerHeight,"y")),t.innerHeight||t.height||(e=I.scrollTop(),I.css({height:"auto"}),_.h=I.height()),I.css({height:_.h}),e&&I.scrollTop(e),J.position("none"===_.get("transition")?0:_.get("speed")))},J.prep=function(i){function o(){return _.w=_.w||I.width(),_.w=_.mw&&_.mw<_.w?_.mw:_.w,_.w}function a(){return _.h=_.h||I.height(),_.h=_.mh&&_.mh<_.h?_.mh:_.h,_.h}if(U){var d,g="none"===_.get("transition")?0:_.get("speed");I.remove(),I=n(se,"LoadedContent").append(i),I.hide().appendTo(M.show()).css({width:o(),overflow:_.get("scrolling")?"auto":"hidden"}).css({height:a()}).prependTo(b),M.hide(),t(q).css({"float":"none"}),c(_.get("className")),d=function(){function i(){t.support.opacity===!1&&x[0].style.removeAttribute("filter")}var n,o,a=W.length;U&&(o=function(){clearTimeout(Q),L.hide(),u(ne),_.get("onComplete")},F.html(_.get("title")).show(),I.show(),a>1?("string"==typeof _.get("current")&&R.html(_.get("current").replace("{current}",A+1).replace("{total}",a)).show(),K[_.get("loop")||a-1>A?"show":"hide"]().html(_.get("next")),P[_.get("loop")||A?"show":"hide"]().html(_.get("previous")),ce(),_.get("preloading")&&t.each([h(-1),h(1)],function(){var i,n=W[this],o=new r(n,t.data(n,Y)),h=o.get("href");h&&s(o,h)&&(h=l(o,h),i=e.createElement("img"),i.src=h)})):O.hide(),_.get("iframe")?(n=_.get("createIframe"),_.get("scrolling")||(n.scrolling="no"),t(n).attr({src:_.get("href"),"class":Z+"Iframe"}).one("load",o).appendTo(I),ae.one(he,function(){n.src="//about:blank"}),_.get("fastIframe")&&t(n).trigger("load")):o(),"fade"===_.get("transition")?x.fadeTo(g,1,i):i())},"fade"===_.get("transition")?x.fadeTo(g,0,function(){J.position(0,d)}):J.position(g,d)}},J.next=function(){!$&&W[1]&&(_.get("loop")||W[A+1])&&(A=h(1),f(W[A]))},J.prev=function(){!$&&W[1]&&(_.get("loop")||A)&&(A=h(-1),f(W[A]))},J.close=function(){U&&!G&&(G=!0,U=!1,u(oe),_.get("onCleanup"),E.unbind("."+Z),v.fadeTo(_.get("fadeOut")||0,0),x.stop().fadeTo(_.get("fadeOut")||0,0,function(){x.hide(),v.hide(),u(he),I.remove(),setTimeout(function(){G=!1,u(re),_.get("onClosed")},1)}))},J.remove=function(){x&&(x.stop(),t[Y].close(),x.stop(!1,!0).remove(),v.remove(),G=!1,x=null,t("."+te).removeData(Y).removeClass(te),t(e).unbind("click."+Z).unbind("keydown."+Z))},J.element=function(){return t(_.el)},J.settings=X)})(jQuery,document,window);
\ No newline at end of file
diff --git a/webskin/src/main/resources/js/vendor/what-input.js b/webskin/src/main/resources/js/vendor/what-input.js
deleted file mode 100644
index c4226e1..0000000
--- a/webskin/src/main/resources/js/vendor/what-input.js
+++ /dev/null
@@ -1,361 +0,0 @@
-/**
- * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).
- * @version v4.2.0
- * @link https://github.com/ten1seven/what-input
- * @license MIT
- */
-(function webpackUniversalModuleDefinition(root, factory) {
-	if(typeof exports === 'object' && typeof module === 'object')
-		module.exports = factory();
-	else if(typeof define === 'function' && define.amd)
-		define("whatInput", [], factory);
-	else if(typeof exports === 'object')
-		exports["whatInput"] = factory();
-	else
-		root["whatInput"] = factory();
-})(this, function() {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId])
-/******/ 			return installedModules[moduleId].exports;
-
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			exports: {},
-/******/ 			id: moduleId,
-/******/ 			loaded: false
-/******/ 		};
-
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ 		// Flag the module as loaded
-/******/ 		module.loaded = true;
-
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-
-
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports) {
-
-	'use strict';
-
-	module.exports = function () {
-	  /*
-	   * variables
-	   */
-
-	  // last used input type
-	  var currentInput = 'initial';
-
-	  // last used input intent
-	  var currentIntent = null;
-
-	  // cache document.documentElement
-	  var doc = document.documentElement;
-
-	  // form input types
-	  var formInputs = ['input', 'select', 'textarea'];
-
-	  var functionList = [];
-
-	  // list of modifier keys commonly used with the mouse and
-	  // can be safely ignored to prevent false keyboard detection
-	  var ignoreMap = [16, // shift
-	  17, // control
-	  18, // alt
-	  91, // Windows key / left Apple cmd
-	  93 // Windows menu / right Apple cmd
-	  ];
-
-	  // list of keys for which we change intent even for form inputs
-	  var changeIntentMap = [9 // tab
-	  ];
-
-	  // mapping of events to input types
-	  var inputMap = {
-	    keydown: 'keyboard',
-	    mousedown: 'mouse',
-	    mousemove: 'mouse',
-	    MSPointerDown: 'pointer',
-	    MSPointerMove: 'pointer',
-	    pointerdown: 'pointer',
-	    pointermove: 'pointer',
-	    touchstart: 'touch'
-	  };
-
-	  // array of all used input types
-	  var inputTypes = [];
-
-	  // boolean: true if touch buffer is active
-	  var isBuffering = false;
-
-	  // boolean: true if the page is being scrolled
-	  var isScrolling = false;
-
-	  // store current mouse position
-	  var mousePos = {
-	    x: null,
-	    y: null
-	  };
-
-	  // map of IE 10 pointer events
-	  var pointerMap = {
-	    2: 'touch',
-	    3: 'touch', // treat pen like touch
-	    4: 'mouse'
-	  };
-
-	  var supportsPassive = false;
-
-	  try {
-	    var opts = Object.defineProperty({}, 'passive', {
-	      get: function get() {
-	        supportsPassive = true;
-	      }
-	    });
-
-	    window.addEventListener('test', null, opts);
-	  } catch (e) {}
-
-	  /*
-	   * set up
-	   */
-
-	  var setUp = function setUp() {
-	    // add correct mouse wheel event mapping to `inputMap`
-	    inputMap[detectWheel()] = 'mouse';
-
-	    addListeners();
-	    setInput();
-	  };
-
-	  /*
-	   * events
-	   */
-
-	  var addListeners = function addListeners() {
-	    // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding
-	    // can only demonstrate potential, but not actual, interaction
-	    // and are treated separately
-
-	    // pointer events (mouse, pen, touch)
-	    if (window.PointerEvent) {
-	      doc.addEventListener('pointerdown', updateInput);
-	      doc.addEventListener('pointermove', setIntent);
-	    } else if (window.MSPointerEvent) {
-	      doc.addEventListener('MSPointerDown', updateInput);
-	      doc.addEventListener('MSPointerMove', setIntent);
-	    } else {
-	      // mouse events
-	      doc.addEventListener('mousedown', updateInput);
-	      doc.addEventListener('mousemove', setIntent);
-
-	      // touch events
-	      if ('ontouchstart' in window) {
-	        doc.addEventListener('touchstart', touchBuffer);
-	        doc.addEventListener('touchend', touchBuffer);
-	      }
-	    }
-
-	    // mouse wheel
-	    doc.addEventListener(detectWheel(), setIntent, supportsPassive ? { passive: true } : false);
-
-	    // keyboard events
-	    doc.addEventListener('keydown', updateInput);
-	  };
-
-	  // checks conditions before updating new input
-	  var updateInput = function updateInput(event) {
-	    // only execute if the touch buffer timer isn't running
-	    if (!isBuffering) {
-	      var eventKey = event.which;
-	      var value = inputMap[event.type];
-	      if (value === 'pointer') value = pointerType(event);
-
-	      if (currentInput !== value || currentIntent !== value) {
-	        var activeElem = document.activeElement;
-	        var activeInput = false;
-	        var notFormInput = activeElem && activeElem.nodeName && formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1;
-
-	        if (notFormInput || changeIntentMap.indexOf(eventKey) !== -1) {
-	          activeInput = true;
-	        }
-
-	        if (value === 'touch' ||
-	        // ignore mouse modifier keys
-	        value === 'mouse' ||
-	        // don't switch if the current element is a form input
-	        value === 'keyboard' && eventKey && activeInput && ignoreMap.indexOf(eventKey) === -1) {
-	          // set the current and catch-all variable
-	          currentInput = currentIntent = value;
-
-	          setInput();
-	        }
-	      }
-	    }
-	  };
-
-	  // updates the doc and `inputTypes` array with new input
-	  var setInput = function setInput() {
-	    doc.setAttribute('data-whatinput', currentInput);
-	    doc.setAttribute('data-whatintent', currentInput);
-
-	    if (inputTypes.indexOf(currentInput) === -1) {
-	      inputTypes.push(currentInput);
-	      doc.className += ' whatinput-types-' + currentInput;
-	    }
-
-	    fireFunctions('input');
-	  };
-
-	  // updates input intent for `mousemove` and `pointermove`
-	  var setIntent = function setIntent(event) {
-	    // test to see if `mousemove` happened relative to the screen
-	    // to detect scrolling versus mousemove
-	    if (mousePos['x'] !== event.screenX || mousePos['y'] !== event.screenY) {
-	      isScrolling = false;
-
-	      mousePos['x'] = event.screenX;
-	      mousePos['y'] = event.screenY;
-	    } else {
-	      isScrolling = true;
-	    }
-
-	    // only execute if the touch buffer timer isn't running
-	    // or scrolling isn't happening
-	    if (!isBuffering && !isScrolling) {
-	      var value = inputMap[event.type];
-	      if (value === 'pointer') value = pointerType(event);
-
-	      if (currentIntent !== value) {
-	        currentIntent = value;
-
-	        doc.setAttribute('data-whatintent', currentIntent);
-
-	        fireFunctions('intent');
-	      }
-	    }
-	  };
-
-	  // buffers touch events because they frequently also fire mouse events
-	  var touchBuffer = function touchBuffer(event) {
-	    if (event.type === 'touchstart') {
-	      isBuffering = false;
-
-	      // set the current input
-	      updateInput(event);
-	    } else {
-	      isBuffering = true;
-	    }
-	  };
-
-	  var fireFunctions = function fireFunctions(type) {
-	    for (var i = 0, len = functionList.length; i < len; i++) {
-	      if (functionList[i].type === type) {
-	        functionList[i].function.call(undefined, currentIntent);
-	      }
-	    }
-	  };
-
-	  /*
-	   * utilities
-	   */
-
-	  var pointerType = function pointerType(event) {
-	    if (typeof event.pointerType === 'number') {
-	      return pointerMap[event.pointerType];
-	    } else {
-	      // treat pen like touch
-	      return event.pointerType === 'pen' ? 'touch' : event.pointerType;
-	    }
-	  };
-
-	  // detect version of mouse wheel event to use
-	  // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
-	  var detectWheel = function detectWheel() {
-	    var wheelType = void 0;
-
-	    // Modern browsers support "wheel"
-	    if ('onwheel' in document.createElement('div')) {
-	      wheelType = 'wheel';
-	    } else {
-	      // Webkit and IE support at least "mousewheel"
-	      // or assume that remaining browsers are older Firefox
-	      wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';
-	    }
-
-	    return wheelType;
-	  };
-
-	  /*
-	   * init
-	   */
-
-	  // don't start script unless browser cuts the mustard
-	  // (also passes if polyfills are used)
-	  if ('addEventListener' in window && Array.prototype.indexOf) {
-	    setUp();
-	  }
-
-	  /*
-	   * api
-	   */
-
-	  return {
-	    // returns string: the current input type
-	    // opt: 'loose'|'strict'
-	    // 'strict' (default): returns the same value as the `data-whatinput` attribute
-	    // 'loose': includes `data-whatintent` value if it's more current than `data-whatinput`
-	    ask: function ask(opt) {
-	      return opt === 'loose' ? currentIntent : currentInput;
-	    },
-
-	    // returns array: all the detected input types
-	    types: function types() {
-	      return inputTypes;
-	    },
-
-	    // overwrites ignored keys with provided array
-	    ignoreKeys: function ignoreKeys(arr) {
-	      ignoreMap = arr;
-	    },
-
-	    // attach functions to input and intent "events"
-	    // funct: function to fire on change
-	    // eventType: 'input'|'intent'
-	    onChange: function onChange(funct, eventType) {
-	      functionList.push({
-	        function: funct,
-	        type: eventType
-	      });
-	    }
-	  };
-	}();
-
-/***/ })
-/******/ ])
-});
-;
\ No newline at end of file