You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/10/27 14:35:18 UTC

[01/47] tinkerpop git commit: added Pick.none and Pick.any to the CoreImports. Added it to both GraphSONModule and GryoMapper. Added two new test cases which use any and none -- one in ChooseTest and one in BranchTest. Added none/any to GroovyTranslator [Forced Update!]

Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1235 e376193ca -> a1dc42d20 (forced update)


added Pick.none and Pick.any to the CoreImports. Added it to both GraphSONModule and GryoMapper. Added two new test cases which use any and none -- one in ChooseTest and one in BranchTest. Added none/any to GroovyTranslator and PythonTranslator. All good in the hood.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/0fec46db
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0fec46db
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0fec46db

Branch: refs/heads/TINKERPOP-1235
Commit: 0fec46db21a3af0604a85b9b4bed4e47db8d1a70
Parents: 1148e82
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Fri Oct 21 13:07:18 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Fri Oct 21 13:07:18 2016 -0600

----------------------------------------------------------------------
 .../structure/io/graphson/GraphSONModule.java   |  4 +++
 .../gremlin/structure/io/gryo/GryoMapper.java   |  4 ++-
 .../tinkerpop/gremlin/util/CoreImports.java     |  6 +++-
 .../step/branch/GroovyBranchTest.groovy         | 13 ++++++++-
 .../step/branch/GroovyChooseTest.groovy         | 10 +++++++
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  3 ++
 .../gremlin/python/jsr223/PythonTranslator.java |  3 ++
 .../jython/gremlin_python/process/traversal.py  |  4 +++
 .../traversal/step/branch/BranchTest.java       | 29 ++++++++++++++++----
 .../traversal/step/branch/ChooseTest.java       | 19 +++++++++++++
 10 files changed, 87 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
index b361fac..a644d37 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
@@ -31,6 +31,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
+import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ConnectiveStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ElementIdStrategy;
@@ -145,6 +146,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
                             Order.values(),
                             Pop.values(),
                             SackFunctions.Barrier.values(),
+                            TraversalOptionParent.Pick.values(),
                             Scope.values(),
                             T.values()).flatMap(Stream::of).forEach(e -> put(e.getClass(), e.getDeclaringClass().getSimpleName()));
                     Arrays.asList(
@@ -215,6 +217,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
                     Pop.class,
                     SackFunctions.Barrier.class,
                     Scope.class,
+                    TraversalOptionParent.Pick.class,
                     T.class).forEach(e -> addSerializer(e, new GraphSONTraversalSerializersV2d0.EnumJacksonSerializer()));
             addSerializer(P.class, new GraphSONTraversalSerializersV2d0.PJacksonSerializer());
             addSerializer(Lambda.class, new GraphSONTraversalSerializersV2d0.LambdaJacksonSerializer());
@@ -245,6 +248,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
                     Pop.values(),
                     SackFunctions.Barrier.values(),
                     Scope.values(),
+                    TraversalOptionParent.Pick.values(),
                     T.values()).flatMap(Stream::of).forEach(e -> addDeserializer(e.getClass(), new GraphSONTraversalSerializersV2d0.EnumJacksonDeserializer(e.getDeclaringClass())));
             addDeserializer(P.class, new GraphSONTraversalSerializersV2d0.PJacksonDeserializer());
             addDeserializer(Lambda.class, new GraphSONTraversalSerializersV2d0.LambdaJacksonDeserializer());

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java
index 0a7d277..fef7288 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoMapper.java
@@ -32,6 +32,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Path;
 import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
+import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.RangeGlobalStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.FoldStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupCountStep;
@@ -349,7 +350,8 @@ public final class GryoMapper implements Mapper<Kryo> {
             add(GryoTypeReg.of(Column.class, 132));
             add(GryoTypeReg.of(Pop.class, 133));
             add(GryoTypeReg.of(SackFunctions.Barrier.class, 135));
-            add(GryoTypeReg.of(HashSetSupplier.class, 136, new UtilSerializers.HashSetSupplierSerializer())); // ***LAST ID***
+            add(GryoTypeReg.of(TraversalOptionParent.Pick.class, 137)); // ***LAST ID***
+            add(GryoTypeReg.of(HashSetSupplier.class, 136, new UtilSerializers.HashSetSupplierSerializer()));
 
             add(GryoTypeReg.of(TraverserSet.class, 58));
             add(GryoTypeReg.of(Tree.class, 61));

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java
index 1c76f0e..e6c64fd 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java
@@ -44,19 +44,20 @@ import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ConnectiveStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ElementIdStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.EventStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.HaltedTraverserStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.PartitionStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.LazyBarrierStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.MatchAlgorithmStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.ProfileStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.AdjacentToIncidentStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.FilterRankingStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.IdentityRemovalStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.IncidentToAdjacentStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.LazyBarrierStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.MatchPredicateStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.OrderLimitStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.PathProcessorStrategy;
@@ -123,6 +124,8 @@ public final class CoreImports {
         CLASS_IMPORTS.add(Pop.class);
         CLASS_IMPORTS.add(Scope.class);
         CLASS_IMPORTS.add(T.class);
+        CLASS_IMPORTS.add(TraversalOptionParent.class);
+        CLASS_IMPORTS.add(TraversalOptionParent.Pick.class);
         CLASS_IMPORTS.add(P.class);
         // remote
         CLASS_IMPORTS.add(RemoteConnection.class);
@@ -203,6 +206,7 @@ public final class CoreImports {
         Collections.addAll(ENUM_IMPORTS, Pop.values());
         Collections.addAll(ENUM_IMPORTS, Scope.values());
         Collections.addAll(ENUM_IMPORTS, T.values());
+        Collections.addAll(ENUM_IMPORTS, TraversalOptionParent.Pick.values());
 
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyBranchTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyBranchTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyBranchTest.groovy
index fe13e1d..e602f4e 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyBranchTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyBranchTest.groovy
@@ -35,7 +35,7 @@ public abstract class GroovyBranchTest {
         }
 
         @Override
-        public Traversal<Vertex, Object> get_g_V_branchXlabelX_optionXperson__ageX_optionXsoftware__langX_optionXsoftware__nameX() {
+        public Traversal<Vertex, Object> get_g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX() {
             new ScriptTraversal<>(g, "gremlin-groovy", """
             g.V.branch{it.label == 'person' ? 'a' : 'b'}
                     .option('a', __.age)
@@ -43,5 +43,16 @@ public abstract class GroovyBranchTest {
                     .option('b', __.name)
             """)
         }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", """
+             g.V.branch(label().is("person").count)
+                    .option(1L,__.age)
+                    .option(0L,__.lang)
+                    .option(0L,__.name)
+                    .option(any,label())
+            """)
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyChooseTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyChooseTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyChooseTest.groovy
index b92ab9b..99bb31b 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyChooseTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyChooseTest.groovy
@@ -43,5 +43,15 @@ public abstract class GroovyChooseTest {
         public Traversal<Vertex, String> get_g_V_chooseXhasLabelXpersonX_and_outXcreatedX__outXknowsX__identityX_name() {
             new ScriptTraversal<>(g, "gremlin-groovy", "g.V.choose(hasLabel('person').and().out('created'), out('knows'), identity()).name")
         }
+
+        @Override
+        public Traversal<Vertex, String> get_g_V_chooseXlabelX_optionXblah__outXknowsXX_optionXbleep__outXcreatedXX_optionXnone__identityX_name() {
+            new ScriptTraversal<>(g, "gremlin-groovy", """
+                g.V.choose(label())
+                    .option("blah", out("knows"))
+                    .option("bleep", out("created"))
+                    .option(none, identity()).name
+                """)
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
index 02e49b1..d102037 100644
--- a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
+++ b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
@@ -27,6 +27,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.TraversalStrategyProxy;
 import org.apache.tinkerpop.gremlin.process.traversal.util.ConnectiveP;
 import org.apache.tinkerpop.gremlin.process.traversal.util.OrP;
@@ -151,6 +152,8 @@ public final class GroovyTranslator implements Translator.ScriptTranslator {
             return "SackFunctions.Barrier." + object.toString();
         else if (object instanceof VertexProperty.Cardinality)
             return "VertexProperty.Cardinality." + object.toString();
+        else if (object instanceof TraversalOptionParent.Pick)
+            return "TraversalOptionParent.Pick." + object.toString();
         else if (object instanceof Enum)
             return ((Enum) object).getDeclaringClass().getSimpleName() + "." + object.toString();
         else if (object instanceof Element)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
index bfabbb8..0739c92 100644
--- a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
+++ b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
@@ -29,6 +29,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.TraversalStrategyProxy;
 import org.apache.tinkerpop.gremlin.process.traversal.util.ConnectiveP;
 import org.apache.tinkerpop.gremlin.process.traversal.util.OrP;
@@ -183,6 +184,8 @@ public class PythonTranslator implements Translator.ScriptTranslator {
             return "Cardinality." + SymbolHelper.toPython(object.toString());
         else if (object instanceof SackFunctions.Barrier)
             return "Barrier." + SymbolHelper.toPython(object.toString());
+        else if (object instanceof TraversalOptionParent.Pick)
+            return "Pick." + SymbolHelper.toPython(object.toString());
         else if (object instanceof Enum)
             return convertStatic(((Enum) object).getDeclaringClass().getSimpleName() + ".") + SymbolHelper.toPython(object.toString());
         else if (object instanceof P)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-python/src/main/jython/gremlin_python/process/traversal.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/gremlin_python/process/traversal.py b/gremlin-python/src/main/jython/gremlin_python/process/traversal.py
index a56dd74..d30db35 100644
--- a/gremlin-python/src/main/jython/gremlin_python/process/traversal.py
+++ b/gremlin-python/src/main/jython/gremlin_python/process/traversal.py
@@ -118,6 +118,10 @@ statics.add_static('keyDecr', Order.keyDecr)
 statics.add_static('valueDecr', Order.valueDecr)
 statics.add_static('shuffle', Order.shuffle)
 
+Pick = Enum('Pick', 'any none')
+statics.add_static('any', Pick.any)
+statics.add_static('none', Pick.none)
+
 Pop = Enum('Pop', 'all_ first last')
 statics.add_static('first', Pop.first)
 statics.add_static('last', Pop.last)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/BranchTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/BranchTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/BranchTest.java
index 049358f..44a63bd 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/BranchTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/BranchTest.java
@@ -22,7 +22,6 @@ import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -32,6 +31,7 @@ import java.util.Arrays;
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.label;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.values;
+import static org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.any;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
@@ -41,7 +41,9 @@ public abstract class BranchTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, Object> get_g_V_branchXlabel_eq_person__a_bX_optionXa__ageX_optionXb__langX_optionXb__nameX();
 
-    public abstract Traversal<Vertex, Object> get_g_V_branchXlabelX_optionXperson__ageX_optionXsoftware__langX_optionXsoftware__nameX();
+    public abstract Traversal<Vertex, Object> get_g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX();
+
+    public abstract Traversal<Vertex, Object> get_g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX();
 
     @Test
     @LoadGraphWith(MODERN)
@@ -53,12 +55,20 @@ public abstract class BranchTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
-    public void g_V_branchXlabelX_optionXperson__ageX_optionXsoftware__langX_optionXsoftware__nameX() {
-        final Traversal<Vertex, Object> traversal = get_g_V_branchXlabelX_optionXperson__ageX_optionXsoftware__langX_optionXsoftware__nameX();
+    public void g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX() {
+        final Traversal<Vertex, Object> traversal = get_g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX();
         printTraversalForm(traversal);
         checkResults(Arrays.asList("java", "java", "lop", "ripple", 29, 27, 32, 35), traversal);
     }
 
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX() {
+        final Traversal<Vertex, Object> traversal = get_g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX();
+        printTraversalForm(traversal);
+        checkResults(Arrays.asList("java", "java", "lop", "ripple", 29, 27, 32, 35, "person", "person", "person", "person", "software", "software"), traversal);
+    }
+
     public static class Traversals extends BranchTest {
 
         @Override
@@ -70,11 +80,20 @@ public abstract class BranchTest extends AbstractGremlinProcessTest {
         }
 
         @Override
-        public Traversal<Vertex, Object> get_g_V_branchXlabelX_optionXperson__ageX_optionXsoftware__langX_optionXsoftware__nameX() {
+        public Traversal<Vertex, Object> get_g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX() {
             return g.V().branch(label().is("person").count())
                     .option(1L, values("age"))
                     .option(0L, values("lang"))
                     .option(0L, values("name"));
         }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX() {
+            return g.V().branch(label().is("person").count())
+                    .option(1L, values("age"))
+                    .option(0L, values("lang"))
+                    .option(0L, values("name"))
+                    .option(any, label());
+        }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0fec46db/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/ChooseTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/ChooseTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/ChooseTest.java
index bf050e4..ce12daf 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/ChooseTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/ChooseTest.java
@@ -22,6 +22,7 @@ import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
+import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.MapHelper;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.Test;
@@ -35,6 +36,7 @@ import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.hasLabel;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.identity;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.in;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.label;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.out;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.valueMap;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.values;
@@ -54,6 +56,7 @@ public abstract class ChooseTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, String> get_g_V_chooseXhasLabelXpersonX_and_outXcreatedX__outXknowsX__identityX_name();
 
+    public abstract Traversal<Vertex, String> get_g_V_chooseXlabelX_optionXblah__outXknowsXX_optionXbleep__outXcreatedXX_optionXnone__identityX_name();
 
     @Test
     @LoadGraphWith(MODERN)
@@ -89,6 +92,14 @@ public abstract class ChooseTest extends AbstractGremlinProcessTest {
         checkResults(Arrays.asList("lop", "ripple", "josh", "vadas", "vadas"), traversal);
     }
 
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_chooseXlabelX_optionXblah__outXknowsXX_optionXbleep__outXcreatedXX_optionXnone__identityX_name() {
+        final Traversal<Vertex, String> traversal = get_g_V_chooseXlabelX_optionXblah__outXknowsXX_optionXbleep__outXcreatedXX_optionXnone__identityX_name();
+        printTraversalForm(traversal);
+        checkResults(Arrays.asList("marko", "vadas", "peter", "josh", "lop", "ripple"), traversal);
+    }
+
     public static class Traversals extends ChooseTest {
 
         @Override
@@ -107,5 +118,13 @@ public abstract class ChooseTest extends AbstractGremlinProcessTest {
         public Traversal<Vertex, String> get_g_V_chooseXhasLabelXpersonX_and_outXcreatedX__outXknowsX__identityX_name() {
             return g.V().choose(hasLabel("person").and().out("created"), out("knows"), identity()).values("name");
         }
+
+        @Override
+        public Traversal<Vertex, String> get_g_V_chooseXlabelX_optionXblah__outXknowsXX_optionXbleep__outXcreatedXX_optionXnone__identityX_name() {
+            return g.V().choose(label())
+                    .option("blah", out("knows"))
+                    .option("bleep", out("created"))
+                    .option(TraversalOptionParent.Pick.none, identity()).values("name");
+        }
     }
 }
\ No newline at end of file


[05/47] tinkerpop git commit: Merge branch 'tp31' into tp32

Posted by sp...@apache.org.
Merge branch 'tp31' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/16c7c244
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/16c7c244
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/16c7c244

Branch: refs/heads/TINKERPOP-1235
Commit: 16c7c2449d45a6090e036a2b62244db75244adae
Parents: 2d9bb20 781ff3a
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 09:33:49 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 09:33:49 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                     |  1 +
 .../tinkerpop/gremlin/FeatureRequirementSet.java       |  2 +-
 .../apache/tinkerpop/gremlin/structure/EdgeTest.java   | 13 ++++---------
 3 files changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/16c7c244/CHANGELOG.asciidoc
----------------------------------------------------------------------


[20/47] tinkerpop git commit: Moved site html files to main repo.

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/datastax-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/datastax-logo.png b/site/home/images/logos/datastax-logo.png
new file mode 100644
index 0000000..af7deed
Binary files /dev/null and b/site/home/images/logos/datastax-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/gremlin-groovy-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/gremlin-groovy-logo.png b/site/home/images/logos/gremlin-groovy-logo.png
new file mode 100644
index 0000000..eb13d67
Binary files /dev/null and b/site/home/images/logos/gremlin-groovy-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/gremlin-java-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/gremlin-java-logo.png b/site/home/images/logos/gremlin-java-logo.png
new file mode 100644
index 0000000..416ce81
Binary files /dev/null and b/site/home/images/logos/gremlin-java-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/gremlin-python-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/gremlin-python-logo.png b/site/home/images/logos/gremlin-python-logo.png
new file mode 100644
index 0000000..27c4b6a
Binary files /dev/null and b/site/home/images/logos/gremlin-python-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/gremlin-scala-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/gremlin-scala-logo.png b/site/home/images/logos/gremlin-scala-logo.png
new file mode 100644
index 0000000..2c29c1f
Binary files /dev/null and b/site/home/images/logos/gremlin-scala-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/ibmgraph-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/ibmgraph-logo.png b/site/home/images/logos/ibmgraph-logo.png
new file mode 100644
index 0000000..83524ab
Binary files /dev/null and b/site/home/images/logos/ibmgraph-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/keylines-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/keylines-logo.png b/site/home/images/logos/keylines-logo.png
new file mode 100644
index 0000000..5ac7f6a
Binary files /dev/null and b/site/home/images/logos/keylines-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/linkurious-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/linkurious-logo.png b/site/home/images/logos/linkurious-logo.png
new file mode 100644
index 0000000..17963fe
Binary files /dev/null and b/site/home/images/logos/linkurious-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/neo4j-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/neo4j-logo.png b/site/home/images/logos/neo4j-logo.png
new file mode 100644
index 0000000..7cb036b
Binary files /dev/null and b/site/home/images/logos/neo4j-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/ogre-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/ogre-logo.png b/site/home/images/logos/ogre-logo.png
new file mode 100644
index 0000000..7ad991a
Binary files /dev/null and b/site/home/images/logos/ogre-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/orientdb-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/orientdb-logo.png b/site/home/images/logos/orientdb-logo.png
new file mode 100644
index 0000000..ba6e832
Binary files /dev/null and b/site/home/images/logos/orientdb-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/sparql-gremlin-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/sparql-gremlin-logo.png b/site/home/images/logos/sparql-gremlin-logo.png
new file mode 100644
index 0000000..8f9239e
Binary files /dev/null and b/site/home/images/logos/sparql-gremlin-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/sql-gremlin-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/sql-gremlin-logo.png b/site/home/images/logos/sql-gremlin-logo.png
new file mode 100644
index 0000000..490b249
Binary files /dev/null and b/site/home/images/logos/sql-gremlin-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/stardog-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/stardog-logo.png b/site/home/images/logos/stardog-logo.png
new file mode 100644
index 0000000..63c7597
Binary files /dev/null and b/site/home/images/logos/stardog-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/titan-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/titan-logo.png b/site/home/images/logos/titan-logo.png
new file mode 100644
index 0000000..fee8ac6
Binary files /dev/null and b/site/home/images/logos/titan-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/tomsawyer-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/tomsawyer-logo.png b/site/home/images/logos/tomsawyer-logo.png
new file mode 100644
index 0000000..885d9f5
Binary files /dev/null and b/site/home/images/logos/tomsawyer-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/meeting-room-button.png
----------------------------------------------------------------------
diff --git a/site/home/images/meeting-room-button.png b/site/home/images/meeting-room-button.png
new file mode 100644
index 0000000..8179624
Binary files /dev/null and b/site/home/images/meeting-room-button.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/oltp-and-olap.png
----------------------------------------------------------------------
diff --git a/site/home/images/oltp-and-olap.png b/site/home/images/oltp-and-olap.png
new file mode 100644
index 0000000..c290e49
Binary files /dev/null and b/site/home/images/oltp-and-olap.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/peon-head.png
----------------------------------------------------------------------
diff --git a/site/home/images/peon-head.png b/site/home/images/peon-head.png
new file mode 100644
index 0000000..6ed8a98
Binary files /dev/null and b/site/home/images/peon-head.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/adjacency-list.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/adjacency-list.png b/site/home/images/policy/adjacency-list.png
new file mode 100644
index 0000000..e6726fd
Binary files /dev/null and b/site/home/images/policy/adjacency-list.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/blueprints-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/blueprints-character.png b/site/home/images/policy/blueprints-character.png
new file mode 100644
index 0000000..6b42139
Binary files /dev/null and b/site/home/images/policy/blueprints-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/business-gremlin.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/business-gremlin.png b/site/home/images/policy/business-gremlin.png
new file mode 100755
index 0000000..6b36184
Binary files /dev/null and b/site/home/images/policy/business-gremlin.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/cyclicpath-step.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/cyclicpath-step.png b/site/home/images/policy/cyclicpath-step.png
new file mode 100644
index 0000000..4718941
Binary files /dev/null and b/site/home/images/policy/cyclicpath-step.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/flat-map-lambda.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/flat-map-lambda.png b/site/home/images/policy/flat-map-lambda.png
new file mode 100644
index 0000000..8f9300a
Binary files /dev/null and b/site/home/images/policy/flat-map-lambda.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/frames-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/frames-character.png b/site/home/images/policy/frames-character.png
new file mode 100644
index 0000000..96111af
Binary files /dev/null and b/site/home/images/policy/frames-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/furnace-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/furnace-character.png b/site/home/images/policy/furnace-character.png
new file mode 100644
index 0000000..ef03224
Binary files /dev/null and b/site/home/images/policy/furnace-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/gremlin-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-character.png b/site/home/images/policy/gremlin-character.png
new file mode 100644
index 0000000..262d2d7
Binary files /dev/null and b/site/home/images/policy/gremlin-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/gremlin-chickenwing.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-chickenwing.png b/site/home/images/policy/gremlin-chickenwing.png
new file mode 100644
index 0000000..b549fa3
Binary files /dev/null and b/site/home/images/policy/gremlin-chickenwing.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/gremlin-gremopoly.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-gremopoly.png b/site/home/images/policy/gremlin-gremopoly.png
new file mode 100644
index 0000000..de0f06e
Binary files /dev/null and b/site/home/images/policy/gremlin-gremopoly.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/gremlin-gremreaper.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-gremreaper.png b/site/home/images/policy/gremlin-gremreaper.png
new file mode 100644
index 0000000..7aaf931
Binary files /dev/null and b/site/home/images/policy/gremlin-gremreaper.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/gremlin-gremstefani.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-gremstefani.png b/site/home/images/policy/gremlin-gremstefani.png
new file mode 100644
index 0000000..90373b8
Binary files /dev/null and b/site/home/images/policy/gremlin-gremstefani.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/gremlin-new-sheriff-in-town.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-new-sheriff-in-town.png b/site/home/images/policy/gremlin-new-sheriff-in-town.png
new file mode 100644
index 0000000..841af99
Binary files /dev/null and b/site/home/images/policy/gremlin-new-sheriff-in-town.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/gremlin-no-more-mr-nice-guy.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-no-more-mr-nice-guy.png b/site/home/images/policy/gremlin-no-more-mr-nice-guy.png
new file mode 100644
index 0000000..2b248d9
Binary files /dev/null and b/site/home/images/policy/gremlin-no-more-mr-nice-guy.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/gremlintron.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlintron.png b/site/home/images/policy/gremlintron.png
new file mode 100644
index 0000000..2a65a37
Binary files /dev/null and b/site/home/images/policy/gremlintron.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/olap-traversal.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/olap-traversal.png b/site/home/images/policy/olap-traversal.png
new file mode 100644
index 0000000..783ad18
Binary files /dev/null and b/site/home/images/policy/olap-traversal.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/pipes-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/pipes-character.png b/site/home/images/policy/pipes-character.png
new file mode 100644
index 0000000..f960a01
Binary files /dev/null and b/site/home/images/policy/pipes-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/rexster-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/rexster-character.png b/site/home/images/policy/rexster-character.png
new file mode 100644
index 0000000..cd62bc9
Binary files /dev/null and b/site/home/images/policy/rexster-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/tinkerpop-reading.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/tinkerpop-reading.png b/site/home/images/policy/tinkerpop-reading.png
new file mode 100644
index 0000000..e3ece1a
Binary files /dev/null and b/site/home/images/policy/tinkerpop-reading.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/policy/tinkerpop3-splash.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/tinkerpop3-splash.png b/site/home/images/policy/tinkerpop3-splash.png
new file mode 100755
index 0000000..ed48f37
Binary files /dev/null and b/site/home/images/policy/tinkerpop3-splash.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/resources/arxiv-article-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/arxiv-article-resource.png b/site/home/images/resources/arxiv-article-resource.png
new file mode 100644
index 0000000..1caccad
Binary files /dev/null and b/site/home/images/resources/arxiv-article-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/resources/benefits-gremlin-machine-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/benefits-gremlin-machine-resource.png b/site/home/images/resources/benefits-gremlin-machine-resource.png
new file mode 100644
index 0000000..58b4e55
Binary files /dev/null and b/site/home/images/resources/benefits-gremlin-machine-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/resources/graph-databases-101-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/graph-databases-101-resource.png b/site/home/images/resources/graph-databases-101-resource.png
new file mode 100644
index 0000000..c837b3e
Binary files /dev/null and b/site/home/images/resources/graph-databases-101-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/resources/on-graph-computing-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/on-graph-computing-resource.png b/site/home/images/resources/on-graph-computing-resource.png
new file mode 100644
index 0000000..fa09f4b
Binary files /dev/null and b/site/home/images/resources/on-graph-computing-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/resources/property-graph-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/property-graph-resource.png b/site/home/images/resources/property-graph-resource.png
new file mode 100644
index 0000000..73534a9
Binary files /dev/null and b/site/home/images/resources/property-graph-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/resources/sql-2-gremlin-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/sql-2-gremlin-resource.png b/site/home/images/resources/sql-2-gremlin-resource.png
new file mode 100644
index 0000000..0e5bb6e
Binary files /dev/null and b/site/home/images/resources/sql-2-gremlin-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/resources/tables-and-graphs-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/tables-and-graphs-resource.png b/site/home/images/resources/tables-and-graphs-resource.png
new file mode 100644
index 0000000..bdc0b24
Binary files /dev/null and b/site/home/images/resources/tables-and-graphs-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/resources/why-graph-databases-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/why-graph-databases-resource.png b/site/home/images/resources/why-graph-databases-resource.png
new file mode 100644
index 0000000..485b6eb
Binary files /dev/null and b/site/home/images/resources/why-graph-databases-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/rexster-handdrawn.png
----------------------------------------------------------------------
diff --git a/site/home/images/rexster-handdrawn.png b/site/home/images/rexster-handdrawn.png
new file mode 100644
index 0000000..23bde22
Binary files /dev/null and b/site/home/images/rexster-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerblocks.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerblocks.png b/site/home/images/tinkerblocks.png
new file mode 100644
index 0000000..5b30249
Binary files /dev/null and b/site/home/images/tinkerblocks.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerpop-book.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-book.png b/site/home/images/tinkerpop-book.png
new file mode 100644
index 0000000..e3ece1a
Binary files /dev/null and b/site/home/images/tinkerpop-book.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerpop-cityscape.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-cityscape.png b/site/home/images/tinkerpop-cityscape.png
new file mode 100644
index 0000000..f38be23
Binary files /dev/null and b/site/home/images/tinkerpop-cityscape.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerpop-conference.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-conference.png b/site/home/images/tinkerpop-conference.png
new file mode 100644
index 0000000..16efd35
Binary files /dev/null and b/site/home/images/tinkerpop-conference.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerpop-logo-small.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-logo-small.png b/site/home/images/tinkerpop-logo-small.png
new file mode 100644
index 0000000..e90f0e6
Binary files /dev/null and b/site/home/images/tinkerpop-logo-small.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerpop-meeting-room.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-meeting-room.png b/site/home/images/tinkerpop-meeting-room.png
new file mode 100644
index 0000000..5d80cf3
Binary files /dev/null and b/site/home/images/tinkerpop-meeting-room.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerpop-reading-2.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-reading-2.png b/site/home/images/tinkerpop-reading-2.png
new file mode 100644
index 0000000..2428382
Binary files /dev/null and b/site/home/images/tinkerpop-reading-2.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerpop-reading.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-reading.png b/site/home/images/tinkerpop-reading.png
new file mode 100644
index 0000000..e3ece1a
Binary files /dev/null and b/site/home/images/tinkerpop-reading.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerpop-splash.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-splash.png b/site/home/images/tinkerpop-splash.png
new file mode 100644
index 0000000..870b080
Binary files /dev/null and b/site/home/images/tinkerpop-splash.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/tinkerpop3-splash.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop3-splash.png b/site/home/images/tinkerpop3-splash.png
new file mode 100755
index 0000000..ed48f37
Binary files /dev/null and b/site/home/images/tinkerpop3-splash.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/index.html
----------------------------------------------------------------------
diff --git a/site/home/index.html b/site/home/index.html
new file mode 100644
index 0000000..d0629f6
--- /dev/null
+++ b/site/home/index.html
@@ -0,0 +1,297 @@
+<div class="container">
+   <div class="hero-unit">
+      <div class="row">
+         <div class="col-md-6">
+            <b><font size="6" face="american typewriter">Apache TinkerPop&trade;</font></b>
+            <p><img src="images/tinkerpop-splash.png" width="420" class="img-responsive" style="padding:10px;"/></p>
+            <p><font size="3">Apache TinkerPop&trade; is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP).</font></p>
+         </div>
+         <div class="col-md-6">
+            <br/>
+            <p>
+               <b><font size="4">TinkerPop</font> <font size="4">3.2.2</font></b> (<font size="2">Released: 6-Sep-2016</font>)
+            </p>
+            <p><b>Downloads</b></p>
+            <p>
+               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-gremlin-console-3.2.2-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-gremlin-server-3.2.2-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-3.2.2-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </p>
+            <div class="row">
+               <div class="col-md-6">
+                  <p><b>Documentation</b></p>
+                  <ul>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/reference/">TinkerPop3 Documentation</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/3.2.2/upgrade/#_tinkerpop_3_2_2">Upgrade Information</a></li>
+                     <li>TinkerPop3 Javadoc</li>
+                     <ul>
+                        <li><a href="http://tinkerpop.apache.org/javadocs/current/core/">TinkerPop3 Core-Javadoc</a></li>
+                        <li><a href="http://tinkerpop.apache.org/javadocs/current/full/">TinkerPop3 Full-Javadoc</a></li>
+                     </ul>
+                  </ul>
+               </div>
+               <div class="col-md-6">
+                  <br/>
+                  <a href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started">
+                     <img src="images/gremlin-gym-mini.png" width="150" class="img-responsive" align="left"/>
+                  </a>
+               </div>
+            </div>
+            <div class="row">
+               <div class="col-md-5">
+                  <div class="hovereffect">
+                      <img src="images/cityscape-button.png" style="width:200px;" class="img-responsive" /></a>
+                      <div class="overlay"><a class="info" href="gremlin.html">Understand Gremlin</a></div>
+                  </div>
+               </div>
+               <div class="col-md-5">
+                  <div class="hovereffect">
+                      <img src="images/meeting-room-button.png" style="width:200px;" class="img-responsive" /></a>
+                      <div class="overlay"><a class="info" href="providers.html">Become TinkerPop-Enabled</a></div>
+                  </div>
+               </div>
+               <div class="col-md-2"></div>
+            </div>
+         </div>
+      </div>
+   </div>
+   <div><br/></div>
+   <div id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000" border="none">
+      <!-- Indicators -->
+      <ol class="carousel-indicators carousel-indicators-numbers">
+         <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li>
+         <li data-target="#gremlinCarousel" data-slide-to="1">2</li>
+         <li data-target="#gremlinCarousel" data-slide-to="2">3</li>
+         <li data-target="#gremlinCarousel" data-slide-to="3">4</li>
+         <li data-target="#gremlinCarousel" data-slide-to="4">5</li>
+      </ol>
+      <div class="carousel-inner" role="listbox">
+         <div class="item active">
+            <pre><code class="language-gremlin">
+
+
+// What are the names of Gremlin's friends' friends?
+g.V().has("name","gremlin").
+  out("knows").out("knows").values("name")
+
+
+    </code></pre>
+         </div>
+         <div class="item">
+            <pre><code class="language-gremlin">
+// What are the names of projects that were created by two friends?
+g.V().match(
+  as("a").out("knows").as("b"),
+  as("a").out("created").as("c"),
+  as("b").out("created").as("c"),
+  as("c").in("created").count().is(2)).
+    select("c").by("name")
+    </code></pre>
+         </div>
+         <div class="item">
+            <pre><code class="language-gremlin">
+
+// What are the names of the managers in
+//  the management chain going from Gremlin to the CEO?
+g.V().has("name","gremlin").
+  repeat(in("manages")).until(has("title","ceo")).
+  path().by("name")
+
+    </code></pre>
+         </div>
+         <div class="item">
+            <pre><code class="language-gremlin">
+
+// What is the distribution of job titles amongst Gremlin's collaborators?
+g.V().has("name","gremlin").as("a").
+  out("created").in("created").
+    where(neq("a")).
+  groupCount().by("title")
+
+    </code></pre>
+         </div>
+         <div class="item">
+            <pre><code class="language-gremlin">
+
+// Get a ranking of the most relevant products for Gremlin given his purchase history.
+g.V().has("name","gremlin").out("bought").aggregate("stash").
+  in("bought").out("bought").
+    where(not(within("stash"))).
+  groupCount().
+    order(local).by(values,decr)
+    </code></pre>
+         </div>
+      </div>
+   </div>
+   <!-- /.carousel -->
+   <div class="container">
+      <h3>The Benefits of Graph Computing</h3>
+      <p><img src="images/graph-globe.png" style="float:left;width:15%;padding:10px;"> A <strong>graph</strong> is a structure composed of <strong>vertices</strong> and <strong>edges</strong>.
+         Both vertices and edges can have an arbitrary number of key/value-pairs called <strong>properties</strong>.
+         Vertices denote discrete objects such as a person, a place, or an event. Edges denote relationships between vertices. For instance, a person may know
+         another person, have been involved in an event, and/or was recently at a particular place. Properties express non-relational information about the
+         vertices and edges. Example properties include a vertex having a name, an age and an edge having a timestamp and/or a weight. Together, the aforementioned
+         graph is known as a <strong>property graph</strong> and it is the foundational data structure of Apache TinkerPop.
+      </p>
+      <br/>
+      <p><img src="images/graph-vs-table.png" style="float:right;width:22%;padding:10px;">If a user's domain is composed of a heterogenous set of objects (vertices) that can be related to one another in a multitude of ways (edges),
+         then a graph may be the right representation to use. In a graph, each vertex is seen as an atomic entity (not simply a "row in a table") that
+         can be linked to any other vertex or have properties added or removed at will. This empowers the data modeler to think in terms of actors within
+         a world of complex relations as opposed to, in relational databases, statically-typed tables joined in aggregate. Once a domain is modeled, that
+         model must then be exploited in order to yield novel, differentiating information. Graph computing has a rich history that includes not only query
+         languages devoid of table-join semantics, but also algorithms that support complex reasoning: path analysis, vertex clustering and ranking, subgraph
+         identification, and more. The world of applied graph computing offers a flexible, intuitive data structure along with a host of algorithms able to
+         effectively leverage that structure.
+      </p>
+      <br/>
+      <p><a href="#"><img src="images/apache-tinkerpop-logo.png" style="float:left;width:22%;padding:10px;"/></a>Apache TinkerPop&trade; is an open source, vendor-agnostic, graph computing framework distributed under the commercial friendly <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache2 license</a>.
+         When a data system is <a href="providers.html">TinkerPop-enabled</a>, its users are able to model their domain as a graph and analyze that graph using the <a href="gremlin.html">Gremlin graph traversal language</a>.
+         Furthermore, all TinkerPop-enabled systems integrate with one another allowing them to easily expand their offerings as well as allowing users to choose the appropriate graph
+         technology for their application. Sometimes an application is best served by an in-memory, transactional graph database. Sometimes a multi-machine distributed graph database will do the job.
+         Or perhaps the application requires both a distributed graph database for real-time queries and, in parallel, a Big(Graph)Data processor for batch analytics. Whatever the application's
+         requirements, there exists a TinkerPop-enabled graph system out there to meet its needs.
+      </p>
+   </div>
+   <h3>Contributing to Apache TinkerPop</h3>
+   <div class="row">
+      <div class="col-xs-12">
+         <div class="row">
+            <div class="col-xs-8">
+               TinkerPop is an open source project that <a href="http://tinkerpop.apache.org/docs/current/dev/developer#_contributing">welcomes contributions</a>. There are many ways to get involved:
+               <p/>
+               <ol>
+                  <li>
+                     Join the <a href="http://groups.google.com/group/gremlin-users">Gremlin-Users</a> public mailing list.
+                     <ul>
+                        <li>Help users by answering questions and demonstrating your expertise in TinkerPop and graphs.</li>
+                     </ul>
+                  <li>
+                     Join the <a href="https://lists.apache.org/list.html?dev@tinkerpop.apache.org">TinkerPop Developer</a> public mailing list.
+                     <ul>
+                        <li>Contribute ideas on how to make the TinkerPop code- and documentation-base better.</li>
+                     </ul>
+                  <li>Submit bug and feature issues to TinkerPop <a href="https://issues.apache.org/jira/browse/TINKERPOP/">JIRA</a>.</li>
+                  <ul>
+                     <li>Provide easily reproducible bug reports and well articulated feature requests.</li>
+                  </ul>
+                  <li>
+                     Clone the TinkerPop <a href="https://github.com/apache/tinkerpop">Git repository</a> and provide a <a href="https://help.github.com/articles/using-pull-requests/">pull-request</a>.
+                     <ul>
+                        <li>Focus on a particular area of the codebase and take responsibility for your contribution.</li>
+                     </ul>
+                  <li>Make significant, long lasting contributions over time.</li>
+                  <ul>
+                     <li>Become a TinkerPop Committer and help determine the evolution of The TinkerPop.</li>
+                  </ul>
+               </ol>
+               <p>To build TinkerPop from source, please review the <a href="http://tinkerpop.apache.org/docs/current/dev/developer/#building-testing">developer documentation</a>.
+            </div>
+            <div class="col-xs-4">
+               <a href="http://tinkerpop.apache.org/docs/current/dev/developer/"><img src="images/gremlin-apache.png" width="250" class="img-responsive" /></a>
+            </div>
+         </div>
+         <h3>Community Contributions</h3>
+         TinkerPop is at the center of a larger development ecosystem that extends on its core interfaces, integration points, and ideas.  The graph systems and libraries below represent both
+         TinkerPop-maintained reference implementations as well as third-party managed projects. The TinkerPop community is always interested in hearing about projects like these and aiding
+         in their support. Please read our <a href="policy.html">provider listing policy</a> and feel free to promote such projects on the user and developer mailing lists. Information on
+         how to build implementations of the various interfaces that TinkerPop exposes can be found in the <a href="http://tinkerpop.apache.org/docs/current/dev/provider/">Provider Documentation</a>.
+         <p/>
+            <a name="graph-systems"></a>
+         <h4 id="graph-systems">Graph Systems</h4>
+         <small>[<a href="providers.html#data-system-providers">learn more</a>]</small>
+         <ul>
+            <li><a href="https://github.com/blazegraph/tinkerpop3">Blazegraph</a> - RDF graph database with OLTP support.</li>
+            <li><a href="http://www.datastax.com/products/datastax-enterprise-graph">DSEGraph</a> - DataStax graph database with OLTP and OLAP support.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#giraphgraphcomputer">Hadoop (Giraph)</a> - OLAP graph processor using Giraph.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer">Hadoop (Spark)</a> - OLAP graph processor using Spark.</li>
+            <li><a href="https://console.ng.bluemix.net/catalog/services/ibm-graph/">IBM Graph</a> - OLTP graph database as a service.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/currentg/#neo4j-gremlin">Neo4j</a> - OLTP graph database.</li>
+            <li><a href="https://github.com/pietermartin/sqlg">Sqlg</a> - RDBMS OLTP implementation with HSQLDB and Postresql support.</li>
+            <li><a href="http://stardog.com/">Stardog</a> - RDF graph database with OLTP and OLAP support.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin">TinkerGraph</a> - In-memory OLTP and OLAP reference implementation.</li>
+            <li><a href="http://thinkaurelius.github.io/titan/">Titan</a> - Distributed OLTP and OLAP graph database with BerkeleyDB, Cassandra and HBase support.</li>
+            <li><a href="https://github.com/awslabs/dynamodb-titan-storage-backend">Titan (Amazon)</a> - The Amazon DynamoDB storage backend for Titan.</li>
+            <li><a href="https://github.com/classmethod/tupl-titan-storage-backend">Titan (Tupl)</a> - The Tupl storage backend for Titan.</li>
+            <li><a href="https://github.com/rmagen/unipop">Unipop</a> - OLTP Elasticsearch and JDBC backed graph.</li>
+         </ul>
+         <a name="language-variants-compilers"></a>
+         <h4 id="language-variants-compilers">Query Languages</h4>
+         <small>[<a href="providers.html#query-language-providers">learn more</a>]</small>
+         <ul>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">gremlin-python</a> (python/variant) - Gremlin hosted in Python for use with any Python-based VM.</li>
+            <li><a href="https://github.com/emehrkay/gremlinpy">gremlin-py</a> (python/variant) - Write pure Python Gremlin that can be sent to Gremlin Server.</li>
+            <li><a href="https://github.com/mpollmeier/gremlin-scala">gremlin-scala</a> (scala/variant) - A Scala-based Gremlin language variant for TinkerPop3.</li>
+            <li><a href="https://github.com/jbmusso/gremlin-template-string">gremlin-template-string</a> (js/variant) - A Gremlin language builder.</li>
+            <li><a href="https://github.com/davebshow/ipython-gremlin">ipython-gremlin</a> (python/variant) - Gremlin in IPython and Jupyter.</li>
+            <li><a href="http://ogre.clojurewerkz.org/">ogre</a> (clojure/variant) - A Clojure language wrapper for TinkerPop3.</li>
+            <li><a href="http://bayofmany.github.io/">Peapod</a> (java/dsl) - An object-graph-wrapper.</li>
+            <li><a href="https://github.com/dkuppitz/sparql-gremlin">sparql-gremlin</a> (sparql/distinct) - A SPARQL to Gremlin traversal compiler.</li>
+            <li><a href="https://github.com/twilmes/sql-gremlin">sql-gremlin</a> (sql/distinct) - An SQL to Gremlin traversal compiler.</li>
+         </ul>
+         <a name="language-drivers"></a>
+         <h4 id="language-drivers">Language Drivers</h4>
+         <ul>
+            <li><a href="https://github.com/ZEROFAIL/goblin">Goblin</a> (python) - An asynchronous Python 3.5 toolkit for Gremlin Server.</li>
+            <li><a href="https://github.com/davebshow/gremlinclient">gremlinclient</a> (python) - An asynchronous Python 2/3 client for Gremlin Server that allows for flexible coroutine syntax - Trollius, Tornado, Asyncio.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#connecting-via-java">gremlin-driver</a> (java) - A Gremlin Server driver for Java.</li>
+            <li><a href="https://github.com/jbmusso/gremlin-javascript">gremlin-javascript</a> (js) - A Gremlin Server driver for JavaScript.</li>
+            <li><a href="https://github.com/qasaur/gremgo">gremgo</a> (go) - A Gremlin Server driver for Go.</li>
+            <li><a href="http://gremlinrestclient.readthedocs.org/en/latest/">gremlinrestclient</a> (python) - Python 2/3 library that uses HTTP to communicate with the Gremlin Server over REST.</li>
+            <li><a href="https://github.com/PommeVerte/gremlin-php">gremlin-php</a> (php) - A Gremlin Server driver for PHP.</li>
+            <li><a href="https://github.com/windj007/python-gremlin-rest">python-gremlin-rest</a> (python) - A REST-based client for Gremlin Server.</li>
+            <li><a href="https://github.com/coreyauger/reactive-gremlin">reactive-gremlin</a> (scala) - An Akka HTTP Websocket Connector.</li>
+            <li><a href="https://github.com/viagraphs/scalajs-gremlin-client">scalajs-gremlin-client</a> (scala) - A Gremlin-Server client with ad-hoc extensible, reactive, typeclass based API.</li>
+            <li><a href="https://www.nuget.org/packages/Teva.Common.Data.Gremlin/">Teva Gremlin</a> (.NET - C#) - A Gremlin Server driver for .NET.</li>
+            <li><a href="https://github.com/RedSeal-co/ts-tinkerpop">ts-tinkerpop</a> (typescript) - A helper library for Typescript applications via node-java.</li>
+         </ul>
+         <a name="tutorials"></a>
+         <h4 id="tutorials">Tutorials</h4>
+         <ul>
+            <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started/">Getting Started with TinkerPop</a> - Learn the basics of getting up and going with TinkerPop.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/the-gremlin-console/">The Gremlin Console</a> - Discusses uses cases of the Gremlin Console and usage patterns.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/recipes/">Gremlin Recipes</a> - Reference for common traversal patterns and style.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin Language Variants</a> - Learn how to embed Gremlin in a host programming language.</li>
+            <li><a href="http://sql2gremlin.com/">SQL2Gremlin</a> - Learn Gremlin using typical patterns found when querying data with SQL.</li>
+            <li><a href="https://academy.datastax.com/demos/getting-started-graph-databases">Getting Started with Graph Databases</a> - Compares relational databases to graph databases and SQL to Gremlin.</li>
+         </ul>
+         <a name="publications"></a>
+         <h4 id="publications">Publications</h4>
+         <ul>
+            <li>Rodriguez, M.A., "<a href="http://www.datastax.com/dev/blog/gremlins-time-machine">Gremlin's Time Machine</a>," DataStax Engineering Blog, September 2016.</li>
+            <li>Rodriguez, M.A., "<a href="http://www.slideshare.net/slidarko/gremlins-graph-traversal-machinery">Gremlin's Graph Traversal Machinery</a>," Cassandra Summit, September 2016.</li>
+            <li>Rodriguez, M.A., "<a href="http://www.datastax.com/dev/blog/the-mechanics-of-gremlin-olap">The Mechanics of Gremlin OLAP</a>," DataStax Engineering Blog, April 2016.</li>
+            <li>Rodriguez, M.A., "<a href="http://www.slideshare.net/slidarko/quantum-processes-in-graph-computing">Quantum Processes in Graph Computing</a>," GraphDay '16 Presentation, Austin Texas, January 2016. [<a href="https://www.youtube.com/watch?v=qRoAInXxgtc">video presentation</a>]</li>
+            <li>Rodriguez, M.A., Watkins, J.H., "<a href="http://arxiv.org/abs/1511.06278">Quantum Walks with Gremlin</a>," GraphDay '16 Proceedings, Austin Texas, January 2016.</li>
+            <li>Rodriguez, M.A., "(Keynote): <a href="http://www.slideshare.net/slidarko/acm-dbpl-keynote-the-graph-traversal-machine-and-language">The Gremlin Graph Traversal Machine and Language</a>," ACM Database Programming Language Conference Presentation, October 2015.</li>
+            <li>Rodriguez, M.A., "<a href="http://arxiv.org/abs/1508.03843">The Gremlin Graph Traversal Machine and Language</a>," ACM Database Programming Languages Conference Proceedings, October 2015.</li>
+            <li>Mallette, S.P., "<a href="http://www.slideshare.net/StephenMallette/tinkerpopfinal">What's New In Apache TinkerPop?</a>," Cassandra Summit, September 2015.</li>
+            <li>Rodriguez, M.A., Kuppitz, D., "<a href="http://www.datastax.com/dev/blog/the-benefits-of-the-gremlin-graph-traversal-machine">The Benefits of the Gremlin Graph Traversal Machine</a>," DataStax Engineering Blog, September 2015.</li>
+            <li>Rodriguez, M.A., Kuppitz, D., "<a href="http://www.slideshare.net/slidarko/the-gremlin-traversal-language">The Gremlin Graph Traversal Language</a>," 2015 NoSQLNow Conference, August 2015.</li>
+            <li>Rodriguez, M.A., Kuppitz, D., Yim, K., "<a href="http://www.datastax.com/dev/blog/tales-from-the-tinkerpop">Tales from the TinkerPop</a>," DataStax Engineering Blog, July 2015.</li>
+         </ul>
+         <a name="committers"></a>
+         <h3 id="committers">Apache TinkerPop Committers</h3>
+         <img src="images/tinkerpop-logo-small.png" style="float:right" />TinkerPop seeks committers dedicated to the art of graph computing. TinkerPop committers bring solid theoretical,
+         development, testing, documentation, etc. skills to the group. Committers contribute to TinkerPop beyond the everchanging requirements of their day-to-day jobs and maintain
+         responsibility for their contributions through time.
+         <p/>
+         <ul>
+            <li><a href="http://markorodriguez.com">Marko A. Rodriguez</a> (2009 - PMC): Gremlin language, Gremlin OLAP, documentation.</li>
+            <li><a href="http://ketrinadrawsalot.tumblr.com">Ketrina Yim</a> (2009 - Committer): Illustrator, creator of Gremlin and his merry band of robots.</li>
+            <li><a href="http://stephen.genoprime.com/">Stephen Mallette</a> (2011 - PMC Chair): Gremlin Console/Server/Driver, Graph I/O, testing, documentation, mailing list support.</li>
+            <li><a href="http://jamesthornton.com/">James Thornton</a> (2013 - PMC): Promotions, evangelism.</li>
+            <li><a href="http://gremlin.guru">Daniel Kuppitz</a> (2014 - PMC): Gremlin language design, benchmarking, testing, documentation, mailing list support.</li>
+            <li><a href="https://www.linkedin.com/in/hzbarcea">Hadrian Zbarcea</a> (2015 - PMC): Project mentor, provider liason.</li>
+            <li><a href="https://github.com/Humbedooh">Daniel Gruno</a> (2015 - PMC): Project mentor, infrastructure liason.</li>
+            <li><a href="https://github.com/mhfrantz">Matt Frantz</a> (2015 - Committer): Gremlin language design, ts-tinkerpop.</li>
+            <li><a href="https://github.com/pluradj">Jason Plurad</a> (2015 - PMC): Gremlin Console/Server, mailing list support.</li>
+            <li><a href="https://www.linkedin.com/in/dylan-millikin-32567934">Dylan Millikin</a> (2015 - PMC): Gremlin Server/Driver, gremlin-php, GremlinBin, mailing list support.</li>
+            <li><a href="https://github.com/twilmes">Ted Wilmes</a> (2015 - PMC): Promotions, mailing list support, benchmarking, sql-gremlin.</li>
+            <li><a href="https://github.com/pietermartin">Pieter Martin</a> (2016 - Committer): Gremlin language, Sqlg.</li>
+            <li><a href="https://github.com/jbmusso">Jean-Baptiste Musso</a> (2016 - Committer): Gremlin Server testing, Gremlin Driver (Node.js/JavaScript), mailing list support.</li>
+            <li><a href="http://www.michaelpollmeier.com/">Michael Pollmeier</a> (2016 - Committer): Gremlin language, Gremlin-Scala.</li>
+            <li><a href="https://github.com/davebshow">David Brown</a> (2016 - Committer): Python libraries, Gremlin Server testing.</li>
+         </ul>
+      </div>
+   </div>
+</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/js/bootstrap-3.3.5.min.js
----------------------------------------------------------------------
diff --git a/site/home/js/bootstrap-3.3.5.min.js b/site/home/js/bootstrap-3.3.5.min.js
new file mode 100644
index 0000000..133aeec
--- /dev/null
+++ b/site/home/js/bootstrap-3.3.5.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.
 handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a)
 {"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.pr
 op("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"o
 bject"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),th
 is.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)
 ),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"
 ),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"
 ))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!
 (e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element
 [c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Construc
 tor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==type
 of b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h
 =" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.
 find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignore
 BackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTran
 sitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$eleme
 nt.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this
 .$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.ap
 pend(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=nul
 l,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+t
 his.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a
 (b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=fun
 ction(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k
 .right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.of
 fset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return th
 is.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.to
 p=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.
 getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",t
 emplate:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var
  d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.
 scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+
 b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),
+d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.
 trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constru
 ctor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=
 c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix
 "+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file


[33/47] tinkerpop git commit: Update release docs based on new site publishing features

Posted by sp...@apache.org.
Update release docs based on new site publishing features


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3319b809
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3319b809
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3319b809

Branch: refs/heads/TINKERPOP-1235
Commit: 3319b809f2a3e0caf669e12e2934850917329dfa
Parents: 55718a7
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 06:59:01 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:42:10 2016 -0400

----------------------------------------------------------------------
 docs/src/dev/developer/release.asciidoc | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3319b809/docs/src/dev/developer/release.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/release.asciidoc b/docs/src/dev/developer/release.asciidoc
index ec1fdf6..7ba5134 100644
--- a/docs/src/dev/developer/release.asciidoc
+++ b/docs/src/dev/developer/release.asciidoc
@@ -142,6 +142,12 @@ current release was under development as this new release will have those change
 . Update "upgrade documentation":
 .. Update the release date.
 .. Update the link to `CHANGELOG.asciidoc` - this link may already be correct but will not exist until the repository is tagged.
+. Update homepage with references in `/site` to latest distribution and to other internal links elsewhere on the page.
+.. This step should only be performed by the release manager for the newest line of code (i.e. if release 3.3.x, 3.2.x and 3.1.x,
+then only do this step for 3.3.x, but update the site for 3.2.x and 3.1.x).
+.. On the link:http://tinkerpop.apache.org/downloads.html[Downloads] page, when moving "Current Releases" to "Archived
+Releases" recall that the hyperlink must change to point to version in the link:https://archive.apache.org/dist/tinkerpop/[Apache Archives].
+.. Preview changes locally with `bin/generate-home.sh` then commit changes to git.
 . `mvn versions:set -DnewVersion=xx.yy.zz -DgenerateBackupPoms=false` to update project files to reference the non-SNAPSHOT version
 . `pushd gremlin-console/bin; ln -fs ../target/apache-tinkerpop-gremlin-console-xx.yy.zz-standalone/bin/gremlin.sh gremlin.sh; popd`
 . `git diff` and review the updated files


[27/47] tinkerpop git commit: Fixed bad indents on the home page

Posted by sp...@apache.org.
Fixed bad indents on the home page


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/0f5a8062
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0f5a8062
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0f5a8062

Branch: refs/heads/TINKERPOP-1235
Commit: 0f5a806259a0a8ce45ad116bc18472448a3e690d
Parents: 4f4143a
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sat Oct 22 12:12:35 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:51 2016 -0400

----------------------------------------------------------------------
 site/home/index.html | 107 +++++++++++++++++++++-------------------------
 1 file changed, 49 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0f5a8062/site/home/index.html
----------------------------------------------------------------------
diff --git a/site/home/index.html b/site/home/index.html
index 6089fa4..0305140 100644
--- a/site/home/index.html
+++ b/site/home/index.html
@@ -72,75 +72,66 @@ limitations under the License.
       </div>
    </div>
    <div><br/></div>
-   <div id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000" border="none">
-      <!-- Indicators -->
-      <ol class="carousel-indicators carousel-indicators-numbers">
-         <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li>
-         <li data-target="#gremlinCarousel" data-slide-to="1">2</li>
-         <li data-target="#gremlinCarousel" data-slide-to="2">3</li>
-         <li data-target="#gremlinCarousel" data-slide-to="3">4</li>
-         <li data-target="#gremlinCarousel" data-slide-to="4">5</li>
-      </ol>
-      <div class="carousel-inner" role="listbox">
-         <div class="item active">
-            <pre><code class="language-gremlin">
+   <div class="carousel-inner" role="listbox">
+      <div class="item active">
+                  <pre><code class="language-gremlin">
 
 
-// What are the names of Gremlin's friends' friends?
-g.V().has("name","gremlin").
-  out("knows").out("knows").values("name")
+    // What are the names of Gremlin's friends' friends?
+    g.V().has("name","gremlin").
+      out("knows").out("knows").values("name")
 
 
-    </code></pre>
-         </div>
-         <div class="item">
-            <pre><code class="language-gremlin">
-// What are the names of projects that were created by two friends?
-g.V().match(
-  as("a").out("knows").as("b"),
-  as("a").out("created").as("c"),
-  as("b").out("created").as("c"),
-  as("c").in("created").count().is(2)).
-    select("c").by("name")
-    </code></pre>
-         </div>
-         <div class="item">
-            <pre><code class="language-gremlin">
+          </code></pre>
+      </div>
+      <div class="item">
+                  <pre><code class="language-gremlin">
+    // What are the names of projects that were created by two friends?
+    g.V().match(
+      as("a").out("knows").as("b"),
+      as("a").out("created").as("c"),
+      as("b").out("created").as("c"),
+      as("c").in("created").count().is(2)).
+        select("c").by("name")
+          </code></pre>
+      </div>
+      <div class="item">
+                  <pre><code class="language-gremlin">
 
-// What are the names of the managers in
-//  the management chain going from Gremlin to the CEO?
-g.V().has("name","gremlin").
-  repeat(in("manages")).until(has("title","ceo")).
-  path().by("name")
+    // What are the names of the managers in
+    //  the management chain going from Gremlin to the CEO?
+    g.V().has("name","gremlin").
+      repeat(in("manages")).until(has("title","ceo")).
+      path().by("name")
 
-    </code></pre>
-         </div>
-         <div class="item">
-            <pre><code class="language-gremlin">
+          </code></pre>
+      </div>
+      <div class="item">
+                  <pre><code class="language-gremlin">
 
-// What is the distribution of job titles amongst Gremlin's collaborators?
-g.V().has("name","gremlin").as("a").
-  out("created").in("created").
-    where(neq("a")).
-  groupCount().by("title")
+    // What is the distribution of job titles amongst Gremlin's collaborators?
+    g.V().has("name","gremlin").as("a").
+      out("created").in("created").
+        where(neq("a")).
+      groupCount().by("title")
 
-    </code></pre>
-         </div>
-         <div class="item">
-            <pre><code class="language-gremlin">
+          </code></pre>
+      </div>
+      <div class="item">
+                  <pre><code class="language-gremlin">
 
-// Get a ranking of the most relevant products for Gremlin given his purchase history.
-g.V().has("name","gremlin").out("bought").aggregate("stash").
-  in("bought").out("bought").
-    where(not(within("stash"))).
-  groupCount().
-    order(local).by(values,decr)
-    </code></pre>
-         </div>
+    // Get a ranking of the most relevant products for Gremlin given his purchase history.
+    g.V().has("name","gremlin").out("bought").aggregate("stash").
+      in("bought").out("bought").
+        where(not(within("stash"))).
+      groupCount().
+        order(local).by(values,decr)
+          </code></pre>
       </div>
    </div>
-   <!-- /.carousel -->
-   <div class="container">
+</div>
+<!-- /.carousel -->
+<div class="container">
       <h3>The Benefits of Graph Computing</h3>
       <p><img src="images/graph-globe.png" style="float:left;width:15%;padding:10px;"> A <strong>graph</strong> is a structure composed of <strong>vertices</strong> and <strong>edges</strong>.
          Both vertices and edges can have an arbitrary number of key/value-pairs called <strong>properties</strong>.


[25/47] tinkerpop git commit: Changed archive links for 3.2.2 and 3.1.4

Posted by sp...@apache.org.
Changed archive links for 3.2.2 and 3.1.4


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4f4143ad
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4f4143ad
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4f4143ad

Branch: refs/heads/TINKERPOP-1235
Commit: 4f4143ad98b473810e78d1431c3cfe7f0fe7279f
Parents: 7201454
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Oct 21 09:08:42 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:51 2016 -0400

----------------------------------------------------------------------
 site/home/downloads.html | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4f4143ad/site/home/downloads.html
----------------------------------------------------------------------
diff --git a/site/home/downloads.html b/site/home/downloads.html
index bee6585..c7b27fa 100644
--- a/site/home/downloads.html
+++ b/site/home/downloads.html
@@ -81,9 +81,9 @@ limitations under the License.
                 <a href="http://tinkerpop.apache.org/javadocs/3.2.2/full/">javadoc</a>
             </td>
             <td align="right">
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-gremlin-console-3.2.2-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-gremlin-server-3.2.2-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-3.2.2-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-gremlin-console-3.2.2-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-gremlin-server-3.2.2-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-3.2.2-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
             </td>
         </tr>
         <tr>
@@ -100,9 +100,9 @@ limitations under the License.
                 <a href="http://tinkerpop.apache.org/javadocs/3.1.4/full/">javadoc</a>
             </td>
             <td align="right">
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.4/apache-tinkerpop-gremlin-console-3.1.4-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.4/apache-tinkerpop-gremlin-server-3.1.4-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.4/apache-tinkerpop-3.1.4-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-gremlin-console-3.1.4-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-gremlin-server-3.1.4-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-3.1.4-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
             </td>
         </tr>
         <tr>


[42/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/homepage.graffle
----------------------------------------------------------------------
diff --git a/docs/site/home/images/homepage.graffle b/docs/site/home/images/homepage.graffle
new file mode 100644
index 0000000..a5a0c78
--- /dev/null
+++ b/docs/site/home/images/homepage.graffle
@@ -0,0 +1,63974 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>ApplicationVersion</key>
+	<array>
+		<string>com.omnigroup.OmniGrafflePro</string>
+		<string>139.18.0.187838</string>
+	</array>
+	<key>CreationDate</key>
+	<string>2015-11-17 20:30:24 +0000</string>
+	<key>Creator</key>
+	<string>Marko Rodriguez</string>
+	<key>FileType</key>
+	<string>flat</string>
+	<key>GraphDocumentVersion</key>
+	<integer>8</integer>
+	<key>GuidesLocked</key>
+	<string>NO</string>
+	<key>GuidesVisible</key>
+	<string>YES</string>
+	<key>ImageCounter</key>
+	<integer>12</integer>
+	<key>Images</key>
+	<array>
+		<dict>
+			<key>Extension</key>
+			<string>pdf</string>
+			<key>ID</key>
+			<integer>11</integer>
+			<key>RawData</key>
+			<data>
+			JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0
+			aCA1IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0K
+			eAGNls1uHDcQhO/zFDwHCMPu5u/VugXIwdAhD7CIIAR2AFsHv76/
+			4iixdtewg4Wwyx4Ou7qquqlP6X36lAqfWs6/z3+lP9M/yXqeq4Wl
+			L8nS7/z9nWr6I/328GLp8sJan5fLGXh4THYo8PjAaZZKLj7NVn/z
+			61fCO8nlY/JR8vCW5spjeSIQLfusyUg73I8PyW1lpTcrudaRvNTc
+			nXXp2cdItlqe0fY6bKVLstlzM56wI9pMRpKo6zCz7M66BScEJ87s
+			QOMN92y9C8Zqlj7cBswi16k3Wi5tclLJy1eyqHnMwQnTs3c2uFJ7
+			4qsqk3luS/sAoqct9+FsZ1c4Yc91+UGFVJXcC3hmWpZ56A0GTOiW
+			594XZ0YufaRVqYbdfeboNS2KXCyH5TnWQTFlApII54DNRsBkT+Er
+			1wJvvDB722tfwq68pawdMR01W46Yhw4oEyR6A8Yl1trVghIGGxgG
+			3FuKUrKV2BBtBWuVwLoNcgegYqArjLhbXtVTzJmNWkVBa4M1bxi6
+			/0dRUB9aiMKJNDzkG67YsKBFIEfpWwKPUBloMKZI50k94b7x1o3V
+			Lsfzvfve0QQlt2o25NgxqzDBTliIQ2weJXIbAA1Ew1xYVvq0jilm
+			xrlUiSAzDVYLigqFd9fSagOmAdNgcwy2qT7IFhF4pFAnNGayHyJm
+			uORZsC7zNN8vQBye2WkKTltSFToqYbEga4YDA/omNrEBb35IoWC1
+			Rl5dgiEtUkt8QzoEITIrAs2Rm0TnPbWZk2AW6mgVGOA5AkUKyHar
+			SmyUESJra7v7lqFLev4Oa08wSDvWfnhvNFeFydcI2M9IBLNAECQ9
+			Tu7kxVSj5w4imMlFA6GjhLwHre2wAW+aBkyNRudVlkyJS3raGxsU
+			64UYJun49TYSJMavwK3ZrR0xA8erI/rWAPnVnDS6D0bFxNYMLvGK
+			qF1q0xgoSVp6EBaVVr4YZofTAmWoTE0uoy5OD00Jp0OpM2xI+ru1
+			5tPVjsMqalKBVCWL0WZbkcU2CuQFUYc2Al4HeE4MwN4Yrpe05/Pt
+			jo/p6ZddJMj3N0XK6phFrcWgPKWolAQN4AvYlmlYH/+usdcZ+baj
+			Yzy5jY341Wvk2c4Rs2edd6Ybs2hn8gVpEPwNws1SwG9CGzi9UEfH
+			rV9+egsd3EJ7IkpEOpdRchdAp0L9HkwkJiec6vqg+4Gqnnvcd+eP
+			bzvlodWazMEkNnS/C8i01XUv0HOoZ5slfM/85X54TcT9+tNrFSME
+			s92YHWpuKXcdiTJomsNlJC5P9Sx3iXdO5qr5fyUlSgo6qNOEu6Zi
+			x10ErxgtojuQovo5YPiPYFd1dqboYxDyYb5ype/JpEt8cTcC/Tqy
+			Rx1SUdyr6ZgL9Bvy6ZIGu18HdL2FMWeYEJ2J61WlM/gGLlGt8uh2
+			NZPbdYvdJrxZn1fHFUwYpl/efwV1vNA9CmVuZHN0cmVhbQplbmRv
+			YmoKNSAwIG9iagoxMDc3CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBl
+			IC9QYWdlIC9QYXJlbnQgMyAwIFIgL1Jlc291cmNlcyA2IDAgUiAv
+			Q29udGVudHMgNCAwIFIgL01lZGlhQm94IFswIDAgNDAwIDQwMF0K
+			L0Nyb3BCb3ggWzYuODk0MDg2IDY1Ljg2OTMgMzk4LjIwMTIgMzM5
+			LjU3MTJdIC9CbGVlZEJveCBbMCAwIDQwMCA0MDBdIC9UcmltQm94
+			ClswIDAgNDAwIDQwMF0gL0FydEJveCBbMCAwIDQwMCA0MDBdID4+
+			CmVuZG9iago2IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiBdIC9D
+			b2xvclNwYWNlIDw8IC9DczEgNyAwIFIgPj4gPj4KZW5kb2JqCjgg
+			MCBvYmoKPDwgL0xlbmd0aCA5IDAgUiAvTiAzIC9BbHRlcm5hdGUg
+			L0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl
+			YW0KeAGdlndUU9kWh8+9N73QEiIgJfQaegkg0jtIFQRRiUmAUAKG
+			hCZ2RAVGFBEpVmRUwAFHhyJjRRQLg4Ji1wnyEFDGwVFEReXdjGsJ
+			7601896a/cdZ39nnt9fZZ+9917oAUPyCBMJ0WAGANKFYFO7rwVwS
+			E8vE9wIYEAEOWAHA4WZmBEf4RALU/L09mZmoSMaz9u4ugGS72yy/
+			UCZz1v9/kSI3QyQGAApF1TY8fiYX5QKUU7PFGTL/BMr0lSkyhjEy
+			FqEJoqwi48SvbPan5iu7yZiXJuShGlnOGbw0noy7UN6aJeGjjASh
+			XJgl4GejfAdlvVRJmgDl9yjT0/icTAAwFJlfzOcmoWyJMkUUGe6J
+			8gIACJTEObxyDov5OWieAHimZ+SKBIlJYqYR15hp5ejIZvrxs1P5
+			YjErlMNN4Yh4TM/0tAyOMBeAr2+WRQElWW2ZaJHtrRzt7VnW5mj5
+			v9nfHn5T/T3IevtV8Sbsz55BjJ5Z32zsrC+9FgD2JFqbHbO+lVUA
+			tG0GQOXhrE/vIADyBQC03pzzHoZsXpLE4gwnC4vs7GxzAZ9rLivo
+			N/ufgm/Kv4Y595nL7vtWO6YXP4EjSRUzZUXlpqemS0TMzAwOl89k
+			/fcQ/+PAOWnNycMsnJ/AF/GF6FVR6JQJhIlou4U8gViQLmQKhH/V
+			4X8YNicHGX6daxRodV8AfYU5ULhJB8hvPQBDIwMkbj96An3rWxAx
+			Csi+vGitka9zjzJ6/uf6Hwtcim7hTEEiU+b2DI9kciWiLBmj34Rs
+			wQISkAd0oAo0gS4wAixgDRyAM3AD3iAAhIBIEAOWAy5IAmlABLJB
+			PtgACkEx2AF2g2pwANSBetAEToI2cAZcBFfADXALDIBHQAqGwUsw
+			Ad6BaQiC8BAVokGqkBakD5lC1hAbWgh5Q0FQOBQDxUOJkBCSQPnQ
+			JqgYKoOqoUNQPfQjdBq6CF2D+qAH0CA0Bv0BfYQRmALTYQ3YALaA
+			2bA7HAhHwsvgRHgVnAcXwNvhSrgWPg63whfhG/AALIVfwpMIQMgI
+			A9FGWAgb8URCkFgkAREha5EipAKpRZqQDqQbuY1IkXHkAwaHoWGY
+			GBbGGeOHWYzhYlZh1mJKMNWYY5hWTBfmNmYQM4H5gqVi1bGmWCes
+			P3YJNhGbjS3EVmCPYFuwl7ED2GHsOxwOx8AZ4hxwfrgYXDJuNa4E
+			tw/XjLuA68MN4SbxeLwq3hTvgg/Bc/BifCG+Cn8cfx7fjx/GvyeQ
+			CVoEa4IPIZYgJGwkVBAaCOcI/YQRwjRRgahPdCKGEHnEXGIpsY7Y
+			QbxJHCZOkxRJhiQXUiQpmbSBVElqIl0mPSa9IZPJOmRHchhZQF5P
+			riSfIF8lD5I/UJQoJhRPShxFQtlOOUq5QHlAeUOlUg2obtRYqpi6
+			nVpPvUR9Sn0vR5Mzl/OX48mtk6uRa5Xrl3slT5TXl3eXXy6fJ18h
+			f0r+pvy4AlHBQMFTgaOwVqFG4bTCPYVJRZqilWKIYppiiWKD4jXF
+			USW8koGStxJPqUDpsNIlpSEaQtOledK4tE20Otpl2jAdRzek+9OT
+			6cX0H+i99AllJWVb5SjlHOUa5bPKUgbCMGD4M1IZpYyTjLuMj/M0
+			5rnP48/bNq9pXv+8KZX5Km4qfJUilWaVAZWPqkxVb9UU1Z2qbapP
+			1DBqJmphatlq+9Uuq43Pp893ns+dXzT/5PyH6rC6iXq4+mr1w+o9
+			6pMamhq+GhkaVRqXNMY1GZpumsma5ZrnNMe0aFoLtQRa5VrntV4w
+			lZnuzFRmJbOLOaGtru2nLdE+pN2rPa1jqLNYZ6NOs84TXZIuWzdB
+			t1y3U3dCT0svWC9fr1HvoT5Rn62fpL9Hv1t/ysDQINpgi0Gbwaih
+			iqG/YZ5ho+FjI6qRq9Eqo1qjO8Y4Y7ZxivE+41smsImdSZJJjclN
+			U9jU3lRgus+0zwxr5mgmNKs1u8eisNxZWaxG1qA5wzzIfKN5m/kr
+			Cz2LWIudFt0WXyztLFMt6ywfWSlZBVhttOqw+sPaxJprXWN9x4Zq
+			42Ozzqbd5rWtqS3fdr/tfTuaXbDdFrtOu8/2DvYi+yb7MQc9h3iH
+			vQ732HR2KLuEfdUR6+jhuM7xjOMHJ3snsdNJp9+dWc4pzg3OowsM
+			F/AX1C0YctFx4bgccpEuZC6MX3hwodRV25XjWuv6zE3Xjed2xG3E
+			3dg92f24+ysPSw+RR4vHlKeT5xrPC16Il69XkVevt5L3Yu9q76c+
+			Oj6JPo0+E752vqt9L/hh/QL9dvrd89fw5/rX+08EOASsCegKpARG
+			BFYHPgsyCRIFdQTDwQHBu4IfL9JfJFzUFgJC/EN2hTwJNQxdFfpz
+			GC4sNKwm7Hm4VXh+eHcELWJFREPEu0iPyNLIR4uNFksWd0bJR8VF
+			1UdNRXtFl0VLl1gsWbPkRoxajCCmPRYfGxV7JHZyqffS3UuH4+zi
+			CuPuLjNclrPs2nK15anLz66QX8FZcSoeGx8d3xD/iRPCqeVMrvRf
+			uXflBNeTu4f7kufGK+eN8V34ZfyRBJeEsoTRRJfEXYljSa5JFUnj
+			Ak9BteB1sl/ygeSplJCUoykzqdGpzWmEtPi000IlYYqwK10zPSe9
+			L8M0ozBDuspp1e5VE6JA0ZFMKHNZZruYjv5M9UiMJJslg1kLs2qy
+			3mdHZZ/KUcwR5vTkmuRuyx3J88n7fjVmNXd1Z752/ob8wTXuaw6t
+			hdauXNu5Tnddwbrh9b7rj20gbUjZ8MtGy41lG99uit7UUaBRsL5g
+			aLPv5sZCuUJR4b0tzlsObMVsFWzt3WazrWrblyJe0fViy+KK4k8l
+			3JLr31l9V/ndzPaE7b2l9qX7d+B2CHfc3em681iZYlle2dCu4F2t
+			5czyovK3u1fsvlZhW3FgD2mPZI+0MqiyvUqvakfVp+qk6oEaj5rm
+			vep7t+2d2sfb17/fbX/TAY0DxQc+HhQcvH/I91BrrUFtxWHc4azD
+			z+ui6rq/Z39ff0TtSPGRz0eFR6XHwo911TvU1zeoN5Q2wo2SxrHj
+			ccdv/eD1Q3sTq+lQM6O5+AQ4ITnx4sf4H++eDDzZeYp9qukn/Z/2
+			ttBailqh1tzWibakNml7THvf6YDTnR3OHS0/m/989Iz2mZqzymdL
+			z5HOFZybOZ93fvJCxoXxi4kXhzpXdD66tOTSna6wrt7LgZevXvG5
+			cqnbvfv8VZerZ645XTt9nX297Yb9jdYeu56WX+x+aem172296XCz
+			/ZbjrY6+BX3n+l37L972un3ljv+dGwOLBvruLr57/17cPel93v3R
+			B6kPXj/Mejj9aP1j7OOiJwpPKp6qP6391fjXZqm99Oyg12DPs4hn
+			j4a4Qy//lfmvT8MFz6nPK0a0RupHrUfPjPmM3Xqx9MXwy4yX0+OF
+			vyn+tveV0auffnf7vWdiycTwa9HrmT9K3qi+OfrW9m3nZOjk03dp
+			76anit6rvj/2gf2h+2P0x5Hp7E/4T5WfjT93fAn88ngmbWbm3/eE
+			8/sKZW5kc3RyZWFtCmVuZG9iago5IDAgb2JqCjI2MTIKZW5kb2Jq
+			CjcgMCBvYmoKWyAvSUNDQmFzZWQgOCAwIFIgXQplbmRvYmoKMyAw
+			IG9iago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNjEy
+			IDc5Ml0gL0NvdW50IDEgL0tpZHMgWyAyIDAgUiBdID4+CmVuZG9i
+			agoxMCAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMyAw
+			IFIgPj4KZW5kb2JqCjExIDAgb2JqCihNYWMgT1MgWCAxMC44LjUg
+			UXVhcnR6IFBERkNvbnRleHQpCmVuZG9iagoxMiAwIG9iagooRDoy
+			MDE2MDUwMTAwNTQ0M1owMCcwMCcpCmVuZG9iagoxIDAgb2JqCjw8
+			IC9Qcm9kdWNlciAxMSAwIFIgL0NyZWF0aW9uRGF0ZSAxMiAwIFIg
+			L01vZERhdGUgMTIgMCBSID4+CmVuZG9iagp4cmVmCjAgMTMKMDAw
+			MDAwMDAwMCA2NTUzNSBmIAowMDAwMDA0NDc1IDAwMDAwIG4gCjAw
+			MDAwMDExOTMgMDAwMDAgbiAKMDAwMDAwNDI0OCAwMDAwMCBuIAow
+			MDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDExNzMgMDAwMDAgbiAK
+			MDAwMDAwMTQxMiAwMDAwMCBuIAowMDAwMDA0MjEzIDAwMDAwIG4g
+			CjAwMDAwMDE0ODAgMDAwMDAgbiAKMDAwMDAwNDE5MyAwMDAwMCBu
+			IAowMDAwMDA0MzMxIDAwMDAwIG4gCjAwMDAwMDQzODEgMDAwMDAg
+			biAKMDAwMDAwNDQzMyAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXpl
+			IDEzIC9Sb290IDEwIDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8Mjdi
+			NGQ5NmFmZWI2OGU0NjE5ZmI0YTlkNTJhZWJjMmM+CjwyN2I0ZDk2
+			YWZlYjY4ZTQ2MTlmYjRhOWQ1MmFlYmMyYz4gXSA+PgpzdGFydHhy
+			ZWYKNDU1MAolJUVPRgo=
+			</data>
+		</dict>
+		<dict>
+			<key>Extension</key>
+			<string>tiff</string>
+			<key>ID</key>
+			<integer>9</integer>
+			<key>RawData</key>
+			<data>
+			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

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/blazegraph-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/blazegraph-logo.png b/docs/site/home/images/logos/blazegraph-logo.png
new file mode 100644
index 0000000..f1b00b9
Binary files /dev/null and b/docs/site/home/images/logos/blazegraph-logo.png differ


[44/47] tinkerpop git commit: Improvements to release docs after latest rebase to master.

Posted by sp...@apache.org.
Improvements to release docs after latest rebase to master.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/16617293
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/16617293
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/16617293

Branch: refs/heads/TINKERPOP-1235
Commit: 1661729300ade37a959c14d93ca23203f73ecc57
Parents: 24a4f21
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Oct 27 07:46:48 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:46:48 2016 -0400

----------------------------------------------------------------------
 docs/src/dev/developer/release.asciidoc | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/16617293/docs/src/dev/developer/release.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/release.asciidoc b/docs/src/dev/developer/release.asciidoc
index 7ba5134..dd7b4a0 100644
--- a/docs/src/dev/developer/release.asciidoc
+++ b/docs/src/dev/developer/release.asciidoc
@@ -145,7 +145,9 @@ current release was under development as this new release will have those change
 . Update homepage with references in `/site` to latest distribution and to other internal links elsewhere on the page.
 .. This step should only be performed by the release manager for the newest line of code (i.e. if release 3.3.x, 3.2.x and 3.1.x,
 then only do this step for 3.3.x, but update the site for 3.2.x and 3.1.x).
-.. On the link:http://tinkerpop.apache.org/downloads.html[Downloads] page, when moving "Current Releases" to "Archived
+.. Update the `template/header-footer.html`.
+.. Update `index.html`.
+.. Update link:http://tinkerpop.apache.org/downloads.html[Downloads] page, when moving "Current Releases" to "Archived
 Releases" recall that the hyperlink must change to point to version in the link:https://archive.apache.org/dist/tinkerpop/[Apache Archives].
 .. Preview changes locally with `bin/generate-home.sh` then commit changes to git.
 . `mvn versions:set -DnewVersion=xx.yy.zz -DgenerateBackupPoms=false` to update project files to reference the non-SNAPSHOT version
@@ -201,13 +203,9 @@ Release & Promote
 . `cd release; svn add xx.yy.zz/; svn ci -m "TinkerPop xx.yy.zz release"`
 . Wait for Apache Sonatype to sync the artifacts to Maven Central at (link:http://repo1.maven.org/maven2/org/apache/tinkerpop/tinkerpop/[http://repo1.maven.org/maven2/org/apache/tinkerpop/tinkerpop/]).
 . Wait for zip distributions to to sync to the Apache mirrors (i.e ensure the download links work from a mirror).
-. Update home page site with references to latest distribution - specifically:
-.. Update the `template/header-footer.html`.
-.. Update `index.html`.
-.. Update link:http://tinkerpop.apache.org/downloads.html[Downloads] page, when moving "Current Releases" to "Archived
-Releases" recall that the hyperlink must change to point to version in the link:https://archive.apache.org/dist/tinkerpop/[Apache Archives].
+. `bin/publish-home.sh <username>` to publish the updated web site with new releases.
 . Execute `bin/update-current-docs.sh` to migrate to the latest documentation set for `/current`.
-. This step should olny occur after the website is updated and all links are working. If there are releases present in
+. This step should only occur after the website is updated and all links are working. If there are releases present in
 SVN that represents lines of code that are no longer under development, then remove those releases. In other words,
 if `3.2.0` is present and `3.2.1` is released then remove `3.2.0`.  However, if `3.1.3` is present and that line of
 code is still under potential development, it may stay.


[03/47] tinkerpop git commit: added Pick to the io graphson.asciidoc docs. updated CHANGELOG.

Posted by sp...@apache.org.
added Pick to the io graphson.asciidoc docs. updated CHANGELOG.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2817c01c
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2817c01c
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2817c01c

Branch: refs/heads/TINKERPOP-1235
Commit: 2817c01c1ea1a8fdb17c8f3bd8a9149585926b0d
Parents: fc6ce29
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Oct 25 06:08:00 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Oct 25 06:08:00 2016 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                | 1 +
 docs/src/dev/io/graphson.asciidoc | 1 +
 2 files changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2817c01c/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 4dee4c2..d2cd065 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 TinkerPop 3.2.4 (Release Date: NOT OFFICIALLY RELEASED YET)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+* Added `Pick.none` and `Pick.any` to the serializers and importers.
 * Fixed a severe bug where `GraphComputer` strategies are not being loaded until the second use of the traversal source.
 
 [[release-3-2-3]]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2817c01c/docs/src/dev/io/graphson.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/io/graphson.asciidoc b/docs/src/dev/io/graphson.asciidoc
index 511a0fc..5858b95 100644
--- a/docs/src/dev/io/graphson.asciidoc
+++ b/docs/src/dev/io/graphson.asciidoc
@@ -149,6 +149,7 @@ file.withWriter { writer ->
   writer.write(toJson(Operator.sum, "Operator"))
   writer.write(toJson(Order.incr, "Order"))
   writer.write(toJson(Pop.all, "Pop"))
+  writer.write(toJson(Pick.any, "Pick"))
   writer.write(toJson(org.apache.tinkerpop.gremlin.util.function.Lambda.function("{ it.get() }"), "Lambda"))
   tm = g.V().hasLabel('person').out().out().tree().profile().next()
   metrics = new org.apache.tinkerpop.gremlin.process.traversal.util.MutableMetrics(tm.getMetrics(0));


[36/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/datastax-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/datastax-logo.png b/site/home/images/logos/datastax-logo.png
deleted file mode 100644
index af7deed..0000000
Binary files a/site/home/images/logos/datastax-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/gremlin-groovy-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/gremlin-groovy-logo.png b/site/home/images/logos/gremlin-groovy-logo.png
deleted file mode 100644
index eb13d67..0000000
Binary files a/site/home/images/logos/gremlin-groovy-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/gremlin-java-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/gremlin-java-logo.png b/site/home/images/logos/gremlin-java-logo.png
deleted file mode 100644
index 416ce81..0000000
Binary files a/site/home/images/logos/gremlin-java-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/gremlin-python-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/gremlin-python-logo.png b/site/home/images/logos/gremlin-python-logo.png
deleted file mode 100644
index 27c4b6a..0000000
Binary files a/site/home/images/logos/gremlin-python-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/gremlin-scala-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/gremlin-scala-logo.png b/site/home/images/logos/gremlin-scala-logo.png
deleted file mode 100644
index 2c29c1f..0000000
Binary files a/site/home/images/logos/gremlin-scala-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/ibmgraph-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/ibmgraph-logo.png b/site/home/images/logos/ibmgraph-logo.png
deleted file mode 100644
index 83524ab..0000000
Binary files a/site/home/images/logos/ibmgraph-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/keylines-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/keylines-logo.png b/site/home/images/logos/keylines-logo.png
deleted file mode 100644
index 5ac7f6a..0000000
Binary files a/site/home/images/logos/keylines-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/linkurious-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/linkurious-logo.png b/site/home/images/logos/linkurious-logo.png
deleted file mode 100644
index 17963fe..0000000
Binary files a/site/home/images/logos/linkurious-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/neo4j-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/neo4j-logo.png b/site/home/images/logos/neo4j-logo.png
deleted file mode 100644
index 7cb036b..0000000
Binary files a/site/home/images/logos/neo4j-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/ogre-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/ogre-logo.png b/site/home/images/logos/ogre-logo.png
deleted file mode 100644
index 7ad991a..0000000
Binary files a/site/home/images/logos/ogre-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/orientdb-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/orientdb-logo.png b/site/home/images/logos/orientdb-logo.png
deleted file mode 100644
index ba6e832..0000000
Binary files a/site/home/images/logos/orientdb-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/sparql-gremlin-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/sparql-gremlin-logo.png b/site/home/images/logos/sparql-gremlin-logo.png
deleted file mode 100644
index 8f9239e..0000000
Binary files a/site/home/images/logos/sparql-gremlin-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/sql-gremlin-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/sql-gremlin-logo.png b/site/home/images/logos/sql-gremlin-logo.png
deleted file mode 100644
index 490b249..0000000
Binary files a/site/home/images/logos/sql-gremlin-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/stardog-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/stardog-logo.png b/site/home/images/logos/stardog-logo.png
deleted file mode 100644
index 63c7597..0000000
Binary files a/site/home/images/logos/stardog-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/titan-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/titan-logo.png b/site/home/images/logos/titan-logo.png
deleted file mode 100644
index fee8ac6..0000000
Binary files a/site/home/images/logos/titan-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/tomsawyer-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/tomsawyer-logo.png b/site/home/images/logos/tomsawyer-logo.png
deleted file mode 100644
index 885d9f5..0000000
Binary files a/site/home/images/logos/tomsawyer-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/meeting-room-button.png
----------------------------------------------------------------------
diff --git a/site/home/images/meeting-room-button.png b/site/home/images/meeting-room-button.png
deleted file mode 100644
index 8179624..0000000
Binary files a/site/home/images/meeting-room-button.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/oltp-and-olap.png
----------------------------------------------------------------------
diff --git a/site/home/images/oltp-and-olap.png b/site/home/images/oltp-and-olap.png
deleted file mode 100644
index c290e49..0000000
Binary files a/site/home/images/oltp-and-olap.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/peon-head.png
----------------------------------------------------------------------
diff --git a/site/home/images/peon-head.png b/site/home/images/peon-head.png
deleted file mode 100644
index 6ed8a98..0000000
Binary files a/site/home/images/peon-head.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/adjacency-list.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/adjacency-list.png b/site/home/images/policy/adjacency-list.png
deleted file mode 100644
index e6726fd..0000000
Binary files a/site/home/images/policy/adjacency-list.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/blueprints-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/blueprints-character.png b/site/home/images/policy/blueprints-character.png
deleted file mode 100644
index 6b42139..0000000
Binary files a/site/home/images/policy/blueprints-character.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/business-gremlin.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/business-gremlin.png b/site/home/images/policy/business-gremlin.png
deleted file mode 100755
index 6b36184..0000000
Binary files a/site/home/images/policy/business-gremlin.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/cyclicpath-step.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/cyclicpath-step.png b/site/home/images/policy/cyclicpath-step.png
deleted file mode 100644
index 4718941..0000000
Binary files a/site/home/images/policy/cyclicpath-step.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/flat-map-lambda.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/flat-map-lambda.png b/site/home/images/policy/flat-map-lambda.png
deleted file mode 100644
index 8f9300a..0000000
Binary files a/site/home/images/policy/flat-map-lambda.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/frames-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/frames-character.png b/site/home/images/policy/frames-character.png
deleted file mode 100644
index 96111af..0000000
Binary files a/site/home/images/policy/frames-character.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/furnace-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/furnace-character.png b/site/home/images/policy/furnace-character.png
deleted file mode 100644
index ef03224..0000000
Binary files a/site/home/images/policy/furnace-character.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/gremlin-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-character.png b/site/home/images/policy/gremlin-character.png
deleted file mode 100644
index 262d2d7..0000000
Binary files a/site/home/images/policy/gremlin-character.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/gremlin-chickenwing.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-chickenwing.png b/site/home/images/policy/gremlin-chickenwing.png
deleted file mode 100644
index b549fa3..0000000
Binary files a/site/home/images/policy/gremlin-chickenwing.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/gremlin-gremopoly.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-gremopoly.png b/site/home/images/policy/gremlin-gremopoly.png
deleted file mode 100644
index de0f06e..0000000
Binary files a/site/home/images/policy/gremlin-gremopoly.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/gremlin-gremreaper.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-gremreaper.png b/site/home/images/policy/gremlin-gremreaper.png
deleted file mode 100644
index 7aaf931..0000000
Binary files a/site/home/images/policy/gremlin-gremreaper.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/gremlin-gremstefani.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-gremstefani.png b/site/home/images/policy/gremlin-gremstefani.png
deleted file mode 100644
index 90373b8..0000000
Binary files a/site/home/images/policy/gremlin-gremstefani.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/gremlin-new-sheriff-in-town.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-new-sheriff-in-town.png b/site/home/images/policy/gremlin-new-sheriff-in-town.png
deleted file mode 100644
index 841af99..0000000
Binary files a/site/home/images/policy/gremlin-new-sheriff-in-town.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/gremlin-no-more-mr-nice-guy.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlin-no-more-mr-nice-guy.png b/site/home/images/policy/gremlin-no-more-mr-nice-guy.png
deleted file mode 100644
index 2b248d9..0000000
Binary files a/site/home/images/policy/gremlin-no-more-mr-nice-guy.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/gremlintron.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/gremlintron.png b/site/home/images/policy/gremlintron.png
deleted file mode 100644
index 2a65a37..0000000
Binary files a/site/home/images/policy/gremlintron.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/olap-traversal.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/olap-traversal.png b/site/home/images/policy/olap-traversal.png
deleted file mode 100644
index 783ad18..0000000
Binary files a/site/home/images/policy/olap-traversal.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/pipes-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/pipes-character.png b/site/home/images/policy/pipes-character.png
deleted file mode 100644
index f960a01..0000000
Binary files a/site/home/images/policy/pipes-character.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/rexster-character.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/rexster-character.png b/site/home/images/policy/rexster-character.png
deleted file mode 100644
index cd62bc9..0000000
Binary files a/site/home/images/policy/rexster-character.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/tinkerpop-reading.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/tinkerpop-reading.png b/site/home/images/policy/tinkerpop-reading.png
deleted file mode 100644
index e3ece1a..0000000
Binary files a/site/home/images/policy/tinkerpop-reading.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/policy/tinkerpop3-splash.png
----------------------------------------------------------------------
diff --git a/site/home/images/policy/tinkerpop3-splash.png b/site/home/images/policy/tinkerpop3-splash.png
deleted file mode 100755
index ed48f37..0000000
Binary files a/site/home/images/policy/tinkerpop3-splash.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/resources/arxiv-article-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/arxiv-article-resource.png b/site/home/images/resources/arxiv-article-resource.png
deleted file mode 100644
index 1caccad..0000000
Binary files a/site/home/images/resources/arxiv-article-resource.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/resources/benefits-gremlin-machine-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/benefits-gremlin-machine-resource.png b/site/home/images/resources/benefits-gremlin-machine-resource.png
deleted file mode 100644
index 58b4e55..0000000
Binary files a/site/home/images/resources/benefits-gremlin-machine-resource.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/resources/graph-databases-101-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/graph-databases-101-resource.png b/site/home/images/resources/graph-databases-101-resource.png
deleted file mode 100644
index c837b3e..0000000
Binary files a/site/home/images/resources/graph-databases-101-resource.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/resources/on-graph-computing-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/on-graph-computing-resource.png b/site/home/images/resources/on-graph-computing-resource.png
deleted file mode 100644
index fa09f4b..0000000
Binary files a/site/home/images/resources/on-graph-computing-resource.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/resources/property-graph-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/property-graph-resource.png b/site/home/images/resources/property-graph-resource.png
deleted file mode 100644
index 73534a9..0000000
Binary files a/site/home/images/resources/property-graph-resource.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/resources/sql-2-gremlin-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/sql-2-gremlin-resource.png b/site/home/images/resources/sql-2-gremlin-resource.png
deleted file mode 100644
index 0e5bb6e..0000000
Binary files a/site/home/images/resources/sql-2-gremlin-resource.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/resources/tables-and-graphs-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/tables-and-graphs-resource.png b/site/home/images/resources/tables-and-graphs-resource.png
deleted file mode 100644
index bdc0b24..0000000
Binary files a/site/home/images/resources/tables-and-graphs-resource.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/resources/why-graph-databases-resource.png
----------------------------------------------------------------------
diff --git a/site/home/images/resources/why-graph-databases-resource.png b/site/home/images/resources/why-graph-databases-resource.png
deleted file mode 100644
index 485b6eb..0000000
Binary files a/site/home/images/resources/why-graph-databases-resource.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/rexster-handdrawn.png
----------------------------------------------------------------------
diff --git a/site/home/images/rexster-handdrawn.png b/site/home/images/rexster-handdrawn.png
deleted file mode 100644
index 23bde22..0000000
Binary files a/site/home/images/rexster-handdrawn.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerblocks.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerblocks.png b/site/home/images/tinkerblocks.png
deleted file mode 100644
index 5b30249..0000000
Binary files a/site/home/images/tinkerblocks.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerpop-book.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-book.png b/site/home/images/tinkerpop-book.png
deleted file mode 100644
index e3ece1a..0000000
Binary files a/site/home/images/tinkerpop-book.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerpop-cityscape.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-cityscape.png b/site/home/images/tinkerpop-cityscape.png
deleted file mode 100644
index f38be23..0000000
Binary files a/site/home/images/tinkerpop-cityscape.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerpop-conference.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-conference.png b/site/home/images/tinkerpop-conference.png
deleted file mode 100644
index 16efd35..0000000
Binary files a/site/home/images/tinkerpop-conference.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerpop-logo-small.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-logo-small.png b/site/home/images/tinkerpop-logo-small.png
deleted file mode 100644
index e90f0e6..0000000
Binary files a/site/home/images/tinkerpop-logo-small.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerpop-meeting-room.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-meeting-room.png b/site/home/images/tinkerpop-meeting-room.png
deleted file mode 100644
index 5d80cf3..0000000
Binary files a/site/home/images/tinkerpop-meeting-room.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerpop-reading-2.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-reading-2.png b/site/home/images/tinkerpop-reading-2.png
deleted file mode 100644
index 2428382..0000000
Binary files a/site/home/images/tinkerpop-reading-2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerpop-reading.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-reading.png b/site/home/images/tinkerpop-reading.png
deleted file mode 100644
index e3ece1a..0000000
Binary files a/site/home/images/tinkerpop-reading.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerpop-splash.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop-splash.png b/site/home/images/tinkerpop-splash.png
deleted file mode 100644
index 870b080..0000000
Binary files a/site/home/images/tinkerpop-splash.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/tinkerpop3-splash.png
----------------------------------------------------------------------
diff --git a/site/home/images/tinkerpop3-splash.png b/site/home/images/tinkerpop3-splash.png
deleted file mode 100755
index ed48f37..0000000
Binary files a/site/home/images/tinkerpop3-splash.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/index.html
----------------------------------------------------------------------
diff --git a/site/home/index.html b/site/home/index.html
deleted file mode 100644
index bf061c3..0000000
--- a/site/home/index.html
+++ /dev/null
@@ -1,316 +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.
--->
-<div class="container">
-   <div class="hero-unit">
-      <div class="row">
-         <div class="col-md-6">
-            <b><font size="6" face="american typewriter">Apache TinkerPop&trade;</font></b>
-            <p><img src="images/tinkerpop-splash.png" width="420" class="img-responsive" style="padding:10px;"/></p>
-            <p><font size="3">Apache TinkerPop&trade; is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP).</font></p>
-         </div>
-         <div class="col-md-6">
-            <br/>
-            <p>
-               <b><font size="4">TinkerPop</font> <font size="4">3.2.3</font></b> (<font size="2">Released: 17-Oct-2016</font>)
-            </p>
-            <p><b>Downloads</b></p>
-            <p>
-               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-console-3.2.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-server-3.2.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-3.2.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </p>
-            <div class="row">
-               <div class="col-md-6">
-                  <p><b>Documentation</b></p>
-                  <ul>
-                     <li><a href="http://tinkerpop.apache.org/docs/current/reference/">TinkerPop3 Documentation</a></li>
-                     <li><a href="http://tinkerpop.apache.org/docs/3.2.3/upgrade/#_tinkerpop_3_2_3">Upgrade Information</a></li>
-                     <li>TinkerPop3 Javadoc</li>
-                     <ul>
-                        <li><a href="http://tinkerpop.apache.org/javadocs/current/core/">TinkerPop3 Core-Javadoc</a></li>
-                        <li><a href="http://tinkerpop.apache.org/javadocs/current/full/">TinkerPop3 Full-Javadoc</a></li>
-                     </ul>
-                  </ul>
-               </div>
-               <div class="col-md-6">
-                  <br/>
-                  <a href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started">
-                     <img src="images/gremlin-gym-mini.png" width="150" class="img-responsive" align="left"/>
-                  </a>
-               </div>
-            </div>
-            <div class="row">
-               <div class="col-md-5">
-                  <div class="hovereffect">
-                      <img src="images/cityscape-button.png" style="width:200px;" class="img-responsive" /></a>
-                      <div class="overlay"><a class="info" href="gremlin.html">Understand Gremlin</a></div>
-                  </div>
-               </div>
-               <div class="col-md-5">
-                  <div class="hovereffect">
-                      <img src="images/meeting-room-button.png" style="width:200px;" class="img-responsive" /></a>
-                      <div class="overlay"><a class="info" href="providers.html">Become TinkerPop-Enabled</a></div>
-                  </div>
-               </div>
-               <div class="col-md-2"></div>
-            </div>
-         </div>
-      </div>
-   </div>
-   <div><br/></div>
-   <div id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000" border="none">
-      <!-- Indicators -->
-      <ol class="carousel-indicators carousel-indicators-numbers">
-         <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li>
-         <li data-target="#gremlinCarousel" data-slide-to="1">2</li>
-         <li data-target="#gremlinCarousel" data-slide-to="2">3</li>
-         <li data-target="#gremlinCarousel" data-slide-to="3">4</li>
-         <li data-target="#gremlinCarousel" data-slide-to="4">5</li>
-      </ol>
-      <div class="carousel-inner" role="listbox">
-         <div class="item active">
-                  <pre><code class="language-gremlin">
-
-
-    // What are the names of Gremlin's friends' friends?
-    g.V().has("name","gremlin").
-      out("knows").out("knows").values("name")
-
-
-          </code></pre>
-         </div>
-         <div class="item">
-                  <pre><code class="language-gremlin">
-    // What are the names of projects that were created by two friends?
-    g.V().match(
-      as("a").out("knows").as("b"),
-      as("a").out("created").as("c"),
-      as("b").out("created").as("c"),
-      as("c").in("created").count().is(2)).
-        select("c").by("name")
-          </code></pre>
-         </div>
-         <div class="item">
-                  <pre><code class="language-gremlin">
-
-    // What are the names of the managers in
-    //  the management chain going from Gremlin to the CEO?
-    g.V().has("name","gremlin").
-      repeat(in("manages")).until(has("title","ceo")).
-      path().by("name")
-
-          </code></pre>
-         </div>
-         <div class="item">
-                  <pre><code class="language-gremlin">
-
-    // What is the distribution of job titles amongst Gremlin's collaborators?
-    g.V().has("name","gremlin").as("a").
-      out("created").in("created").
-        where(neq("a")).
-      groupCount().by("title")
-
-          </code></pre>
-         </div>
-         <div class="item">
-                  <pre><code class="language-gremlin">
-
-    // Get a ranking of the most relevant products for Gremlin given his purchase history.
-    g.V().has("name","gremlin").out("bought").aggregate("stash").
-      in("bought").out("bought").
-        where(not(within("stash"))).
-      groupCount().
-        order(local).by(values,decr)
-          </code></pre>
-         </div>
-      </div>
-   </div>
-   <!-- /.carousel -->
-   <div class="container">
-      <h3>The Benefits of Graph Computing</h3>
-      <p><img src="images/graph-globe.png" style="float:left;width:15%;padding:10px;"> A <strong>graph</strong> is a structure composed of <strong>vertices</strong> and <strong>edges</strong>.
-         Both vertices and edges can have an arbitrary number of key/value-pairs called <strong>properties</strong>.
-         Vertices denote discrete objects such as a person, a place, or an event. Edges denote relationships between vertices. For instance, a person may know
-         another person, have been involved in an event, and/or was recently at a particular place. Properties express non-relational information about the
-         vertices and edges. Example properties include a vertex having a name, an age and an edge having a timestamp and/or a weight. Together, the aforementioned
-         graph is known as a <strong>property graph</strong> and it is the foundational data structure of Apache TinkerPop.
-      </p>
-      <br/>
-      <p><img src="images/graph-vs-table.png" style="float:right;width:22%;padding:10px;">If a user's domain is composed of a heterogenous set of objects (vertices) that can be related to one another in a multitude of ways (edges),
-         then a graph may be the right representation to use. In a graph, each vertex is seen as an atomic entity (not simply a "row in a table") that
-         can be linked to any other vertex or have properties added or removed at will. This empowers the data modeler to think in terms of actors within
-         a world of complex relations as opposed to, in relational databases, statically-typed tables joined in aggregate. Once a domain is modeled, that
-         model must then be exploited in order to yield novel, differentiating information. Graph computing has a rich history that includes not only query
-         languages devoid of table-join semantics, but also algorithms that support complex reasoning: path analysis, vertex clustering and ranking, subgraph
-         identification, and more. The world of applied graph computing offers a flexible, intuitive data structure along with a host of algorithms able to
-         effectively leverage that structure.
-      </p>
-      <br/>
-      <p><a href="#"><img src="images/apache-tinkerpop-logo.png" style="float:left;width:22%;padding:10px;"/></a>Apache TinkerPop&trade; is an open source, vendor-agnostic, graph computing framework distributed under the commercial friendly <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache2 license</a>.
-         When a data system is <a href="providers.html">TinkerPop-enabled</a>, its users are able to model their domain as a graph and analyze that graph using the <a href="gremlin.html">Gremlin graph traversal language</a>.
-         Furthermore, all TinkerPop-enabled systems integrate with one another allowing them to easily expand their offerings as well as allowing users to choose the appropriate graph
-         technology for their application. Sometimes an application is best served by an in-memory, transactional graph database. Sometimes a multi-machine distributed graph database will do the job.
-         Or perhaps the application requires both a distributed graph database for real-time queries and, in parallel, a Big(Graph)Data processor for batch analytics. Whatever the application's
-         requirements, there exists a TinkerPop-enabled graph system out there to meet its needs.
-      </p>
-   </div>
-   <h3>Contributing to Apache TinkerPop</h3>
-   <div class="row">
-      <div class="col-xs-12">
-         <div class="row">
-            <div class="col-xs-8">
-               TinkerPop is an open source project that <a href="http://tinkerpop.apache.org/docs/current/dev/developer#_contributing">welcomes contributions</a>. There are many ways to get involved:
-               <p/>
-               <ol>
-                  <li>
-                     Join the <a href="http://groups.google.com/group/gremlin-users">Gremlin-Users</a> public mailing list.
-                     <ul>
-                        <li>Help users by answering questions and demonstrating your expertise in TinkerPop and graphs.</li>
-                     </ul>
-                  <li>
-                     Join the <a href="https://lists.apache.org/list.html?dev@tinkerpop.apache.org">TinkerPop Developer</a> public mailing list.
-                     <ul>
-                        <li>Contribute ideas on how to make the TinkerPop code- and documentation-base better.</li>
-                     </ul>
-                  <li>Submit bug and feature issues to TinkerPop <a href="https://issues.apache.org/jira/browse/TINKERPOP/">JIRA</a>.</li>
-                  <ul>
-                     <li>Provide easily reproducible bug reports and well articulated feature requests.</li>
-                  </ul>
-                  <li>
-                     Clone the TinkerPop <a href="https://github.com/apache/tinkerpop">Git repository</a> and provide a <a href="https://help.github.com/articles/using-pull-requests/">pull-request</a>.
-                     <ul>
-                        <li>Focus on a particular area of the codebase and take responsibility for your contribution.</li>
-                     </ul>
-                  <li>Make significant, long lasting contributions over time.</li>
-                  <ul>
-                     <li>Become a TinkerPop Committer and help determine the evolution of The TinkerPop.</li>
-                  </ul>
-               </ol>
-               <p>To build TinkerPop from source, please review the <a href="http://tinkerpop.apache.org/docs/current/dev/developer/#building-testing">developer documentation</a>.
-            </div>
-            <div class="col-xs-4">
-               <a href="http://tinkerpop.apache.org/docs/current/dev/developer/"><img src="images/gremlin-apache.png" width="250" class="img-responsive" /></a>
-            </div>
-         </div>
-         <h3>Community Contributions</h3>
-         TinkerPop is at the center of a larger development ecosystem that extends on its core interfaces, integration points, and ideas.  The graph systems and libraries below represent both
-         TinkerPop-maintained reference implementations as well as third-party managed projects. The TinkerPop community is always interested in hearing about projects like these and aiding
-         in their support. Please read our <a href="policy.html">provider listing policy</a> and feel free to promote such projects on the user and developer mailing lists. Information on
-         how to build implementations of the various interfaces that TinkerPop exposes can be found in the <a href="http://tinkerpop.apache.org/docs/current/dev/provider/">Provider Documentation</a>.
-         <p/>
-            <a name="graph-systems"></a>
-         <h4 id="graph-systems">Graph Systems</h4>
-         <small>[<a href="providers.html#data-system-providers">learn more</a>]</small>
-         <ul>
-            <li><a href="https://github.com/blazegraph/tinkerpop3">Blazegraph</a> - RDF graph database with OLTP support.</li>
-            <li><a href="http://www.datastax.com/products/datastax-enterprise-graph">DSEGraph</a> - DataStax graph database with OLTP and OLAP support.</li>
-            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#giraphgraphcomputer">Hadoop (Giraph)</a> - OLAP graph processor using Giraph.</li>
-            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer">Hadoop (Spark)</a> - OLAP graph processor using Spark.</li>
-            <li><a href="https://console.ng.bluemix.net/catalog/services/ibm-graph/">IBM Graph</a> - OLTP graph database as a service.</li>
-            <li><a href="http://tinkerpop.apache.org/docs/currentg/#neo4j-gremlin">Neo4j</a> - OLTP graph database (embedded).</li>
-            <li><a href="https://github.com/SteelBridgeLabs/neo4j-gremlin-bolt">neo4j-gremlin-bolt</a> - OLTP graph database (using Bolt Protocol).</li>
-            <li><a href="https://github.com/pietermartin/sqlg">Sqlg</a> - RDBMS OLTP implementation with HSQLDB and Postresql support.</li>
-            <li><a href="http://stardog.com/">Stardog</a> - RDF graph database with OLTP and OLAP support.</li>
-            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin">TinkerGraph</a> - In-memory OLTP and OLAP reference implementation.</li>
-            <li><a href="http://thinkaurelius.github.io/titan/">Titan</a> - Distributed OLTP and OLAP graph database with BerkeleyDB, Cassandra and HBase support.</li>
-            <li><a href="https://github.com/awslabs/dynamodb-titan-storage-backend">Titan (Amazon)</a> - The Amazon DynamoDB storage backend for Titan.</li>
-            <li><a href="https://github.com/classmethod/tupl-titan-storage-backend">Titan (Tupl)</a> - The Tupl storage backend for Titan.</li>
-            <li><a href="https://github.com/rmagen/unipop">Unipop</a> - OLTP Elasticsearch and JDBC backed graph.</li>
-         </ul>
-         <a name="language-variants-compilers"></a>
-         <h4 id="language-variants-compilers">Query Languages</h4>
-         <small>[<a href="providers.html#query-language-providers">learn more</a>]</small>
-         <ul>
-            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">gremlin-python</a> (python/variant) - Gremlin hosted in Python for use with any Python-based VM.</li>
-            <li><a href="https://github.com/emehrkay/gremlinpy">gremlin-py</a> (python/variant) - Write pure Python Gremlin that can be sent to Gremlin Server.</li>
-            <li><a href="https://github.com/mpollmeier/gremlin-scala">gremlin-scala</a> (scala/variant) - A Scala-based Gremlin language variant for TinkerPop3.</li>
-            <li><a href="https://github.com/jbmusso/gremlin-template-string">gremlin-template-string</a> (js/variant) - A Gremlin language builder.</li>
-            <li><a href="https://github.com/davebshow/ipython-gremlin">ipython-gremlin</a> (python/variant) - Gremlin in IPython and Jupyter.</li>
-            <li><a href="http://ogre.clojurewerkz.org/">ogre</a> (clojure/variant) - A Clojure language wrapper for TinkerPop3.</li>
-            <li><a href="http://bayofmany.github.io/">Peapod</a> (java/dsl) - An object-graph-wrapper.</li>
-            <li><a href="https://github.com/dkuppitz/sparql-gremlin">sparql-gremlin</a> (sparql/distinct) - A SPARQL to Gremlin traversal compiler.</li>
-            <li><a href="https://github.com/twilmes/sql-gremlin">sql-gremlin</a> (sql/distinct) - An SQL to Gremlin traversal compiler.</li>
-         </ul>
-         <a name="language-drivers"></a>
-         <h4 id="language-drivers">Language Drivers</h4>
-         <ul>
-            <li><a href="https://github.com/ZEROFAIL/goblin">Goblin</a> (python) - An asynchronous Python 3.5 toolkit for Gremlin Server.</li>
-            <li><a href="https://github.com/davebshow/gremlinclient">gremlinclient</a> (python) - An asynchronous Python 2/3 client for Gremlin Server that allows for flexible coroutine syntax - Trollius, Tornado, Asyncio.</li>
-            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#connecting-via-java">gremlin-driver</a> (java) - A Gremlin Server driver for Java.</li>
-            <li><a href="https://github.com/jbmusso/gremlin-javascript">gremlin-javascript</a> (js) - A Gremlin Server driver for JavaScript.</li>
-            <li><a href="https://github.com/qasaur/gremgo">gremgo</a> (go) - A Gremlin Server driver for Go.</li>
-            <li><a href="http://gremlinrestclient.readthedocs.org/en/latest/">gremlinrestclient</a> (python) - Python 2/3 library that uses HTTP to communicate with the Gremlin Server over REST.</li>
-            <li><a href="https://github.com/PommeVerte/gremlin-php">gremlin-php</a> (php) - A Gremlin Server driver for PHP.</li>
-            <li><a href="https://github.com/windj007/python-gremlin-rest">python-gremlin-rest</a> (python) - A REST-based client for Gremlin Server.</li>
-            <li><a href="https://github.com/coreyauger/reactive-gremlin">reactive-gremlin</a> (scala) - An Akka HTTP Websocket Connector.</li>
-            <li><a href="https://github.com/viagraphs/scalajs-gremlin-client">scalajs-gremlin-client</a> (scala) - A Gremlin-Server client with ad-hoc extensible, reactive, typeclass based API.</li>
-            <li><a href="https://www.nuget.org/packages/Teva.Common.Data.Gremlin/">Teva Gremlin</a> (.NET - C#) - A Gremlin Server driver for .NET.</li>
-            <li><a href="https://github.com/RedSeal-co/ts-tinkerpop">ts-tinkerpop</a> (typescript) - A helper library for Typescript applications via node-java.</li>
-         </ul>
-         <a name="tutorials"></a>
-         <h4 id="tutorials">Tutorials</h4>
-         <ul>
-            <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started/">Getting Started with TinkerPop</a> - Learn the basics of getting up and going with TinkerPop.</li>
-            <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/the-gremlin-console/">The Gremlin Console</a> - Discusses uses cases of the Gremlin Console and usage patterns.</li>
-            <li><a href="http://tinkerpop.apache.org/docs/current/recipes/">Gremlin Recipes</a> - Reference for common traversal patterns and style.</li>
-            <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin Language Variants</a> - Learn how to embed Gremlin in a host programming language.</li>
-            <li><a href="http://sql2gremlin.com/">SQL2Gremlin</a> - Learn Gremlin using typical patterns found when querying data with SQL.</li>
-            <li><a href="https://academy.datastax.com/demos/getting-started-graph-databases">Getting Started with Graph Databases</a> - Compares relational databases to graph databases and SQL to Gremlin.</li>
-         </ul>
-         <a name="publications"></a>
-         <h4 id="publications">Publications</h4>
-         <ul>
-            <li>Rodriguez, M.A., "<a href="https://www.datastax.com/dev/blog/a-gremlin-implementation-of-the-gremlin-traversal-machine">A Gremlin Implementation of the Gremlin Traversal Machine</a>," DataStax Engineering Blog, October 2016.</li>
-            <li>Rodriguez, M.A., "<a href="http://www.datastax.com/dev/blog/gremlins-time-machine">Gremlin's Time Machine</a>," DataStax Engineering Blog, September 2016.</li>
-            <li>Rodriguez, M.A., "<a href="http://www.slideshare.net/slidarko/gremlins-graph-traversal-machinery">Gremlin's Graph Traversal Machinery</a>," Cassandra Summit, September 2016.</li>
-            <li>Rodriguez, M.A., "<a href="http://www.datastax.com/dev/blog/the-mechanics-of-gremlin-olap">The Mechanics of Gremlin OLAP</a>," DataStax Engineering Blog, April 2016.</li>
-            <li>Rodriguez, M.A., "<a href="http://www.slideshare.net/slidarko/quantum-processes-in-graph-computing">Quantum Processes in Graph Computing</a>," GraphDay '16 Presentation, Austin Texas, January 2016. [<a href="https://www.youtube.com/watch?v=qRoAInXxgtc">video presentation</a>]</li>
-            <li>Rodriguez, M.A., Watkins, J.H., "<a href="http://arxiv.org/abs/1511.06278">Quantum Walks with Gremlin</a>," GraphDay '16 Proceedings, Austin Texas, January 2016.</li>
-            <li>Rodriguez, M.A., "(Keynote): <a href="http://www.slideshare.net/slidarko/acm-dbpl-keynote-the-graph-traversal-machine-and-language">The Gremlin Graph Traversal Machine and Language</a>," ACM Database Programming Language Conference Presentation, October 2015.</li>
-            <li>Rodriguez, M.A., "<a href="http://arxiv.org/abs/1508.03843">The Gremlin Graph Traversal Machine and Language</a>," ACM Database Programming Languages Conference Proceedings, October 2015.</li>
-            <li>Mallette, S.P., "<a href="http://www.slideshare.net/StephenMallette/tinkerpopfinal">What's New In Apache TinkerPop?</a>," Cassandra Summit, September 2015.</li>
-            <li>Rodriguez, M.A., Kuppitz, D., "<a href="http://www.datastax.com/dev/blog/the-benefits-of-the-gremlin-graph-traversal-machine">The Benefits of the Gremlin Graph Traversal Machine</a>," DataStax Engineering Blog, September 2015.</li>
-            <li>Rodriguez, M.A., Kuppitz, D., "<a href="http://www.slideshare.net/slidarko/the-gremlin-traversal-language">The Gremlin Graph Traversal Language</a>," 2015 NoSQLNow Conference, August 2015.</li>
-            <li>Rodriguez, M.A., Kuppitz, D., Yim, K., "<a href="http://www.datastax.com/dev/blog/tales-from-the-tinkerpop">Tales from the TinkerPop</a>," DataStax Engineering Blog, July 2015.</li>
-         </ul>
-         <a name="committers"></a>
-         <h3 id="committers">Apache TinkerPop Committers</h3>
-         <img src="images/tinkerpop-logo-small.png" style="float:right" />TinkerPop seeks committers dedicated to the art of graph computing. TinkerPop committers bring solid theoretical,
-         development, testing, documentation, etc. skills to the group. Committers contribute to TinkerPop beyond the everchanging requirements of their day-to-day jobs and maintain
-         responsibility for their contributions through time.
-         <p/>
-         <ul>
-            <li><a href="http://markorodriguez.com">Marko A. Rodriguez</a> (2009 - PMC): Gremlin language, Gremlin OLAP, documentation.</li>
-            <li><a href="http://ketrinadrawsalot.tumblr.com">Ketrina Yim</a> (2009 - Committer): Illustrator, creator of Gremlin and his merry band of robots.</li>
-            <li><a href="http://stephen.genoprime.com/">Stephen Mallette</a> (2011 - PMC Chair): Gremlin Console/Server/Driver, Graph I/O, testing, documentation, mailing list support.</li>
-            <li><a href="http://jamesthornton.com/">James Thornton</a> (2013 - PMC): Promotions, evangelism.</li>
-            <li><a href="http://gremlin.guru">Daniel Kuppitz</a> (2014 - PMC): Gremlin language design, benchmarking, testing, documentation, mailing list support.</li>
-            <li><a href="https://www.linkedin.com/in/hzbarcea">Hadrian Zbarcea</a> (2015 - PMC): Project mentor, provider liason.</li>
-            <li><a href="https://github.com/Humbedooh">Daniel Gruno</a> (2015 - PMC): Project mentor, infrastructure liason.</li>
-            <li><a href="https://github.com/mhfrantz">Matt Frantz</a> (2015 - Committer): Gremlin language design, ts-tinkerpop.</li>
-            <li><a href="https://github.com/pluradj">Jason Plurad</a> (2015 - PMC): Gremlin Console/Server, mailing list support.</li>
-            <li><a href="https://www.linkedin.com/in/dylan-millikin-32567934">Dylan Millikin</a> (2015 - PMC): Gremlin Server/Driver, gremlin-php, GremlinBin, mailing list support.</li>
-            <li><a href="https://github.com/twilmes">Ted Wilmes</a> (2015 - PMC): Promotions, mailing list support, benchmarking, sql-gremlin.</li>
-            <li><a href="https://github.com/pietermartin">Pieter Martin</a> (2016 - Committer): Gremlin language, Sqlg.</li>
-            <li><a href="https://github.com/jbmusso">Jean-Baptiste Musso</a> (2016 - Committer): Gremlin Server testing, Gremlin Driver (Node.js/JavaScript), mailing list support.</li>
-            <li><a href="http://www.michaelpollmeier.com/">Michael Pollmeier</a> (2016 - Committer): Gremlin language, Gremlin-Scala.</li>
-            <li><a href="https://github.com/davebshow">David Brown</a> (2016 - Committer): Python libraries, Gremlin Server testing.</li>
-            <li><a href="https://github.com/robertdale">Robert Dale</a> (2016 - Committer): Gremlin Console/Server, documentation, mailing list support.</li>
-         </ul>
-      </div>
-   </div>
-</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/js/bootstrap-3.3.5.min.js
----------------------------------------------------------------------
diff --git a/site/home/js/bootstrap-3.3.5.min.js b/site/home/js/bootstrap-3.3.5.min.js
deleted file mode 100644
index 133aeec..0000000
--- a/site/home/js/bootstrap-3.3.5.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.3.5 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under the MIT license
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.
 handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a)
 {"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.pr
 op("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"o
 bject"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),th
 is.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)
 ),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"
 ),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"
 ))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!
 (e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element
 [c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Construc
 tor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==type
 of b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h
 =" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.
 find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignore
 BackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTran
 sitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$eleme
 nt.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this
 .$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.ap
 pend(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=nul
 l,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+t
 his.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a
 (b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=fun
 ction(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k
 .right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.of
 fset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return th
 is.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.to
 p=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.
 getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",t
 emplate:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var
  d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.
 scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+
 b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),
-d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.
 trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constru
 ctor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=
 c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix
 "+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file


[34/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/js/prism.js
----------------------------------------------------------------------
diff --git a/site/home/js/prism.js b/site/home/js/prism.js
deleted file mode 100644
index 53661dd..0000000
--- a/site/home/js/prism.js
+++ /dev/null
@@ -1,423 +0,0 @@
-
-/* http://prismjs.com/download.html?themes=prism&languages=clike+gremlin+groovy+jade */
-var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},
-    Prism = function() {
-        var e = /\blang(?:uage)?-(\w+)\b/i,
-            t = 0,
-            n = _self.Prism = {
-                util: {
-                    encode: function(e) {
-                        return e instanceof a ? new a(e.type, n.util.encode(e.content), e.alias) : "Array" === n.util.type(e) ? e.map(n.util.encode) : e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ")
-                    },
-                    type: function(e) {
-                        return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]
-                    },
-                    objId: function(e) {
-                        return e.__id || Object.defineProperty(e, "__id", {
-                            value: ++t
-                        }), e.__id
-                    },
-                    clone: function(e) {
-                        var t = n.util.type(e);
-                        switch (t) {
-                            case "Object":
-                                var a = {};
-                                for (var r in e) e.hasOwnProperty(r) && (a[r] = n.util.clone(e[r]));
-                                return a;
-                            case "Array":
-                                return e.map && e.map(function(e) {
-                                    return n.util.clone(e)
-                                })
-                        }
-                        return e
-                    }
-                },
-                languages: {
-                    extend: function(e, t) {
-                        var a = n.util.clone(n.languages[e]);
-                        for (var r in t) a[r] = t[r];
-                        return a
-                    },
-                    insertBefore: function(e, t, a, r) {
-                        r = r || n.languages;
-                        var l = r[e];
-                        if (2 == arguments.length) {
-                            a = arguments[1];
-                            for (var i in a) a.hasOwnProperty(i) && (l[i] = a[i]);
-                            return l
-                        }
-                        var o = {};
-                        for (var s in l)
-                            if (l.hasOwnProperty(s)) {
-                                if (s == t)
-                                    for (var i in a) a.hasOwnProperty(i) && (o[i] = a[i]);
-                                o[s] = l[s]
-                            }
-                        return n.languages.DFS(n.languages, function(t, n) {
-                            n === r[e] && t != e && (this[t] = o)
-                        }), r[e] = o
-                    },
-                    DFS: function(e, t, a, r) {
-                        r = r || {};
-                        for (var l in e) e.hasOwnProperty(l) && (t.call(e, l, e[l], a || l), "Object" !== n.util.type(e[l]) || r[n.util.objId(e[l])] ? "Array" !== n.util.type(e[l]) || r[n.util.objId(e[l])] || (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, l, r)) : (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, null, r)))
-                    }
-                },
-                plugins: {},
-                highlightAll: function(e, t) {
-                    var a = {
-                        callback: t,
-                        selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
-                    };
-                    n.hooks.run("before-highlightall", a);
-                    for (var r, l = a.elements || document.querySelectorAll(a.selector), i = 0; r = l[i++];) n.highlightElement(r, e === !0, a.callback)
-                },
-                highlightElement: function(t, a, r) {
-                    for (var l, i, o = t; o && !e.test(o.className);) o = o.parentNode;
-                    o && (l = (o.className.match(e) || [, ""])[1], i = n.languages[l]), t.className = t.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l, o = t.parentNode, /pre/i.test(o.nodeName) && (o.className = o.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l);
-                    var s = t.textContent,
-                        u = {
-                            element: t,
-                            language: l,
-                            grammar: i,
-                            code: s
-                        };
-                    if (!s || !i) return n.hooks.run("complete", u), void 0;
-                    if (n.hooks.run("before-highlight", u), a && _self.Worker) {
-                        var c = new Worker(n.filename);
-                        c.onmessage = function(e) {
-                            u.highlightedCode = e.data, n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(u.element), n.hooks.run("after-highlight", u), n.hooks.run("complete", u)
-                        }, c.postMessage(JSON.stringify({
-                            language: u.language,
-                            code: u.code,
-                            immediateClose: !0
-                        }))
-                    } else u.highlightedCode = n.highlight(u.code, u.grammar, u.language), n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(t), n.hooks.run("after-highlight", u), n.hooks.run("complete", u)
-                },
-                highlight: function(e, t, r) {
-                    var l = n.tokenize(e, t);
-                    return a.stringify(n.util.encode(l), r)
-                },
-                tokenize: function(e, t) {
-                    var a = n.Token,
-                        r = [e],
-                        l = t.rest;
-                    if (l) {
-                        for (var i in l) t[i] = l[i];
-                        delete t.rest
-                    }
-                    e: for (var i in t)
-                        if (t.hasOwnProperty(i) && t[i]) {
-                            var o = t[i];
-                            o = "Array" === n.util.type(o) ? o : [o];
-                            for (var s = 0; s < o.length; ++s) {
-                                var u = o[s],
-                                    c = u.inside,
-                                    g = !!u.lookbehind,
-                                    h = !!u.greedy,
-                                    f = 0,
-                                    d = u.alias;
-                                u = u.pattern || u;
-                                for (var p = 0; p < r.length; p++) {
-                                    var m = r[p];
-                                    if (r.length > e.length) break e;
-                                    if (!(m instanceof a)) {
-                                        u.lastIndex = 0;
-                                        var y = u.exec(m),
-                                            v = 1;
-                                        if (!y && h && p != r.length - 1) {
-                                            var b = r[p + 1].matchedStr || r[p + 1],
-                                                k = m + b;
-                                            if (p < r.length - 2 && (k += r[p + 2].matchedStr || r[p + 2]), u.lastIndex = 0, y = u.exec(k), !y) continue;
-                                            var w = y.index + (g ? y[1].length : 0);
-                                            if (w >= m.length) continue;
-                                            var _ = y.index + y[0].length,
-                                                P = m.length + b.length;
-                                            if (v = 3, P >= _) {
-                                                if (r[p + 1].greedy) continue;
-                                                v = 2, k = k.slice(0, P)
-                                            }
-                                            m = k
-                                        }
-                                        if (y) {
-                                            g && (f = y[1].length);
-                                            var w = y.index + f,
-                                                y = y[0].slice(f),
-                                                _ = w + y.length,
-                                                S = m.slice(0, w),
-                                                O = m.slice(_),
-                                                j = [p, v];
-                                            S && j.push(S);
-                                            var A = new a(i, c ? n.tokenize(y, c) : y, d, y, h);
-                                            j.push(A), O && j.push(O), Array.prototype.splice.apply(r, j)
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    return r
-                },
-                hooks: {
-                    all: {},
-                    add: function(e, t) {
-                        var a = n.hooks.all;
-                        a[e] = a[e] || [], a[e].push(t)
-                    },
-                    run: function(e, t) {
-                        var a = n.hooks.all[e];
-                        if (a && a.length)
-                            for (var r, l = 0; r = a[l++];) r(t)
-                    }
-                }
-            },
-            a = n.Token = function(e, t, n, a, r) {
-                this.type = e, this.content = t, this.alias = n, this.matchedStr = a || null, this.greedy = !!r
-            };
-        if (a.stringify = function(e, t, r) {
-                if ("string" == typeof e) return e;
-                if ("Array" === n.util.type(e)) return e.map(function(n) {
-                    return a.stringify(n, t, e)
-                }).join("");
-                var l = {
-                    type: e.type,
-                    content: a.stringify(e.content, t, r),
-                    tag: "span",
-                    classes: ["token", e.type],
-                    attributes: {},
-                    language: t,
-                    parent: r
-                };
-                if ("comment" == l.type && (l.attributes.spellcheck = "true"), e.alias) {
-                    var i = "Array" === n.util.type(e.alias) ? e.alias : [e.alias];
-                    Array.prototype.push.apply(l.classes, i)
-                }
-                n.hooks.run("wrap", l);
-                var o = "";
-                for (var s in l.attributes) o += (o ? " " : "") + s + '="' + (l.attributes[s] || "") + '"';
-                return "<" + l.tag + ' class="' + l.classes.join(" ") + '" ' + o + ">" + l.content + "</" + l.tag + ">"
-            }, !_self.document) return _self.addEventListener ? (_self.addEventListener("message", function(e) {
-            var t = JSON.parse(e.data),
-                a = t.language,
-                r = t.code,
-                l = t.immediateClose;
-            _self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close()
-        }, !1), _self.Prism) : _self.Prism;
-        var r = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();
-        return r && (n.filename = r.src, document.addEventListener && !r.hasAttribute("data-manual") && document.addEventListener("DOMContentLoaded", n.highlightAll)), _self.Prism
-    }();
-"undefined" != typeof module && module.exports && (module.exports = Prism), "undefined" != typeof global && (global.Prism = Prism);
-Prism.languages.clike = {
-    comment: [{
-        pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
-        lookbehind: !0
-    }, {
-        pattern: /(^|[^\\:])\/\/.*/,
-        lookbehind: !0
-    }],
-    string: {
-        pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
-        greedy: !0
-    },
-    "class-name": {
-        pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
-        lookbehind: !0,
-        inside: {
-            punctuation: /(\.|\\)/
-        }
-    },
-    keyword: /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
-    "boolean": /\b(true|false)\b/,
-    "function": /[a-z0-9_]+(?=\()/i,
-    number: /\b-?(?:0x[\da-f]+|\d*\.?\d+v(?:e[+-]?\d+)?)\b/i,
-    operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
-    traversalSource: /\b(g|h)\b/,
-    punctuation: /[{}[\];(),.:]/
-};
-Prism.languages.gremlin = Prism.languages.extend("clike", {
-    keyword: /\b(values,|decr|incr|local|global|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
-    number: /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
-    "function": /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i
-}), Prism.languages.insertBefore("gremlin", "keyword", {
-    regex: {
-        pattern: /(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
-        lookbehind: !0,
-        greedy: !0
-    }
-}), Prism.languages.insertBefore("gremlin", "class-name", {
-    "template-string": {
-        pattern: /`(?:\\\\|\\?[^\\])*?`/,
-        greedy: !0,
-        inside: {
-            interpolation: {
-                pattern: /\$\{[^}]+\}/,
-                inside: {
-                    "interpolation-punctuation": {
-                        pattern: /^\$\{|\}$/,
-                        alias: "punctuation"
-                    },
-                    rest: Prism.languages.gremlin
-                }
-            },
-            string: /[\s\S]+/
-        }
-    }
-}), Prism.languages.markup && Prism.languages.insertBefore("markup", "tag", {
-    script: {
-        pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
-        lookbehind: !0,
-        inside: Prism.languages.gremlin,
-        alias: "language-gremlin"
-    }
-}), Prism.languages.js = Prism.languages.gremlin;
-! function(e) {
-    e.languages.jade = {
-        comment: {
-            pattern: /(^([\t ]*))\/\/.*((?:\r?\n|\r)\2[\t ]+.+)*/m,
-            lookbehind: !0
-        },
-        "multiline-script": {
-            pattern: /(^([\t ]*)script\b.*\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
-            lookbehind: !0,
-            inside: {
-                rest: e.languages.gremlin
-            }
-        },
-        filter: {
-            pattern: /(^([\t ]*)):.+((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
-            lookbehind: !0,
-            inside: {
-                "filter-name": {
-                    pattern: /^:[\w-]+/,
-                    alias: "variable"
-                }
-            }
-        },
-        "multiline-plain-text": {
-            pattern: /(^([\t ]*)[\w\-#.]+\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
-            lookbehind: !0
-        },
-        markup: {
-            pattern: /(^[\t ]*)<.+/m,
-            lookbehind: !0,
-            inside: {
-                rest: e.languages.markup
-            }
-        },
-        doctype: {
-            pattern: /((?:^|\n)[\t ]*)doctype(?: .+)?/,
-            lookbehind: !0
-        },
-        "flow-control": {
-            pattern: /(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,
-            lookbehind: !0,
-            inside: {
-                each: {
-                    pattern: /^each .+? in\b/,
-                    inside: {
-                        keyword: /\b(?:each|in)\b/,
-                        punctuation: /,/
-                    }
-                },
-                branch: {
-                    pattern: /^(?:if|unless|else|case|when|default|while)\b/,
-                    alias: "keyword"
-                },
-                rest: e.languages.gremlin
-            }
-        },
-        keyword: {
-            pattern: /(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m,
-            lookbehind: !0
-        },
-        mixin: [{
-            pattern: /(^[\t ]*)mixin .+/m,
-            lookbehind: !0,
-            inside: {
-                keyword: /^mixin/,
-                "function": /\w+(?=\s*\(|\s*$)/,
-                punctuation: /[(),.]/
-            }
-        }, {
-            pattern: /(^[\t ]*)\+.+/m,
-            lookbehind: !0,
-            inside: {
-                name: {
-                    pattern: /^\+\w+/,
-                    alias: "function"
-                },
-                rest: e.languages.gremlin
-            }
-        }],
-        script: {
-            pattern: /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m,
-            lookbehind: !0,
-            inside: {
-                rest: e.languages.gremlin
-            }
-        },
-        "plain-text": {
-            pattern: /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m,
-            lookbehind: !0
-        },
-        tag: {
-            pattern: /(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,
-            lookbehind: !0,
-            inside: {
-                attributes: [{
-                    pattern: /&[^(]+\([^)]+\)/,
-                    inside: {
-                        rest: e.languages.gremlin
-                    }
-                }, {
-                    pattern: /\([^)]+\)/,
-                    inside: {
-                        "attr-value": {
-                            pattern: /(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/,
-                            lookbehind: !0,
-                            inside: {
-                                rest: e.languages.gremlin
-                            }
-                        },
-                        "attr-name": /[\w-]+(?=\s*!?=|\s*[,)])/,
-                        punctuation: /[!=(),]+/
-                    }
-                }],
-                punctuation: /:/
-            }
-        },
-        code: [{
-            pattern: /(^[\t ]*(?:-|!?=)).+/m,
-            lookbehind: !0,
-            inside: {
-                rest: e.languages.gremlin
-            }
-        }],
-        punctuation: /[.\-!=|]+/
-    };
-    for (var t = "(^([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+", n = [{
-            filter: "atpl",
-            language: "twig"
-        }, {
-            filter: "coffee",
-            language: "coffeescript"
-        }, "ejs", "handlebars", "hogan", "less", "livescript", "markdown", "mustache", "plates", {
-            filter: "sass",
-            language: "scss"
-        }, "stylus", "swig"], a = {}, i = 0, r = n.length; r > i; i++) {
-        var s = n[i];
-        s = "string" == typeof s ? {
-            filter: s,
-            language: s
-        } : s, e.languages[s.language] && (a["filter-" + s.filter] = {
-            pattern: RegExp(t.replace("{{filter_name}}", s.filter), "m"),
-            lookbehind: !0,
-            inside: {
-                "filter-name": {
-                    pattern: /^:[\w-]+/,
-                    alias: "variable"
-                },
-                rest: e.languages[s.language]
-            }
-        })
-    }
-    e.languages.insertBefore("jade", "filter", a)
-}(Prism);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/policy.html
----------------------------------------------------------------------
diff --git a/site/home/policy.html b/site/home/policy.html
deleted file mode 100644
index d2999b7..0000000
--- a/site/home/policy.html
+++ /dev/null
@@ -1,72 +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.
--->
-<img src="images/tinkerpop-conference.png" class="img-responsive" />
-<div class="container">
-   <div class="hero-unit" style="padding:10px">
-      <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
-      <p><font size="5">Provider Listing and Graphic Usage Policies</font></p>
-   </div>
-</div>
-<div class="container-fluid">
-   <div class="container">
-      <a name="provider-listing-policy"></a>
-      <h3>Provider Listing Policy</h3>
-      <p>Graph system and language providers can have the project listed in two locations on the Apache TinkerPop homepage.
-         The first location is on the homepage <a href="index.html">index.html</a>. The second is on the homepage <a href="providers.html">providers.html</a>. The policies
-         for each are provided below. Note that the Apache Software Foundation's <a href="http://www.apache.org/foundation/marks/linking">linking policy</a> supercede those
-         stipulated by Apache TinkerPop. All things considered, if your project meets the requirements, please email Apache TinkerPop's
-         <a href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">developer mailing list</a> requesting that your project be added to a listing.
-      </p>
-      <h4>Index Listing Requirements</h4>
-      <ul>
-         <li>The project must be either a TinkerPop-enabled graph system, a Gremlin language variant/compiler, a Gremlin language driver, or a TinkerPop-enabled middleware tool.</li>
-         <li>The project must have a public URL that can be referenced by Apache TinkerPop.</li>
-         <li>The project must have at least one release.</li>
-         <li>The project must be actively developed/maintained to a current or previous "y" version of Apache TinkerPop (3.y.z).</li>
-         <li>The project must have <em>some</em> documentation and that documentation must make explicit its usage of Apache TinkerPop and its version compatibility requirements.</li>
-      </ul>
-      <h4>Provider Listing Requirements</h4>
-      <ul>
-         <li>The project must be either a TinkerPop-enabled graph system, a Gremlin language variant/compiler, or a TinkerPop-enabled middleware tool.</li>
-         <li>The project must have a public URL that can be referenced by Apache TinkerPop.</li>
-         <li>The project must have a homepage that is not simply a software repository page.</li>
-         <li>The project must have a high-resolution logo that can be used by Apache TinkerPop.</li>
-         <li>The project must have at least one release.</li>
-         <li>The project must be actively developed/maintained to a current or previous "y" version of Apache TinkerPop (3.y.z).</li>
-         <li>The project must have <em>significant</em> documentation and that documentation must make explicit its usage of Apache TinkerPop and its version compatibility requirements.</li>
-      </ul>
-   </div>
-   <div class="container">
-      <a name="graphic-usage-policy"></a>
-      <h3>Graphic Usage Policy</h3>
-      <p>Apache TinkerPop has a plethora of graphics that the community can use. There are four categories of graphics. These categories and their respective policies are presented
-         below. If you are unsure of the category of a particular graphic, please ask on our <a href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">developer mailing</a>
-         list before using it. Finally, note that the Apache Software Foundation's <a href="http://www.apache.org/foundation/marks/">trademark policies</a> supercede those stipulated
-         by Apache TinkerPop.
-      </p>
-      <ul>
-         <li><strong>Character Graphics</strong>: A character graphic can be used <em>without permission</em> as long as its being used in an Apache TinkerPop related context and it is acknowledged that the graphic is a trademark of the Apache Software Foundation/Apache TinkerPop.</li>
-         <img src="images/policy/pipes-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/rexster-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/gremlin-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/blueprints-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/furnace-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/frames-character.png" style="padding:10px;width:9%;"/>
-         <li><strong>Character Dress-Up Graphics</strong>: A character graphic can be manipulated ("dressed up") and used <em>without permission</em> as long as it's being used in an Apache TinkerPop related context and it is acknowledged that the graphic is a trademark of the Apache Software Foundation/Apache TinkerPop.</li>
-         <img src="images/policy/gremlin-gremopoly.png" style="padding:10px;width:10%;"/> <img src="images/policy/gremlin-gremreaper.png" style="padding:10px;width:14%;"/> <img src="images/policy/gremlin-chickenwing.png" style="padding:10px;width:10%;"/> <img src="images/policy/gremlin-no-more-mr-nice-guy.png" style="padding:10px;width:10%;"/> <img src="images/policy/gremlin-new-sheriff-in-town.png" style="padding:10px;width:12%;"/> <img src="images/policy/gremlin-gremstefani.png" style="padding:10px;width:10%;"/>
-         <li><strong>Explanatory Diagrams</strong>: Explanatory diagrams can be used <em>without permission</em> as long as they are being used in an Apache TinkerPop related context, it is acknowledged that they are trademarks of the Apache Software Foundation/Apache TinkerPop, and are being used for technical explanatory purposes.</li>
-         <img src="images/policy/olap-traversal.png" style="padding:10px;width:22%;"/> <img src="images/policy/cyclicpath-step.png" style="padding:10px;width:22%;"/> <img src="images/policy/flat-map-lambda.png" style="padding:10px;width:15%;"/> <img src="images/policy/adjacency-list.png" style="padding:10px;width:22%;"/>
-         <li><strong>Character Scene Graphics</strong>: Character scene graphics <u><em>require permission</em></u> before being used. Please ask for permission on the Apache TinkerPop <a href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">developer mailing list</a>.</li>
-         <img src="images/policy/tinkerpop-reading.png" style="padding:10px;width:20%;"/> <img src="images/policy/gremlintron.png" style="padding:10px;width:20%;"/> <img src="images/policy/business-gremlin.png" style="padding:10px;width:20%;"/> <img src="images/policy/tinkerpop3-splash.png" style="padding:10px;width:20%;"/>
-      </ul>
-   </div>
-</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/providers.html
----------------------------------------------------------------------
diff --git a/site/home/providers.html b/site/home/providers.html
deleted file mode 100644
index 05fc6ab..0000000
--- a/site/home/providers.html
+++ /dev/null
@@ -1,359 +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.
--->
-<img src="images/tinkerpop-meeting-room.png" class="img-responsive" />
-<div class="container">
-   <div class="hero-unit" style="padding:10px">
-      <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
-      <p><font size="5">TinkerPop-Enabled Providers</font></p>
-   </div>
-</div>
-<br/>
-<div class="container-fluid">
-   <div class="container">
-      <div class="row">
-         <div class="col-sm-10 col-md-10">
-            <p><a href="http://tinkerpop.apache.org">Apache TinkerPop</a> grows when 3<sup>rd</sup> party data systems and query languages utilize it. While Apache's distribution of TinkerPop
-               does provide production ready implementations and tools, it is ultimately the larger ecosystem of providers that ensure TinkerPop's widespread adoption.
-               There are two types of providers. The first are those that develop a (graph) database, (graph) processor, or (graph) analytics tool and want to
-               offer their users TinkerPop-specific graph computing features. The other type of provider are language designers that have a (graph) query language they
-               wish to have execute on the Gremlin traversal machine and thus, against any TinkerPop-enabled graph system.
-            </p>
-         </div>
-         <div class="col-sm-2 col-md-2">
-            <img src="images/peon-head.png" width="100px">
-         </div>
-      </div>
-   </div>
-   <div class="container">
-      <a name="data-system-providers"></a>
-      <h3>Data System Providers</h3>
-      <p>When a data system is TinkerPop-enabled, its users are able to model their domain as a graph and analyze that graph using the <a href="http://tinkerpop.apache.org/gremlin.html">Gremlin graph traversal language</a>. Furthermore, all
-         TinkerPop-enabled graph systems integrate with one another allowing providers to easily expand their system's offerings as well as allowing users to choose appropriate graph technology for their
-         application. Sometimes an application is best served by an in-memory, transactional graph database. Sometimes a multi-machine distributed graph database will do the job. Or perhaps the
-         application requires both a distributed graph database for real-time queries and, in parallel, a Big(Graph)Data processor for batch analytics.  Whatever the application's requirements, there
-         exists a TinkerPop-enabled graph system out there to meet its needs.
-      </p>
-      <div class="row">
-         <div class="col-sm-8 col-md-8">
-            At an abstract level, every data system is ultimately a "graph system" because every data system supports the representation of "things" (vertices) and their respective relationships
-            to one another (edges).  For instance, a <a href="https://en.wikipedia.org/wiki/Relational_database">relational database</a> may have a <em>people</em>-table, where the rows denote person vertices and the columns denote properties of those individuals
-            (e.g. their name and age). Moreover, that relational database may also have a <em>knows</em>-table, where two columns reference primary keys in the <em>people</em>-table and the remaining columns
-            denote properties of those relationships (e.g. creation timestamp, strength of friendship, etc.). TinkerPop enables any data system to expose its implicit graph structure within the
-            lexicon of vertices and edges. From there, what differentiates each TinkerPop-enabled system are the various time/space-tradeoffs that were made for representing their "graph" in-memory,
-            on-disk, and across a multi-machine compute cluster. TinkerPop users have the luxury of choosing a graph system based on those design choices that are important for their application.
-            Moreover, they only need to concern themselves with learning the Gremlin traversal language as every TinkerPop-enabled graph system supports Gremlin.
-         </div>
-         <div class="col-sm-4 col-md-4">
-            <img src="images/tinkerblocks.png" style="width:100%">
-         </div>
-      </div>
-      <br/>
-      It is (relatively) easy for a data system to become TinkerPop-enabled. There are two interface packages that need to be implemented with one of them being optional. Once implemented
-      the Gremlin traversal machine can talk to the provider's system and thus, so can any of their users' Gremlin traversals as well as any existing tools/technologies that have been designed
-      to interact with a TinkerPop-enabled system.
-      <br/>
-      <br/>
-      <ol>
-         <li><strong>The Graph (required)</strong>: These foundational interfaces define the semantics of the operations on a graph, vertex, edge, and property. Once implemented, the provider's
-            data system can immediately be queried using Gremlin OLTP. However, providers may want to leverage a collection of provider-specific compiler optimizations called <a href="http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy">traversal strategies</a>
-            which can leverage their system's unique features (e.g. global indices, vertex-centric indices, sort orders, sequential scanners, push-down predicates, etc.).
-         </li>
-         <br/>
-         <li><strong>The GraphComputer (optional)</strong>: All OLAP-based graph processors must implement the primary graph interfaces mentioned above as well as a set of parallel-processing
-            message-passing interfaces. However, it is possible for a data system to only implement the primary graph interfaces and still provide OLAP support to their users by integrating their
-            system with an existing <code>GraphComputer</code> implementation such as, for example, <code>SparkGraphComputer</code> or <code>GiraphGraphComputer</code> (both are provided in Apache's distribution
-            of TinkerPop).
-         </li>
-      </ol>
-      <p>Finally, there are other tools and technologies that the provider can leverage from TinkerPop such as <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a>, <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a>, and the like. The purpose of Apache TinkerPop is to
-         make it easy for providers to add graph functionality to their system and/or to build a graph system from scratch and immediately have a query language, server infrastructure, metrics/reporting
-         integration, cluster-based analytics and more.
-      </p>
-      <ul>
-         <li><strong>Gremlin traversal language</strong>: The primary benefit of TinkerPop is the <a href="gremlin.html">Gremlin graph traversal language</a>. This language was designed specifically for graph analysis and
-            manipulation and is not complicated with an explicit JOIN syntax.
-         </li>
-         <li><strong>Gremlin traversal machine</strong>: Every Gremlin language variant compiles to a language agnostic <a href="https://en.wikipedia.org/wiki/Bytecode">bytecode</a> representation. That bytecode is ultimately translated to a machine-specific traversal. It is the responsibility of the Gremlin traversal machine to execute that traversal as a
-            real-time <a href="https://en.wikipedia.org/wiki/Online_transaction_processing">OLTP</a> query or as an analytic <a href="https://en.wikipedia.org/wiki/Online_analytical_processing">OLAP</a> query (or both). Note that the Gremlin traversal machine is not bound to the Gremlin language. Any language can take advantage of the the
-            Gremlin traversal machine by simply translating itself to Gremlin bytecode. In fact, compilers currently exist for <a href="https://github.com/twilmes/sql-gremlin">SQL</a> and <a href="https://github.com/dkuppitz/sparql-gremlin">SPARQL</a>. However, using alternative languages for graph computing leads to significantly more complicated queries
-            and typically does not match the expressivity provided by Gremlin.
-         </li>
-         <li><strong>TinkerGraph</strong>: TinkerPop provides a simple, non-transactional, in-memory graph system called <a href="http://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin">TinkerGraph</a>. TinkerGraph is useful for exploring graphs that can fit
-            in-memory, for doing tutorials and training without the overhead of database setup, etc. TinkerGraph boasts both OLTP and OLAP traversal machine support.
-         </li>
-         <li><strong>Gremlin Console</strong>: A command line <a href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop">REPL</a> is provided called <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a>. This console is useful when learning TinkerPop as users can load provided datasets into a
-            graph system and explore the Gremlin language without the overhead of creating a full-blown software project. Furthermore, the Gremlin Console is used extensively in production scenarios
-            because it allows system administrators to interact with a local or remote graph to gather statistics, manually explore the data to ensure data integrity, and other useful tasks.
-         </li>
-         <li><strong>Gremlin Server</strong>: It is typical for a graph database to exist on a separate machine from the user's application code. <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a> bridges the network-divide
-            allowing users to seamlessly submit traversals for remote execution over a web-sockets based binary protocol. If provider already has a server, they can leverage TinkerPop-specific
-            components as needed (e.g. implement <code>RemoteConnection</code>). Gremlin Server also provides an HTTP-based API, support for <a href="http://ganglia.info/">Ganglia</a>/<a href="http://graphite.wikidot.com/">Graphite</a>/<a href="http://www.oracle.com/technetwork/articles/java/javamanagement-140525.html">JMX</a>/more
-            metrics, and a traversal routing framework for intelligent data/traversal co-location within a distributed graph database's machine cluster.
-         </li>
-         <li><strong>SparkGraphComputer</strong>: <a href="http://spark.apache.org/">Apache Spark</a>&trade; is a Big Data OLAP processor that simplifies the creation and execution of distributed data analytics.
-            <a href="http://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer"><code>SparkGraphComputer</code></a> turns Spark
-            into a Big(Graph)Data processor via the OLAP component of the Gremlin traversal machine. Users do not have to learn Spark's data processing language as Gremlin traversals execute
-            over Spark. For graph system providers, they can boast Spark integration once a custom <code>InputRDD</code> (or <code>InputFormat</code>) is developed.
-         </li>
-         <li><strong>GiraphGraphComputer</strong>: <a href="http://giraph.apache.org/">Apache Giraph</a>&trade; is a Big(Graph)Data processor that leverages <a href="http://hadoop.apache.org/">Apache Hadoop</a>&reg; and
-            <a href="http://zookeeper.apache.org/">Apache ZooKeeper</a>&trade; for executing distributed graph algorithms. <a href="http://tinkerpop.apache.org/docs/current/reference/#giraphgraphcomputer"><code>GiraphGraphComputer</code></a>
-            supports Gremlin OLAP and allows users to submit Gremlin traversals to Giraph for distributed execution. Providers can immediately advertise Giraph integration once a custom <code>InputFormat</code> is developed.
-         </li>
-         <li><strong>Hadoop support</strong>: <a href="http://hadoop.apache.org/">Apache Hadoop</a>&reg; has become a staple technology for Big Data applications. In TinkerPop, both <code>SparkGraphComputer</code> and <code>GiraphGraphComputer</code> can pull data
-            from the Hadoop File System (<a href="https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html">HDFS</a>). TinkerPop provides a collection of Input- and OutputFormats for different graph serialization standards as well as tooling that makes it easy for users
-            to <a href="http://tinkerpop.apache.org/docs/current/reference/#interacting-with-hdfs">interact with HDFS</a> from the Gremlin Console or their application.
-         </li>
-      </ul>
-      <p>Information on how to build implementations of the various interfaces that TinkerPop supports can be found in the <a href="http://tinkerpop.apache.org/docs/current/dev/provider/">Provider Documentation</a>.
-      <br/>
-      <h4>TinkerPop-Enabled Graph Systems</h4>
-      <br/>
-      Apache TinkerPop is always looking to point users to graph systems that are TinkerPop-enabled. Please read Apache TinkerPop's <a href="policy.html">provider listing policy</a> for adding new projects to the listing below.
-      The listing is intended to help users identify TinkerPop-enabled graph systems and does not constitute an endorsement by Apache TinkerPop nor the Apache Software Foundation.
-      <br/>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-6">
-            <a href="http://blazegraph.com/"><img src="images/logos/blazegraph-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://blazegraph.com/">Blazegraph</a>&trade; is a standards-based, high-performance, scalable, open-source graph database. Written entirely in Java, the platform supports Apache TinkerPop and RDF/SPARQL 1.1 family of specifications.  A commercial version includes GPU acceleration.
-         </div>
-         <div class="col-sm-6 col-md-6">
-            <a href="http://datastax.com/products/datastax-enterprise-graph"><img src="images/logos/datastax-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://datastax.com/products/datastax-enterprise-graph">DataStax Enterprise Graph</a>&trade;, part of DataStax Enterprise's multi-model platform, is a real-time graph database built for cloud applications that need to manage complex and highly connected data. Built on the foundation of Apache Cassandra and Apache TinkerPop, DataStax Enterprise Graph delivers continuous uptime along with predictable performance and scale, while remaining operationally simple to manage.
-         </div>
-      </div>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-6">
-            <a href="http://www.ibm.com/analytics/us/en/technology/cloud-data-services/graph/"><img src="images/logos/ibmgraph-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://www.ibm.com/analytics/us/en/technology/cloud-data-services/graph/">IBM Graph</a>&trade; is a scalable, easy-to-use, fully-managed graph database-as-a-service that is administered through IBM's Bluemix cloud platform. IBM Graph is available 24/7 and managed by a team of experts so developers can focus on building their application. Based on the Apache TinkerPop stack for building high-performance graph applications, IBM Graph provides users with a set of simplified HTTP API calls and the Gremlin graph traversal language.
-         </div>
-         <div class="col-sm-6 col-md-6">
-            <a href="http://cambridge-intelligence.com/keylines/"><img src="images/logos/keylines-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://cambridge-intelligence.com/keylines/">KeyLines</a>&trade; is an Apache TinkerPop and Gremlin compatible JavaScript SDK for quickly and easily building powerful, custom and scalable graph visualization applications. The KeyLines SDK offers a rich library of functionality to help you visualize and explore the data in your graph database, including graph layouts, social network analysis measures, filtering, temporal graph visualization and geospatial graph analysis. It allows the visualization of complex graph data at scale.
-         </div>
-      </div>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-6">
-            <a href="http://linkurio.us/"><img src="images/logos/linkurious-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://linkurio.us/">Linkurious</a>&trade; is a browser-based graph visualization software to search, explore and visualize connected data. It is compatible with Apache TinkerPop and thus, any TinkerPop-enabled graph system. Linkurious provides enterprise-ready security (authentication, access rights, audit) and flexibility (API, linkurious.js JS graph visualization library) to help software architects successfully deploy graph capabilities within their organizations.
-         </div>
-         <div class="col-sm-6 col-md-6">
-            <a href="http://neo4j.com/"><img src="images/logos/neo4j-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://neo4j.com/">Neo4j</a>&trade; is the most widely used open source, transactional graph database with a large active user and customer community. Because of its scalability and ease of use, Neo4j is applied in a wide variety of use cases from fraud detection, access control to recommendation and investigative journalism. Along with the openCypher graph query language, Neo4j also supports Apache TinkerPop and currently serves as its OLTP reference implementation.
-         </div>
-      </div>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-6">
-            <a href="http://orientdb.com/"><img src="images/logos/orientdb-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://orientdb.com/">OrientDB</a>&trade; is an open source distributed graph database with native support for Apache TinkerPop and the Gremlin graph traversal language. OrientDB handles relationships by using persistent pointers, rather than expensive join runtime operations. This guarantees a fast, constant O(1) time for traversing, no matter the database size. Furthermore, OrientDB is not only a graph database, but a multi-model database able to manage documents, keys/values, objects, full-text and spatial data.
-         </div>
-         <div class="col-sm-6 col-md-6">
-            <a href="http://stardog.com/"><img src="images/logos/stardog-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://stardog.com/">Stardog</a>&trade; is a graph database optimized for enterprise data unification. It supports both semantic graphs, via RDF, SPARQL, and OWL, as well as property graphs via Apache TinkerPop and Gremlin--it's the only graph database that supports both models over the same database, simultaneously. Stardog also supports hybrid data unification architectures, seamlessly blending data warehouse, system of record, and virtual query strategies. Stardog is suited for enterprise data silo challenges.
-         </div>
-      </div>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-6">
-            <a href="http://titan.thinkaurelius.com/"><img src="images/logos/titan-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://titan.thinkaurelius.com/">Titan</a>&trade; is an Apache2 licensed scalable, distributed graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users executing complex Gremlin traversals in real time. Titan also provides an in-memory, compression-based OLAP processor as well as integrates with Apache TinkerPop's Spark/Giraph OLAP processors.
-         </div>
-         <div class="col-sm-6 col-md-6">
-            <a href="http://tomsawyer.com/products/perspectives/"><img src="images/logos/tomsawyer-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://tomsawyer.com/products/perspectives/">Tom Sawyer Perspectives</a>&trade; is advanced graphics-based software for building enterprise-class data relationship visualization and analysis applications. It is a complete Software Development Kit (SDK) with a graphics-based design and preview environment. Tom Sawyer Perspectives combines visualization, layout, and analysis technology with an elegant platform architecture. Tom Sawyer Perspectives enables interaction with graph database systems via Apache TinkerPop.
-         </div>
-         <div class="col-sm-6 col-md-6"></div>
-      </div>
-   </div>
-   <br/>
-   <div class="container">
-      <a name="query-language-providers"></a>
-      <h3>Query Language Providers</h3>
-      <br/>
-      <div class="row">
-         <div class="col-sm-3 col-md-3">
-            <img src="images/gremlin-quill.png" style="width:100%;">
-         </div>
-         <div class="col-sm-9 col-md-9">
-            With the growth of <a href="https://en.wikipedia.org/wiki/NoSQL">NoSQL</a>, for which graph databases are a subclass, many new database query languages have been developed. SQL has
-            always been the industry standard, but now there exists others such as <a href="http://docs.datastax.com/en/cql/3.1/cql/cql_intro_c.html">CQL</a>, <a href="https://en.wikipedia.org/wiki/Datalog">Datalog</a>,
-            and <a href="https://en.wikipedia.org/wiki/XQuery">XQuery</a>. Even in the graph database space there is <a href="https://en.wikipedia.org/wiki/SPARQL">SPARQL</a>, <a href="http://neo4j.com/developer/cypher-query-language/">Cypher</a>,
-            <a href="http://graphql.org/">GraphQL</a>, and of course, Gremlin. Much like the <a href="https://en.wikipedia.org/wiki/Java_virtual_machine">Java virtual machine</a> is a host to multiple
-            programming languages including Java, Scala, Groovy, Clojure, JavaScript, etc., the Gremlin traversal machine is a host to multiple query languages. The Gremlin traversal machine's
-            instruction set ensures <a href="https://en.wikipedia.org/wiki/Turing_completeness">Turing Completeness</a> and as such, any query language can compile to execute on the Gremlin traversal machine.
-            There are three types of language designers. Below, each type will demonstrate the "same traversal" expressed in different languages. Ultimately, they all compile to the Gremlin traversal
-            below which computes the average rating for the projects created by Gremlin's friends.
-         </div>
-      </div>
-      <br/>
-      <div class="row">
-         <div class="col-md-4">
-            <pre style="padding:10px"><code class="language-gremlin">g.V().has("person","name","gremlin").
-  out("knows").out("created").
-  hasLabel("project").
-  values("stars").mean()</code></pre>
-         </div>
-      </div>
-      <br/>
-      <div class="row">
-         <div class="col-sm-8 col-md-9">
-            <br/>
-            <strong>Distinct query language</strong>: Query languages such as SQL and SPARQL are significantly different from Gremlin in that they require a special purpose compiler in order to
-            generate a traversal. For this reason, <a href="https://github.com/twilmes/sql-gremlin">SQL</a> and <a href="https://github.com/dkuppitz/sparql-gremlin">SPARQL</a> Gremlin compilers
-            currently exist. Note that, within reason, Gremlin compilers do not need to concern themselves with an optimal compilation (only a semantically correct compilation) as the Gremlin
-            traversal machine will leverage traversal strategies for both compile-time and runtime optimizations. Moreover, the language designer can rest assured that queries in their language
-            will be able to evaluate as either an OLTP or OLAP query. The example on the right is a SPARQL query that determines the average rating for Gremlin's friends' projects. It is because
-            of the Gremlin traversal machine, that that SPARQL query can immediately execute over Spark (for instance).
-         </div>
-         <div class="col-sm-4 col-md-3">
-            <pre style="padding:10px;"><code class="language-gremlin">SELECT AVG(?stars) WHERE {
-  ?a v:label person .
-  ?a v:name "gremlin" .
-  ?a e:knows ?b .
-  ?b e:created ?c .
-  ?c v:label "project" .
-  ?c v:stars ?stars
-}</code></pre>
-         </div>
-      </div>
-      <br/>
-      <br/>
-      <div class="row">
-         <div class="col-sm-7 col-md-8">
-            <strong>Gremlin language variants</strong>: There are various <a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin language variants</a> such as <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a>. These languages
-            generate Gremlin bytecode utilizing the same naming/style-conventions as Gremlin-Java. However, where appropriate, they can deviate from convention in order to take advantage of the unique expressive qualities of the host language. For instance, Gremlin-Python supports index slices, attribute access, etc.
-         </div>
-         <div class="col-sm-5 col-md-4">
-            <pre style="padding:10px;"><code class="language-gremlin">g.V().has('person','name','gremlin').
-  out('knows').out('created').
-  hasLabel('project').stars.mean()</code></pre>
-         </div>
-      </div>
-      <br/>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-8">
-            <strong>Domain specific languages</strong>: A users's application logic typically represents its domain in terms of real-world objects, not "vertices" and "edges." While most application developers will become comfortable writing their traversals in the vertex/edge-lexicon of Gremlin, it may be desirable to create a domain specific language for, perhaps, business users. To do so is simple. The language designer extends Traversal and interacts with an underlying GraphTraversal exposing "high-level" steps that may ultimately be composed of a complex sequence of "low-level" vertex/edge-steps. A major boon is that the DSL designer does not have to worry about compiler optimization as the "low-level" GraphTraversal representation will ultimately be subjected to traversal strategies prior to OLTP or OLAP evaluation. The example on the right is a hypothetical SocialDSL that allows users to query their graph from the perspective of people, projects, etc. and is thus bound to tha
 t graph's particular social data schema.
-         </div>
-         <div class="col-sm-6 col-md-4">
-            <br/>
-            <br/>
-            <pre style="padding:10px;"><code class="language-gremlin">SELECT(Average.of(Stars)).
-FROM(Projects)
-WHERE(Created.by(Friends.of("gremlin")))</code></pre>
-         </div>
-      </div>
-      <br/>
-      <h4>TinkerPop-Enabled Query Languages</h4>
-      <br/>
-      Apache TinkerPop is always looking to point users to TinkerPop-enabled graph query languages. Please read Apache TinkerPop's <a href="policy.html">provider listing policy</a> for adding new projects to the listing below.
-      The listing is intended to help users identify TinkerPop-enabled compilers and languages and does not constitute an endorsement by Apache TinkerPop nor the Apache Software Foundation.
-      <br/>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-6">
-            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console"><img src="images/logos/gremlin-groovy-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin-Groovy</a> represents Gremlin inside the Groovy language and can be leveraged by any JVM-based project either through gmaven or its JSR-223 ScriptEngine implementation. It also serves as the Gremlin Console language.
-         </div>
-         <div class="col-sm-6 col-md-6">
-            <a href="http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants"><img src="images/logos/gremlin-java-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants">Gremlin-Java</a> represents Gremlin inside the Java8 language. Gremlin-Java is considered the canonical, reference implementation of Gremlin and is the primary compiler for all lambda-free bytecode due to its speed relative to other script-based, JVM variants.
-         </div>
-      </div>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-6">
-            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python"><img src="images/logos/gremlin-python-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a> represents Gremlin inside the Python language and can be used by any Python virtual machine such as CPython and Jython. Gremlin-Python traversals translate to Gremlin bytecode for RemoteConnection execution (e.g. Gremlin Server).
-         </div>
-         <div class="col-sm-6 col-md-6">
-            <a href="https://github.com/mpollmeier/gremlin-scala"><img src="images/logos/gremlin-scala-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="https://github.com/mpollmeier/gremlin-scala">Gremlin-Scala</a> is a Gremlin language variant that uses standard Scala functions, provides a convenient DSL to create vertices and edges, ensures type safe traversals, and incurrs minimal runtime overhead by only allocating instances if absolutely necessary.
-         </div>
-      </div>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-6">
-            <a href="https://github.com/clojurewerkz/ogre"><img src="images/logos/ogre-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="https://github.com/clojurewerkz/ogre">Ogre</a> is a Gremlin language variant for Clojure. It provides an API that enhances the expressivity of Gremlin within Clojure, it doesn't introduce any significant amount of performance overhead, and it can work with any TinkerPop-enabled graph database or analytic system.
-         </div>
-         <div class="col-sm-6 col-md-6">
-            <a href="https://github.com/dkuppitz/sparql-gremlin"><img src="images/logos/sparql-gremlin-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="https://github.com/dkuppitz/sparql-gremlin">SPARQL-Gremlin</a> is a compiler used to transform SPARQL queries into Gremlin bytecode. It is based on the Apache Jena SPARQL processor ARQ, which provides access to a syntax tree of a SPARQL query.
-         </div>
-      </div>
-      <br/>
-      <div class="row">
-         <div class="col-sm-6 col-md-6">
-            <a href="https://github.com/twilmes/sql-gremlin"><img src="images/logos/sql-gremlin-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
-            <a href="https://github.com/twilmes/sql-gremlin">SQL-Gremlin</a> compiles ANSI SQL to Gremlin bytecode and is useful for connecting JDBC reporting/business
-            intelligence tools to any TinkerPop-enabled graph system.
-         </div>
-      </div>
-   </div>
-   <br/>
-   <div class="container">
-      <hr/>
-      <h4>Related Resources</h4>
-      <br/>
-      <div class="carousel slide" data-ride="carousel" data-type="multi" data-interval="7000" id="relatedResources">
-         <div class="carouselGrid-inner">
-            <div class="item active">
-               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://markorodriguez.com/2013/01/09/on-graph-computing/"><img src="images/resources/on-graph-computing-resource.png" width="100%"/></a></div>
-            </div>
-            <div class="item">
-               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://academy.datastax.com/courses/ds230-getting-started-gremlin/property-graph"><img src="images/resources/property-graph-resource.png" width="100%"/></a></div>
-            </div>
-            <div class="item">
-               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://neo4j.com/why-graph-databases/"><img src="images/resources/why-graph-databases-resource.png" width="100%"/></a></div>
-            </div>
-            <div class="item">
-               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://thinkaurelius.com/2012/03/22/understanding-the-world-using-tables-and-graphs/"><img src="images/resources/tables-and-graphs-resource.png" width="100%"/></a></div>
-            </div>
-         </div>
-         <a class="left carouselGrid-control" href="#relatedResources" data-slide="prev">
-         <span class="icon-prev" aria-hidden="true"></span>
-         <span class="sr-only">Previous</span>
-         </a>
-         <a class="right carouselGrid-control" href="#relatedResources" data-slide="next">
-         <span class="icon-next" aria-hidden="true"></span>
-         <span class="sr-only">Next</span>
-         </a>
-      </div>
-      <script>
-         $('.carousel[data-type="multi"] .item').each(function(){
-           var next = $(this).next(); // grabs the next sibling of the carouselGrid
-           if (!next.length) { // if ther isn't a next
-             next = $(this).siblings(':first'); // this is the first
-           }
-           next.children(':first-child').clone().appendTo($(this)); // put the next ones on the array
-
-           for (var i=0;i<2;i++) { // THIS LOOP SPITS OUT EXTRA ITEMS TO THE CAROUSEL
-             next=next.next();
-             if (!next.length) {
-               next = $(this).siblings(':first');
-             }
-             next.children(':first-child').clone().appendTo($(this));
-           }
-
-         });
-      </script>
-   </div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/template/header-footer.html
----------------------------------------------------------------------
diff --git a/site/home/template/header-footer.html b/site/home/template/header-footer.html
deleted file mode 100644
index 90cd3b5..0000000
--- a/site/home/template/header-footer.html
+++ /dev/null
@@ -1,148 +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.
--->
-<!DOCTYPE html>
-<!--
-       \,,,/
-       (o o)
-  -oOOo-(3)-oOOo-
--->
-<html lang="en">
-   <head>
-      <meta charset="utf-8">
-      <meta http-equiv="X-UA-Compatible" content="IE=edge">
-      <meta name="viewport" content="width=device-width, initial-scale=1">
-      <title>Apache TinkerPop</title>
-      <meta name="description" content="A Graph Computing Framework">
-      <meta name="author" content="Apache TinkerPop">
-      <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-      <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-      <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-      <![endif]-->
-      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" type="text/css">
-      <script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
-      <script src="js/bootstrap-3.3.5.min.js" type="text/javascript"></script>
-      <link href="css/carousel.css" rel="stylesheet" type="text/css">
-      <link href="css/prism.css" rel="stylesheet" type="text/css"/>
-      <link href="css/bootstrap-mods.css" rel="stylesheet" type="text/css"/>
-      <!-- Le fav and touch icons -->
-      <link rel="shortcut icon" href="images/favicon.ico">
-      <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-      <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
-      <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
-   </head>
-   <body>
-      <script src="js/prism.js"></script>     
-      <!---------------->
-      <!---------------->
-      <!---------------->
-      <!-- NAVIGATION -->
-      <!---------------->
-      <!---------------->
-      <!---------------->      
-      <nav class="navbar navbar-inverse navbar-static-top" role="navigation">
-         <!-- Brand and toggle get grouped for better mobile display -->
-         <div class="navbar-header">
-            <button type="button" class="navbar-toggle" data-toggle="collapse"
-               data-target="#navbar-collapse-1">
-            <span class="sr-only">Toggle navigation</span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            </button>
-            <a class="navbar-brand" href="http://tinkerpop.apache.org"><font face="american typewriter"><b>Apache TinkerPop</b></font></a>
-         </div>
-         <div id="navbar-collapse-1" class="collapse navbar-collapse">
-            <ul class="nav navbar-nav">
-               <li><a href="downloads.html">Download</a></li>
-               <li class="dropdown">
-                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
-                  Documentation <b class="caret"></b>
-                  </a>
-                  <ul class="dropdown-menu">
-                     <li class="dropdown-header">Latest: 3.2.3 (17-Oct-2016)</li>
-                     <li><a href="http://tinkerpop.apache.org/docs/current">TinkerPop 3.2.3</a></li>
-                     <li><a href="http://tinkerpop.apache.org/docs/current/upgrade">Upgrade Information</a></li>
-                     <li><a href="http://tinkerpop.apache.org/javadocs/current/core/">Core Javadoc API</a></li>
-                     <li><a href="http://tinkerpop.apache.org/javadocs/current/full/">Full Javadoc API</a></li>
-                     <li role="separator" class="divider"></li>
-                     <li class="dropdown-header">Maintenance: 3.1.5 (17-Oct-2016)</li>
-                     <li><a href="http://tinkerpop.apache.org/docs/3.1.5/">TinkerPop 3.1.5</a></li>
-                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.5/core/">Core Javadoc API</a></li>
-                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.5/full/">Full Javadoc API</a></li>
-                     <li role="separator" class="divider"></li>
-                     <li><a href="http://tinkerpop.apache.org/docs/">Documentation Archives</a></li>
-                     <li><a href="http://tinkerpop.apache.org/javadocs/">Javadoc Archives</a></li>
-                     <li role="separator" class="divider"></li>
-                     <li><a href="index.html#publications">Publications</a></li>
-                  </ul>
-               </li>
-               <li class="dropdown">
-                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">Tutorials<b class="caret"></b></a>
-                  <ul class="dropdown-menu">
-                     <li><a href="http://gremlinbin.com/"><img src="images/goutte-blue.png" class="nav-icon"/>Try Gremlin</a></li>
-                     <li role="separator" class="divider"></li>
-                     <li><a href="gremlin.html">Introduction to Gremlin</a></li>
-                     <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started/">Getting Started</a></li>
-                     <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/the-gremlin-console/">The Gremlin Console</a></li>
-                     <li><a href="http://tinkerpop.apache.org/docs/current/recipes/">Gremlin Recipes</a></li>
-                     <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin Language Variants</a></li>
-                     <li><a href="http://sql2gremlin.com/">SQL2Gremlin</a></li>
-                  </ul>
-               </li>
-               <li class="dropdown">
-                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
-                  Community <b class="caret"></b>
-                  </a>
-                  <ul class="dropdown-menu">
-                     <li><a href="https://groups.google.com/group/gremlin-users">User Mailing List</a></li>
-                     <li><a href="https://lists.apache.org/list.html?dev@tinkerpop.apache.org">Developer Mailing List</a></li>
-                     <li><a href="https://issues.apache.org/jira/browse/TINKERPOP/">Issue Tracker</a></li>
-                     <li><a href="https://tinkerpop.apache.org/docs/current/dev/developer/#_contributing">Contributing</a></li>
-                     <li><a href="providers.html">Providers</a></li>
-                     <li><a href="index.html#committers">Project Committers</a></li>
-                     <li><a href="policy.html">Policies</a></li>
-                     <li role="separator" class="divider"></li>
-                     <li><a href="https://github.com/apache/tinkerpop/"><img src="images/gremlin-github.png" class="nav-icon"/>GitHub</a></li>
-                     <li><a href="https://twitter.com/apachetinkerpop">Twitter</a></li>
-                  </ul>
-               </li>
-               <li class="dropdown">
-                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
-                  Apache Software Foundation <b class="caret"></b>
-                  </a>
-                  <ul class="dropdown-menu">
-                     <li><a href="http://www.apache.org/">Apache Homepage</a></li>
-                     <li><a href="http://www.apache.org/licenses/">License</a></li>
-                     <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-                     <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-                     <li><a href="http://www.apache.org/security/">Security</a></li>
-                  </ul>
-               </li>
-            </ul>
-         </div>
-      </nav>
-      !!!!!BODY!!!!!
-      <div id="footer">
-         <div class="container">
-            <p class="muted credit">Apache TinkerPop, TinkerPop, Apache, Apache feather logo, and Apache TinkerPop project logo are either registered trademarks or trademarks of <a href="http://www.apache.org/">The Apache Software Foundation</a> in the United States and other countries.
-            </p>
-         </div>
-      </div>
-   </body>
-</html>


[30/47] tinkerpop git commit: Added neo4j-gremlin-bolt to graph provider listing.

Posted by sp...@apache.org.
Added neo4j-gremlin-bolt to graph provider listing.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/de3edc06
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/de3edc06
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/de3edc06

Branch: refs/heads/TINKERPOP-1235
Commit: de3edc06346516dc954da4fa4877b255fe072264
Parents: 2f51961
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Oct 24 10:15:22 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:51 2016 -0400

----------------------------------------------------------------------
 site/home/index.html | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/de3edc06/site/home/index.html
----------------------------------------------------------------------
diff --git a/site/home/index.html b/site/home/index.html
index 9777271..162d568 100644
--- a/site/home/index.html
+++ b/site/home/index.html
@@ -221,7 +221,8 @@ limitations under the License.
             <li><a href="http://tinkerpop.apache.org/docs/current/reference/#giraphgraphcomputer">Hadoop (Giraph)</a> - OLAP graph processor using Giraph.</li>
             <li><a href="http://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer">Hadoop (Spark)</a> - OLAP graph processor using Spark.</li>
             <li><a href="https://console.ng.bluemix.net/catalog/services/ibm-graph/">IBM Graph</a> - OLTP graph database as a service.</li>
-            <li><a href="http://tinkerpop.apache.org/docs/currentg/#neo4j-gremlin">Neo4j</a> - OLTP graph database.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/currentg/#neo4j-gremlin">Neo4j</a> - OLTP graph database (embedded).</li>
+            <li><a href="https://github.com/SteelBridgeLabs/neo4j-gremlin-bolt">neo4j-gremlin-bolt</a> - OLTP graph database (using Bolt Protocol).</li>
             <li><a href="https://github.com/pietermartin/sqlg">Sqlg</a> - RDBMS OLTP implementation with HSQLDB and Postresql support.</li>
             <li><a href="http://stardog.com/">Stardog</a> - RDF graph database with OLTP and OLAP support.</li>
             <li><a href="http://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin">TinkerGraph</a> - In-memory OLTP and OLAP reference implementation.</li>


[16/47] tinkerpop git commit: TINKERPOP-1024 Removed tryRandomCommit() on AbstractGremlinTest

Posted by sp...@apache.org.
TINKERPOP-1024 Removed tryRandomCommit() on AbstractGremlinTest

This method was deprecate some time ago and probably could have been removed without concern. It was only used in testing Neo4j, but the path of deprecation was chosen instead. Removed for 3.3.0. CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/47e2cd74
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/47e2cd74
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/47e2cd74

Branch: refs/heads/TINKERPOP-1235
Commit: 47e2cd74d1ece054c270269404c8aebdb2b58e64
Parents: d5b2bc1
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 15:32:14 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 15:32:14 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                      |  1 +
 .../apache/tinkerpop/gremlin/AbstractGremlinTest.java   | 12 ------------
 2 files changed, 1 insertion(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/47e2cd74/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index a48c40c..26e2e89 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -29,6 +29,7 @@ TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
 * Replaced term `REST` with `HTTP` to remove any confusion as to the design of the API.
 * Moved `gremlin-benchmark` under `gremlin-tools` module.
 * Added `gremlin-tools` and its submodule `gremlin-coverage`.
+* Removed `tryRandomCommit()` from `AbstractGremlinTest`.
 * Changed `gremlin-benchmark` system property for the report location to `benchmarkReportDir` for consistency.
 
 TinkerPop 3.2.0 (Nine Inch Gremlins)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/47e2cd74/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
index 8485d56..25d7a55 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
@@ -205,18 +205,6 @@ public abstract class AbstractGremlinTest {
     }
 
     /**
-     * This method does not appear to be used in TinkerPop core.  It was used at one time by Neo4j tests, but wasn't
-     * really a great pattern and was eventually removed.
-     *
-     * @deprecated as of 3.1.1-incubating, and is not replaced
-     */
-    @Deprecated
-    public void tryRandomCommit(final Graph graph) {
-        if (graph.features().graph().supportsTransactions() && new Random().nextBoolean())
-            graph.tx().commit();
-    }
-
-    /**
      * Utility method that commits if the graph supports transactions and executes an assertion function before and
      * after the commit.  It assumes that the assertion should be true before and after the commit.
      */


[47/47] tinkerpop git commit: TINKERPOP-1235 Removed deprecated "performance" tests.

Posted by sp...@apache.org.
TINKERPOP-1235 Removed deprecated "performance" tests.

Also removed dependencies on junit-benchmarks and h2. This will be a breaking change for providers who were using these test suites. Upgrade documentation has been updated with respect to this issue.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a1dc42d2
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a1dc42d2
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a1dc42d2

Branch: refs/heads/TINKERPOP-1235
Commit: a1dc42d207bb0ca619e80daadeea29b11b679c6c
Parents: e5f2f6d
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Oct 25 16:04:21 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 10:34:21 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |   2 +
 .../developer/development-environment.asciidoc  |   1 -
 docs/src/dev/developer/release.asciidoc         |   1 -
 docs/src/upgrade/release-3.3.x.asciidoc         |  21 +++
 .../tinkerpop/gremlin/structure/Graph.java      |  18 --
 .../loaders/SugarLoaderPerformanceTest.groovy   | 138 --------------
 .../GroovyEnvironmentPerformanceSuite.java      |  88 ---------
 .../engine/GremlinExecutorPerformanceTest.java  | 189 -------------------
 .../AbstractGremlinServerPerformanceTest.java   | 100 ----------
 .../server/GremlinAdditionPerformanceTest.java  | 108 -----------
 .../server/GremlinTraversalPerformanceTest.java | 108 -----------
 gremlin-test/pom.xml                            |  10 -
 .../process/ProcessPerformanceSuite.java        |  57 ------
 .../process/TraversalPerformanceTest.java       | 133 -------------
 .../structure/GraphReadPerformanceTest.java     | 120 ------------
 .../structure/GraphWritePerformanceTest.java    | 128 -------------
 .../structure/StructurePerformanceSuite.java    |  54 ------
 .../gremlin/neo4j/structure/Neo4jGraph.java     |   3 -
 pom.xml                                         |  37 ----
 .../tinkergraph/structure/TinkerGraph.java      |   3 -
 .../TinkerGraphProcessPerformanceTest.java      |  37 ----
 .../TinkerGraphStructurePerformanceTest.java    |  37 ----
 ...erGraphGroovyEnvironmentPerformanceTest.java |  39 ----
 23 files changed, 23 insertions(+), 1409 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 5c76514..2b9a18d 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,8 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+* Removed all performance tests that were not part of `gremlin-benchmark`.
+* Removed dependency on `junit-benchmarks` and it's related reference to `h2`.
 * Moved the source for the "home page" into the repository under `/site` so that it easier to accept contributions.
 * Replaced term `REST` with `HTTP` to remove any confusion as to the design of the API.
 * Moved `gremlin-benchmark` under `gremlin-tools` module.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/docs/src/dev/developer/development-environment.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/development-environment.asciidoc b/docs/src/dev/developer/development-environment.asciidoc
index a6aeaa2..ff17f00 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -144,7 +144,6 @@ mvn -Dmaven.javadoc.skip=true --projects tinkergraph-gremlin test
 * Integration Tests: `mvn verify -DskipIntegrationTests=false`
 ** Execute with the `-DincludeNeo4j` option to include transactional tests.
 ** Execute with the `-DuseEpoll` option to try to use Netty native transport (works on Linux, but will fallback to Java NIO on other OS).
-* Performance Tests: `mvn verify -DskipPerformanceTests=false`
 * Benchmarks: `mvn verify -DskipBenchmarks=false`
 ** Reports are generated to the console and to `gremlin-tools/gremlin-benchmark/target/reports/benchmark`.
 * Test coverage report: `mvn clean install -Dcoverage` - note that the `install` is necessary because report aggregation is bound to that part of the lifecycle.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/docs/src/dev/developer/release.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/release.asciidoc b/docs/src/dev/developer/release.asciidoc
index dd7b4a0..eb311cf 100644
--- a/docs/src/dev/developer/release.asciidoc
+++ b/docs/src/dev/developer/release.asciidoc
@@ -106,7 +106,6 @@ might be high.
 
 . `mvn clean install -DincludeNeo4j`
 .. `mvn verify -DskipIntegrationTests=false -DincludeNeo4j`
-.. `mvn verify -DskipPerformanceTests=false`
 . `bin/publish-docs.sh <username>` - note that under a release candidate the documentation is published as SNAPSHOT
 . `mvn versions:set -DnewVersion=xx.yy.zz -DgenerateBackupPoms=false` to update the project files to reference a non-SNAPSHOT version
 . `pushd gremlin-console/bin; ln -fs ../target/apache-tinkerpop-gremlin-console-xx.yy.zz-standalone/bin/gremlin.sh gremlin.sh; popd`

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/docs/src/upgrade/release-3.3.x.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/release-3.3.x.asciidoc b/docs/src/upgrade/release-3.3.x.asciidoc
index a026771..6a4496a 100644
--- a/docs/src/upgrade/release-3.3.x.asciidoc
+++ b/docs/src/upgrade/release-3.3.x.asciidoc
@@ -31,3 +31,24 @@ Please see the link:https://github.com/apache/tinkerpop/blob/3.3.3/CHANGELOG.asc
 
 Upgrading for Users
 ~~~~~~~~~~~~~~~~~~~
+
+
+Upgrading for Providers
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Graph Database Providers
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Performance Tests
++++++++++++++++++
+
+Performance tests based on `junit-benchmarks` have been removed from TinkerPop. Specifically, providers should be
+concerned with breaking changes related to the removal of:
+
+* `StructurePerformanceSuite`
+* `ProcessPerformanceSuite`
+* `GroovyEnvironmentPerformanceSuite`
+
+Those graph providers who relied on these tests should simply remove them from their respective test suites.
+
+See: https://issues.apache.org/jira/browse/TINKERPOP-1235[TINKERPOP-1235]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
index ed3f12d..8231961 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
@@ -1200,32 +1200,14 @@ public interface Graph extends AutoCloseable, Host {
     public @interface OptIn {
         public static String SUITE_STRUCTURE_STANDARD = "org.apache.tinkerpop.gremlin.structure.StructureStandardSuite";
         public static String SUITE_STRUCTURE_INTEGRATE = "org.apache.tinkerpop.gremlin.structure.StructureIntegrateSuite";
-
-        /**
-         * @deprecated As of release 3.2.4, effectively replaced by the gremlin-benchmarks module.
-         */
-        @Deprecated
-        public static String SUITE_STRUCTURE_PERFORMANCE = "org.apache.tinkerpop.gremlin.structure.StructurePerformanceSuite";
         public static String SUITE_PROCESS_COMPUTER = "org.apache.tinkerpop.gremlin.process.ProcessComputerSuite";
         public static String SUITE_PROCESS_STANDARD = "org.apache.tinkerpop.gremlin.process.ProcessStandardSuite";
-
-        /**
-         * @deprecated As of release 3.2.4, effectively replaced by the gremlin-benchmarks module.
-         */
-        @Deprecated
-        public static String SUITE_PROCESS_PERFORMANCE = "org.apache.tinkerpop.gremlin.process.ProcessPerformanceSuite";
         public static String SUITE_GROOVY_PROCESS_STANDARD = "org.apache.tinkerpop.gremlin.process.GroovyProcessStandardSuite";
         public static String SUITE_GROOVY_PROCESS_COMPUTER = "org.apache.tinkerpop.gremlin.process.GroovyProcessComputerSuite";
         public static String SUITE_GROOVY_ENVIRONMENT = "org.apache.tinkerpop.gremlin.groovy.GroovyEnvironmentSuite";
         public static String SUITE_GROOVY_ENVIRONMENT_INTEGRATE = "org.apache.tinkerpop.gremlin.groovy.GroovyEnvironmentIntegrateSuite";
 
         /**
-         * @deprecated As of release 3.2.4, effectively replaced by the gremlin-benchmarks module.
-         */
-        @Deprecated
-        public static String SUITE_GROOVY_ENVIRONMENT_PERFORMANCE = "org.apache.tinkerpop.gremlin.groovy.GroovyEnvironmentPerformanceSuite";
-
-        /**
          * The test suite class to opt in to.
          */
         public String value();

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/SugarLoaderPerformanceTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/SugarLoaderPerformanceTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/SugarLoaderPerformanceTest.groovy
deleted file mode 100644
index 809db18..0000000
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/groovy/loaders/SugarLoaderPerformanceTest.groovy
+++ /dev/null
@@ -1,138 +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.
- */
-package org.apache.tinkerpop.gremlin.groovy.loaders
-
-import com.carrotsearch.junitbenchmarks.BenchmarkOptions
-import com.carrotsearch.junitbenchmarks.BenchmarkRule
-import com.carrotsearch.junitbenchmarks.annotation.AxisRange
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkHistoryChart
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkMethodChart
-import com.carrotsearch.junitbenchmarks.annotation.LabelType
-import org.apache.tinkerpop.gremlin.AbstractGremlinTest
-import org.apache.tinkerpop.gremlin.LoadGraphWith
-import org.junit.FixMethodOrder
-import org.junit.Rule
-import org.junit.Test
-import org.junit.rules.TestRule
-import org.junit.runners.MethodSorters
-
-/**
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@AxisRange(min = 0d, max = 1d)
-@BenchmarkMethodChart(filePrefix = "sugar")
-@BenchmarkHistoryChart(labelWith = LabelType.CUSTOM_KEY, maxRuns = 20, filePrefix = "hx-sugar")
-@FixMethodOrder(MethodSorters.JVM)
-@Deprecated
-class SugarLoaderPerformanceTest extends AbstractGremlinTest {
-    @Rule
-    public TestRule benchmarkRun = new BenchmarkRule()
-
-    public final static int DEFAULT_BENCHMARK_ROUNDS = 1000
-    public final static int DEFAULT_WARMUP_ROUNDS = 50
-
-    static {
-        SugarLoader.load()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void java_g_V() throws Exception {
-        g.V().iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void groovy_g_V() throws Exception {
-        g.V.iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void java_g_V_outE_inV() throws Exception {
-        g.V().outE().inV().iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void groovy_g_V_outE_inV() throws Exception {
-        g.V.outE.inV.iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void java_g_V_outE_inV_outE_inV() throws Exception {
-        g.V().outE().inV().outE().inV().iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void groovy_g_V_outE_inV_outE_inV() throws Exception {
-        g.V.outE.inV.outE.inV.iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void java_g_V_name() throws Exception {
-        g.V().values("name").iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void groovy_g_V_name() throws Exception {
-        g.V.name.iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void java_g_VX1X_name() throws Exception {
-        g.V(convertToVertexId("marko")).values("name").iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void groovy_g_VX1X_name() throws Exception {
-        g.V(convertToVertexId("marko")).name.iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void java_g_VX1X_outE() throws Exception {
-        g.V(convertToVertexId("marko")).outE().iterate()
-    }
-
-    @BenchmarkOptions(benchmarkRounds = SugarLoaderPerformanceTest.DEFAULT_BENCHMARK_ROUNDS, warmupRounds = SugarLoaderPerformanceTest.DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
-    @Test
-    public void groovy_g_VX1X_outE() throws Exception {
-        g.V(convertToVertexId("marko")).outE.iterate()
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentPerformanceSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentPerformanceSuite.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentPerformanceSuite.java
deleted file mode 100644
index d6f62ed..0000000
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/GroovyEnvironmentPerformanceSuite.java
+++ /dev/null
@@ -1,88 +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.
- */
-package org.apache.tinkerpop.gremlin.groovy;
-
-import org.apache.tinkerpop.gremlin.AbstractGremlinSuite;
-import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
-import org.apache.tinkerpop.gremlin.GraphManager;
-import org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutorPerformanceTest;
-import org.apache.tinkerpop.gremlin.groovy.loaders.SugarLoader;
-import org.apache.tinkerpop.gremlin.groovy.loaders.SugarLoaderPerformanceTest;
-import org.apache.tinkerpop.gremlin.groovy.util.SugarTestHelper;
-import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.StructureStandardSuite;
-import org.junit.runners.model.InitializationError;
-import org.junit.runners.model.RunnerBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-/**
- * The {@code GroovyEnvironmentPerformanceSuite} is a JUnit test runner that executes the Gremlin Test Suite over a
- * {@link Graph} implementation.  This test suite covers ensures that a vendor implementation is compliant with
- * the Groovy "environment" which will typically ensure that the {@link Graph} will work as expected in the Gremlin
- * Console, Gremlin Server, and other Groovy environments.
- * <p/>
- * Note that this suite contains "long-run" tests.  At this time, this suite can be considered optional to providers
- * as the functionality that it provides is generally covered elsewhere.
- * <p/>
- * For more information on the usage of this suite, please see {@link StructureStandardSuite}.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@Deprecated
-public class GroovyEnvironmentPerformanceSuite extends AbstractGremlinSuite {
-
-    /**
-     * This list of tests in the suite that will be executed.  Gremlin developers should add to this list
-     * as needed to enforce tests upon implementations.
-     */
-    private static final Class<?>[] allTests = new Class<?>[]{
-            GremlinExecutorPerformanceTest.class,
-            SugarLoaderPerformanceTest.class
-    };
-
-    public GroovyEnvironmentPerformanceSuite(final Class<?> klass, final RunnerBuilder builder) throws InitializationError {
-        super(klass, builder, allTests, null, false, TraversalEngine.Type.STANDARD);
-    }
-
-    @Override
-    public boolean beforeTestExecution(final Class<? extends AbstractGremlinTest> testClass) {
-        unloadSugar();
-        SugarLoader.load();
-        return true;
-    }
-
-    @Override
-    public void afterTestExecution(final Class<? extends AbstractGremlinTest> testClass) {
-        unloadSugar();
-    }
-
-    private void unloadSugar() {
-        try {
-            SugarTestHelper.clearRegistry(GraphManager.getGraphProvider());
-        } catch (Exception ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutorPerformanceTest.java
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutorPerformanceTest.java b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutorPerformanceTest.java
deleted file mode 100644
index c8517fb..0000000
--- a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/engine/GremlinExecutorPerformanceTest.java
+++ /dev/null
@@ -1,189 +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.
- */
-package org.apache.tinkerpop.gremlin.groovy.engine;
-
-import com.carrotsearch.junitbenchmarks.BenchmarkOptions;
-import com.carrotsearch.junitbenchmarks.BenchmarkRule;
-import com.carrotsearch.junitbenchmarks.annotation.AxisRange;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkHistoryChart;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkMethodChart;
-import com.carrotsearch.junitbenchmarks.annotation.LabelType;
-import org.apache.commons.configuration.Configuration;
-import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
-import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.process.traversal.P;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestName;
-import org.junit.rules.TestRule;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
-import java.util.concurrent.CompletableFuture;
-
-/**
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@AxisRange(min = 0, max = 1)
-@BenchmarkMethodChart(filePrefix = "gremlin-executor")
-@BenchmarkHistoryChart(labelWith = LabelType.CUSTOM_KEY, maxRuns = 20, filePrefix = "hx-gremlin-executor")
-@Deprecated
-public class GremlinExecutorPerformanceTest extends AbstractGremlinTest {
-
-    private static final Random rand = new Random(9585834534l);
-    private static final GremlinExecutor gremlinExecutor = GremlinExecutor.build().create();
-    private GremlinGenerator generator;
-    private Graph syntaxGraph = null;
-    private Configuration syntaxGraphConfig = null;
-
-    @Rule
-    public TestRule benchmarkRun = new BenchmarkRule();
-
-    @Rule
-    public TestName testName = new TestName();
-
-    public final static int DEFAULT_BENCHMARK_ROUNDS = 500;
-    public final static int DEFAULT_WARMUP_ROUNDS = 10;
-
-    @Override
-    public void setup() throws Exception {
-        super.setup();
-        syntaxGraphConfig = graphProvider.newGraphConfiguration("gremlin-executor-test",
-                GremlinExecutorPerformanceTest.class, testName.getMethodName(), null);
-        syntaxGraph = graphProvider.openTestGraph(syntaxGraphConfig);
-        generator = new GremlinGenerator(syntaxGraph, rand);
-    }
-
-    @Override
-    public void tearDown() throws Exception {
-        if (syntaxGraph != null) graphProvider.clear(syntaxGraph, syntaxGraphConfig);
-        super.tearDown();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void executorEval() throws Exception {
-        final Map<String, Object> params = new HashMap<>();
-        params.put("g", g);
-
-        final String traversal = generator.generateGremlin();
-        final int resultsToNextOut = rand.nextInt(512) + 1;
-        final String nextedTraversal = traversal + ".next(" + resultsToNextOut + ")";
-        final CompletableFuture<Object> future1 = gremlinExecutor.eval(nextedTraversal, params);
-        future1.join();
-    }
-
-    public static class GremlinGenerator {
-        private final Random rand;
-
-        private final Graph syntaxGraph;
-
-        public GremlinGenerator(final Graph syntaxGraph, final Random rand) {
-            this.rand = rand;
-            this.syntaxGraph = syntaxGraph;
-            loadGraph(this.syntaxGraph);
-        }
-
-        public String generateGremlin() {
-            final int targetStepCount = rand.nextInt(10);
-            final StringBuilder sb = new StringBuilder("g.V()");
-            final Vertex start = syntaxGraph.traversal().V().has("starter", true).order().by(this::shuffle).next();
-            sb.append((String) start.value("step"));
-
-            syntaxGraph.traversal().V(start).times(targetStepCount - 1).repeat(
-                    __.local(__.outE().has("weight", P.gte(rand.nextDouble()))
-                            .inV().order().by(this::shuffle).limit(1)).sideEffect(t -> sb.append((String) t.get().value("step")))
-            ).iterate();
-
-            return sb.toString();
-        }
-
-        private int shuffle(final Object o1, final Object o2) {
-            return rand.nextBoolean() ? -1 : 1;
-        }
-
-        private static void loadGraph(final Graph syntaxGraph) {
-            final Vertex vOutStep = syntaxGraph.addVertex("step", ".out()", "starter", true);
-            final Vertex vInStep = syntaxGraph.addVertex("step", ".in()", "starter", true);
-            final Vertex vBothStep = syntaxGraph.addVertex("step", ".both()", "starter", true);
-            final Vertex vInEStep = syntaxGraph.addVertex("step", ".inE()", "starter", true);
-            final Vertex vOutEStep = syntaxGraph.addVertex("step", ".outE()", "starter", true);
-            final Vertex vBothEStep = syntaxGraph.addVertex("step", ".bothE()", "starter", true);
-            final Vertex vInVStep = syntaxGraph.addVertex("step", ".inV()", "starter", false);
-            final Vertex vOutVStep = syntaxGraph.addVertex("step", ".outV()", "starter", false);
-            final Vertex vOtherVStep = syntaxGraph.addVertex("step", ".otherV()", "starter", false);
-
-            vOutStep.addEdge("followedBy", vOutStep, "weight", 1.0d);
-            vOutStep.addEdge("followedBy", vInStep, "weight", 0.15d);
-            vOutStep.addEdge("followedBy", vBothStep, "weight", 0.15d);
-            vOutStep.addEdge("followedBy", vOutEStep, "weight", 0.75d);
-            vOutStep.addEdge("followedBy", vInEStep, "weight", 0.1d);
-            vOutStep.addEdge("followedBy", vBothEStep, "weight", 0.1d);
-
-            vInStep.addEdge("followedBy", vOutStep, "weight", 0.15d);
-            vInStep.addEdge("followedBy", vInStep, "weight", 1.0d);
-            vInStep.addEdge("followedBy", vBothStep, "weight", 0.15d);
-            vInStep.addEdge("followedBy", vOutEStep, "weight", 0.1d);
-            vInStep.addEdge("followedBy", vInEStep, "weight", 0.75d);
-            vInStep.addEdge("followedBy", vBothEStep, "weight", 0.1d);
-
-            vOtherVStep.addEdge("followedBy", vOutStep, "weight", 0.15d);
-            vOtherVStep.addEdge("followedBy", vInStep, "weight", 1.0d);
-            vOtherVStep.addEdge("followedBy", vBothStep, "weight", 0.15d);
-            vOtherVStep.addEdge("followedBy", vOutEStep, "weight", 0.1d);
-            vOtherVStep.addEdge("followedBy", vInEStep, "weight", 0.75d);
-            vOtherVStep.addEdge("followedBy", vBothEStep, "weight", 0.1d);
-
-            vBothStep.addEdge("followedBy", vOutStep, "weight", 1.0d);
-            vBothStep.addEdge("followedBy", vInStep, "weight", 1.0d);
-            vBothStep.addEdge("followedBy", vBothStep, "weight", 0.1d);
-            vBothStep.addEdge("followedBy", vOutEStep, "weight", 0.15d);
-            vBothStep.addEdge("followedBy", vInEStep, "weight", 0.15d);
-            vBothStep.addEdge("followedBy", vBothEStep, "weight", 0.1d);
-
-            vInEStep.addEdge("followedBy", vOutVStep, "weight", 1.0d);
-            vInEStep.addEdge("followedBy", vInVStep, "weight", 0.1d);
-
-            vOutEStep.addEdge("followedBy", vInVStep, "weight", 1.0d);
-            vInEStep.addEdge("followedBy", vOutVStep, "weight", 0.1d);
-
-            vBothEStep.addEdge("followedBy", vOtherVStep, "weight", 1.0d);
-
-            vInVStep.addEdge("followedBy", vOutStep, "weight", 1.0d);
-            vInVStep.addEdge("followedBy", vInStep, "weight", 0.25d);
-            vInVStep.addEdge("followedBy", vBothStep, "weight", 0.1d);
-            vInVStep.addEdge("followedBy", vOutEStep, "weight", 1.0d);
-            vInVStep.addEdge("followedBy", vInEStep, "weight", 0.25d);
-            vInVStep.addEdge("followedBy", vBothEStep, "weight", 0.1d);
-
-            vOutVStep.addEdge("followedBy", vOutStep, "weight", 0.25d);
-            vOutVStep.addEdge("followedBy", vInStep, "weight", 1.0d);
-            vOutVStep.addEdge("followedBy", vBothStep, "weight", 0.1d);
-            vOutVStep.addEdge("followedBy", vOutEStep, "weight", 0.25d);
-            vOutVStep.addEdge("followedBy", vInEStep, "weight", 1.0d);
-            vOutVStep.addEdge("followedBy", vBothEStep, "weight", 0.1d);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/AbstractGremlinServerPerformanceTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/AbstractGremlinServerPerformanceTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/AbstractGremlinServerPerformanceTest.java
deleted file mode 100644
index 7808c7e..0000000
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/AbstractGremlinServerPerformanceTest.java
+++ /dev/null
@@ -1,100 +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.
- */
-package org.apache.tinkerpop.gremlin.server;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.InputStream;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.CountDownLatch;
-
-/**
- * Starts and stops one instance for all tests that extend from this class.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@Deprecated
-public abstract class AbstractGremlinServerPerformanceTest {
-    private static final Logger logger = LoggerFactory.getLogger(AbstractGremlinServerPerformanceTest.class);
-
-    private static String host;
-    private static String port;
-
-    private static CountDownLatch latchWaitForTestsToComplete = new CountDownLatch(1);
-
-    @BeforeClass
-    public static void setUp() throws Exception {
-        final InputStream stream = AbstractGremlinServerPerformanceTest.class.getResourceAsStream("gremlin-server-performance.yaml");
-        final Settings settings = Settings.read(stream);
-        ServerTestHelper.rewritePathsInGremlinServerSettings(settings);
-        final CompletableFuture<Void> serverReadyFuture = new CompletableFuture<>();
-
-        new Thread(() -> {
-            GremlinServer gremlinServer = null;
-            try {
-                gremlinServer = new GremlinServer(settings);
-                gremlinServer.start().join();
-
-                // the server was started and is ready for tests
-                serverReadyFuture.complete(null);
-
-                logger.info("Waiting for performance tests to complete...");
-                latchWaitForTestsToComplete.await();
-            } catch (InterruptedException ie) {
-                logger.info("Shutting down Gremlin Server");
-            } catch (Exception ex) {
-                logger.error("Could not start Gremlin Server for performance tests.", ex);
-            } finally {
-                logger.info("Tests are complete - prepare to stop Gremlin Server.");
-                // reset the wait at this point
-                latchWaitForTestsToComplete = new CountDownLatch(1);
-                try {
-                    if (gremlinServer != null) gremlinServer.stop().join();
-                } catch (Exception ex) {
-                    logger.error("Could not stop Gremlin Server for performance tests", ex);
-                }
-            }
-        }, "performance-test-server-startup").start();
-
-        // block until gremlin server gets off the ground
-        logger.info("Performance test waiting for server to start up");
-        serverReadyFuture.join();
-        logger.info("Gremlin Server is started and ready for performance test to execute");
-
-        host = System.getProperty("host", "localhost");
-        port = System.getProperty("port", "8182");
-    }
-
-    @AfterClass
-    public static void tearDown() throws Exception {
-        latchWaitForTestsToComplete.countDown();
-    }
-
-    protected static String getHostPort() {
-        return host + ":" + port;
-    }
-
-    protected static String getWebSocketBaseUri() {
-        return "ws://" + getHostPort() + "/gremlin";
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinAdditionPerformanceTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinAdditionPerformanceTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinAdditionPerformanceTest.java
deleted file mode 100644
index d2d9d97..0000000
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinAdditionPerformanceTest.java
+++ /dev/null
@@ -1,108 +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.
- */
-package org.apache.tinkerpop.gremlin.server;
-
-import com.carrotsearch.junitbenchmarks.BenchmarkOptions;
-import com.carrotsearch.junitbenchmarks.BenchmarkRule;
-import com.carrotsearch.junitbenchmarks.annotation.AxisRange;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkHistoryChart;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkMethodChart;
-import com.carrotsearch.junitbenchmarks.annotation.LabelType;
-import org.apache.tinkerpop.gremlin.driver.Client;
-import org.apache.tinkerpop.gremlin.driver.Cluster;
-import org.apache.tinkerpop.gremlin.driver.Result;
-import org.apache.tinkerpop.gremlin.driver.ser.Serializers;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Random;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * Execute a simple script (1+1).
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@Deprecated
-@AxisRange(min = 0, max = 1)
-@BenchmarkMethodChart(filePrefix = "gremlin-addition")
-@BenchmarkHistoryChart(labelWith = LabelType.CUSTOM_KEY, maxRuns = 20, filePrefix = "hx-gremlin-addition")
-public class GremlinAdditionPerformanceTest extends AbstractGremlinServerPerformanceTest {
-    private static final Logger logger = LoggerFactory.getLogger(GremlinAdditionPerformanceTest.class);
-
-    public final static int DEFAULT_BENCHMARK_ROUNDS = 50;
-    public final static int DEFAULT_WARMUP_ROUNDS = 5;
-
-    public final static int DEFAULT_CONCURRENT_BENCHMARK_ROUNDS = 500;
-    public final static int DEFAULT_CONCURRENT_WARMUP_ROUNDS = 10;
-
-    private final static Cluster cluster = Cluster.build("localhost").create();
-    private final static Random rand = new Random();
-
-    @Rule
-    public TestRule benchmarkRun = new BenchmarkRule();
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @Test
-    public void webSocketsGremlin() throws Exception {
-        tryWebSocketGremlin();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_CONCURRENT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_CONCURRENT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_AVAILABLE_CORES)
-    @Test
-    public void webSocketsGremlinConcurrent() throws Exception {
-        tryWebSocketGremlin();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = 20, warmupRounds = 1, concurrency = BenchmarkOptions.CONCURRENCY_AVAILABLE_CORES)
-    @Test
-    public void webSocketsGremlinConcurrentAlternateSerialization() throws Exception {
-        final Serializers[] mimes = new Serializers[]{Serializers.GRAPHSON, Serializers.GRAPHSON_V1D0, Serializers.GRYO_V1D0};
-        final Serializers mimeType = mimes[rand.nextInt(3)];
-        logger.info(mimeType.toString());
-        final Cluster cluster = Cluster.build("localhost")
-                .serializer(mimeType)
-                .create();
-        final Client client = cluster.connect();
-        assertEquals("2", client.submit("1+1").stream().map(Result::getString).findAny().orElse("invalid"));
-    }
-
-    @BeforeClass
-    public static void before() {
-        // good to call init here ahead of performance tracking
-        cluster.init();
-    }
-
-    @AfterClass
-    public static void after() {
-        cluster.close();
-    }
-
-    private void tryWebSocketGremlin() throws Exception {
-        final Client client = cluster.connect();
-        assertEquals("2", client.submit("1+1").stream().map(Result::getString).findAny().orElse("invalid"));
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinTraversalPerformanceTest.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinTraversalPerformanceTest.java b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinTraversalPerformanceTest.java
deleted file mode 100644
index 9a80edd..0000000
--- a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinTraversalPerformanceTest.java
+++ /dev/null
@@ -1,108 +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.
- */
-package org.apache.tinkerpop.gremlin.server;
-
-import com.carrotsearch.junitbenchmarks.BenchmarkOptions;
-import com.carrotsearch.junitbenchmarks.BenchmarkRule;
-import com.carrotsearch.junitbenchmarks.annotation.AxisRange;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkHistoryChart;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkMethodChart;
-import com.carrotsearch.junitbenchmarks.annotation.LabelType;
-import org.apache.tinkerpop.gremlin.driver.Client;
-import org.apache.tinkerpop.gremlin.driver.Cluster;
-import org.apache.tinkerpop.gremlin.driver.ResultSet;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.atomic.AtomicReference;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * Uses a single client across multiple threads to issue requests against the server.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@Deprecated
-@AxisRange(min = 0, max = 1)
-@BenchmarkMethodChart(filePrefix = "gremlin-traversal")
-@BenchmarkHistoryChart(labelWith = LabelType.CUSTOM_KEY, maxRuns = 20, filePrefix = "hx-gremlin-traversal")
-public class GremlinTraversalPerformanceTest extends AbstractGremlinServerPerformanceTest {
-
-    public final static int DEFAULT_BENCHMARK_ROUNDS = 50;
-    public final static int DEFAULT_WARMUP_ROUNDS = 5;
-
-    public final static int DEFAULT_CONCURRENT_BENCHMARK_ROUNDS = 500;
-    public final static int DEFAULT_CONCURRENT_WARMUP_ROUNDS = 10;
-
-    private final static Cluster cluster = Cluster.build("localhost").maxConnectionPoolSize(32).maxWaitForConnection(30000).create();
-    private final static AtomicReference<Client> client = new AtomicReference<>();
-
-    @Rule
-    public TestRule benchmarkRun = new BenchmarkRule();
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @Test
-    public void webSocketsGremlin() throws Exception {
-        tryWebSocketGremlin();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_CONCURRENT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_CONCURRENT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_AVAILABLE_CORES)
-    @Test
-    public void webSocketsGremlinConcurrent() throws Exception {
-        tryWebSocketGremlin();
-    }
-
-    @BeforeClass
-    public static void before() {
-        // good to call init here ahead of performance tracking
-        cluster.init();
-        client.compareAndSet(null, cluster.connect());
-    }
-
-    @AfterClass
-    public static void after() {
-        cluster.close();
-    }
-
-    private void tryWebSocketGremlin() throws Exception {
-        final Map<String, Object> params = new HashMap<>();
-        params.put("x", 16384l);
-
-        final CompletableFuture<ResultSet> future1 = client.get().submitAsync("g.V(x).out().out().next(512)", params);
-        final CompletableFuture<ResultSet> future2 = client.get().submitAsync("g.V(x).out().next(7)", params);
-        final CompletableFuture<ResultSet> future3 = client.get().submitAsync("g.V(16384l).out().out().next(10)");
-        final CompletableFuture<ResultSet> future4 = client.get().submitAsync("g.V(16432l).out().out().next(10)");
-        final CompletableFuture<ResultSet> future5 = client.get().submitAsync("g.V(14l).out().next(1)");
-
-        assertEquals(512, future1.get().stream().count());
-        assertEquals(7, future2.get().stream().count());
-        assertEquals(10, future3.get().stream().count());
-        assertEquals(10, future4.get().stream().count());
-        assertEquals(1, future5.get().stream().count());
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-test/pom.xml b/gremlin-test/pom.xml
index 76c4d4b..f316188 100644
--- a/gremlin-test/pom.xml
+++ b/gremlin-test/pom.xml
@@ -32,16 +32,6 @@ limitations under the License.
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>com.carrotsearch</groupId>
-            <artifactId>junit-benchmarks</artifactId>
-            <version>0.7.2</version>
-        </dependency>
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <version>1.3.171</version>
-        </dependency>
-        <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
             <version>2.4</version>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessPerformanceSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessPerformanceSuite.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessPerformanceSuite.java
deleted file mode 100644
index 3d2b331..0000000
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessPerformanceSuite.java
+++ /dev/null
@@ -1,57 +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.
- */
-package org.apache.tinkerpop.gremlin.process;
-
-import org.apache.tinkerpop.gremlin.AbstractGremlinSuite;
-import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.GraphReadPerformanceTest;
-import org.apache.tinkerpop.gremlin.structure.GraphWritePerformanceTest;
-import org.apache.tinkerpop.gremlin.structure.StructureStandardSuite;
-import org.junit.runners.model.InitializationError;
-import org.junit.runners.model.RunnerBuilder;
-
-/**
- * The {@code ProcessPerformanceSuite} is a JUnit test runner that executes the Gremlin Test Suite over a Graph
- * implementation.  This suite contains "long-run" tests that produce reports on the traversal execution
- * performance of a vendor implementation {@link Graph}. Its usage is optional to providers as the tests are
- * somewhat redundant to those found elsewhere in other required test suites.
- * <p/>
- * For more information on the usage of this suite, please see {@link StructureStandardSuite}.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated  As of release 3.2.0-incubating, replaced by gremlin-benchmark.
- */
-@Deprecated
-public class ProcessPerformanceSuite extends AbstractGremlinSuite {
-
-    /**
-     * This list of tests in the suite that will be executed.  Gremlin developers should add to this list
-     * as needed to enforce tests upon implementations.
-     */
-    private static final Class<?>[] allTests = new Class<?>[]{
-            TraversalPerformanceTest.class
-    };
-
-    public ProcessPerformanceSuite(final Class<?> klass, final RunnerBuilder builder) throws InitializationError {
-        super(klass, builder, allTests, null, true, TraversalEngine.Type.STANDARD);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalPerformanceTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalPerformanceTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalPerformanceTest.java
deleted file mode 100644
index c00fadc..0000000
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalPerformanceTest.java
+++ /dev/null
@@ -1,133 +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.
- */
-package org.apache.tinkerpop.gremlin.process;
-
-import com.carrotsearch.junitbenchmarks.BenchmarkOptions;
-import com.carrotsearch.junitbenchmarks.BenchmarkRule;
-import com.carrotsearch.junitbenchmarks.annotation.AxisRange;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkHistoryChart;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkMethodChart;
-import com.carrotsearch.junitbenchmarks.annotation.LabelType;
-import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
-import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestRule;
-
-import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.out;
-
-/**
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @author Daniel Kuppitz (http://gremlin.guru)
- *
- * @deprecated  As of release 3.2.0, replaced by gremlin-benchmark.
- */
-@AxisRange(min = 0, max = 1)
-@BenchmarkMethodChart(filePrefix = "gremlin-traversal")
-@BenchmarkHistoryChart(labelWith = LabelType.CUSTOM_KEY, maxRuns = 20, filePrefix = "hx-gremlin-traversal")
-@Deprecated
-public class TraversalPerformanceTest extends AbstractGremlinTest {
-
-    public final static int DEFAULT_BENCHMARK_ROUNDS = 10;
-    public final static int DEFAULT_WARMUP_ROUNDS = 5;
-
-    @Rule
-    public TestRule benchmarkRun = new BenchmarkRule();
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_outE_inV_outE_inV_outE_inV() throws Exception {
-        g.V().outE().inV().outE().inV().outE().inV().iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_out_out_out() throws Exception {
-        g.V().out().out().out().iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_out_out_out_path() throws Exception {
-        g.V().out().out().out().path().iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_repeatXoutX_timesX2X() throws Exception {
-        g.V().repeat(out()).times(2).iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_repeatXoutX_timesX3X() throws Exception {
-        g.V().repeat(out()).times(3).iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_localXout_out_valuesXnameX_foldX() throws Exception {
-        g.V().local(out().out().values("name").fold()).iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_out_localXout_out_valuesXnameX_foldX() throws Exception {
-        g.V().out().local(out().out().values("name").fold()).iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_out_mapXout_out_valuesXnameX_toListX() throws Exception {
-        g.V().out().map(v -> g.V(v.get()).out().out().values("name").toList()).iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_label_groupCount() throws Exception {
-        g.V().label().groupCount().iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_V_match_selectXbX_valuesXnameX() throws Exception {
-        g.V().match(
-                __.as("a").has("name", "Garcia"),
-                __.as("a").in("writtenBy").as("b"),
-                __.as("a").in("sungBy").as("b")).select("b").values("name").iterate();
-    }
-
-    @BenchmarkOptions(benchmarkRounds = DEFAULT_BENCHMARK_ROUNDS, warmupRounds = DEFAULT_WARMUP_ROUNDS, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-    @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-    @Test
-    public void g_E_hasLabelXwrittenByX_whereXinV_inEXsungByX_count_isX0XX_subgraphXsgX() throws Exception {
-        g.E().hasLabel("writtenBy").where(__.inV().inE("sungBy").count().is(0)).subgraph("sg").iterate();
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphReadPerformanceTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphReadPerformanceTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphReadPerformanceTest.java
deleted file mode 100644
index 3bf3a1e..0000000
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphReadPerformanceTest.java
+++ /dev/null
@@ -1,120 +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.
- */
-package org.apache.tinkerpop.gremlin.structure;
-
-import com.carrotsearch.junitbenchmarks.BenchmarkOptions;
-import com.carrotsearch.junitbenchmarks.BenchmarkRule;
-import com.carrotsearch.junitbenchmarks.annotation.AxisRange;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkHistoryChart;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkMethodChart;
-import com.carrotsearch.junitbenchmarks.annotation.LabelType;
-import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
-import org.apache.tinkerpop.gremlin.algorithm.generator.Distribution;
-import org.apache.tinkerpop.gremlin.algorithm.generator.DistributionGenerator;
-import org.apache.tinkerpop.gremlin.algorithm.generator.PowerLawDistribution;
-import org.apache.commons.lang.RandomStringUtils;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.runners.Enclosed;
-import org.junit.rules.TestRule;
-import org.junit.runner.RunWith;
-
-import java.util.HashSet;
-import java.util.Random;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-/**
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@RunWith(Enclosed.class)
-@Deprecated
-public class GraphReadPerformanceTest {
-    @AxisRange(min = 0, max = 1)
-    @BenchmarkMethodChart(filePrefix = "gremlin-read")
-    @BenchmarkHistoryChart(labelWith = LabelType.CUSTOM_KEY, maxRuns = 20, filePrefix = "hx-gremlin-read")
-    public static class ReadFromGraph extends AbstractGremlinTest {
-
-        @Rule
-        public TestRule benchmarkRun = new BenchmarkRule();
-
-        private Set<Object> ids = new HashSet<>();
-        private int edgeCount = 0;
-
-        @Override
-        protected void afterLoadGraphWith(final Graph g) throws Exception {
-            ids.clear();
-            final int numVertices = 10000;
-            final Random r = new Random(854939487556l);
-            for (int i = 0; i < numVertices; i++) {
-                final Vertex v = g.addVertex("oid", i, "name", RandomStringUtils.randomAlphabetic(r.nextInt(1024)));
-                ids.add(v.id());
-            }
-
-            final Distribution inDist = new PowerLawDistribution(2.3);
-            final Distribution outDist = new PowerLawDistribution(2.8);
-            final DistributionGenerator generator = DistributionGenerator.build(g)
-                    .label("knows")
-                    .seedGenerator(r::nextLong)
-                    .outDistribution(outDist)
-                    .inDistribution(inDist)
-                    .edgeProcessor(e -> e.<Double>property("weight", r.nextDouble()))
-                    .expectedNumEdges(numVertices * 3).create();
-            edgeCount = generator.generate();
-        }
-
-        @Test
-        @BenchmarkOptions(benchmarkRounds = 10, warmupRounds = 0, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-        public void readAllVerticesAndProperties() throws Exception {
-            final AtomicInteger counter = new AtomicInteger(0);
-
-            // read the vertices 10 times over
-            for (int ix = 0; ix < 10; ix++) {
-                graph.vertices().forEachRemaining(vertex -> {
-                    assertNotNull(vertex.value("name"));
-                    counter.incrementAndGet();
-                });
-
-                assertEquals(10000, counter.get());
-                counter.set(0);
-            }
-        }
-
-        @Test
-        @BenchmarkOptions(benchmarkRounds = 10, warmupRounds = 0, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-        public void readAllEdgesAndProperties() throws Exception {
-            final AtomicInteger counter = new AtomicInteger(0);
-
-            // read the vertices 10 times over
-            for (int ix = 0; ix < 10; ix++) {
-                graph.edges().forEachRemaining(edge -> {
-                    assertNotNull(edge.value("weight"));
-                    counter.incrementAndGet();
-                });
-
-                assertEquals(edgeCount, counter.get());
-                counter.set(0);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphWritePerformanceTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphWritePerformanceTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphWritePerformanceTest.java
deleted file mode 100644
index c541cdb..0000000
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphWritePerformanceTest.java
+++ /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.
- */
-package org.apache.tinkerpop.gremlin.structure;
-
-import com.carrotsearch.junitbenchmarks.BenchmarkOptions;
-import com.carrotsearch.junitbenchmarks.BenchmarkRule;
-import com.carrotsearch.junitbenchmarks.annotation.AxisRange;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkHistoryChart;
-import com.carrotsearch.junitbenchmarks.annotation.BenchmarkMethodChart;
-import com.carrotsearch.junitbenchmarks.annotation.LabelType;
-import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
-import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.structure.io.GraphWriter;
-import org.apache.tinkerpop.gremlin.structure.io.graphml.GraphMLIo;
-import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONIo;
-import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoIo;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.runners.Enclosed;
-import org.junit.rules.TestRule;
-import org.junit.runner.RunWith;
-
-import java.io.ByteArrayOutputStream;
-import java.io.OutputStream;
-import java.util.Optional;
-
-/**
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@RunWith(Enclosed.class)
-@Deprecated
-public class GraphWritePerformanceTest {
-
-    @AxisRange(min = 0, max = 1)
-    @BenchmarkMethodChart(filePrefix = "structure-write")
-    @BenchmarkHistoryChart(labelWith = LabelType.CUSTOM_KEY, maxRuns = 20, filePrefix = "hx-structure-write")
-    public static class WriteToGraph extends AbstractGremlinTest {
-
-        @Rule
-        public TestRule benchmarkRun = new BenchmarkRule();
-
-        @Test
-        @BenchmarkOptions(benchmarkRounds = 10, warmupRounds = 0, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-        public void writeEmptyVertices() throws Exception {
-            final int verticesToGenerate = 100000;
-            for (int ix = 0; ix < verticesToGenerate; ix++) {
-                graph.addVertex();
-                tryBatchCommit(graph, ix);
-            }
-
-            assertVertexEdgeCounts(graph, verticesToGenerate, 0);
-        }
-
-        @Test
-        @BenchmarkOptions(benchmarkRounds = 10, warmupRounds = 0, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-        public void writeEmptyVerticesAndEdges() throws Exception {
-            final int verticesToGenerate = 100000;
-            Optional<Vertex> lastVertex = Optional.empty();
-            for (int ix = 0; ix < verticesToGenerate; ix++) {
-                final Vertex v = graph.addVertex();
-                if (lastVertex.isPresent())
-                    v.addEdge("parent", lastVertex.get());
-
-                lastVertex = Optional.of(v);
-                tryBatchCommit(graph, ix);
-            }
-
-            assertVertexEdgeCounts(graph, verticesToGenerate, verticesToGenerate - 1);
-        }
-    }
-
-    @AxisRange(min = 0, max = 1)
-    @BenchmarkMethodChart(filePrefix = "io-write")
-    @BenchmarkHistoryChart(labelWith = LabelType.CUSTOM_KEY, maxRuns = 20, filePrefix = "hx-io-write")
-    public static class WriteToIO extends AbstractGremlinTest {
-        @Rule
-        public TestRule benchmarkRun = new BenchmarkRule();
-
-        @Test
-        @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-        @BenchmarkOptions(benchmarkRounds = 10, warmupRounds = 0, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-        public void writeGryo() throws Exception {
-            final GraphWriter writer = graph.io(GryoIo.build()).writer().create();
-            final OutputStream os = new ByteArrayOutputStream();
-            writer.writeGraph(os, graph);
-        }
-
-        @Test
-        @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-        @BenchmarkOptions(benchmarkRounds = 10, warmupRounds = 0, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-        public void writeGraphML() throws Exception {
-            final GraphWriter writer = graph.io(GraphMLIo.build()).writer().create();
-            final OutputStream os = new ByteArrayOutputStream();
-            writer.writeGraph(os, graph);
-        }
-
-        @Test
-        @LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-        @BenchmarkOptions(benchmarkRounds = 10, warmupRounds = 0, concurrency = BenchmarkOptions.CONCURRENCY_SEQUENTIAL)
-        public void writeGraphSON() throws Exception {
-            final GraphWriter writer = graph.io(GraphSONIo.build()).writer().create();
-            final OutputStream os = new ByteArrayOutputStream();
-            writer.writeGraph(os, graph);
-        }
-    }
-
-    private static void tryBatchCommit(final Graph g, int ix) {
-        if (g.features().graph().supportsTransactions() && ix % 1000 == 0)
-            g.tx().commit();
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructurePerformanceSuite.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructurePerformanceSuite.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructurePerformanceSuite.java
deleted file mode 100644
index 1dbd4b9..0000000
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/StructurePerformanceSuite.java
+++ /dev/null
@@ -1,54 +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.
- */
-package org.apache.tinkerpop.gremlin.structure;
-
-import org.apache.tinkerpop.gremlin.AbstractGremlinSuite;
-import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
-import org.junit.runners.model.InitializationError;
-import org.junit.runners.model.RunnerBuilder;
-
-/**
- * The {@code StructurePerformanceSuite} is a JUnit test runner that executes the Gremlin Test Suite over a
- * {@link Graph} implementation. This suite contains "long-run" tests that produce reports on the read/write
- * performance of a providers implementation {@link Graph}. Its usage is optional to providers as the tests are
- * somewhat redundant to those found elsewhere in other required test suites.
- * <p/>
- * For more information on the usage of this suite, please see {@link StructureStandardSuite}.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@Deprecated
-public class StructurePerformanceSuite extends AbstractGremlinSuite {
-
-    /**
-     * This list of tests in the suite that will be executed.  Gremlin developers should add to this list
-     * as needed to enforce tests upon implementations.
-     */
-    private static final Class<?>[] allTests = new Class<?>[]{
-            GraphWritePerformanceTest.class,
-            GraphReadPerformanceTest.class
-    };
-
-    public StructurePerformanceSuite(final Class<?> klass, final RunnerBuilder builder) throws InitializationError {
-        super(klass, builder, allTests, null, false, TraversalEngine.Type.STANDARD);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/Neo4jGraph.java
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/Neo4jGraph.java b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/Neo4jGraph.java
index d5460c7..d4327d1 100644
--- a/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/Neo4jGraph.java
+++ b/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure/Neo4jGraph.java
@@ -63,13 +63,10 @@ import java.util.stream.Stream;
  */
 @Graph.OptIn(Graph.OptIn.SUITE_STRUCTURE_STANDARD)
 @Graph.OptIn(Graph.OptIn.SUITE_STRUCTURE_INTEGRATE)
-@Graph.OptIn(Graph.OptIn.SUITE_STRUCTURE_PERFORMANCE)
 @Graph.OptIn(Graph.OptIn.SUITE_PROCESS_STANDARD)
-@Graph.OptIn(Graph.OptIn.SUITE_PROCESS_PERFORMANCE)
 @Graph.OptIn(Graph.OptIn.SUITE_GROOVY_PROCESS_STANDARD)
 @Graph.OptIn(Graph.OptIn.SUITE_GROOVY_ENVIRONMENT)
 @Graph.OptIn(Graph.OptIn.SUITE_GROOVY_ENVIRONMENT_INTEGRATE)
-@Graph.OptIn(Graph.OptIn.SUITE_GROOVY_ENVIRONMENT_PERFORMANCE)
 @Graph.OptIn("org.apache.tinkerpop.gremlin.neo4j.NativeNeo4jSuite")
 @Graph.OptIn("org.apache.tinkerpop.gremlin.neo4j.process.traversal.strategy.Neo4jStrategySuite")
 public final class Neo4jGraph implements Graph, WrappedGraph<Neo4jGraphAPI> {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9357836..8199586 100644
--- a/pom.xml
+++ b/pom.xml
@@ -139,7 +139,6 @@ limitations under the License.
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <skipIntegrationTests>true</skipIntegrationTests>
-        <skipPerformanceTests>true</skipPerformanceTests>
         <slf4j.version>1.7.21</slf4j.version>
         <hadoop.version>2.7.2</hadoop.version>
         <java.tuples.version>1.2</java.tuples.version>
@@ -354,7 +353,6 @@ limitations under the License.
                         </argLine>
                         <excludes>
                             <exclude>**/*IntegrateTest.java</exclude>
-                            <exclude>**/*PerformanceTest.java</exclude>
                         </excludes>
                     </configuration>
                 </plugin>
@@ -374,32 +372,12 @@ limitations under the License.
                                 </includes>
                                 <skipTests>${skipIntegrationTests}</skipTests>
                                 <argLine>-Dlog4j.configuration=${log4j-test.properties} -Dhost=localhost -Dport=8182
-                                    -Djub.consumers=CONSOLE,H2 -Djub.db.file=target/performance/h2/benchmarks
-                                    -Djub.charts.dir=target/performance/charts -Djub.customkey=${project.parent.version}
                                     -Dbuild.dir=${project.build.directory} -Dis.testing=true
                                 </argLine>
                                 <summaryFile>target/failsafe-reports/failsafe-integration.xml</summaryFile>
                             </configuration>
                         </execution>
                         <execution>
-                            <id>performance-test</id>
-                            <goals>
-                                <goal>integration-test</goal>
-                            </goals>
-                            <configuration>
-                                <includes>
-                                    <include>**/*PerformanceTest.java</include>
-                                </includes>
-                                <skipTests>${skipPerformanceTests}</skipTests>
-                                <argLine>-Dlog4j.configuration=${log4j-test.properties} -Dhost=localhost -Dport=8182
-                                    -Djub.consumers=CONSOLE,H2 -Djub.db.file=target/performance/h2/benchmarks
-                                    -Djub.charts.dir=target/performance/charts -Djub.customkey=${project.parent.version}
-                                    -Dbuild.dir=${project.build.directory}
-                                </argLine>
-                                <summaryFile>target/failsafe-reports/failsafe-performance.xml</summaryFile>
-                            </configuration>
-                        </execution>
-                        <execution>
                             <id>verify-integration-test</id>
                             <goals>
                                 <goal>verify</goal>
@@ -411,18 +389,6 @@ limitations under the License.
                                 </summaryFiles>
                             </configuration>
                         </execution>
-                        <execution>
-                            <id>verify-performance-test</id>
-                            <goals>
-                                <goal>verify</goal>
-                            </goals>
-                            <configuration>
-                                <skipTests>${skipPerformanceTests}</skipTests>
-                                <summaryFiles>
-                                    <summaryFile>target/failsafe-reports/failsafe-performance.xml</summaryFile>
-                                </summaryFiles>
-                            </configuration>
-                        </execution>
                     </executions>
                 </plugin>
                 <plugin>
@@ -1158,7 +1124,6 @@ limitations under the License.
                             </argLine>
                             <excludes>
                                 <exclude>**/*IntegrateTest.java</exclude>
-                                <exclude>**/*PerformanceTest.java</exclude>
                             </excludes>
                         </configuration>
                     </plugin>
@@ -1260,8 +1225,6 @@ limitations under the License.
                         <artifactId>maven-failsafe-plugin</artifactId>
                         <configuration>
                             <argLine>-Dlog4j.configuration=${log4j-test.properties} -Dhost=localhost -Dport=8182
-                                -Djub.consumers=CONSOLE,H2 -Djub.db.file=target/performance/h2/benchmarks
-                                -Djub.charts.dir=target/performance/charts -Djub.customkey=${project.parent.version}
                                 -Dbuild.dir=${project.build.directory} -Dis.testing=true ${failsafeArgLine}
                             </argLine>
                         </configuration>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
index dba3467..a1044ee 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraph.java
@@ -60,15 +60,12 @@ import java.util.stream.Stream;
  */
 @Graph.OptIn(Graph.OptIn.SUITE_STRUCTURE_STANDARD)
 @Graph.OptIn(Graph.OptIn.SUITE_STRUCTURE_INTEGRATE)
-@Graph.OptIn(Graph.OptIn.SUITE_STRUCTURE_PERFORMANCE)
 @Graph.OptIn(Graph.OptIn.SUITE_PROCESS_STANDARD)
 @Graph.OptIn(Graph.OptIn.SUITE_PROCESS_COMPUTER)
-@Graph.OptIn(Graph.OptIn.SUITE_PROCESS_PERFORMANCE)
 @Graph.OptIn(Graph.OptIn.SUITE_GROOVY_PROCESS_STANDARD)
 @Graph.OptIn(Graph.OptIn.SUITE_GROOVY_PROCESS_COMPUTER)
 @Graph.OptIn(Graph.OptIn.SUITE_GROOVY_ENVIRONMENT)
 @Graph.OptIn(Graph.OptIn.SUITE_GROOVY_ENVIRONMENT_INTEGRATE)
-@Graph.OptIn(Graph.OptIn.SUITE_GROOVY_ENVIRONMENT_PERFORMANCE)
 @Graph.OptIn("org.apache.tinkerpop.gremlin.tinkergraph.process.traversal.strategy.TinkerGraphStrategySuite")
 public final class TinkerGraph implements Graph {
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/process/TinkerGraphProcessPerformanceTest.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/process/TinkerGraphProcessPerformanceTest.java b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/process/TinkerGraphProcessPerformanceTest.java
deleted file mode 100644
index 2d72100..0000000
--- a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/process/TinkerGraphProcessPerformanceTest.java
+++ /dev/null
@@ -1,37 +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.
- */
-package org.apache.tinkerpop.gremlin.tinkergraph.process;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.process.ProcessPerformanceSuite;
-import org.apache.tinkerpop.gremlin.tinkergraph.TinkerGraphProvider;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
-import org.junit.runner.RunWith;
-
-/**
- * Executes the Performance Gremlin Process Test Suite using TinkerGraph.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@RunWith(ProcessPerformanceSuite.class)
-@GraphProviderClass(provider = TinkerGraphProvider.class, graph = TinkerGraph.class)
-@Deprecated
-public class TinkerGraphProcessPerformanceTest {
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphStructurePerformanceTest.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphStructurePerformanceTest.java b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphStructurePerformanceTest.java
deleted file mode 100644
index f6b8763..0000000
--- a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphStructurePerformanceTest.java
+++ /dev/null
@@ -1,37 +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.
- */
-package org.apache.tinkerpop.gremlin.tinkergraph.structure;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.structure.StructurePerformanceSuite;
-import org.apache.tinkerpop.gremlin.tinkergraph.TinkerGraphProvider;
-import org.junit.runner.RunWith;
-
-/**
- * Executes the Gremlin Structure Performance Test Suite using TinkerGraph.
- *
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@RunWith(StructurePerformanceSuite.class)
-@GraphProviderClass(provider = TinkerGraphProvider.class, graph = TinkerGraph.class)
-@Deprecated
-public class TinkerGraphStructurePerformanceTest {
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1dc42d2/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/groovy/TinkerGraphGroovyEnvironmentPerformanceTest.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/groovy/TinkerGraphGroovyEnvironmentPerformanceTest.java b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/groovy/TinkerGraphGroovyEnvironmentPerformanceTest.java
deleted file mode 100644
index 0a35222..0000000
--- a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/groovy/TinkerGraphGroovyEnvironmentPerformanceTest.java
+++ /dev/null
@@ -1,39 +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.
- */
-package org.apache.tinkerpop.gremlin.tinkergraph.structure.groovy;
-
-import org.apache.tinkerpop.gremlin.GraphProviderClass;
-import org.apache.tinkerpop.gremlin.groovy.GroovyEnvironmentPerformanceSuite;
-import org.apache.tinkerpop.gremlin.groovy.loaders.SugarLoader;
-import org.apache.tinkerpop.gremlin.tinkergraph.TinkerGraphProvider;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
-import org.junit.runner.RunWith;
-
-/**
- * @author Stephen Mallette (http://stephen.genoprime.com)
- * @deprecated As of release 3.2.1, replaced by gremlin-benchmark.
- */
-@Deprecated
-@RunWith(GroovyEnvironmentPerformanceSuite.class)
-@GraphProviderClass(provider = TinkerGraphProvider.class, graph = TinkerGraph.class)
-public class TinkerGraphGroovyEnvironmentPerformanceTest {
-    static {
-        SugarLoader.load();
-    }
-}
\ No newline at end of file


[26/47] tinkerpop git commit: Updated site for 3.2.3/3.1.5 release

Posted by sp...@apache.org.
Updated site for 3.2.3/3.1.5 release


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7201454a
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7201454a
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7201454a

Branch: refs/heads/TINKERPOP-1235
Commit: 7201454a33f592279b7dd1a9185dcaa92515a6aa
Parents: cfea91c
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Oct 21 07:27:11 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:51 2016 -0400

----------------------------------------------------------------------
 site/home/downloads.html              | 48 ++++++++++++++++++++++++++----
 site/home/index.html                  | 10 +++----
 site/home/template/header-footer.html | 12 ++++----
 3 files changed, 54 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7201454a/site/home/downloads.html
----------------------------------------------------------------------
diff --git a/site/home/downloads.html b/site/home/downloads.html
index d1eb5ba..bee6585 100644
--- a/site/home/downloads.html
+++ b/site/home/downloads.html
@@ -28,7 +28,48 @@ limitations under the License.
     <table class="table">
         <tr>
             <td>
-                <strong>3.2.2</strong> (latest, stable)
+                <strong>3.2.3</strong> (latest, stable)
+            </td>
+            <td>
+                17-Oct-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.3/CHANGELOG.asciidoc#release-3-2-3">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.3/upgrade/#_tinkerpop_3_2_3">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.3/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.3/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-console-3.2.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-server-3.2.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-3.2.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.5</strong> (maintenance)
+            </td>
+            <td>
+                17-Oct-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.5/CHANGELOG.asciidoc#release-3-1-5">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.5/upgrade/#_tinkerpop_3_1_5">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.5/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.5/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-gremlin-console-3.1.5-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-gremlin-server-3.1.5-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-3.1.5-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+    </table>
+    <h4>Archived Releases</small></h4>
+    <table class="table">
+        <tr>
+            <td>
+                <strong>3.2.2</strong>
             </td>
             <td>
                 6-Sep-2016
@@ -47,7 +88,7 @@ limitations under the License.
         </tr>
         <tr>
             <td>
-                <strong>3.1.4</strong> (maintenance)
+                <strong>3.1.4</strong>
             </td>
             <td>
                 6-Sep-2016
@@ -64,9 +105,6 @@ limitations under the License.
                 <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.4/apache-tinkerpop-3.1.4-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
             </td>
         </tr>
-    </table>
-    <h4>Archived Releases</small></h4>
-    <table class="table">
         <tr>
             <td>
                 <strong>3.2.1</strong>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7201454a/site/home/index.html
----------------------------------------------------------------------
diff --git a/site/home/index.html b/site/home/index.html
index 0cc6f95..6089fa4 100644
--- a/site/home/index.html
+++ b/site/home/index.html
@@ -25,20 +25,20 @@ limitations under the License.
          <div class="col-md-6">
             <br/>
             <p>
-               <b><font size="4">TinkerPop</font> <font size="4">3.2.2</font></b> (<font size="2">Released: 6-Sep-2016</font>)
+               <b><font size="4">TinkerPop</font> <font size="4">3.2.3</font></b> (<font size="2">Released: 17-Oct-2016</font>)
             </p>
             <p><b>Downloads</b></p>
             <p>
-               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-gremlin-console-3.2.2-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-gremlin-server-3.2.2-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-3.2.2-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-console-3.2.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-server-3.2.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-3.2.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
             </p>
             <div class="row">
                <div class="col-md-6">
                   <p><b>Documentation</b></p>
                   <ul>
                      <li><a href="http://tinkerpop.apache.org/docs/current/reference/">TinkerPop3 Documentation</a></li>
-                     <li><a href="http://tinkerpop.apache.org/docs/3.2.2/upgrade/#_tinkerpop_3_2_2">Upgrade Information</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/3.2.3/upgrade/#_tinkerpop_3_2_3">Upgrade Information</a></li>
                      <li>TinkerPop3 Javadoc</li>
                      <ul>
                         <li><a href="http://tinkerpop.apache.org/javadocs/current/core/">TinkerPop3 Core-Javadoc</a></li>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7201454a/site/home/template/header-footer.html
----------------------------------------------------------------------
diff --git a/site/home/template/header-footer.html b/site/home/template/header-footer.html
index 390279e..90cd3b5 100644
--- a/site/home/template/header-footer.html
+++ b/site/home/template/header-footer.html
@@ -75,16 +75,16 @@ limitations under the License.
                   Documentation <b class="caret"></b>
                   </a>
                   <ul class="dropdown-menu">
-                     <li class="dropdown-header">Latest: 3.2.2 (6-Sep-2016)</li>
-                     <li><a href="http://tinkerpop.apache.org/docs/current">TinkerPop 3.2.2</a></li>
+                     <li class="dropdown-header">Latest: 3.2.3 (17-Oct-2016)</li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current">TinkerPop 3.2.3</a></li>
                      <li><a href="http://tinkerpop.apache.org/docs/current/upgrade">Upgrade Information</a></li>
                      <li><a href="http://tinkerpop.apache.org/javadocs/current/core/">Core Javadoc API</a></li>
                      <li><a href="http://tinkerpop.apache.org/javadocs/current/full/">Full Javadoc API</a></li>
                      <li role="separator" class="divider"></li>
-                     <li class="dropdown-header">Maintenance: 3.1.4 (6-Sep-2016)</li>
-                     <li><a href="http://tinkerpop.apache.org/docs/3.1.4/">TinkerPop 3.1.4</a></li>
-                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.4/core/">Core Javadoc API</a></li>
-                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.4/full/">Full Javadoc API</a></li>
+                     <li class="dropdown-header">Maintenance: 3.1.5 (17-Oct-2016)</li>
+                     <li><a href="http://tinkerpop.apache.org/docs/3.1.5/">TinkerPop 3.1.5</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.5/core/">Core Javadoc API</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.5/full/">Full Javadoc API</a></li>
                      <li role="separator" class="divider"></li>
                      <li><a href="http://tinkerpop.apache.org/docs/">Documentation Archives</a></li>
                      <li><a href="http://tinkerpop.apache.org/javadocs/">Javadoc Archives</a></li>


[11/47] tinkerpop git commit: Fixed recommendation image to get gremlin completely in the cart CTR

Posted by sp...@apache.org.
Fixed recommendation image to get gremlin completely in the cart CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/84973f3c
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/84973f3c
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/84973f3c

Branch: refs/heads/TINKERPOP-1235
Commit: 84973f3c9813fe639d74eaaf6beb3615bf96e34e
Parents: 5f49561
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 11:54:24 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 11:54:24 2016 -0400

----------------------------------------------------------------------
 docs/static/images/gremlin-recommendation.png | Bin 61405 -> 61024 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/84973f3c/docs/static/images/gremlin-recommendation.png
----------------------------------------------------------------------
diff --git a/docs/static/images/gremlin-recommendation.png b/docs/static/images/gremlin-recommendation.png
index 32507a9..6ac8898 100755
Binary files a/docs/static/images/gremlin-recommendation.png and b/docs/static/images/gremlin-recommendation.png differ


[28/47] tinkerpop git commit: Fixed broken carosel - dah

Posted by sp...@apache.org.
Fixed broken carosel - dah


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2f519610
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2f519610
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2f519610

Branch: refs/heads/TINKERPOP-1235
Commit: 2f519610afa709222f0e8b91e49c71dff29586b6
Parents: 0f5a806
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sat Oct 22 12:19:34 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:51 2016 -0400

----------------------------------------------------------------------
 site/home/index.html | 35 ++++++++++++++++++++++-------------
 1 file changed, 22 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2f519610/site/home/index.html
----------------------------------------------------------------------
diff --git a/site/home/index.html b/site/home/index.html
index 0305140..9777271 100644
--- a/site/home/index.html
+++ b/site/home/index.html
@@ -72,8 +72,17 @@ limitations under the License.
       </div>
    </div>
    <div><br/></div>
-   <div class="carousel-inner" role="listbox">
-      <div class="item active">
+   <div id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000" border="none">
+      <!-- Indicators -->
+      <ol class="carousel-indicators carousel-indicators-numbers">
+         <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li>
+         <li data-target="#gremlinCarousel" data-slide-to="1">2</li>
+         <li data-target="#gremlinCarousel" data-slide-to="2">3</li>
+         <li data-target="#gremlinCarousel" data-slide-to="3">4</li>
+         <li data-target="#gremlinCarousel" data-slide-to="4">5</li>
+      </ol>
+      <div class="carousel-inner" role="listbox">
+         <div class="item active">
                   <pre><code class="language-gremlin">
 
 
@@ -83,8 +92,8 @@ limitations under the License.
 
 
           </code></pre>
-      </div>
-      <div class="item">
+         </div>
+         <div class="item">
                   <pre><code class="language-gremlin">
     // What are the names of projects that were created by two friends?
     g.V().match(
@@ -94,8 +103,8 @@ limitations under the License.
       as("c").in("created").count().is(2)).
         select("c").by("name")
           </code></pre>
-      </div>
-      <div class="item">
+         </div>
+         <div class="item">
                   <pre><code class="language-gremlin">
 
     // What are the names of the managers in
@@ -105,8 +114,8 @@ limitations under the License.
       path().by("name")
 
           </code></pre>
-      </div>
-      <div class="item">
+         </div>
+         <div class="item">
                   <pre><code class="language-gremlin">
 
     // What is the distribution of job titles amongst Gremlin's collaborators?
@@ -116,8 +125,8 @@ limitations under the License.
       groupCount().by("title")
 
           </code></pre>
-      </div>
-      <div class="item">
+         </div>
+         <div class="item">
                   <pre><code class="language-gremlin">
 
     // Get a ranking of the most relevant products for Gremlin given his purchase history.
@@ -127,11 +136,11 @@ limitations under the License.
       groupCount().
         order(local).by(values,decr)
           </code></pre>
+         </div>
       </div>
    </div>
-</div>
-<!-- /.carousel -->
-<div class="container">
+   <!-- /.carousel -->
+   <div class="container">
       <h3>The Benefits of Graph Computing</h3>
       <p><img src="images/graph-globe.png" style="float:left;width:15%;padding:10px;"> A <strong>graph</strong> is a structure composed of <strong>vertices</strong> and <strong>edges</strong>.
          Both vertices and edges can have an arbitrary number of key/value-pairs called <strong>properties</strong>.


[41/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/datastax-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/datastax-logo.png b/docs/site/home/images/logos/datastax-logo.png
new file mode 100644
index 0000000..af7deed
Binary files /dev/null and b/docs/site/home/images/logos/datastax-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/gremlin-groovy-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/gremlin-groovy-logo.png b/docs/site/home/images/logos/gremlin-groovy-logo.png
new file mode 100644
index 0000000..eb13d67
Binary files /dev/null and b/docs/site/home/images/logos/gremlin-groovy-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/gremlin-java-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/gremlin-java-logo.png b/docs/site/home/images/logos/gremlin-java-logo.png
new file mode 100644
index 0000000..416ce81
Binary files /dev/null and b/docs/site/home/images/logos/gremlin-java-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/gremlin-python-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/gremlin-python-logo.png b/docs/site/home/images/logos/gremlin-python-logo.png
new file mode 100644
index 0000000..27c4b6a
Binary files /dev/null and b/docs/site/home/images/logos/gremlin-python-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/gremlin-scala-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/gremlin-scala-logo.png b/docs/site/home/images/logos/gremlin-scala-logo.png
new file mode 100644
index 0000000..2c29c1f
Binary files /dev/null and b/docs/site/home/images/logos/gremlin-scala-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/ibmgraph-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/ibmgraph-logo.png b/docs/site/home/images/logos/ibmgraph-logo.png
new file mode 100644
index 0000000..83524ab
Binary files /dev/null and b/docs/site/home/images/logos/ibmgraph-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/keylines-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/keylines-logo.png b/docs/site/home/images/logos/keylines-logo.png
new file mode 100644
index 0000000..5ac7f6a
Binary files /dev/null and b/docs/site/home/images/logos/keylines-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/linkurious-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/linkurious-logo.png b/docs/site/home/images/logos/linkurious-logo.png
new file mode 100644
index 0000000..17963fe
Binary files /dev/null and b/docs/site/home/images/logos/linkurious-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/neo4j-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/neo4j-logo.png b/docs/site/home/images/logos/neo4j-logo.png
new file mode 100644
index 0000000..7cb036b
Binary files /dev/null and b/docs/site/home/images/logos/neo4j-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/ogre-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/ogre-logo.png b/docs/site/home/images/logos/ogre-logo.png
new file mode 100644
index 0000000..7ad991a
Binary files /dev/null and b/docs/site/home/images/logos/ogre-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/orientdb-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/orientdb-logo.png b/docs/site/home/images/logos/orientdb-logo.png
new file mode 100644
index 0000000..ba6e832
Binary files /dev/null and b/docs/site/home/images/logos/orientdb-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/sparql-gremlin-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/sparql-gremlin-logo.png b/docs/site/home/images/logos/sparql-gremlin-logo.png
new file mode 100644
index 0000000..8f9239e
Binary files /dev/null and b/docs/site/home/images/logos/sparql-gremlin-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/sql-gremlin-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/sql-gremlin-logo.png b/docs/site/home/images/logos/sql-gremlin-logo.png
new file mode 100644
index 0000000..490b249
Binary files /dev/null and b/docs/site/home/images/logos/sql-gremlin-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/stardog-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/stardog-logo.png b/docs/site/home/images/logos/stardog-logo.png
new file mode 100644
index 0000000..63c7597
Binary files /dev/null and b/docs/site/home/images/logos/stardog-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/titan-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/titan-logo.png b/docs/site/home/images/logos/titan-logo.png
new file mode 100644
index 0000000..fee8ac6
Binary files /dev/null and b/docs/site/home/images/logos/titan-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/logos/tomsawyer-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/logos/tomsawyer-logo.png b/docs/site/home/images/logos/tomsawyer-logo.png
new file mode 100644
index 0000000..885d9f5
Binary files /dev/null and b/docs/site/home/images/logos/tomsawyer-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/meeting-room-button.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/meeting-room-button.png b/docs/site/home/images/meeting-room-button.png
new file mode 100644
index 0000000..8179624
Binary files /dev/null and b/docs/site/home/images/meeting-room-button.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/oltp-and-olap.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/oltp-and-olap.png b/docs/site/home/images/oltp-and-olap.png
new file mode 100644
index 0000000..c290e49
Binary files /dev/null and b/docs/site/home/images/oltp-and-olap.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/peon-head.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/peon-head.png b/docs/site/home/images/peon-head.png
new file mode 100644
index 0000000..6ed8a98
Binary files /dev/null and b/docs/site/home/images/peon-head.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/adjacency-list.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/adjacency-list.png b/docs/site/home/images/policy/adjacency-list.png
new file mode 100644
index 0000000..e6726fd
Binary files /dev/null and b/docs/site/home/images/policy/adjacency-list.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/blueprints-character.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/blueprints-character.png b/docs/site/home/images/policy/blueprints-character.png
new file mode 100644
index 0000000..6b42139
Binary files /dev/null and b/docs/site/home/images/policy/blueprints-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/business-gremlin.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/business-gremlin.png b/docs/site/home/images/policy/business-gremlin.png
new file mode 100755
index 0000000..6b36184
Binary files /dev/null and b/docs/site/home/images/policy/business-gremlin.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/cyclicpath-step.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/cyclicpath-step.png b/docs/site/home/images/policy/cyclicpath-step.png
new file mode 100644
index 0000000..4718941
Binary files /dev/null and b/docs/site/home/images/policy/cyclicpath-step.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/flat-map-lambda.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/flat-map-lambda.png b/docs/site/home/images/policy/flat-map-lambda.png
new file mode 100644
index 0000000..8f9300a
Binary files /dev/null and b/docs/site/home/images/policy/flat-map-lambda.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/frames-character.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/frames-character.png b/docs/site/home/images/policy/frames-character.png
new file mode 100644
index 0000000..96111af
Binary files /dev/null and b/docs/site/home/images/policy/frames-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/furnace-character.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/furnace-character.png b/docs/site/home/images/policy/furnace-character.png
new file mode 100644
index 0000000..ef03224
Binary files /dev/null and b/docs/site/home/images/policy/furnace-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/gremlin-character.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/gremlin-character.png b/docs/site/home/images/policy/gremlin-character.png
new file mode 100644
index 0000000..262d2d7
Binary files /dev/null and b/docs/site/home/images/policy/gremlin-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/gremlin-chickenwing.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/gremlin-chickenwing.png b/docs/site/home/images/policy/gremlin-chickenwing.png
new file mode 100644
index 0000000..b549fa3
Binary files /dev/null and b/docs/site/home/images/policy/gremlin-chickenwing.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/gremlin-gremopoly.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/gremlin-gremopoly.png b/docs/site/home/images/policy/gremlin-gremopoly.png
new file mode 100644
index 0000000..de0f06e
Binary files /dev/null and b/docs/site/home/images/policy/gremlin-gremopoly.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/gremlin-gremreaper.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/gremlin-gremreaper.png b/docs/site/home/images/policy/gremlin-gremreaper.png
new file mode 100644
index 0000000..7aaf931
Binary files /dev/null and b/docs/site/home/images/policy/gremlin-gremreaper.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/gremlin-gremstefani.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/gremlin-gremstefani.png b/docs/site/home/images/policy/gremlin-gremstefani.png
new file mode 100644
index 0000000..90373b8
Binary files /dev/null and b/docs/site/home/images/policy/gremlin-gremstefani.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/gremlin-new-sheriff-in-town.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/gremlin-new-sheriff-in-town.png b/docs/site/home/images/policy/gremlin-new-sheriff-in-town.png
new file mode 100644
index 0000000..841af99
Binary files /dev/null and b/docs/site/home/images/policy/gremlin-new-sheriff-in-town.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/gremlin-no-more-mr-nice-guy.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/gremlin-no-more-mr-nice-guy.png b/docs/site/home/images/policy/gremlin-no-more-mr-nice-guy.png
new file mode 100644
index 0000000..2b248d9
Binary files /dev/null and b/docs/site/home/images/policy/gremlin-no-more-mr-nice-guy.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/gremlintron.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/gremlintron.png b/docs/site/home/images/policy/gremlintron.png
new file mode 100644
index 0000000..2a65a37
Binary files /dev/null and b/docs/site/home/images/policy/gremlintron.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/olap-traversal.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/olap-traversal.png b/docs/site/home/images/policy/olap-traversal.png
new file mode 100644
index 0000000..783ad18
Binary files /dev/null and b/docs/site/home/images/policy/olap-traversal.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/pipes-character.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/pipes-character.png b/docs/site/home/images/policy/pipes-character.png
new file mode 100644
index 0000000..f960a01
Binary files /dev/null and b/docs/site/home/images/policy/pipes-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/rexster-character.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/rexster-character.png b/docs/site/home/images/policy/rexster-character.png
new file mode 100644
index 0000000..cd62bc9
Binary files /dev/null and b/docs/site/home/images/policy/rexster-character.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/tinkerpop-reading.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/tinkerpop-reading.png b/docs/site/home/images/policy/tinkerpop-reading.png
new file mode 100644
index 0000000..e3ece1a
Binary files /dev/null and b/docs/site/home/images/policy/tinkerpop-reading.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/policy/tinkerpop3-splash.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/policy/tinkerpop3-splash.png b/docs/site/home/images/policy/tinkerpop3-splash.png
new file mode 100755
index 0000000..ed48f37
Binary files /dev/null and b/docs/site/home/images/policy/tinkerpop3-splash.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/resources/arxiv-article-resource.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/resources/arxiv-article-resource.png b/docs/site/home/images/resources/arxiv-article-resource.png
new file mode 100644
index 0000000..1caccad
Binary files /dev/null and b/docs/site/home/images/resources/arxiv-article-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/resources/benefits-gremlin-machine-resource.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/resources/benefits-gremlin-machine-resource.png b/docs/site/home/images/resources/benefits-gremlin-machine-resource.png
new file mode 100644
index 0000000..58b4e55
Binary files /dev/null and b/docs/site/home/images/resources/benefits-gremlin-machine-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/resources/graph-databases-101-resource.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/resources/graph-databases-101-resource.png b/docs/site/home/images/resources/graph-databases-101-resource.png
new file mode 100644
index 0000000..c837b3e
Binary files /dev/null and b/docs/site/home/images/resources/graph-databases-101-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/resources/on-graph-computing-resource.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/resources/on-graph-computing-resource.png b/docs/site/home/images/resources/on-graph-computing-resource.png
new file mode 100644
index 0000000..fa09f4b
Binary files /dev/null and b/docs/site/home/images/resources/on-graph-computing-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/resources/property-graph-resource.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/resources/property-graph-resource.png b/docs/site/home/images/resources/property-graph-resource.png
new file mode 100644
index 0000000..73534a9
Binary files /dev/null and b/docs/site/home/images/resources/property-graph-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/resources/sql-2-gremlin-resource.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/resources/sql-2-gremlin-resource.png b/docs/site/home/images/resources/sql-2-gremlin-resource.png
new file mode 100644
index 0000000..0e5bb6e
Binary files /dev/null and b/docs/site/home/images/resources/sql-2-gremlin-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/resources/tables-and-graphs-resource.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/resources/tables-and-graphs-resource.png b/docs/site/home/images/resources/tables-and-graphs-resource.png
new file mode 100644
index 0000000..bdc0b24
Binary files /dev/null and b/docs/site/home/images/resources/tables-and-graphs-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/resources/why-graph-databases-resource.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/resources/why-graph-databases-resource.png b/docs/site/home/images/resources/why-graph-databases-resource.png
new file mode 100644
index 0000000..485b6eb
Binary files /dev/null and b/docs/site/home/images/resources/why-graph-databases-resource.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/rexster-handdrawn.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/rexster-handdrawn.png b/docs/site/home/images/rexster-handdrawn.png
new file mode 100644
index 0000000..23bde22
Binary files /dev/null and b/docs/site/home/images/rexster-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerblocks.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerblocks.png b/docs/site/home/images/tinkerblocks.png
new file mode 100644
index 0000000..5b30249
Binary files /dev/null and b/docs/site/home/images/tinkerblocks.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerpop-book.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerpop-book.png b/docs/site/home/images/tinkerpop-book.png
new file mode 100644
index 0000000..e3ece1a
Binary files /dev/null and b/docs/site/home/images/tinkerpop-book.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerpop-cityscape.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerpop-cityscape.png b/docs/site/home/images/tinkerpop-cityscape.png
new file mode 100644
index 0000000..f38be23
Binary files /dev/null and b/docs/site/home/images/tinkerpop-cityscape.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerpop-conference.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerpop-conference.png b/docs/site/home/images/tinkerpop-conference.png
new file mode 100644
index 0000000..16efd35
Binary files /dev/null and b/docs/site/home/images/tinkerpop-conference.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerpop-logo-small.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerpop-logo-small.png b/docs/site/home/images/tinkerpop-logo-small.png
new file mode 100644
index 0000000..e90f0e6
Binary files /dev/null and b/docs/site/home/images/tinkerpop-logo-small.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerpop-meeting-room.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerpop-meeting-room.png b/docs/site/home/images/tinkerpop-meeting-room.png
new file mode 100644
index 0000000..5d80cf3
Binary files /dev/null and b/docs/site/home/images/tinkerpop-meeting-room.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerpop-reading-2.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerpop-reading-2.png b/docs/site/home/images/tinkerpop-reading-2.png
new file mode 100644
index 0000000..2428382
Binary files /dev/null and b/docs/site/home/images/tinkerpop-reading-2.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerpop-reading.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerpop-reading.png b/docs/site/home/images/tinkerpop-reading.png
new file mode 100644
index 0000000..e3ece1a
Binary files /dev/null and b/docs/site/home/images/tinkerpop-reading.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerpop-splash.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerpop-splash.png b/docs/site/home/images/tinkerpop-splash.png
new file mode 100644
index 0000000..870b080
Binary files /dev/null and b/docs/site/home/images/tinkerpop-splash.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/tinkerpop3-splash.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/tinkerpop3-splash.png b/docs/site/home/images/tinkerpop3-splash.png
new file mode 100755
index 0000000..ed48f37
Binary files /dev/null and b/docs/site/home/images/tinkerpop3-splash.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/index.html
----------------------------------------------------------------------
diff --git a/docs/site/home/index.html b/docs/site/home/index.html
new file mode 100644
index 0000000..bf061c3
--- /dev/null
+++ b/docs/site/home/index.html
@@ -0,0 +1,316 @@
+<!--
+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.
+-->
+<div class="container">
+   <div class="hero-unit">
+      <div class="row">
+         <div class="col-md-6">
+            <b><font size="6" face="american typewriter">Apache TinkerPop&trade;</font></b>
+            <p><img src="images/tinkerpop-splash.png" width="420" class="img-responsive" style="padding:10px;"/></p>
+            <p><font size="3">Apache TinkerPop&trade; is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP).</font></p>
+         </div>
+         <div class="col-md-6">
+            <br/>
+            <p>
+               <b><font size="4">TinkerPop</font> <font size="4">3.2.3</font></b> (<font size="2">Released: 17-Oct-2016</font>)
+            </p>
+            <p><b>Downloads</b></p>
+            <p>
+               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-console-3.2.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-server-3.2.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+               <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-3.2.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </p>
+            <div class="row">
+               <div class="col-md-6">
+                  <p><b>Documentation</b></p>
+                  <ul>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/reference/">TinkerPop3 Documentation</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/3.2.3/upgrade/#_tinkerpop_3_2_3">Upgrade Information</a></li>
+                     <li>TinkerPop3 Javadoc</li>
+                     <ul>
+                        <li><a href="http://tinkerpop.apache.org/javadocs/current/core/">TinkerPop3 Core-Javadoc</a></li>
+                        <li><a href="http://tinkerpop.apache.org/javadocs/current/full/">TinkerPop3 Full-Javadoc</a></li>
+                     </ul>
+                  </ul>
+               </div>
+               <div class="col-md-6">
+                  <br/>
+                  <a href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started">
+                     <img src="images/gremlin-gym-mini.png" width="150" class="img-responsive" align="left"/>
+                  </a>
+               </div>
+            </div>
+            <div class="row">
+               <div class="col-md-5">
+                  <div class="hovereffect">
+                      <img src="images/cityscape-button.png" style="width:200px;" class="img-responsive" /></a>
+                      <div class="overlay"><a class="info" href="gremlin.html">Understand Gremlin</a></div>
+                  </div>
+               </div>
+               <div class="col-md-5">
+                  <div class="hovereffect">
+                      <img src="images/meeting-room-button.png" style="width:200px;" class="img-responsive" /></a>
+                      <div class="overlay"><a class="info" href="providers.html">Become TinkerPop-Enabled</a></div>
+                  </div>
+               </div>
+               <div class="col-md-2"></div>
+            </div>
+         </div>
+      </div>
+   </div>
+   <div><br/></div>
+   <div id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000" border="none">
+      <!-- Indicators -->
+      <ol class="carousel-indicators carousel-indicators-numbers">
+         <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li>
+         <li data-target="#gremlinCarousel" data-slide-to="1">2</li>
+         <li data-target="#gremlinCarousel" data-slide-to="2">3</li>
+         <li data-target="#gremlinCarousel" data-slide-to="3">4</li>
+         <li data-target="#gremlinCarousel" data-slide-to="4">5</li>
+      </ol>
+      <div class="carousel-inner" role="listbox">
+         <div class="item active">
+                  <pre><code class="language-gremlin">
+
+
+    // What are the names of Gremlin's friends' friends?
+    g.V().has("name","gremlin").
+      out("knows").out("knows").values("name")
+
+
+          </code></pre>
+         </div>
+         <div class="item">
+                  <pre><code class="language-gremlin">
+    // What are the names of projects that were created by two friends?
+    g.V().match(
+      as("a").out("knows").as("b"),
+      as("a").out("created").as("c"),
+      as("b").out("created").as("c"),
+      as("c").in("created").count().is(2)).
+        select("c").by("name")
+          </code></pre>
+         </div>
+         <div class="item">
+                  <pre><code class="language-gremlin">
+
+    // What are the names of the managers in
+    //  the management chain going from Gremlin to the CEO?
+    g.V().has("name","gremlin").
+      repeat(in("manages")).until(has("title","ceo")).
+      path().by("name")
+
+          </code></pre>
+         </div>
+         <div class="item">
+                  <pre><code class="language-gremlin">
+
+    // What is the distribution of job titles amongst Gremlin's collaborators?
+    g.V().has("name","gremlin").as("a").
+      out("created").in("created").
+        where(neq("a")).
+      groupCount().by("title")
+
+          </code></pre>
+         </div>
+         <div class="item">
+                  <pre><code class="language-gremlin">
+
+    // Get a ranking of the most relevant products for Gremlin given his purchase history.
+    g.V().has("name","gremlin").out("bought").aggregate("stash").
+      in("bought").out("bought").
+        where(not(within("stash"))).
+      groupCount().
+        order(local).by(values,decr)
+          </code></pre>
+         </div>
+      </div>
+   </div>
+   <!-- /.carousel -->
+   <div class="container">
+      <h3>The Benefits of Graph Computing</h3>
+      <p><img src="images/graph-globe.png" style="float:left;width:15%;padding:10px;"> A <strong>graph</strong> is a structure composed of <strong>vertices</strong> and <strong>edges</strong>.
+         Both vertices and edges can have an arbitrary number of key/value-pairs called <strong>properties</strong>.
+         Vertices denote discrete objects such as a person, a place, or an event. Edges denote relationships between vertices. For instance, a person may know
+         another person, have been involved in an event, and/or was recently at a particular place. Properties express non-relational information about the
+         vertices and edges. Example properties include a vertex having a name, an age and an edge having a timestamp and/or a weight. Together, the aforementioned
+         graph is known as a <strong>property graph</strong> and it is the foundational data structure of Apache TinkerPop.
+      </p>
+      <br/>
+      <p><img src="images/graph-vs-table.png" style="float:right;width:22%;padding:10px;">If a user's domain is composed of a heterogenous set of objects (vertices) that can be related to one another in a multitude of ways (edges),
+         then a graph may be the right representation to use. In a graph, each vertex is seen as an atomic entity (not simply a "row in a table") that
+         can be linked to any other vertex or have properties added or removed at will. This empowers the data modeler to think in terms of actors within
+         a world of complex relations as opposed to, in relational databases, statically-typed tables joined in aggregate. Once a domain is modeled, that
+         model must then be exploited in order to yield novel, differentiating information. Graph computing has a rich history that includes not only query
+         languages devoid of table-join semantics, but also algorithms that support complex reasoning: path analysis, vertex clustering and ranking, subgraph
+         identification, and more. The world of applied graph computing offers a flexible, intuitive data structure along with a host of algorithms able to
+         effectively leverage that structure.
+      </p>
+      <br/>
+      <p><a href="#"><img src="images/apache-tinkerpop-logo.png" style="float:left;width:22%;padding:10px;"/></a>Apache TinkerPop&trade; is an open source, vendor-agnostic, graph computing framework distributed under the commercial friendly <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache2 license</a>.
+         When a data system is <a href="providers.html">TinkerPop-enabled</a>, its users are able to model their domain as a graph and analyze that graph using the <a href="gremlin.html">Gremlin graph traversal language</a>.
+         Furthermore, all TinkerPop-enabled systems integrate with one another allowing them to easily expand their offerings as well as allowing users to choose the appropriate graph
+         technology for their application. Sometimes an application is best served by an in-memory, transactional graph database. Sometimes a multi-machine distributed graph database will do the job.
+         Or perhaps the application requires both a distributed graph database for real-time queries and, in parallel, a Big(Graph)Data processor for batch analytics. Whatever the application's
+         requirements, there exists a TinkerPop-enabled graph system out there to meet its needs.
+      </p>
+   </div>
+   <h3>Contributing to Apache TinkerPop</h3>
+   <div class="row">
+      <div class="col-xs-12">
+         <div class="row">
+            <div class="col-xs-8">
+               TinkerPop is an open source project that <a href="http://tinkerpop.apache.org/docs/current/dev/developer#_contributing">welcomes contributions</a>. There are many ways to get involved:
+               <p/>
+               <ol>
+                  <li>
+                     Join the <a href="http://groups.google.com/group/gremlin-users">Gremlin-Users</a> public mailing list.
+                     <ul>
+                        <li>Help users by answering questions and demonstrating your expertise in TinkerPop and graphs.</li>
+                     </ul>
+                  <li>
+                     Join the <a href="https://lists.apache.org/list.html?dev@tinkerpop.apache.org">TinkerPop Developer</a> public mailing list.
+                     <ul>
+                        <li>Contribute ideas on how to make the TinkerPop code- and documentation-base better.</li>
+                     </ul>
+                  <li>Submit bug and feature issues to TinkerPop <a href="https://issues.apache.org/jira/browse/TINKERPOP/">JIRA</a>.</li>
+                  <ul>
+                     <li>Provide easily reproducible bug reports and well articulated feature requests.</li>
+                  </ul>
+                  <li>
+                     Clone the TinkerPop <a href="https://github.com/apache/tinkerpop">Git repository</a> and provide a <a href="https://help.github.com/articles/using-pull-requests/">pull-request</a>.
+                     <ul>
+                        <li>Focus on a particular area of the codebase and take responsibility for your contribution.</li>
+                     </ul>
+                  <li>Make significant, long lasting contributions over time.</li>
+                  <ul>
+                     <li>Become a TinkerPop Committer and help determine the evolution of The TinkerPop.</li>
+                  </ul>
+               </ol>
+               <p>To build TinkerPop from source, please review the <a href="http://tinkerpop.apache.org/docs/current/dev/developer/#building-testing">developer documentation</a>.
+            </div>
+            <div class="col-xs-4">
+               <a href="http://tinkerpop.apache.org/docs/current/dev/developer/"><img src="images/gremlin-apache.png" width="250" class="img-responsive" /></a>
+            </div>
+         </div>
+         <h3>Community Contributions</h3>
+         TinkerPop is at the center of a larger development ecosystem that extends on its core interfaces, integration points, and ideas.  The graph systems and libraries below represent both
+         TinkerPop-maintained reference implementations as well as third-party managed projects. The TinkerPop community is always interested in hearing about projects like these and aiding
+         in their support. Please read our <a href="policy.html">provider listing policy</a> and feel free to promote such projects on the user and developer mailing lists. Information on
+         how to build implementations of the various interfaces that TinkerPop exposes can be found in the <a href="http://tinkerpop.apache.org/docs/current/dev/provider/">Provider Documentation</a>.
+         <p/>
+            <a name="graph-systems"></a>
+         <h4 id="graph-systems">Graph Systems</h4>
+         <small>[<a href="providers.html#data-system-providers">learn more</a>]</small>
+         <ul>
+            <li><a href="https://github.com/blazegraph/tinkerpop3">Blazegraph</a> - RDF graph database with OLTP support.</li>
+            <li><a href="http://www.datastax.com/products/datastax-enterprise-graph">DSEGraph</a> - DataStax graph database with OLTP and OLAP support.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#giraphgraphcomputer">Hadoop (Giraph)</a> - OLAP graph processor using Giraph.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer">Hadoop (Spark)</a> - OLAP graph processor using Spark.</li>
+            <li><a href="https://console.ng.bluemix.net/catalog/services/ibm-graph/">IBM Graph</a> - OLTP graph database as a service.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/currentg/#neo4j-gremlin">Neo4j</a> - OLTP graph database (embedded).</li>
+            <li><a href="https://github.com/SteelBridgeLabs/neo4j-gremlin-bolt">neo4j-gremlin-bolt</a> - OLTP graph database (using Bolt Protocol).</li>
+            <li><a href="https://github.com/pietermartin/sqlg">Sqlg</a> - RDBMS OLTP implementation with HSQLDB and Postresql support.</li>
+            <li><a href="http://stardog.com/">Stardog</a> - RDF graph database with OLTP and OLAP support.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin">TinkerGraph</a> - In-memory OLTP and OLAP reference implementation.</li>
+            <li><a href="http://thinkaurelius.github.io/titan/">Titan</a> - Distributed OLTP and OLAP graph database with BerkeleyDB, Cassandra and HBase support.</li>
+            <li><a href="https://github.com/awslabs/dynamodb-titan-storage-backend">Titan (Amazon)</a> - The Amazon DynamoDB storage backend for Titan.</li>
+            <li><a href="https://github.com/classmethod/tupl-titan-storage-backend">Titan (Tupl)</a> - The Tupl storage backend for Titan.</li>
+            <li><a href="https://github.com/rmagen/unipop">Unipop</a> - OLTP Elasticsearch and JDBC backed graph.</li>
+         </ul>
+         <a name="language-variants-compilers"></a>
+         <h4 id="language-variants-compilers">Query Languages</h4>
+         <small>[<a href="providers.html#query-language-providers">learn more</a>]</small>
+         <ul>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">gremlin-python</a> (python/variant) - Gremlin hosted in Python for use with any Python-based VM.</li>
+            <li><a href="https://github.com/emehrkay/gremlinpy">gremlin-py</a> (python/variant) - Write pure Python Gremlin that can be sent to Gremlin Server.</li>
+            <li><a href="https://github.com/mpollmeier/gremlin-scala">gremlin-scala</a> (scala/variant) - A Scala-based Gremlin language variant for TinkerPop3.</li>
+            <li><a href="https://github.com/jbmusso/gremlin-template-string">gremlin-template-string</a> (js/variant) - A Gremlin language builder.</li>
+            <li><a href="https://github.com/davebshow/ipython-gremlin">ipython-gremlin</a> (python/variant) - Gremlin in IPython and Jupyter.</li>
+            <li><a href="http://ogre.clojurewerkz.org/">ogre</a> (clojure/variant) - A Clojure language wrapper for TinkerPop3.</li>
+            <li><a href="http://bayofmany.github.io/">Peapod</a> (java/dsl) - An object-graph-wrapper.</li>
+            <li><a href="https://github.com/dkuppitz/sparql-gremlin">sparql-gremlin</a> (sparql/distinct) - A SPARQL to Gremlin traversal compiler.</li>
+            <li><a href="https://github.com/twilmes/sql-gremlin">sql-gremlin</a> (sql/distinct) - An SQL to Gremlin traversal compiler.</li>
+         </ul>
+         <a name="language-drivers"></a>
+         <h4 id="language-drivers">Language Drivers</h4>
+         <ul>
+            <li><a href="https://github.com/ZEROFAIL/goblin">Goblin</a> (python) - An asynchronous Python 3.5 toolkit for Gremlin Server.</li>
+            <li><a href="https://github.com/davebshow/gremlinclient">gremlinclient</a> (python) - An asynchronous Python 2/3 client for Gremlin Server that allows for flexible coroutine syntax - Trollius, Tornado, Asyncio.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/reference/#connecting-via-java">gremlin-driver</a> (java) - A Gremlin Server driver for Java.</li>
+            <li><a href="https://github.com/jbmusso/gremlin-javascript">gremlin-javascript</a> (js) - A Gremlin Server driver for JavaScript.</li>
+            <li><a href="https://github.com/qasaur/gremgo">gremgo</a> (go) - A Gremlin Server driver for Go.</li>
+            <li><a href="http://gremlinrestclient.readthedocs.org/en/latest/">gremlinrestclient</a> (python) - Python 2/3 library that uses HTTP to communicate with the Gremlin Server over REST.</li>
+            <li><a href="https://github.com/PommeVerte/gremlin-php">gremlin-php</a> (php) - A Gremlin Server driver for PHP.</li>
+            <li><a href="https://github.com/windj007/python-gremlin-rest">python-gremlin-rest</a> (python) - A REST-based client for Gremlin Server.</li>
+            <li><a href="https://github.com/coreyauger/reactive-gremlin">reactive-gremlin</a> (scala) - An Akka HTTP Websocket Connector.</li>
+            <li><a href="https://github.com/viagraphs/scalajs-gremlin-client">scalajs-gremlin-client</a> (scala) - A Gremlin-Server client with ad-hoc extensible, reactive, typeclass based API.</li>
+            <li><a href="https://www.nuget.org/packages/Teva.Common.Data.Gremlin/">Teva Gremlin</a> (.NET - C#) - A Gremlin Server driver for .NET.</li>
+            <li><a href="https://github.com/RedSeal-co/ts-tinkerpop">ts-tinkerpop</a> (typescript) - A helper library for Typescript applications via node-java.</li>
+         </ul>
+         <a name="tutorials"></a>
+         <h4 id="tutorials">Tutorials</h4>
+         <ul>
+            <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started/">Getting Started with TinkerPop</a> - Learn the basics of getting up and going with TinkerPop.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/the-gremlin-console/">The Gremlin Console</a> - Discusses uses cases of the Gremlin Console and usage patterns.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/recipes/">Gremlin Recipes</a> - Reference for common traversal patterns and style.</li>
+            <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin Language Variants</a> - Learn how to embed Gremlin in a host programming language.</li>
+            <li><a href="http://sql2gremlin.com/">SQL2Gremlin</a> - Learn Gremlin using typical patterns found when querying data with SQL.</li>
+            <li><a href="https://academy.datastax.com/demos/getting-started-graph-databases">Getting Started with Graph Databases</a> - Compares relational databases to graph databases and SQL to Gremlin.</li>
+         </ul>
+         <a name="publications"></a>
+         <h4 id="publications">Publications</h4>
+         <ul>
+            <li>Rodriguez, M.A., "<a href="https://www.datastax.com/dev/blog/a-gremlin-implementation-of-the-gremlin-traversal-machine">A Gremlin Implementation of the Gremlin Traversal Machine</a>," DataStax Engineering Blog, October 2016.</li>
+            <li>Rodriguez, M.A., "<a href="http://www.datastax.com/dev/blog/gremlins-time-machine">Gremlin's Time Machine</a>," DataStax Engineering Blog, September 2016.</li>
+            <li>Rodriguez, M.A., "<a href="http://www.slideshare.net/slidarko/gremlins-graph-traversal-machinery">Gremlin's Graph Traversal Machinery</a>," Cassandra Summit, September 2016.</li>
+            <li>Rodriguez, M.A., "<a href="http://www.datastax.com/dev/blog/the-mechanics-of-gremlin-olap">The Mechanics of Gremlin OLAP</a>," DataStax Engineering Blog, April 2016.</li>
+            <li>Rodriguez, M.A., "<a href="http://www.slideshare.net/slidarko/quantum-processes-in-graph-computing">Quantum Processes in Graph Computing</a>," GraphDay '16 Presentation, Austin Texas, January 2016. [<a href="https://www.youtube.com/watch?v=qRoAInXxgtc">video presentation</a>]</li>
+            <li>Rodriguez, M.A., Watkins, J.H., "<a href="http://arxiv.org/abs/1511.06278">Quantum Walks with Gremlin</a>," GraphDay '16 Proceedings, Austin Texas, January 2016.</li>
+            <li>Rodriguez, M.A., "(Keynote): <a href="http://www.slideshare.net/slidarko/acm-dbpl-keynote-the-graph-traversal-machine-and-language">The Gremlin Graph Traversal Machine and Language</a>," ACM Database Programming Language Conference Presentation, October 2015.</li>
+            <li>Rodriguez, M.A., "<a href="http://arxiv.org/abs/1508.03843">The Gremlin Graph Traversal Machine and Language</a>," ACM Database Programming Languages Conference Proceedings, October 2015.</li>
+            <li>Mallette, S.P., "<a href="http://www.slideshare.net/StephenMallette/tinkerpopfinal">What's New In Apache TinkerPop?</a>," Cassandra Summit, September 2015.</li>
+            <li>Rodriguez, M.A., Kuppitz, D., "<a href="http://www.datastax.com/dev/blog/the-benefits-of-the-gremlin-graph-traversal-machine">The Benefits of the Gremlin Graph Traversal Machine</a>," DataStax Engineering Blog, September 2015.</li>
+            <li>Rodriguez, M.A., Kuppitz, D., "<a href="http://www.slideshare.net/slidarko/the-gremlin-traversal-language">The Gremlin Graph Traversal Language</a>," 2015 NoSQLNow Conference, August 2015.</li>
+            <li>Rodriguez, M.A., Kuppitz, D., Yim, K., "<a href="http://www.datastax.com/dev/blog/tales-from-the-tinkerpop">Tales from the TinkerPop</a>," DataStax Engineering Blog, July 2015.</li>
+         </ul>
+         <a name="committers"></a>
+         <h3 id="committers">Apache TinkerPop Committers</h3>
+         <img src="images/tinkerpop-logo-small.png" style="float:right" />TinkerPop seeks committers dedicated to the art of graph computing. TinkerPop committers bring solid theoretical,
+         development, testing, documentation, etc. skills to the group. Committers contribute to TinkerPop beyond the everchanging requirements of their day-to-day jobs and maintain
+         responsibility for their contributions through time.
+         <p/>
+         <ul>
+            <li><a href="http://markorodriguez.com">Marko A. Rodriguez</a> (2009 - PMC): Gremlin language, Gremlin OLAP, documentation.</li>
+            <li><a href="http://ketrinadrawsalot.tumblr.com">Ketrina Yim</a> (2009 - Committer): Illustrator, creator of Gremlin and his merry band of robots.</li>
+            <li><a href="http://stephen.genoprime.com/">Stephen Mallette</a> (2011 - PMC Chair): Gremlin Console/Server/Driver, Graph I/O, testing, documentation, mailing list support.</li>
+            <li><a href="http://jamesthornton.com/">James Thornton</a> (2013 - PMC): Promotions, evangelism.</li>
+            <li><a href="http://gremlin.guru">Daniel Kuppitz</a> (2014 - PMC): Gremlin language design, benchmarking, testing, documentation, mailing list support.</li>
+            <li><a href="https://www.linkedin.com/in/hzbarcea">Hadrian Zbarcea</a> (2015 - PMC): Project mentor, provider liason.</li>
+            <li><a href="https://github.com/Humbedooh">Daniel Gruno</a> (2015 - PMC): Project mentor, infrastructure liason.</li>
+            <li><a href="https://github.com/mhfrantz">Matt Frantz</a> (2015 - Committer): Gremlin language design, ts-tinkerpop.</li>
+            <li><a href="https://github.com/pluradj">Jason Plurad</a> (2015 - PMC): Gremlin Console/Server, mailing list support.</li>
+            <li><a href="https://www.linkedin.com/in/dylan-millikin-32567934">Dylan Millikin</a> (2015 - PMC): Gremlin Server/Driver, gremlin-php, GremlinBin, mailing list support.</li>
+            <li><a href="https://github.com/twilmes">Ted Wilmes</a> (2015 - PMC): Promotions, mailing list support, benchmarking, sql-gremlin.</li>
+            <li><a href="https://github.com/pietermartin">Pieter Martin</a> (2016 - Committer): Gremlin language, Sqlg.</li>
+            <li><a href="https://github.com/jbmusso">Jean-Baptiste Musso</a> (2016 - Committer): Gremlin Server testing, Gremlin Driver (Node.js/JavaScript), mailing list support.</li>
+            <li><a href="http://www.michaelpollmeier.com/">Michael Pollmeier</a> (2016 - Committer): Gremlin language, Gremlin-Scala.</li>
+            <li><a href="https://github.com/davebshow">David Brown</a> (2016 - Committer): Python libraries, Gremlin Server testing.</li>
+            <li><a href="https://github.com/robertdale">Robert Dale</a> (2016 - Committer): Gremlin Console/Server, documentation, mailing list support.</li>
+         </ul>
+      </div>
+   </div>
+</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/js/bootstrap-3.3.5.min.js
----------------------------------------------------------------------
diff --git a/docs/site/home/js/bootstrap-3.3.5.min.js b/docs/site/home/js/bootstrap-3.3.5.min.js
new file mode 100644
index 0000000..133aeec
--- /dev/null
+++ b/docs/site/home/js/bootstrap-3.3.5.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.
 handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a)
 {"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.pr
 op("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"o
 bject"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),th
 is.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)
 ),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"
 ),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"
 ))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!
 (e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element
 [c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Construc
 tor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==type
 of b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h
 =" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.
 find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignore
 BackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTran
 sitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$eleme
 nt.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this
 .$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.ap
 pend(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=nul
 l,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+t
 his.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a
 (b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=fun
 ction(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k
 .right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.of
 fset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return th
 is.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.to
 p=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.
 getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",t
 emplate:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var
  d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.
 scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+
 b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),
+d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.
 trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constru
 ctor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=
 c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix
 "+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file


[43/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
Moved /site under /docs


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/24a4f212
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/24a4f212
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/24a4f212

Branch: refs/heads/TINKERPOP-1235
Commit: 24a4f2126ca844c28072e3253226acdc87a1ced2
Parents: 5f5c7ec
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Oct 27 07:36:59 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:42:11 2016 -0400

----------------------------------------------------------------------
 bin/generate-home.sh                            |    43 +
 bin/publish-home.sh                             |    70 +
 docs/site/home/css/bootstrap-mods.css           |   140 +
 docs/site/home/css/carousel.css                 |   417 +
 docs/site/home/css/prism.css                    |   145 +
 docs/site/home/downloads.html                   |   307 +
 docs/site/home/gremlin.html                     |   396 +
 docs/site/home/images/apache-tinkerpop-logo.png |   Bin 0 -> 118637 bytes
 docs/site/home/images/blueprints-handdrawn.png  |   Bin 0 -> 39838 bytes
 docs/site/home/images/cityscape-button.png      |   Bin 0 -> 54260 bytes
 docs/site/home/images/egg-logo.png              |   Bin 0 -> 7241 bytes
 docs/site/home/images/favicon.ico               |   Bin 0 -> 1406 bytes
 docs/site/home/images/furnace-handdrawn.png     |   Bin 0 -> 27598 bytes
 docs/site/home/images/goutte-blue.png           |   Bin 0 -> 13400 bytes
 docs/site/home/images/graph-globe.png           |   Bin 0 -> 97146 bytes
 docs/site/home/images/graph-vs-table.png        |   Bin 0 -> 35982 bytes
 docs/site/home/images/gremlin-apache.png        |   Bin 0 -> 184276 bytes
 docs/site/home/images/gremlin-download.png      |   Bin 0 -> 35666 bytes
 docs/site/home/images/gremlin-github.png        |   Bin 0 -> 25806 bytes
 docs/site/home/images/gremlin-gym-mini.png      |   Bin 0 -> 128185 bytes
 docs/site/home/images/gremlin-handdrawn.png     |   Bin 0 -> 24985 bytes
 docs/site/home/images/gremlin-head.png          |   Bin 0 -> 47157 bytes
 .../home/images/gremlin-language-variants.png   |   Bin 0 -> 157258 bytes
 docs/site/home/images/gremlin-quill.png         |   Bin 0 -> 200459 bytes
 docs/site/home/images/homepage.graffle          | 63974 +++++++++++++++++
 docs/site/home/images/logos/blazegraph-logo.png |   Bin 0 -> 58946 bytes
 docs/site/home/images/logos/datastax-logo.png   |   Bin 0 -> 38630 bytes
 .../home/images/logos/gremlin-groovy-logo.png   |   Bin 0 -> 126622 bytes
 .../home/images/logos/gremlin-java-logo.png     |   Bin 0 -> 106573 bytes
 .../home/images/logos/gremlin-python-logo.png   |   Bin 0 -> 100190 bytes
 .../home/images/logos/gremlin-scala-logo.png    |   Bin 0 -> 83255 bytes
 docs/site/home/images/logos/ibmgraph-logo.png   |   Bin 0 -> 70338 bytes
 docs/site/home/images/logos/keylines-logo.png   |   Bin 0 -> 38740 bytes
 docs/site/home/images/logos/linkurious-logo.png |   Bin 0 -> 58124 bytes
 docs/site/home/images/logos/neo4j-logo.png      |   Bin 0 -> 48361 bytes
 docs/site/home/images/logos/ogre-logo.png       |   Bin 0 -> 119692 bytes
 docs/site/home/images/logos/orientdb-logo.png   |   Bin 0 -> 38721 bytes
 .../home/images/logos/sparql-gremlin-logo.png   |   Bin 0 -> 102985 bytes
 .../site/home/images/logos/sql-gremlin-logo.png |   Bin 0 -> 94816 bytes
 docs/site/home/images/logos/stardog-logo.png    |   Bin 0 -> 78711 bytes
 docs/site/home/images/logos/titan-logo.png      |   Bin 0 -> 76305 bytes
 docs/site/home/images/logos/tomsawyer-logo.png  |   Bin 0 -> 68634 bytes
 docs/site/home/images/meeting-room-button.png   |   Bin 0 -> 46717 bytes
 docs/site/home/images/oltp-and-olap.png         |   Bin 0 -> 400257 bytes
 docs/site/home/images/peon-head.png             |   Bin 0 -> 11761 bytes
 docs/site/home/images/policy/adjacency-list.png |   Bin 0 -> 36192 bytes
 .../home/images/policy/blueprints-character.png |   Bin 0 -> 18474 bytes
 .../home/images/policy/business-gremlin.png     |   Bin 0 -> 412520 bytes
 .../site/home/images/policy/cyclicpath-step.png |   Bin 0 -> 133628 bytes
 .../site/home/images/policy/flat-map-lambda.png |   Bin 0 -> 26423 bytes
 .../home/images/policy/frames-character.png     |   Bin 0 -> 17482 bytes
 .../home/images/policy/furnace-character.png    |   Bin 0 -> 14118 bytes
 .../home/images/policy/gremlin-character.png    |   Bin 0 -> 16473 bytes
 .../home/images/policy/gremlin-chickenwing.png  |   Bin 0 -> 34307 bytes
 .../home/images/policy/gremlin-gremopoly.png    |   Bin 0 -> 28803 bytes
 .../home/images/policy/gremlin-gremreaper.png   |   Bin 0 -> 33275 bytes
 .../home/images/policy/gremlin-gremstefani.png  |   Bin 0 -> 32122 bytes
 .../policy/gremlin-new-sheriff-in-town.png      |   Bin 0 -> 30381 bytes
 .../policy/gremlin-no-more-mr-nice-guy.png      |   Bin 0 -> 27941 bytes
 docs/site/home/images/policy/gremlintron.png    |   Bin 0 -> 219686 bytes
 docs/site/home/images/policy/olap-traversal.png |   Bin 0 -> 315037 bytes
 .../site/home/images/policy/pipes-character.png |   Bin 0 -> 19807 bytes
 .../home/images/policy/rexster-character.png    |   Bin 0 -> 18100 bytes
 .../home/images/policy/tinkerpop-reading.png    |   Bin 0 -> 195749 bytes
 .../home/images/policy/tinkerpop3-splash.png    |   Bin 0 -> 643257 bytes
 .../images/resources/arxiv-article-resource.png |   Bin 0 -> 306821 bytes
 .../benefits-gremlin-machine-resource.png       |   Bin 0 -> 159622 bytes
 .../resources/graph-databases-101-resource.png  |   Bin 0 -> 139229 bytes
 .../resources/on-graph-computing-resource.png   |   Bin 0 -> 159091 bytes
 .../resources/property-graph-resource.png       |   Bin 0 -> 162245 bytes
 .../images/resources/sql-2-gremlin-resource.png |   Bin 0 -> 210892 bytes
 .../resources/tables-and-graphs-resource.png    |   Bin 0 -> 344091 bytes
 .../resources/why-graph-databases-resource.png  |   Bin 0 -> 243807 bytes
 docs/site/home/images/rexster-handdrawn.png     |   Bin 0 -> 30247 bytes
 docs/site/home/images/tinkerblocks.png          |   Bin 0 -> 802732 bytes
 docs/site/home/images/tinkerpop-book.png        |   Bin 0 -> 195749 bytes
 docs/site/home/images/tinkerpop-cityscape.png   |   Bin 0 -> 801856 bytes
 docs/site/home/images/tinkerpop-conference.png  |   Bin 0 -> 719950 bytes
 docs/site/home/images/tinkerpop-logo-small.png  |   Bin 0 -> 30662 bytes
 .../site/home/images/tinkerpop-meeting-room.png |   Bin 0 -> 703938 bytes
 docs/site/home/images/tinkerpop-reading-2.png   |   Bin 0 -> 211187 bytes
 docs/site/home/images/tinkerpop-reading.png     |   Bin 0 -> 195749 bytes
 docs/site/home/images/tinkerpop-splash.png      |   Bin 0 -> 653463 bytes
 docs/site/home/images/tinkerpop3-splash.png     |   Bin 0 -> 643257 bytes
 docs/site/home/index.html                       |   316 +
 docs/site/home/js/bootstrap-3.3.5.min.js        |     7 +
 docs/site/home/js/jquery-1.11.0.min.js          |     4 +
 docs/site/home/js/prism.js                      |   423 +
 docs/site/home/policy.html                      |    72 +
 docs/site/home/providers.html                   |   359 +
 docs/site/home/template/header-footer.html      |   148 +
 site/bin/generate-home.sh                       |    39 -
 site/bin/publish-home.sh                        |    71 -
 site/home/css/bootstrap-mods.css                |   140 -
 site/home/css/carousel.css                      |   417 -
 site/home/css/prism.css                         |   145 -
 site/home/downloads.html                        |   307 -
 site/home/gremlin.html                          |   396 -
 site/home/images/apache-tinkerpop-logo.png      |   Bin 118637 -> 0 bytes
 site/home/images/blueprints-handdrawn.png       |   Bin 39838 -> 0 bytes
 site/home/images/cityscape-button.png           |   Bin 54260 -> 0 bytes
 site/home/images/egg-logo.png                   |   Bin 7241 -> 0 bytes
 site/home/images/favicon.ico                    |   Bin 1406 -> 0 bytes
 site/home/images/furnace-handdrawn.png          |   Bin 27598 -> 0 bytes
 site/home/images/goutte-blue.png                |   Bin 13400 -> 0 bytes
 site/home/images/graph-globe.png                |   Bin 97146 -> 0 bytes
 site/home/images/graph-vs-table.png             |   Bin 35982 -> 0 bytes
 site/home/images/gremlin-apache.png             |   Bin 184276 -> 0 bytes
 site/home/images/gremlin-download.png           |   Bin 35666 -> 0 bytes
 site/home/images/gremlin-github.png             |   Bin 25806 -> 0 bytes
 site/home/images/gremlin-gym-mini.png           |   Bin 128185 -> 0 bytes
 site/home/images/gremlin-handdrawn.png          |   Bin 24985 -> 0 bytes
 site/home/images/gremlin-head.png               |   Bin 47157 -> 0 bytes
 site/home/images/gremlin-language-variants.png  |   Bin 157258 -> 0 bytes
 site/home/images/gremlin-quill.png              |   Bin 200459 -> 0 bytes
 site/home/images/homepage.graffle               | 63974 -----------------
 site/home/images/logos/blazegraph-logo.png      |   Bin 58946 -> 0 bytes
 site/home/images/logos/datastax-logo.png        |   Bin 38630 -> 0 bytes
 site/home/images/logos/gremlin-groovy-logo.png  |   Bin 126622 -> 0 bytes
 site/home/images/logos/gremlin-java-logo.png    |   Bin 106573 -> 0 bytes
 site/home/images/logos/gremlin-python-logo.png  |   Bin 100190 -> 0 bytes
 site/home/images/logos/gremlin-scala-logo.png   |   Bin 83255 -> 0 bytes
 site/home/images/logos/ibmgraph-logo.png        |   Bin 70338 -> 0 bytes
 site/home/images/logos/keylines-logo.png        |   Bin 38740 -> 0 bytes
 site/home/images/logos/linkurious-logo.png      |   Bin 58124 -> 0 bytes
 site/home/images/logos/neo4j-logo.png           |   Bin 48361 -> 0 bytes
 site/home/images/logos/ogre-logo.png            |   Bin 119692 -> 0 bytes
 site/home/images/logos/orientdb-logo.png        |   Bin 38721 -> 0 bytes
 site/home/images/logos/sparql-gremlin-logo.png  |   Bin 102985 -> 0 bytes
 site/home/images/logos/sql-gremlin-logo.png     |   Bin 94816 -> 0 bytes
 site/home/images/logos/stardog-logo.png         |   Bin 78711 -> 0 bytes
 site/home/images/logos/titan-logo.png           |   Bin 76305 -> 0 bytes
 site/home/images/logos/tomsawyer-logo.png       |   Bin 68634 -> 0 bytes
 site/home/images/meeting-room-button.png        |   Bin 46717 -> 0 bytes
 site/home/images/oltp-and-olap.png              |   Bin 400257 -> 0 bytes
 site/home/images/peon-head.png                  |   Bin 11761 -> 0 bytes
 site/home/images/policy/adjacency-list.png      |   Bin 36192 -> 0 bytes
 .../home/images/policy/blueprints-character.png |   Bin 18474 -> 0 bytes
 site/home/images/policy/business-gremlin.png    |   Bin 412520 -> 0 bytes
 site/home/images/policy/cyclicpath-step.png     |   Bin 133628 -> 0 bytes
 site/home/images/policy/flat-map-lambda.png     |   Bin 26423 -> 0 bytes
 site/home/images/policy/frames-character.png    |   Bin 17482 -> 0 bytes
 site/home/images/policy/furnace-character.png   |   Bin 14118 -> 0 bytes
 site/home/images/policy/gremlin-character.png   |   Bin 16473 -> 0 bytes
 site/home/images/policy/gremlin-chickenwing.png |   Bin 34307 -> 0 bytes
 site/home/images/policy/gremlin-gremopoly.png   |   Bin 28803 -> 0 bytes
 site/home/images/policy/gremlin-gremreaper.png  |   Bin 33275 -> 0 bytes
 site/home/images/policy/gremlin-gremstefani.png |   Bin 32122 -> 0 bytes
 .../policy/gremlin-new-sheriff-in-town.png      |   Bin 30381 -> 0 bytes
 .../policy/gremlin-no-more-mr-nice-guy.png      |   Bin 27941 -> 0 bytes
 site/home/images/policy/gremlintron.png         |   Bin 219686 -> 0 bytes
 site/home/images/policy/olap-traversal.png      |   Bin 315037 -> 0 bytes
 site/home/images/policy/pipes-character.png     |   Bin 19807 -> 0 bytes
 site/home/images/policy/rexster-character.png   |   Bin 18100 -> 0 bytes
 site/home/images/policy/tinkerpop-reading.png   |   Bin 195749 -> 0 bytes
 site/home/images/policy/tinkerpop3-splash.png   |   Bin 643257 -> 0 bytes
 .../images/resources/arxiv-article-resource.png |   Bin 306821 -> 0 bytes
 .../benefits-gremlin-machine-resource.png       |   Bin 159622 -> 0 bytes
 .../resources/graph-databases-101-resource.png  |   Bin 139229 -> 0 bytes
 .../resources/on-graph-computing-resource.png   |   Bin 159091 -> 0 bytes
 .../resources/property-graph-resource.png       |   Bin 162245 -> 0 bytes
 .../images/resources/sql-2-gremlin-resource.png |   Bin 210892 -> 0 bytes
 .../resources/tables-and-graphs-resource.png    |   Bin 344091 -> 0 bytes
 .../resources/why-graph-databases-resource.png  |   Bin 243807 -> 0 bytes
 site/home/images/rexster-handdrawn.png          |   Bin 30247 -> 0 bytes
 site/home/images/tinkerblocks.png               |   Bin 802732 -> 0 bytes
 site/home/images/tinkerpop-book.png             |   Bin 195749 -> 0 bytes
 site/home/images/tinkerpop-cityscape.png        |   Bin 801856 -> 0 bytes
 site/home/images/tinkerpop-conference.png       |   Bin 719950 -> 0 bytes
 site/home/images/tinkerpop-logo-small.png       |   Bin 30662 -> 0 bytes
 site/home/images/tinkerpop-meeting-room.png     |   Bin 703938 -> 0 bytes
 site/home/images/tinkerpop-reading-2.png        |   Bin 211187 -> 0 bytes
 site/home/images/tinkerpop-reading.png          |   Bin 195749 -> 0 bytes
 site/home/images/tinkerpop-splash.png           |   Bin 653463 -> 0 bytes
 site/home/images/tinkerpop3-splash.png          |   Bin 643257 -> 0 bytes
 site/home/index.html                            |   316 -
 site/home/js/bootstrap-3.3.5.min.js             |     7 -
 site/home/js/jquery-1.11.0.min.js               |     4 -
 site/home/js/prism.js                           |   423 -
 site/home/policy.html                           |    72 -
 site/home/providers.html                        |   359 -
 site/home/template/header-footer.html           |   148 -
 182 files changed, 66821 insertions(+), 66818 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/bin/generate-home.sh
----------------------------------------------------------------------
diff --git a/bin/generate-home.sh b/bin/generate-home.sh
new file mode 100755
index 0000000..d2077dd
--- /dev/null
+++ b/bin/generate-home.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+#
+# 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.
+#
+cd `dirname $0`/..
+
+rm -rf target/site/home
+mkdir -p target/site/
+
+hash rsync 2> /dev/null
+
+if [ $? -eq 0 ]; then
+  rsync -avq docs/site/home target/site --exclude template
+else
+  cp -R docs/site/home target/site
+  rm -rf target/site/home/template
+fi
+
+pushd docs/site/
+
+for filename in home/*.html; do
+  sed -e "/!!!!!BODY!!!!!/ r $filename" home/template/header-footer.html -e /!!!!!BODY!!!!!/d > "../../target/site/${filename}"
+done
+
+popd
+
+echo "Home page site generated to $(cd target/site/home ; pwd)"

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/bin/publish-home.sh
----------------------------------------------------------------------
diff --git a/bin/publish-home.sh b/bin/publish-home.sh
new file mode 100755
index 0000000..1543c42
--- /dev/null
+++ b/bin/publish-home.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+#
+#
+# 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.
+#
+
+cd `dirname $0`/..
+
+USERNAME=$1
+
+if [ "${USERNAME}" == "" ]; then
+  echo "Please provide a SVN username."
+  echo -e "\nUsage:\n\t$0 <username>\n"
+  exit 1
+fi
+
+if [ ! -d target/site/home ]; then
+  bin/generate-home.sh || exit 1
+  echo
+fi
+
+read -s -p "Password for SVN user ${USERNAME}: " PASSWORD
+echo
+
+SVN_CMD="svn --no-auth-cache --username=${USERNAME} --password=${PASSWORD}"
+
+rm -rf target/svn
+mkdir -p target/svn
+
+${SVN_CMD} co --depth files https://svn.apache.org/repos/asf/tinkerpop/site target/svn
+
+cd target/svn
+
+find ../site/home -mindepth 1 -maxdepth 1 -type d | xargs -n1 basename | xargs -r ${SVN_CMD} update
+
+diff -rq ./ ../site/home/ | awk -f ../../bin/publish-docs.awk | sed 's/^\(.\) \//\1 /g' > ../publish-home.files
+
+for file in $(cat ../publish-home.files | awk '/^[AU]/ {print $2}')
+do
+  if [ -d "../site/home/${file}" ]; then
+    mkdir -p "${file}" && cp -r "../site/home/${file}"/* "$_"
+  else
+    mkdir -p "`dirname ${file}`" && cp "../site/home/${file}" "$_"
+  fi
+done
+
+cat ../publish-home.files | awk '/^A/ {print $2}' | xargs -r svn add --parents
+cat ../publish-home.files | awk '/^D/ {print $2}' | xargs -r svn delete
+
+CHANGES=$(cat ../publish-home.files | wc -l)
+
+if [ ${CHANGES} -gt 0 ]; then
+    ${SVN_CMD} commit -m "Deploy TinkerPop homepage"
+fi
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/css/bootstrap-mods.css
----------------------------------------------------------------------
diff --git a/docs/site/home/css/bootstrap-mods.css b/docs/site/home/css/bootstrap-mods.css
new file mode 100644
index 0000000..68a6c31
--- /dev/null
+++ b/docs/site/home/css/bootstrap-mods.css
@@ -0,0 +1,140 @@
+.nav-icon {
+    width: 24px;
+    height: 24px;
+    margin-right: 5px;
+}
+.hero-unit {
+    background-color: #f5f5f5;
+    margin-bottom: 2px;
+    padding: 20px;
+    -webkit-border-radius: 6px;
+    -moz-border-radius: 6px;
+    border-radius: 6px;
+    margin-top: 20px;
+}
+.hero-unit h1 {
+    margin-bottom: 0;
+    font-size: 50px;
+    line-height: 1;
+    letter-spacing: -1px;
+}
+.hero-unit p {
+    font-size: 18px;
+    font-weight: 200;
+    line-height: 27px;
+}
+.carousel-indicators-numbers li {
+    font-size: 12px;
+    text-indent: 0px;
+    margin: -2px 2px;
+    width: 25px;
+    height: 25px;
+    border: none;
+    border-radius: 100%;
+    line-height: 26px;
+    color: #fff;
+    background-color: #999;
+}
+.carousel-indicators-numbers li.active {
+    margin: -2px 2px;
+    width: 25px;
+    height: 25px;
+    background-color: #337ab7;
+}
+.carousel-indicators {
+    bottom: -39px;
+}
+.carousel-inner {
+    margin-bottom: 50px;
+}
+#footer {
+    background-color: #f5f5f5;
+}
+.container .credit {
+    margin: 20px 0;
+}
+.navbar {
+    margin-bottom: 0;
+}
+
+.hovereffect {
+width:100%;
+height:100%;
+float:left;
+overflow:hidden;
+position:relative;
+text-align:center;
+cursor:default;
+border-radius:5px;
+}
+
+.hovereffect .overlay {
+width:100%;
+height:100%;
+position:absolute;
+overflow:hidden;
+top:0;
+left:0;
+opacity:0;
+background-color:rgba(0,0,0,0.5);
+-webkit-transition:all .4s ease-in-out;
+transition:all .4s ease-in-out;
+border-radius:5px;
+}
+
+.hovereffect img {
+display:block;
+position:relative;
+-webkit-transition:all .4s linear;
+transition:all .4s linear;
+border-radius:5px;
+}
+
+
+.hovereffect a.info {
+text-decoration:none;
+display:inline-block;
+border-radius:5px;
+color:#fff;
+border:1px solid #fff;
+background-color:transparent;
+opacity:0;
+filter:alpha(opacity=0);
+-webkit-transition:all .2s ease-in-out;
+transition:all .2s ease-in-out;
+margin:25px 0 0;
+padding:5px 5px;
+}
+
+.hovereffect a.info:hover {
+box-shadow:0 0 5px #fff;
+border-radius:5px;
+}
+
+.hovereffect:hover img {
+-ms-transform:scale(1.2);
+-webkit-transform:scale(1.2);
+transform:scale(1.2);
+border-radius:5px;
+}
+
+.hovereffect:hover .overlay {
+opacity:1;
+filter:alpha(opacity=100);
+border-radius:5px;
+}
+
+.hovereffect:hover h2,.hovereffect:hover a.info {
+opacity:1;
+filter:alpha(opacity=100);
+-ms-transform:translatey(0);
+-webkit-transform:translatey(0);
+transform:translatey(0);
+border-radius:5px;
+}
+
+.hovereffect:hover a.info {
+-webkit-transition-delay:.2s;
+transition-delay:.2s;
+border-radius:5px;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/css/carousel.css
----------------------------------------------------------------------
diff --git a/docs/site/home/css/carousel.css b/docs/site/home/css/carousel.css
new file mode 100644
index 0000000..a4eef64
--- /dev/null
+++ b/docs/site/home/css/carousel.css
@@ -0,0 +1,417 @@
+/* Bootstrap items to overWrite */
+
+.carouselGrid-inner > .item > img,
+.carouselGrid-inner > .item > a > img {
+  display: block;
+  max-width: 100%;
+  height: auto;
+}
+
+.carouselGrid-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+}
+
+.carouselGrid-inner > .item {
+  position: relative;
+  display: none;
+  -webkit-transition: 1s ease-in-out left;
+       -o-transition: 1s ease-in-out left;
+          transition: 1s ease-in-out left;
+    -webkit-backface-visibility: hidden;
+            backface-visibility: hidden;
+}
+
+.carouselGrid-inner > .item > img,
+.carouselGrid-inner > .item > a > img {
+  line-height: 1;
+}
+
+
+
+@media all and (transform-3d), (-webkit-transform-3d) {
+ .carouselGrid-inner > .item {
+    -webkit-transition: -webkit-transform 1s ease-in-out;
+         -o-transition:      -o-transform 1s ease-in-out;
+            transition:         transform 1s ease-in-out;
+
+    -webkit-backface-visibility: hidden;
+            backface-visibility: hidden;
+    -webkit-perspective: 1000px;
+            perspective: 1000px;
+  }
+
+
+  @media (max-width: 767px) { /* xs */
+      .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(50%, 0, 0);
+              transform: translate3d(50%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-50%, 0, 0);
+              transform: translate3d(-50%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+  @media (min-width: 767px) and (max-width: 992px ) { /* sm */
+      .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(33%, 0, 0);
+              transform: translate3d(33%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-33%, 0, 0);
+              transform: translate3d(-33%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+  @media (min-width: 992px ) and (max-width: 1200px) { /* md */
+      .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(25%, 0, 0);
+              transform: translate3d(25%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-25%, 0, 0);
+              transform: translate3d(-25%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+  @media (min-width: 1200px ) { /* lg */
+
+    .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(20%, 0, 0);
+              transform: translate3d(20%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-20%, 0, 0);
+              transform: translate3d(-20%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+
+}
+
+  .carouselGrid-inner > .active,
+  .carouselGrid-inner > .next,
+  .carouselGrid-inner > .prev {
+    display: block;
+  }
+  .carouselGrid-inner > .active {
+    left: 0;
+  }
+  .carouselGrid-inner > .next,
+  .carouselGrid-inner > .prev {
+    position: absolute;
+    top: 0;
+    width: 100%;
+  }
+  .carouselGrid-inner > .next {
+    left: 100%;
+  }
+  .carouselGrid-inner > .prev {
+    left: -100%;
+  }
+  .carouselGrid-inner > .next.left,
+  .carouselGrid-inner > .prev.right {
+    left: 0;
+  }
+
+
+  @media (max-width: 767px) { /* xs */
+    .carouselGrid-inner > .active.left {
+      left: -50%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 50%;
+    }
+  }
+  @media (min-width: 767px) and (max-width: 992px ) { /* sm */
+        .carouselGrid-inner > .active.left {
+      left: -33%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 33%;
+    }
+  }
+  @media (min-width: 992px ) and (max-width: 1200px) { /* md */
+        .carouselGrid-inner > .active.left {
+      left: -25%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 25%;
+    }
+  }
+  @media (min-width: 1200px ) { /* lg */
+    .carouselGrid-inner > .active.left {
+      left: -20%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 20%;
+    }
+  }
+
+
+.carouselGrid-control {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 15%;
+  font-size: 20px;
+  color: #fff;
+  text-align: center;
+  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+  filter: alpha(opacity=50);
+  opacity: .5;
+}
+.carouselGrid-control.left {
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
+  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+  background-repeat: repeat-x;
+}
+.carouselGrid-control.right {
+  right: 0;
+  left: auto;
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
+  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+  background-repeat: repeat-x;
+}
+.carouselGrid-control:hover,
+.carouselGrid-control:focus {
+  color: #fff;
+  text-decoration: none;
+  filter: alpha(opacity=90);
+  outline: 0;
+  opacity: .9;
+}
+.carouselGrid-control .icon-prev,
+.carouselGrid-control .icon-next,
+.carouselGrid-control .glyphicon-chevron-left,
+.carouselGrid-control .glyphicon-chevron-right {
+  position: absolute;
+  top: 50%;
+  z-index: 5;
+  display: inline-block;
+  margin-top: -10px;
+}
+.carouselGrid-control .icon-prev,
+.carouselGrid-control .glyphicon-chevron-left {
+  left: 50%;
+  margin-left: -10px;
+}
+.carouselGrid-control .icon-next,
+.carouselGrid-control .glyphicon-chevron-right {
+  right: 50%;
+  margin-right: -10px;
+}
+.carouselGrid-control .icon-prev,
+.carouselGrid-control .icon-next {
+  width: 20px;
+  height: 20px;
+  font-family: serif;
+  line-height: 1;
+}
+.carouselGrid-control .icon-prev:before {
+  content: '\2039';
+}
+.carouselGrid-control .icon-next:before {
+  content: '\203a';
+}
+.carouselGrid-indicators {
+  position: absolute;
+  bottom: 10px;
+  left: 50%;
+  z-index: 15;
+  width: 60%;
+  padding-left: 0;
+  margin-left: -30%;
+  text-align: center;
+  list-style: none;
+}
+.carouselGrid-indicators li {
+  display: inline-block;
+  width: 10px;
+  height: 10px;
+  margin: 1px;
+  text-indent: -999px;
+  cursor: pointer;
+  background-color: #000 \9;
+  background-color: rgba(0, 0, 0, 0);
+  border: 1px solid #fff;
+  border-radius: 10px;
+}
+.carouselGrid-indicators .active {
+  width: 12px;
+  height: 12px;
+  margin: 0;
+  background-color: #fff;
+}
+.carouselGrid-caption {
+  position: absolute;
+  right: 15%;
+  bottom: 20px;
+  left: 15%;
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: #fff;
+  text-align: center;
+  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+}
+.carouselGrid-caption .btn {
+  text-shadow: none;
+}
+@media screen and (min-width: 768px) {
+  .carouselGrid-control .glyphicon-chevron-left,
+  .carouselGrid-control .glyphicon-chevron-right,
+  .carouselGrid-control .icon-prev,
+  .carouselGrid-control .icon-next {
+    width: 30px;
+    height: 30px;
+    margin-top: -15px;
+    font-size: 30px;
+  }
+  .carouselGrid-control .glyphicon-chevron-left,
+  .carouselGrid-control .icon-prev {
+    margin-left: -15px;
+  }
+  .carouselGrid-control .glyphicon-chevron-right,
+  .carouselGrid-control .icon-next {
+    margin-right: -15px;
+  }
+  .carouselGrid-caption {
+    right: 20%;
+    left: 20%;
+    padding-bottom: 30px;
+  }
+  .carouselGrid-indicators {
+    bottom: 20px;
+  }
+}
+
+.carouselGrid-control        { width:  4%; }
+.carouselGrid-control.left,.carouselGrid-control.right {margin-left:15px;background-image:none;}
+@media (max-width: 767px) { /* xs */
+  .carouselGrid-inner .active.left { left: -50%; }
+  .carouselGrid-inner .next        { left:  50%;}
+  .carouselGrid-inner .prev    { left: -50%; }
+  .active > div { display:none; }
+  .active > div:first-child { display:block; }
+  .active > div:first-child + div { display:block; }
+  .active > div:first-child + div + div { display:none; }
+  .active > div:first-child + div + div + div { display:none; }
+
+
+}
+@media (min-width: 767px) and (max-width: 992px ) { /* sm */
+  .carouselGrid-inner .active.left { left: -33%; }
+  .carouselGrid-inner .next        { left:  33%; }
+  .carouselGrid-inner .prev    { left: -33%; }
+  .active > div { display:none; }
+  .active > div:first-child { display:block; }
+  .active > div:first-child + div { display:block; }
+  .active > div:first-child + div + div { display:block; }
+  .active > div:first-child + div + div + div { display:none; }
+}
+
+
+
+@media (min-width: 992px ) and (max-width: 1200px) { /* md  */
+  .carouselGrid-inner .active.left { left: -25%;  }
+  .carouselGrid-inner .next        { left:  25%; }
+  .carouselGrid-inner .prev   { left: -25%;  }  
+  .active > div { display:none; }
+  .active > div:first-child { display:block; }
+  .active > div:first-child + div { display:block; }
+  .active > div:first-child + div + div { display:block; }
+  .active > div:first-child + div + div + div { display:block; }
+
+}
+
+@media (min-width: 1200px ) { /* lg */
+  .carouselGrid-inner .active.left { left: -20%; }
+  .carouselGrid-inner .next        { left:  20%;}
+  .carouselGrid-inner .prev   {left: -20%; }
+
+}
+
+
+/* NECESSARY FOR FIVE ITEMS (Extends Bootstrap to 5 columns) */
+/*http://www.wearesicc.com/quick-tips-5-column-layout-with-twitter-bootstrap/ */
+.col-xs-15,
+.col-sm-15,
+.col-md-15,
+.col-lg-15 {
+    position: relative;
+    min-height: 1px;
+    padding-right: 15px;
+    padding-left: 15px;
+}
+.col-xs-15 {
+    width: 33%;
+    float: left;
+}
+@media (min-width: 768px) {
+.col-sm-15 {
+        width: 33%;
+        float: left;
+    }
+}
+@media (min-width: 992px) {
+    .col-md-15 {
+        width: 33%;
+        float: left;
+    }
+}
+@media (min-width: 1200px) {
+    .col-lg-15 {
+        width: 33%;
+        float: left;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/css/prism.css
----------------------------------------------------------------------
diff --git a/docs/site/home/css/prism.css b/docs/site/home/css/prism.css
new file mode 100644
index 0000000..e25f79d
--- /dev/null
+++ b/docs/site/home/css/prism.css
@@ -0,0 +1,145 @@
+/* http://prismjs.com/download.html?themes=prism&languages=clike+javascript+groovy+jade */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+
+code[class*="language-"],
+pre[class*="language-"] {
+	color: #337ab7;
+	background: none;
+	text-shadow: 0 0px white;
+	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+	text-align: left;
+	white-space: pre;
+	word-spacing: normal;
+	word-break: normal;
+	word-wrap: normal;
+	line-height: 1.5;
+
+	-moz-tab-size: 4;
+	-o-tab-size: 4;
+	tab-size: 4;
+
+	-webkit-hyphens: none;
+	-moz-hyphens: none;
+	-ms-hyphens: none;
+	hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
+	text-shadow: none;
+	background: #f5f5f5;
+}
+
+pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
+code[class*="language-"]::selection, code[class*="language-"] ::selection {
+	text-shadow: none;
+	background: #f5f5f5;
+}
+
+@media print {
+	code[class*="language-"],
+	pre[class*="language-"] {
+		text-shadow: none;
+	}
+}
+
+.carousel-control.left, .carousel-control.right {
+    background-image: none
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+	padding: 0em;
+	margin: 0em 0;
+	overflow: auto;
+}
+
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+	background: #f5f5f5;
+}
+
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+	padding: 0em;
+	border-radius: 0em;
+	white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+	color: gray;
+}
+
+.token.punctuation {
+	color: black;
+}
+
+.namespace {
+	opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+	color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+	color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+	color: #a67f59;
+	background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword,
+.token.traversalSource {
+	color: #800080;
+}
+
+.token.function {
+	color: #337ab7;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+	color: #337ab7;
+}
+
+.token.important,
+.token.bold {
+	font-weight: bold;
+}
+.token.italic {
+	font-style: italic;
+}
+
+.token.entity {
+	cursor: help;
+	color: #337ab7;
+}
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/downloads.html
----------------------------------------------------------------------
diff --git a/docs/site/home/downloads.html b/docs/site/home/downloads.html
new file mode 100644
index 0000000..c7b27fa
--- /dev/null
+++ b/docs/site/home/downloads.html
@@ -0,0 +1,307 @@
+<!--
+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.
+-->
+<div class="container">
+ <div class="row">
+    <h3>Download Apache TinkerPop&trade;</h3>
+    <p><img src="images/gremlin-download.png"  style="float:right;width:150px;padding:10px;"/>Apache TinkerPop provides three packaged downloads per release version. The
+       <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a> and <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a>
+       downloads are binary distributions, which contain pre-packaged versions of these important TinkerPop applications that are designed to work out-of-the-box
+       when unpackaged. The source distribution is a snapshot of the source code and files used in the building of those  binary distributions.</p>
+    <p>TinkerPop also deploys artifacts to <a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.tinkerpop%22">Maven Central</a>, which is helpful to
+       developers who wish to depend on the various libraries that TinkerPop provides.
+    <br/>
+    <h4>Current Releases</h4>
+    <table class="table">
+        <tr>
+            <td>
+                <strong>3.2.3</strong> (latest, stable)
+            </td>
+            <td>
+                17-Oct-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.3/CHANGELOG.asciidoc#release-3-2-3">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.3/upgrade/#_tinkerpop_3_2_3">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.3/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.3/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-console-3.2.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-server-3.2.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-3.2.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.5</strong> (maintenance)
+            </td>
+            <td>
+                17-Oct-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.5/CHANGELOG.asciidoc#release-3-1-5">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.5/upgrade/#_tinkerpop_3_1_5">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.5/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.5/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-gremlin-console-3.1.5-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-gremlin-server-3.1.5-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-3.1.5-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+    </table>
+    <h4>Archived Releases</small></h4>
+    <table class="table">
+        <tr>
+            <td>
+                <strong>3.2.2</strong>
+            </td>
+            <td>
+                6-Sep-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.2/CHANGELOG.asciidoc#release-3-2-2">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.2/upgrade/#_tinkerpop_3_2_2">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.2/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.2/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-gremlin-console-3.2.2-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-gremlin-server-3.2.2-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-3.2.2-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.4</strong>
+            </td>
+            <td>
+                6-Sep-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.4/CHANGELOG.asciidoc#release-3-1-4">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.4/upgrade/#_tinkerpop_3_1_4">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.4/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.4/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-gremlin-console-3.1.4-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-gremlin-server-3.1.4-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-3.1.4-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.2.1</strong>
+            </td>
+            <td>
+                18-Jul-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.1/CHANGELOG.asciidoc#tinkerpop-321-release-date-july-18-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.1/upgrade/#_tinkerpop_3_2_1">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.1/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.1/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-gremlin-console-3.2.1-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-gremlin-server-3.2.1-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-tinkerpop-3.2.1-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.3</strong>
+            </td>
+            <td>
+                18-Jul-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.3/CHANGELOG.asciidoc#tinkerpop-313-release-date-july-18-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.3/upgrade/#_tinkerpop_3_1_3">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.3/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.3/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-gremlin-console-3.1.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-gremlin-server-3.1.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-tinkerpop-3.1.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.2.0-incubating</strong>
+            </td>
+            <td>
+                8-Apr-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.0-incubating/CHANGELOG.asciidoc#tinkerpop-320-release-date-april-8-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.0-incubating/upgrade/#_tinkerpop_3_2_0_2">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.0-incubating/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.0-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-gremlin-console-3.2.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-gremlin-server-3.2.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-tinkerpop-3.2.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.2-incubating</strong>
+            </td>
+            <td>
+                8-Apr-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.2-incubating/CHANGELOG.asciidoc#tinkerpop-312-release-date-april-8-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.2-incubating/upgrade/#_tinkerpop_3_1_2">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.2-incubating/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.2-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-gremlin-console-3.1.2-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-gremlin-server-3.1.2-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-tinkerpop-3.1.2-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.1-incubating</strong>
+            </td>
+            <td>
+                8-Feb-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.1-incubating/CHANGELOG.asciidoc#tinkerpop-311-release-date-february-8-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.1-incubating/upgrade/#_tinkerpop_3_1_1">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.1-incubating/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.1-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-gremlin-console-3.1.1-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-gremlin-server-3.1.1-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-tinkerpop-3.1.1-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.0-incubating</strong>
+            </td>
+            <td>
+                16-Nov-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.0-incubating/CHANGELOG.asciidoc#tinkerpop-310-release-date-november-16-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.0-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.0-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-gremlin-console-3.1.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-gremlin-server-3.1.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-tinkerpop-3.1.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.0.2-incubating</strong>
+            </td>
+            <td>
+                19-Oct-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.0.2-incubating/CHANGELOG.asciidoc#tinkerpop-302-release-date-october-19-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.0.2-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.0.2-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-gremlin-console-3.0.2-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-gremlin-server-3.0.2-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-tinkerpop-3.0.2-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.0.1-incubating</strong>
+            </td>
+            <td>
+                2-Sep-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.0.1-incubating/CHANGELOG.asciidoc#tinkerpop-301-release-date-september-2-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.0.1-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.0.1-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-gremlin-console-3.0.1-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-gremlin-server-3.0.1-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-tinkerpop-3.0.1-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.0.0-incubating</strong>
+            </td>
+            <td>
+                9-Jul-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.0.0-incubating/CHANGELOG.asciidoc#tinkerpop-300-release-date-july-9-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.0.0-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.0.0-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-gremlin-console-3.0.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-gremlin-server-3.0.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-tinkerpop-3.0.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+    </table>
+    <p><strong>Note</strong> that upgrade documentation was only introduced at 3.1.1-incubating which is why there are no links "upgrade" links in versions prior to that one.
+    <h4>Verifying Downloads</h4>
+    <p>All downloads have associated PGP and MD5 signatures to help verify a distribution provided by a mirror. To verify a distribution via PGP or GPG first download the
+       <a href="https://www.apache.org/dist/tinkerpop/KEYS">KEYS</a> file (it is important to use the linked file which is from the main distribution directory and not a
+       mirror. Next download the appropriate "asc" signature file for the relevant distribution (again, this file should come from the <a href="https://www.apache.org/dist/tinkerpop/">main
+       distribution directory</a> - note that older releases will have such files in the <a href="https://archive.apache.org/dist/tinkerpop/">archives</a> or if released under Apache
+       Incubator then they will be found in the <a href="https://archive.apache.org/dist/incubator/tinkerpop/">Incubator archives</a>).</p>
+    <p>Then verify the signatures as follows:</p>
+    <p>
+      <pre><code>
+      pgpk -a KEYS
+      pgpv apache-gremlin-console-x.y.z-bin.zip.asc
+      </code></pre>
+    </p>
+    <p>or</p>
+    <p>
+      <pre><code>
+      pgpk -ka KEYS
+      pgp apache-gremlin-console-x.y.z-bin.zip.asc
+      </code></pre>
+    </p>
+    <p>or</p>
+    <p>
+      <pre><code>
+      gpg --import KEYS
+      gpg --verify apache-gremlin-console-x.y.z-bin.zip.asc apache-gremlin-console-x.y.z-bin.zip
+      </code></pre>
+    </p>
+    <p>Alternatively, consider verifying the MD5 signature on the files. An MD5 signature consists of 32 hex characters, and a SHA1 signature consists of 40 hex characters.
+       Ensure that the generated signature string matches the signature string published in the files above.</p>
+ </div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/gremlin.html
----------------------------------------------------------------------
diff --git a/docs/site/home/gremlin.html b/docs/site/home/gremlin.html
new file mode 100644
index 0000000..4a626ca
--- /dev/null
+++ b/docs/site/home/gremlin.html
@@ -0,0 +1,396 @@
+<!--
+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.
+-->
+<img src="images/tinkerpop-cityscape.png" class="img-responsive" />
+<div class="container">
+ <div class="hero-unit" style="padding:10px">
+    <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
+    <p><font size="5">The Gremlin Graph Traversal Machine and Language</font></p>
+ </div>
+</div>
+<br/>
+<div class="container-fluid">
+ <div class="container">
+    <div class="row">
+       <div class="col-sm-10 col-md-10">
+          <a href="http://arxiv.org/abs/1508.03843">Gremlin</a> is the graph traversal language of <a href="http://tinkerpop.apache.org/">Apache TinkerPop</a>.
+          Gremlin is a <a href="https://en.wikipedia.org/wiki/Functional_programming">functional</a>, <a href="https://en.wikipedia.org/wiki/Dataflow_programming">data-flow</a>
+          language that enables users to succinctly express complex traversals on (or queries of) their application's property graph. Every Gremlin traversal is composed of a sequence of (potentially nested) steps. A step
+          performs an atomic operation on the data stream. Every step is either a <em>map</em>-step (transforming the objects in the stream), a <em>filter</em>-step (removing objects
+          from the stream), or a <em>sideEffect</em>-step (computing statistics about the stream). The Gremlin step library extends on these 3-fundamental operations to provide
+          users a rich collection of steps that they can compose in order to ask any conceivable question they may have of their data for Gremlin is <a href="http://arxiv.org/abs/1508.03843">Turing Complete</a>.
+       </div>
+       <div class="col-sm-2 col-md-2">
+          <img src="images/gremlin-head.png" width="100%">
+       </div>
+    </div>
+    <br/>
+    <div style="border-radius:3px;border:1px solid black;padding:10px;padding-left:10px;height:170px" id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000">
+       <!-- Indicators -->
+       <ol class="carousel-indicators carousel-indicators-numbers">
+          <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li>
+          <li data-target="#gremlinCarousel" data-slide-to="1">2</li>
+          <li data-target="#gremlinCarousel" data-slide-to="2">3</li>
+          <li data-target="#gremlinCarousel" data-slide-to="3">4</li>
+          <li data-target="#gremlinCarousel" data-slide-to="4">5</li>
+          <li data-target="#gremlinCarousel" data-slide-to="5">6</li>
+       </ol>
+       <div class="carousel-inner" role="listbox">
+          <div class="item active">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").
+  out("knows").
+  out("knows").
+  values("name")
+
+  </code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>What are the names of Gremlin's friends' friends?</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with name "gremlin."</li>
+                      <li>Traverse to the people that Gremlin knows.</li>
+                      <li>Traverse to the people those people know.</li>
+                      <li>Get those people's names.</li>
+                   </ol>
+                   <br/>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().match(
+  as("a").out("knows").as("b"),
+  as("a").out("created").as("c"),
+  as("b").out("created").as("c"),
+  as("c").in("created").count().is(2)).
+    select("c").by("name")</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>What are the names of the projects created by two friends?</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>...there exists some "a" who knows "b".</li>
+                      <li>...there exists some "a" who created "c".</li>
+                      <li>...there exists some "b" who created "c".</li>
+                      <li>...there exists some "c" created by 2 people.</li>
+                      <li>Get the name of all matching "c" projects.</li>
+                   </ol>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").
+  repeat(in("manages")).
+    until(has("title","ceo")).
+  path().by("name")
+
+</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get the managers from Gremlin to the CEO in the hiearchy.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with the name "gremlin."</li>
+                      <li>Traverse up the management chain...</li>
+                      <li>...until a person with the title of CEO is reached.</li>
+                      <li>Get name of the managers in the path traversed.</li>
+                   </ol>
+                   <br/>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").as("a").
+  out("created").in("created").
+    where(neq("a")).
+  groupCount().by("title")
+
+</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get the distribution of titles amongst Gremlin's collaborators.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with the name "gremlin" and label it "a."</li>
+                      <li>Get Gremlin's created projects and then who created them...</li>
+                      <li>...that are not Gremlin.</li>
+                      <li>Group count those collaborators by their titles.</li>
+                   </ol>
+                   <br/>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").
+  out("bought").aggregate("stash").
+  in("bought").out("bought").
+    where(not(within("stash"))).
+  groupCount().order(local).by(values,decr)
+</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get a ranked list of relevant products for Gremlin to purchase.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with the name "gremlin."</li>
+                      <li>Get the products Gremlin has purchased and save as "stash."</li>
+                      <li>Who else bought those products and what else did they buy...</li>
+                      <li>...that Gremlin has not already purchased.</li>
+                      <li>Group count the products and order by their relevance.</li>
+                   </ol>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().hasLabel("person").
+  pageRank().
+    by("friendRank").
+    by(outE("knows")).
+  order().by("friendRank",decr).
+  limit(10)</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get the 10 most central people in the knows-graph.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get all people vertices.</li>
+                      <li>Calculate their PageRank using knows-edges.</li>
+                      <li>Order the people by their friendRank score.</li>
+                      <li>Get the top 10 ranked people.</li>
+                   </ol>
+                </div>
+             </div>
+          </div>
+       </div>
+    </div>
+ </div>
+ <br/>
+ <div class="container">
+    <a name="oltp-and-olap-traversals"></a>
+    <h3>OLTP and OLAP Traversals</h3>
+    <br/>
+    Gremlin was designed according to the "write once, run anywhere"-philosophy. This means that not only can all TinkerPop-enabled
+    graph systems execute Gremlin traversals, but also, every Gremlin traversal can be evaluated as either a real-time database query
+    or as a batch analytics query. The former is known as an <em>online transactional process</em> (<a href="https://en.wikipedia.org/wiki/Online_transaction_processing">OLTP</a>) and the latter as an <em>online analytics
+    process</em> (<a href="https://en.wikipedia.org/wiki/Online_analytical_processing">OLAP</a>). This universality is made possible by the Gremlin traversal machine. This distributed, graph-based <a href="https://en.wikipedia.org/wiki/Virtual_machine#Abstract_virtual_machine_techniques">virtual machine</a>
+    understands how to coordinate the execution of a multi-machine graph traversal. Moreover, not only can the execution either be OLTP or
+    OLAP, it is also possible for certain subsets of a traversal to execute OLTP while others via OLAP. The benefit is that the user does
+    not need to learn both a database query language and a domain-specific BigData analytics language (e.g. Spark DSL, MapReduce, etc.).
+    Gremlin is all that is required to build a graph-based application because the Gremlin traversal machine will handle the rest.
+    <br/><br/>
+    <center><img src="images/oltp-and-olap.png" style="width:80%;" class="img-responsive"></center>
+ </div>
+ <br/>
+ <div class="container">
+    <a name="imperative-and-declarative-traversals"></a>
+    <h3>Imperative and Declarative Traversals</h3>
+    <br/>
+    <div class="row">
+       <div class="col-sm-7 col-md-8">
+          A Gremlin traversal can be written in either an <em>imperative</em> (<a href="https://en.wikipedia.org/wiki/Imperative_programming">procedural</a>) manner, a <em>declarative</em> (<a href="https://en.wikipedia.org/wiki/Declarative_programming">descriptive</a>) manner,
+          or in a hybrid manner containing both imperative and declarative aspects. An imperative Gremlin traversal tells the traversers how to proceed at each step in the traversal. For instance,
+          the imperative traversal on the right first places a traverser at the vertex denoting Gremlin. That traverser then splits itself across all of Gremlin's collaborators that are not Gremlin
+          himself. Next, the traversers walk to the managers of those collaborators to ultimately be grouped into a manager name count distribution. This traversal is imperative in that it tells the
+          traversers to "go here and then go there" in an explicit, procedural manner.
+       </div>
+       <div class="col-sm-5 col-md-4">
+          <pre style="padding:10px;">
+<code class="language-gremlin">g.V().has("name","gremlin").as("a").
+out("created").in("created").
+where(neq("a")).
+in("manages").
+groupCount().by("name")</code>
+</pre>
+       </div>
+    </div>
+    <p/>
+    <div class="row">
+       <div class="col-sm-5 col-md-4">
+          <pre style="padding:10px;">
+<code class="language-gremlin">g.V().match(
+as("a").has("name","gremlin"),
+as("a").out("created").as("b"),
+as("b").in("created").as("c"),
+as("c").in("manages").as("d"),
+where("a",neq("c"))).
+select("d").
+groupCount().by("name")</code>
+</pre>
+       </div>
+       <div class="col-sm-7 col-md-8">
+          A declarative Gremlin traversal does not tell the traversers the order in which to execute their walk, but instead, allows each traverser to select a pattern to execute from a collection
+          of (potentially nested) patterns. The <a href="http://tinkerpop.apache.org/docs/current/reference/#match-step">declarative traversal</a> on the left yields the same result as the imperative traversal above. However, the declarative traversal has the added benefit
+          that it leverages not only a compile-time query planner (like imperative traversals), but also a runtime query planner that chooses which traversal pattern to execute next based on the
+          historic statistics of each pattern -- favoring those patterns which tend to reduce/filter the most data.
+       </div>
+    </div>
+    <br/>
+    The user can write their traversals in any way they choose. However, ultimately when their traversal is compiled, and depending on the underlying execution engine
+    (i.e. an OLTP graph database or an OLAP graph processor), the user's traversal is rewritten by a set of <em><a href="http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy">traversal strategies</a></em> which do their best to determine the most optimal execution
+    plan based on an understanding of graph data access costs as well as the underlying data systems's unique capabilities (e.g. fetch the Gremlin vertex from the graph database's "name"-index).
+    Gremlin has been designed to give users flexibility in how they express their queries and graph system providers flexibility in how to efficiently evaluate traversals against their TinkerPop-enabled data system.
+ </div>
+ <br/>
+ <div class="container">
+    <a name="host-language-embedding"></a>
+    <h3>Host Language Embedding</h3>
+    <br/>
+    <div class="row">
+       <div class="col-sm-5 col-md-4">
+          <img src="images/gremlin-language-variants.png" class="img-responsive">
+       </div>
+       <div class="col-sm-7 col-md-8">
+          Classic database query languages, like <a href="https://en.wikipedia.org/wiki/SQL">SQL</a>, were conceived as being fundamentally different from the programming languages that would
+          ultimately use them in a production setting. For this reason, classical databases require the developer to code both in their native programming
+          language as well as in the database's respective query language. An argument can be made that the difference between "query languages" and
+          "programming languages" are not as great as we are taught to believe. Gremlin unifies this divide because traversals can be written in any
+          programming language that supports function <a href="https://en.wikipedia.org/wiki/Function_composition">composition</a> and <a href="https://en.wikipedia.org/wiki/Nested_function">nesting</a> (which every major programming language supports). In this way, the user's
+          Gremlin traversals are written along side their application code and benefit from the advantages afforded by the host language and its tooling
+          (e.g. type checking, syntax highlighting, dot completion, etc.). Various <a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin language variants</a> exist including: Gremlin-Java, Gremlin-Groovy, <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a>,
+          <a href="https://github.com/mpollmeier/gremlin-scala">Gremlin-Scala</a>, etc.
+       </div>
+       <div class="col-md-12">
+          <p><br/>The first example below shows a simple Java class. Note that the Gremlin traversal is expressed in Gremlin-Java and thus, is part of the user's application code. There is no need for the
+             developer to create a <code>String</code> representation of their query in (yet) another language to ultimately pass that <code>String</code> to the graph computing system and be returned a result set. Instead,
+             traversals are embedded in the user's host programming language and are on equal footing with all other application code. With Gremlin, users <strong>do not</strong> have to deal with the awkwardness exemplified
+             in the second example below which is a common anti-pattern found throughout the industry.
+          </p>
+       </div>
+       <br/><br/>
+       <div class="col-md-5">
+          <pre style="padding:10px;"><code class="language-gremlin">public class GremlinTinkerPopExample {
+public void run(String name, String property) {
+
+Graph graph = GraphFactory.open(...);
+GraphTraversalSource g = graph.traversal();
+
+double avg = g.V().has("name",name).
+           out("knows").out("created").
+           values(property).mean().next();
+
+System.out.println("Average rating: " + avg);
+}
+}
+
+
+</code>
+</pre>
+       </div>
+       <div class="col-md-7">
+          <pre style="padding:10px;"><code class="language-gremlin">public class SqlJdbcExample {
+public void run(String name, String property) {
+
+Connection connection = DriverManager.getConnection(...)
+Statement statement = connection.createStatement();
+ResultSet result = statement.executeQuery(
+"SELECT AVG(pr." + property + ") as AVERAGE FROM PERSONS p1" +
+"INNER JOIN KNOWS k ON k.person1 = p1.id " +
+"INNER JOIN PERSONS p2 ON p2.id = k.person2 " +
+"INNER JOIN CREATED c ON c.person = p2.id " +
+"INNER JOIN PROJECTS pr ON pr.id = c.project " +
+  "WHERE p.name = '" + name + "');
+
+System.out.println("Average rating: " + result.next().getDouble("AVERAGE")
+}
+}</code>
+</pre>
+       </div>
+       <div class="col-md-12">
+          <p><br/>Behind the scenes, a Gremlin traversal will evaluate locally against an embedded graph database, serialize itself across the network to a remote
+             graph database, or send itself to an OLAP processor for cluster-wide distributed execution. The traversal source definition determines where the traversal executes. Once a traversal source is
+             defined it can be used over and over again in a manner analogous to a database connection. The ultimate effect is that the user "feels" that their data and their traversals are all
+             co-located in their application and accessible via their application's native programming language. The "query language/programming language"-divide is bridged by Gremlin.
+          </p>
+          <br/>
+       </div>
+       <div class="col-md-12">
+          <pre style="padding:10px;"><code class="language-gremlin">Graph graph = GraphFactory.open(...);
+GraphTraversalSource g;
+g = graph.traversal();                                                         // local OLTP
+g = graph.traversal().withRemote(DriverRemoteConnection.using("server.yaml"))  // remote OLTP
+g = graph.traversal().withComputer(SparkGraphComputer.class);                  // distributed OLAP
+g = graph.traversal().withComputer(GiraphGraphComputer.class);                 // distributed OLAP</code>
+</pre>
+       </div>
+       <br/>
+    </div>
+    <div class="container">
+       <hr/>
+       <h4>Related Resources</h4>
+       <br/>
+       <div class="carousel slide" data-ride="carousel" data-type="multi" data-interval="7000" id="relatedResources">
+          <div class="carouselGrid-inner">
+             <div class="item active">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://academy.datastax.com/resources/getting-started-graph-databases"><img src="images/resources/graph-databases-101-resource.png" width="100%" /></a></div>
+             </div>
+             <div class="item">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://datastax.com/dev/blog/the-benefits-of-the-gremlin-graph-traversal-machine"><img src="images/resources/benefits-gremlin-machine-resource.png" width="100%" /></a></div>
+             </div>
+             <div class="item">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://arxiv.org/abs/1508.03843"><img src="images/resources/arxiv-article-resource.png" width="100%" /></a></div>
+             </div>
+             <div class="item">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://sql2gremlin.com/"><img src="images/resources/sql-2-gremlin-resource.png" width="100%" /></a></div>
+             </div>
+          </div>
+          <a class="left carouselGrid-control" href="#relatedResources" data-slide="prev">
+          <span class="icon-prev" aria-hidden="true"></span>
+          <span class="sr-only">Previous</span>
+          </a>
+          <a class="right carouselGrid-control" href="#relatedResources" data-slide="next">
+          <span class="icon-next" aria-hidden="true"></span>
+          <span class="sr-only">Next</span>
+          </a>
+       </div>
+       <script>
+          $('.carousel[data-type="multi"] .item').each(function(){
+            var next = $(this).next();
+            if (!next.length) { // if ther isn't a next
+              next = $(this).siblings(':first'); // this is the first
+            }
+            next.children(':first-child').clone().appendTo($(this)); // put the next ones on the array
+
+            for (var i=0;i<2;i++) { // THIS LOOP SPITS OUT EXTRA ITEMS TO THE CAROUSEL
+              next=next.next();
+              if (!next.length) {
+                next = $(this).siblings(':first');
+              }
+              next.children(':first-child').clone().appendTo($(this));
+            }
+
+          });
+       </script>
+    </div>
+ </div>
+</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/apache-tinkerpop-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/apache-tinkerpop-logo.png b/docs/site/home/images/apache-tinkerpop-logo.png
new file mode 100644
index 0000000..8d222ed
Binary files /dev/null and b/docs/site/home/images/apache-tinkerpop-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/blueprints-handdrawn.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/blueprints-handdrawn.png b/docs/site/home/images/blueprints-handdrawn.png
new file mode 100644
index 0000000..8a7aba6
Binary files /dev/null and b/docs/site/home/images/blueprints-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/cityscape-button.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/cityscape-button.png b/docs/site/home/images/cityscape-button.png
new file mode 100644
index 0000000..85f986d
Binary files /dev/null and b/docs/site/home/images/cityscape-button.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/egg-logo.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/egg-logo.png b/docs/site/home/images/egg-logo.png
new file mode 100644
index 0000000..9d25899
Binary files /dev/null and b/docs/site/home/images/egg-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/favicon.ico
----------------------------------------------------------------------
diff --git a/docs/site/home/images/favicon.ico b/docs/site/home/images/favicon.ico
new file mode 100644
index 0000000..79782c4
Binary files /dev/null and b/docs/site/home/images/favicon.ico differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/furnace-handdrawn.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/furnace-handdrawn.png b/docs/site/home/images/furnace-handdrawn.png
new file mode 100644
index 0000000..53fa34b
Binary files /dev/null and b/docs/site/home/images/furnace-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/goutte-blue.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/goutte-blue.png b/docs/site/home/images/goutte-blue.png
new file mode 100644
index 0000000..224dd38
Binary files /dev/null and b/docs/site/home/images/goutte-blue.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/graph-globe.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/graph-globe.png b/docs/site/home/images/graph-globe.png
new file mode 100644
index 0000000..9f37885
Binary files /dev/null and b/docs/site/home/images/graph-globe.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/graph-vs-table.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/graph-vs-table.png b/docs/site/home/images/graph-vs-table.png
new file mode 100644
index 0000000..04945ca
Binary files /dev/null and b/docs/site/home/images/graph-vs-table.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/gremlin-apache.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-apache.png b/docs/site/home/images/gremlin-apache.png
new file mode 100644
index 0000000..e2d3bce
Binary files /dev/null and b/docs/site/home/images/gremlin-apache.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/gremlin-download.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-download.png b/docs/site/home/images/gremlin-download.png
new file mode 100644
index 0000000..d9e1efd
Binary files /dev/null and b/docs/site/home/images/gremlin-download.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/gremlin-github.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-github.png b/docs/site/home/images/gremlin-github.png
new file mode 100644
index 0000000..923bf43
Binary files /dev/null and b/docs/site/home/images/gremlin-github.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/gremlin-gym-mini.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-gym-mini.png b/docs/site/home/images/gremlin-gym-mini.png
new file mode 100644
index 0000000..5c3d023
Binary files /dev/null and b/docs/site/home/images/gremlin-gym-mini.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/gremlin-handdrawn.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-handdrawn.png b/docs/site/home/images/gremlin-handdrawn.png
new file mode 100644
index 0000000..ff3e9d3
Binary files /dev/null and b/docs/site/home/images/gremlin-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/gremlin-head.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-head.png b/docs/site/home/images/gremlin-head.png
new file mode 100644
index 0000000..ec54d65
Binary files /dev/null and b/docs/site/home/images/gremlin-head.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/gremlin-language-variants.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-language-variants.png b/docs/site/home/images/gremlin-language-variants.png
new file mode 100644
index 0000000..2c6ee8b
Binary files /dev/null and b/docs/site/home/images/gremlin-language-variants.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/images/gremlin-quill.png
----------------------------------------------------------------------
diff --git a/docs/site/home/images/gremlin-quill.png b/docs/site/home/images/gremlin-quill.png
new file mode 100644
index 0000000..bafcd63
Binary files /dev/null and b/docs/site/home/images/gremlin-quill.png differ


[04/47] tinkerpop git commit: Fixed test requirements in EdgeTest CTR

Posted by sp...@apache.org.
Fixed test requirements in EdgeTest CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/781ff3a0
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/781ff3a0
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/781ff3a0

Branch: refs/heads/TINKERPOP-1235
Commit: 781ff3a06907d6ebcfa54ab2985449c764474226
Parents: 1f84ad3
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 09:33:06 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 09:33:06 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                     |  1 +
 .../tinkerpop/gremlin/FeatureRequirementSet.java       |  2 +-
 .../apache/tinkerpop/gremlin/structure/EdgeTest.java   | 13 ++++---------
 3 files changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/781ff3a0/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 551a2be..0dafd1c 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 TinkerPop 3.1.6 (Release Date: NOT OFFICIALLY RELEASED YET)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+* Minor fixes to various test feature requirements in `gremlin-test`.
 
 [[release-3-1-5]]
 TinkerPop 3.1.5 (Release Date: October 17, 2016)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/781ff3a0/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/FeatureRequirementSet.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/FeatureRequirementSet.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/FeatureRequirementSet.java
index 3941584..6b0e2f2 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/FeatureRequirementSet.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/FeatureRequirementSet.java
@@ -56,7 +56,7 @@ public @interface FeatureRequirementSet {
             add(FeatureRequirement.Factory.create(Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES, Graph.Features.EdgeFeatures.class));
             add(FeatureRequirement.Factory.create(Graph.Features.VertexFeatures.FEATURE_ADD_PROPERTY, Graph.Features.VertexFeatures.class));
             add(FeatureRequirement.Factory.create(Graph.Features.VertexPropertyFeatures.FEATURE_STRING_VALUES, Graph.Features.VertexPropertyFeatures.class));
-            add(FeatureRequirement.Factory.create(Graph.Features.VertexPropertyFeatures.FEATURE_STRING_VALUES, Graph.Features.EdgePropertyFeatures.class));
+            add(FeatureRequirement.Factory.create(Graph.Features.EdgePropertyFeatures.FEATURE_STRING_VALUES, Graph.Features.EdgePropertyFeatures.class));
             add(FeatureRequirement.Factory.create(Graph.Features.EdgeFeatures.FEATURE_ADD_PROPERTY, Graph.Features.EdgeFeatures.class));
         }};
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/781ff3a0/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/EdgeTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/EdgeTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/EdgeTest.java
index 320afb4..b7c521d 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/EdgeTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/EdgeTest.java
@@ -21,6 +21,7 @@ package org.apache.tinkerpop.gremlin.structure;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.ExceptionCoverage;
 import org.apache.tinkerpop.gremlin.FeatureRequirement;
+import org.apache.tinkerpop.gremlin.FeatureRequirementSet;
 import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Test;
@@ -214,11 +215,7 @@ public class EdgeTest {
         }
 
         @Test
-        @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
-        @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_PROPERTY)
-        @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_REMOVE_PROPERTY)
-        @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
-        @FeatureRequirement(featureClass = Graph.Features.EdgePropertyFeatures.class, feature = FEATURE_STRING_VALUES)
+        @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
         public void shouldGetPropertyKeysOnEdge() {
             final Vertex v = graph.addVertex();
             final Edge e = v.addEdge("friend", v, "name", "marko", "location", "desert", "status", "dope");
@@ -272,10 +269,8 @@ public class EdgeTest {
         }
 
         @Test
-        @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES)
-        @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = Graph.Features.VertexFeatures.FEATURE_ADD_PROPERTY)
-        @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES)
-        @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_ADD_PROPERTY)
+        @FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
+        @FeatureRequirement(featureClass = Graph.Features.VertexPropertyFeatures.class, feature = Graph.Features.VertexPropertyFeatures.FEATURE_INTEGER_VALUES)
         @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = Graph.Features.EdgeFeatures.FEATURE_REMOVE_EDGES)
         public void shouldNotHaveAConcurrentModificationExceptionWhenIteratingAndRemovingAddingEdges() {
             final Vertex v1 = graph.addVertex("name", "marko");


[17/47] tinkerpop git commit: Added LICENSE for the various MIT licensed JS/css files that came with the home page

Posted by sp...@apache.org.
Added LICENSE for the various MIT licensed JS/css files that came with the home page


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/cc4bfeda
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/cc4bfeda
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/cc4bfeda

Branch: refs/heads/TINKERPOP-1235
Commit: cc4bfeda33d4a46a6ccf6589e45523b6a49b5790
Parents: d19da4f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Oct 20 11:48:31 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:50 2016 -0400

----------------------------------------------------------------------
 LICENSE            |  5 ++++-
 licenses/bootstrap | 22 ++++++++++++++++++++++
 licenses/jquery    | 21 +++++++++++++++++++++
 licenses/prism     | 21 +++++++++++++++++++++
 4 files changed, 68 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/cc4bfeda/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index d9f4154..e59d3be 100644
--- a/LICENSE
+++ b/LICENSE
@@ -207,4 +207,7 @@ MIT Licenses
 
 The Apache TinkerPop project bundles the following components under the MIT License:
 
-     normalize.css 2.1.2 (http://necolas.github.io/normalize.css/) - for details, see licenses/normalize
\ No newline at end of file
+     bootstrap/carousel 3.3.5 (http://getbootstrap.com/) - for details, see license/bootstrap
+     jquery 1.11.0 (https://jquery.com/) - for details, see license/jquery
+     normalize.css 2.1.2 (http://necolas.github.io/normalize.css/) - for details, see licenses/normalize
+     prism.css/js (http://prismjs.com) - for details, see licenses/prism
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/cc4bfeda/licenses/bootstrap
----------------------------------------------------------------------
diff --git a/licenses/bootstrap b/licenses/bootstrap
new file mode 100644
index 0000000..6abdce2
--- /dev/null
+++ b/licenses/bootstrap
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2011-2016 Twitter, Inc.
+Copyright (c) 2011-2016 The Bootstrap Authors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/cc4bfeda/licenses/jquery
----------------------------------------------------------------------
diff --git a/licenses/jquery b/licenses/jquery
new file mode 100644
index 0000000..6a62c1d
--- /dev/null
+++ b/licenses/jquery
@@ -0,0 +1,21 @@
+Copyright 2014 jQuery Foundation and other contributors
+http://jquery.com/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/cc4bfeda/licenses/prism
----------------------------------------------------------------------
diff --git a/licenses/prism b/licenses/prism
new file mode 100644
index 0000000..1941f98
--- /dev/null
+++ b/licenses/prism
@@ -0,0 +1,21 @@
+MIT LICENSE
+
+Copyright (c) 2012 Lea Verou
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file


[07/47] tinkerpop git commit: Merge branch 'TINKERPOP-1507' of https://github.com/apache/tinkerpop into tp32

Posted by sp...@apache.org.
Merge branch 'TINKERPOP-1507' of https://github.com/apache/tinkerpop into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/ea8cd65c
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/ea8cd65c
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/ea8cd65c

Branch: refs/heads/TINKERPOP-1235
Commit: ea8cd65ca933b36cbe3d47352d73d96ded3a7ad4
Parents: 16c7c24 2817c01
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Oct 26 08:12:02 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Oct 26 08:12:02 2016 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 docs/src/dev/io/graphson.asciidoc               |  1 +
 .../structure/io/graphson/GraphSONModule.java   |  4 +++
 .../gremlin/structure/io/gryo/GryoMapper.java   |  4 ++-
 .../tinkerpop/gremlin/util/CoreImports.java     |  6 +++-
 .../step/branch/GroovyBranchTest.groovy         | 13 ++++++++-
 .../step/branch/GroovyChooseTest.groovy         | 10 +++++++
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  3 ++
 .../gremlin/python/jsr223/PythonTranslator.java |  3 ++
 .../jython/gremlin_python/process/traversal.py  |  4 +++
 .../traversal/step/branch/BranchTest.java       | 29 ++++++++++++++++----
 .../traversal/step/branch/ChooseTest.java       | 19 +++++++++++++
 12 files changed, 89 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ea8cd65c/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index dc8da2e,d2cd065..74bfcef
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -26,7 -26,7 +26,8 @@@ image::https://raw.githubusercontent.co
  TinkerPop 3.2.4 (Release Date: NOT OFFICIALLY RELEASED YET)
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
 +* Deprecated the "performance" tests in `OptIn`.
+ * Added `Pick.none` and `Pick.any` to the serializers and importers.
  * Fixed a severe bug where `GraphComputer` strategies are not being loaded until the second use of the traversal source.
  
  [[release-3-2-3]]


[21/47] tinkerpop git commit: Moved site html files to main repo.

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/homepage.graffle
----------------------------------------------------------------------
diff --git a/site/home/images/homepage.graffle b/site/home/images/homepage.graffle
new file mode 100644
index 0000000..a5a0c78
--- /dev/null
+++ b/site/home/images/homepage.graffle
@@ -0,0 +1,63974 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>ApplicationVersion</key>
+	<array>
+		<string>com.omnigroup.OmniGrafflePro</string>
+		<string>139.18.0.187838</string>
+	</array>
+	<key>CreationDate</key>
+	<string>2015-11-17 20:30:24 +0000</string>
+	<key>Creator</key>
+	<string>Marko Rodriguez</string>
+	<key>FileType</key>
+	<string>flat</string>
+	<key>GraphDocumentVersion</key>
+	<integer>8</integer>
+	<key>GuidesLocked</key>
+	<string>NO</string>
+	<key>GuidesVisible</key>
+	<string>YES</string>
+	<key>ImageCounter</key>
+	<integer>12</integer>
+	<key>Images</key>
+	<array>
+		<dict>
+			<key>Extension</key>
+			<string>pdf</string>
+			<key>ID</key>
+			<integer>11</integer>
+			<key>RawData</key>
+			<data>
+			JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0
+			aCA1IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0K
+			eAGNls1uHDcQhO/zFDwHCMPu5u/VugXIwdAhD7CIIAR2AFsHv76/
+			4iixdtewg4Wwyx4Ou7qquqlP6X36lAqfWs6/z3+lP9M/yXqeq4Wl
+			L8nS7/z9nWr6I/328GLp8sJan5fLGXh4THYo8PjAaZZKLj7NVn/z
+			61fCO8nlY/JR8vCW5spjeSIQLfusyUg73I8PyW1lpTcrudaRvNTc
+			nXXp2cdItlqe0fY6bKVLstlzM56wI9pMRpKo6zCz7M66BScEJ87s
+			QOMN92y9C8Zqlj7cBswi16k3Wi5tclLJy1eyqHnMwQnTs3c2uFJ7
+			4qsqk3luS/sAoqct9+FsZ1c4Yc91+UGFVJXcC3hmWpZ56A0GTOiW
+			594XZ0YufaRVqYbdfeboNS2KXCyH5TnWQTFlApII54DNRsBkT+Er
+			1wJvvDB722tfwq68pawdMR01W46Yhw4oEyR6A8Yl1trVghIGGxgG
+			3FuKUrKV2BBtBWuVwLoNcgegYqArjLhbXtVTzJmNWkVBa4M1bxi6
+			/0dRUB9aiMKJNDzkG67YsKBFIEfpWwKPUBloMKZI50k94b7x1o3V
+			Lsfzvfve0QQlt2o25NgxqzDBTliIQ2weJXIbAA1Ew1xYVvq0jilm
+			xrlUiSAzDVYLigqFd9fSagOmAdNgcwy2qT7IFhF4pFAnNGayHyJm
+			uORZsC7zNN8vQBye2WkKTltSFToqYbEga4YDA/omNrEBb35IoWC1
+			Rl5dgiEtUkt8QzoEITIrAs2Rm0TnPbWZk2AW6mgVGOA5AkUKyHar
+			SmyUESJra7v7lqFLev4Oa08wSDvWfnhvNFeFydcI2M9IBLNAECQ9
+			Tu7kxVSj5w4imMlFA6GjhLwHre2wAW+aBkyNRudVlkyJS3raGxsU
+			64UYJun49TYSJMavwK3ZrR0xA8erI/rWAPnVnDS6D0bFxNYMLvGK
+			qF1q0xgoSVp6EBaVVr4YZofTAmWoTE0uoy5OD00Jp0OpM2xI+ru1
+			5tPVjsMqalKBVCWL0WZbkcU2CuQFUYc2Al4HeE4MwN4Yrpe05/Pt
+			jo/p6ZddJMj3N0XK6phFrcWgPKWolAQN4AvYlmlYH/+usdcZ+baj
+			Yzy5jY341Wvk2c4Rs2edd6Ybs2hn8gVpEPwNws1SwG9CGzi9UEfH
+			rV9+egsd3EJ7IkpEOpdRchdAp0L9HkwkJiec6vqg+4Gqnnvcd+eP
+			bzvlodWazMEkNnS/C8i01XUv0HOoZ5slfM/85X54TcT9+tNrFSME
+			s92YHWpuKXcdiTJomsNlJC5P9Sx3iXdO5qr5fyUlSgo6qNOEu6Zi
+			x10ErxgtojuQovo5YPiPYFd1dqboYxDyYb5ype/JpEt8cTcC/Tqy
+			Rx1SUdyr6ZgL9Bvy6ZIGu18HdL2FMWeYEJ2J61WlM/gGLlGt8uh2
+			NZPbdYvdJrxZn1fHFUwYpl/efwV1vNA9CmVuZHN0cmVhbQplbmRv
+			YmoKNSAwIG9iagoxMDc3CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBl
+			IC9QYWdlIC9QYXJlbnQgMyAwIFIgL1Jlc291cmNlcyA2IDAgUiAv
+			Q29udGVudHMgNCAwIFIgL01lZGlhQm94IFswIDAgNDAwIDQwMF0K
+			L0Nyb3BCb3ggWzYuODk0MDg2IDY1Ljg2OTMgMzk4LjIwMTIgMzM5
+			LjU3MTJdIC9CbGVlZEJveCBbMCAwIDQwMCA0MDBdIC9UcmltQm94
+			ClswIDAgNDAwIDQwMF0gL0FydEJveCBbMCAwIDQwMCA0MDBdID4+
+			CmVuZG9iago2IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiBdIC9D
+			b2xvclNwYWNlIDw8IC9DczEgNyAwIFIgPj4gPj4KZW5kb2JqCjgg
+			MCBvYmoKPDwgL0xlbmd0aCA5IDAgUiAvTiAzIC9BbHRlcm5hdGUg
+			L0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl
+			YW0KeAGdlndUU9kWh8+9N73QEiIgJfQaegkg0jtIFQRRiUmAUAKG
+			hCZ2RAVGFBEpVmRUwAFHhyJjRRQLg4Ji1wnyEFDGwVFEReXdjGsJ
+			7601896a/cdZ39nnt9fZZ+9917oAUPyCBMJ0WAGANKFYFO7rwVwS
+			E8vE9wIYEAEOWAHA4WZmBEf4RALU/L09mZmoSMaz9u4ugGS72yy/
+			UCZz1v9/kSI3QyQGAApF1TY8fiYX5QKUU7PFGTL/BMr0lSkyhjEy
+			FqEJoqwi48SvbPan5iu7yZiXJuShGlnOGbw0noy7UN6aJeGjjASh
+			XJgl4GejfAdlvVRJmgDl9yjT0/icTAAwFJlfzOcmoWyJMkUUGe6J
+			8gIACJTEObxyDov5OWieAHimZ+SKBIlJYqYR15hp5ejIZvrxs1P5
+			YjErlMNN4Yh4TM/0tAyOMBeAr2+WRQElWW2ZaJHtrRzt7VnW5mj5
+			v9nfHn5T/T3IevtV8Sbsz55BjJ5Z32zsrC+9FgD2JFqbHbO+lVUA
+			tG0GQOXhrE/vIADyBQC03pzzHoZsXpLE4gwnC4vs7GxzAZ9rLivo
+			N/ufgm/Kv4Y595nL7vtWO6YXP4EjSRUzZUXlpqemS0TMzAwOl89k
+			/fcQ/+PAOWnNycMsnJ/AF/GF6FVR6JQJhIlou4U8gViQLmQKhH/V
+			4X8YNicHGX6daxRodV8AfYU5ULhJB8hvPQBDIwMkbj96An3rWxAx
+			Csi+vGitka9zjzJ6/uf6Hwtcim7hTEEiU+b2DI9kciWiLBmj34Rs
+			wQISkAd0oAo0gS4wAixgDRyAM3AD3iAAhIBIEAOWAy5IAmlABLJB
+			PtgACkEx2AF2g2pwANSBetAEToI2cAZcBFfADXALDIBHQAqGwUsw
+			Ad6BaQiC8BAVokGqkBakD5lC1hAbWgh5Q0FQOBQDxUOJkBCSQPnQ
+			JqgYKoOqoUNQPfQjdBq6CF2D+qAH0CA0Bv0BfYQRmALTYQ3YALaA
+			2bA7HAhHwsvgRHgVnAcXwNvhSrgWPg63whfhG/AALIVfwpMIQMgI
+			A9FGWAgb8URCkFgkAREha5EipAKpRZqQDqQbuY1IkXHkAwaHoWGY
+			GBbGGeOHWYzhYlZh1mJKMNWYY5hWTBfmNmYQM4H5gqVi1bGmWCes
+			P3YJNhGbjS3EVmCPYFuwl7ED2GHsOxwOx8AZ4hxwfrgYXDJuNa4E
+			tw/XjLuA68MN4SbxeLwq3hTvgg/Bc/BifCG+Cn8cfx7fjx/GvyeQ
+			CVoEa4IPIZYgJGwkVBAaCOcI/YQRwjRRgahPdCKGEHnEXGIpsY7Y
+			QbxJHCZOkxRJhiQXUiQpmbSBVElqIl0mPSa9IZPJOmRHchhZQF5P
+			riSfIF8lD5I/UJQoJhRPShxFQtlOOUq5QHlAeUOlUg2obtRYqpi6
+			nVpPvUR9Sn0vR5Mzl/OX48mtk6uRa5Xrl3slT5TXl3eXXy6fJ18h
+			f0r+pvy4AlHBQMFTgaOwVqFG4bTCPYVJRZqilWKIYppiiWKD4jXF
+			USW8koGStxJPqUDpsNIlpSEaQtOledK4tE20Otpl2jAdRzek+9OT
+			6cX0H+i99AllJWVb5SjlHOUa5bPKUgbCMGD4M1IZpYyTjLuMj/M0
+			5rnP48/bNq9pXv+8KZX5Km4qfJUilWaVAZWPqkxVb9UU1Z2qbapP
+			1DBqJmphatlq+9Uuq43Pp893ns+dXzT/5PyH6rC6iXq4+mr1w+o9
+			6pMamhq+GhkaVRqXNMY1GZpumsma5ZrnNMe0aFoLtQRa5VrntV4w
+			lZnuzFRmJbOLOaGtru2nLdE+pN2rPa1jqLNYZ6NOs84TXZIuWzdB
+			t1y3U3dCT0svWC9fr1HvoT5Rn62fpL9Hv1t/ysDQINpgi0Gbwaih
+			iqG/YZ5ho+FjI6qRq9Eqo1qjO8Y4Y7ZxivE+41smsImdSZJJjclN
+			U9jU3lRgus+0zwxr5mgmNKs1u8eisNxZWaxG1qA5wzzIfKN5m/kr
+			Cz2LWIudFt0WXyztLFMt6ywfWSlZBVhttOqw+sPaxJprXWN9x4Zq
+			42Ozzqbd5rWtqS3fdr/tfTuaXbDdFrtOu8/2DvYi+yb7MQc9h3iH
+			vQ732HR2KLuEfdUR6+jhuM7xjOMHJ3snsdNJp9+dWc4pzg3OowsM
+			F/AX1C0YctFx4bgccpEuZC6MX3hwodRV25XjWuv6zE3Xjed2xG3E
+			3dg92f24+ysPSw+RR4vHlKeT5xrPC16Il69XkVevt5L3Yu9q76c+
+			Oj6JPo0+E752vqt9L/hh/QL9dvrd89fw5/rX+08EOASsCegKpARG
+			BFYHPgsyCRIFdQTDwQHBu4IfL9JfJFzUFgJC/EN2hTwJNQxdFfpz
+			GC4sNKwm7Hm4VXh+eHcELWJFREPEu0iPyNLIR4uNFksWd0bJR8VF
+			1UdNRXtFl0VLl1gsWbPkRoxajCCmPRYfGxV7JHZyqffS3UuH4+zi
+			CuPuLjNclrPs2nK15anLz66QX8FZcSoeGx8d3xD/iRPCqeVMrvRf
+			uXflBNeTu4f7kufGK+eN8V34ZfyRBJeEsoTRRJfEXYljSa5JFUnj
+			Ak9BteB1sl/ygeSplJCUoykzqdGpzWmEtPi000IlYYqwK10zPSe9
+			L8M0ozBDuspp1e5VE6JA0ZFMKHNZZruYjv5M9UiMJJslg1kLs2qy
+			3mdHZZ/KUcwR5vTkmuRuyx3J88n7fjVmNXd1Z752/ob8wTXuaw6t
+			hdauXNu5Tnddwbrh9b7rj20gbUjZ8MtGy41lG99uit7UUaBRsL5g
+			aLPv5sZCuUJR4b0tzlsObMVsFWzt3WazrWrblyJe0fViy+KK4k8l
+			3JLr31l9V/ndzPaE7b2l9qX7d+B2CHfc3em681iZYlle2dCu4F2t
+			5czyovK3u1fsvlZhW3FgD2mPZI+0MqiyvUqvakfVp+qk6oEaj5rm
+			vep7t+2d2sfb17/fbX/TAY0DxQc+HhQcvH/I91BrrUFtxWHc4azD
+			z+ui6rq/Z39ff0TtSPGRz0eFR6XHwo911TvU1zeoN5Q2wo2SxrHj
+			ccdv/eD1Q3sTq+lQM6O5+AQ4ITnx4sf4H++eDDzZeYp9qukn/Z/2
+			ttBailqh1tzWibakNml7THvf6YDTnR3OHS0/m/989Iz2mZqzymdL
+			z5HOFZybOZ93fvJCxoXxi4kXhzpXdD66tOTSna6wrt7LgZevXvG5
+			cqnbvfv8VZerZ645XTt9nX297Yb9jdYeu56WX+x+aem172296XCz
+			/ZbjrY6+BX3n+l37L972un3ljv+dGwOLBvruLr57/17cPel93v3R
+			B6kPXj/Mejj9aP1j7OOiJwpPKp6qP6391fjXZqm99Oyg12DPs4hn
+			j4a4Qy//lfmvT8MFz6nPK0a0RupHrUfPjPmM3Xqx9MXwy4yX0+OF
+			vyn+tveV0auffnf7vWdiycTwa9HrmT9K3qi+OfrW9m3nZOjk03dp
+			76anit6rvj/2gf2h+2P0x5Hp7E/4T5WfjT93fAn88ngmbWbm3/eE
+			8/sKZW5kc3RyZWFtCmVuZG9iago5IDAgb2JqCjI2MTIKZW5kb2Jq
+			CjcgMCBvYmoKWyAvSUNDQmFzZWQgOCAwIFIgXQplbmRvYmoKMyAw
+			IG9iago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNjEy
+			IDc5Ml0gL0NvdW50IDEgL0tpZHMgWyAyIDAgUiBdID4+CmVuZG9i
+			agoxMCAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMyAw
+			IFIgPj4KZW5kb2JqCjExIDAgb2JqCihNYWMgT1MgWCAxMC44LjUg
+			UXVhcnR6IFBERkNvbnRleHQpCmVuZG9iagoxMiAwIG9iagooRDoy
+			MDE2MDUwMTAwNTQ0M1owMCcwMCcpCmVuZG9iagoxIDAgb2JqCjw8
+			IC9Qcm9kdWNlciAxMSAwIFIgL0NyZWF0aW9uRGF0ZSAxMiAwIFIg
+			L01vZERhdGUgMTIgMCBSID4+CmVuZG9iagp4cmVmCjAgMTMKMDAw
+			MDAwMDAwMCA2NTUzNSBmIAowMDAwMDA0NDc1IDAwMDAwIG4gCjAw
+			MDAwMDExOTMgMDAwMDAgbiAKMDAwMDAwNDI0OCAwMDAwMCBuIAow
+			MDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDExNzMgMDAwMDAgbiAK
+			MDAwMDAwMTQxMiAwMDAwMCBuIAowMDAwMDA0MjEzIDAwMDAwIG4g
+			CjAwMDAwMDE0ODAgMDAwMDAgbiAKMDAwMDAwNDE5MyAwMDAwMCBu
+			IAowMDAwMDA0MzMxIDAwMDAwIG4gCjAwMDAwMDQzODEgMDAwMDAg
+			biAKMDAwMDAwNDQzMyAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXpl
+			IDEzIC9Sb290IDEwIDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8Mjdi
+			NGQ5NmFmZWI2OGU0NjE5ZmI0YTlkNTJhZWJjMmM+CjwyN2I0ZDk2
+			YWZlYjY4ZTQ2MTlmYjRhOWQ1MmFlYmMyYz4gXSA+PgpzdGFydHhy
+			ZWYKNDU1MAolJUVPRgo=
+			</data>
+		</dict>
+		<dict>
+			<key>Extension</key>
+			<string>tiff</string>
+			<key>ID</key>
+			<integer>9</integer>
+			<key>RawData</key>
+			<data>
+			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
+			B4h5k

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/logos/blazegraph-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/blazegraph-logo.png b/site/home/images/logos/blazegraph-logo.png
new file mode 100644
index 0000000..f1b00b9
Binary files /dev/null and b/site/home/images/logos/blazegraph-logo.png differ


[40/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/js/jquery-1.11.0.min.js
----------------------------------------------------------------------
diff --git a/docs/site/home/js/jquery-1.11.0.min.js b/docs/site/home/js/jquery-1.11.0.min.js
new file mode 100644
index 0000000..046e93a
--- /dev/null
+++ b/docs/site/home/js/jquery-1.11.0.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"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){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(th
 is,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.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||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return n
 ull!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!
 1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[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;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(argum
 ents,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;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-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="
 \\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",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(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),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-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){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 db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElemen
 tsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return functi
 on(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(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 mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").le
 ngth}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(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.getE
 lementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|
 ")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.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},z=b?function(a,b){if(a===b)return j=!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===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]==
 =k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=n
 ull,a},e=db.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=db.selectors={cacheLength:50,createPseudo:fb,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(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===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]||db.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]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.leng
 th)&&(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(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.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+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},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.toLower
 Case(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));retur
 n d[s]?fb(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),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?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===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!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:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nt
 h=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=jb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=kb(b);function nb(){}nb.prototype=d.filters=d.pseudos,d.setFilters=new nb;function ob(a,b){var c,e,f,g,h,i,j,k=x[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?db.error(a):x(a,i).slice(0)}function pb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1==
 =b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(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 sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(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.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=
 g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueS
 ort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition
 (l.createElement("div"))}),gb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a
 ,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a
 ){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];ret
 urn d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&
 11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[]
 ,function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c
 .slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return
  e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener(
 "DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.ap
 pendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){va
 r f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f
+}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.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=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("dat
 a-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.
 length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.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=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},W=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;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},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a>",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}
 catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.spec
 ial[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.rem
 ove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocum
 ent||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace
 ))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=$.test(e)?this.mouseHooks:Z.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElem
 ent||z),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||z,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}}
 ,special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==db()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===db()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=z.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===L&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.ori
 ginalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&(a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault())?bb:cb):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:cb,isPropagationStopped:cb,isImmediatePropagationStopped:cb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=bb,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=bb,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.orig
 Type,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submitBubbles||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?b.form:void 0;c&&!n._data(c,"submitBubbles")&&(n.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),n._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.changeBubbles||(n.event.special.change={setup:function(){return Y.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),n.event.add(this,"click._change",function(a){this._just_changed&&!a.isT
 rigger&&(this._just_changed=!1),n.event.simulate("change",this,a,!0)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;Y.test(b.nodeName)&&!n._data(b,"changeBubbles")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a,!0)}),n._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!Y.test(this.nodeName)}}),l.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEve
 ntListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=cb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return n().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(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=cb),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHan
 dler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});function eb(a){var b=fb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var fb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gb=/ jQuery\d+="(?:null|\d+)"/g,hb=new RegExp("<(?:"+fb+")[\\s/>]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/<tbody/i,mb=/<|&#?\w+;/,nb=/<(?:script|style|link)/i,ob=/checked\s*(?:[^=]|=\s*.checked.)/i,pb=/^$|\/(?:java|ecma)script/i,qb=/^true\/(.*)/,rb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody>
 <colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type
 "),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f
 ,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1></$2>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?"<table>"!==k[1]||lb.test(f)?0:h:h.firstCh
 ild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDo
 cument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.fir
 stChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=
 n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c
 .createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Db[0].contentWindow||Db[0].contentDocument).document,b.write(),b.close(),c=Fb(a,b),Db.detach()),Eb[a]=c),c}!function(){var a,b,c=z.createElement("div"),d="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],a.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(a.style.opacity),l.cssFloat=!!a.style.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===c.style.backgroundClip,a=c=null,l.shrinkWrapBlocks=function(){var a,c,e,f;if(
 null==b){if(a=z.getElementsByTagName("body")[0],!a)return;f="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",c=z.createElement("div"),e=z.createElement("div"),a.appendChild(c).appendChild(e),b=!1,typeof e.style.zoom!==L&&(e.style.cssText=d+";width:1px;padding:1px;zoom:1",e.innerHTML="<div></div>",e.firstChild.style.width="5px",b=3!==e.offsetWidth),a.removeChild(c),a=c=e=null}return b}}();var Hb=/^margin/,Ib=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Jb,Kb,Lb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Jb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),Ib.test(g)&&Hb.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+""}):z.documentElement.currentStyle&&(Jb=function(a){return a.currentStyle},Kb=fun
 ction(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ib.test(g)&&!Lb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Mb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h=z.createElement("div"),i="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",j="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";h.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",b=h.getElementsByTagName("a")[0],b.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(b.style.opacity),l.cssFloat=!!b.style.cssFloat,h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-bo
 x"===h.style.backgroundClip,b=h=null,n.extend(l,{reliableHiddenOffsets:function(){if(null!=c)return c;var a,b,d,e=z.createElement("div"),f=z.getElementsByTagName("body")[0];if(f)return e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=z.createElement("div"),a.style.cssText=i,f.appendChild(a).appendChild(e),e.innerHTML="<table><tr><td></td><td>t</td></tr></table>",b=e.getElementsByTagName("td"),b[0].style.cssText="padding:0;margin:0;border:0;display:none",d=0===b[0].offsetHeight,b[0].style.display="",b[1].style.display="none",c=d&&0===b[0].offsetHeight,f.removeChild(a),e=f=null,c},boxSizing:function(){return null==d&&k(),d},boxSizingReliable:function(){return null==e&&k(),e},pixelPosition:function(){return null==f&&k(),f},reliableMarginRight:function(){var b,c,d,e;if(null==g&&a.getComputedStyle){if(b=z.getElementsByTagName("body")[0],!b)return;c=z.createElement("div"),d=z.createElement("div"),c.style.cssText=i,b.appendC
 hild(c).appendChild(d),e=d.appendChild(z.createElement("div")),e.style.cssText=d.style.cssText=j,e.style.marginRight=e.style.width="0",d.style.width="1px",g=!parseFloat((a.getComputedStyle(e,null)||{}).marginRight),b.removeChild(c)}return g}});function k(){var b,c,h=z.getElementsByTagName("body")[0];h&&(b=z.createElement("div"),c=z.createElement("div"),b.style.cssText=i,h.appendChild(b).appendChild(c),c.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;display:block;padding:1px;border:1px;width:4px;margin-top:1%;top:1%",n.swap(h,null!=h.style.zoom?{zoom:1}:{},function(){d=4===c.offsetWidth}),e=!0,f=!1,g=!0,a.getComputedStyle&&(f="1%"!==(a.getComputedStyle(c,null)||{}).top,e="4px"===(a.getComputedStyle(c,null)||{width:"4px"}).width),h.removeChild(b),c=h=null)}}(),n.swap=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};var Nb=/alpha\([^)]*\)/i,
 Ob=/opacity\s*=\s*([^)]*)/,Pb=/^(none|table(?!-c[ea]).+)/,Qb=new RegExp("^("+T+")(.*)$","i"),Rb=new RegExp("^([+-])=("+T+")","i"),Sb={position:"absolute",visibility:"hidden",display:"block"},Tb={letterSpacing:0,fontWeight:400},Ub=["Webkit","O","Moz","ms"];function Vb(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ub.length;while(e--)if(b=Ub[e]+c,b in a)return b;return d}function Wb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=n._data(d,"olddisplay",Gb(d.nodeName)))):f[g]||(e=V(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Xb(a,b,c){var d=Qb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Yb(a,b,c,d,e){for(var f=c===(d?"border":"content")?
 4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Zb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Jb(a),g=l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Kb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ib.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Yb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Kb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a
 .style;if(b=n.cssProps[h]||(n.cssProps[h]=Vb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Rb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]="",i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Vb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Kb(a,b,d)),"normal"===f&&b in Tb&&(f=Tb[b]),""===c||c?(e=parseFloat(f),c===!0||n.isNumeric(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&Pb.test(n.css(a,"display"))?n.swap(a,Sb,function(){return Zb(a,b,d)}):Zb(a,b,d):void 0},set:function(a,c,d){var e=d&&Jb(a);return Xb(a,c,d?Yb(a,b,d,l.boxSiz
 ing()&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Ob.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Nb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Nb.test(f)?f.replace(Nb,e):f+" "+e)}}),n.cssHooks.marginRight=Mb(l.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},Kb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Hb.test(a)||(n.cssHooks[a+b].set=Xb)}),n.fn.extend({css:function(a,b){return W(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for
 (d=Jb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)
+},a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}n.Tween=$b,$b.prototype={constructor:$b,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=$b.propHooks[this.prop];return a&&a.get?a.get(this):$b.propHooks._default.get(this)},run:function(a){var b,c=$b.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):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):$b.propHooks._default.set(this),this}},$b.prototype.init.prototype=$b.prototype,$b.propHoo
 ks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},$b.propHooks.scrollTop=$b.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=$b.prototype.init,n.fx.step={};var _b,ac,bc=/^(?:toggle|show|hide)$/,cc=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),dc=/queueHooks$/,ec=[jc],fc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=cc.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&cc.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=
 c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&V(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k=Gb(a.nodeName),"none"===j&&(j=k),"inline"===j&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==k?p.zoom=1:p.dis
 play="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],bc.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}if(!n.isEmptyObject(o)){r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=ic(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.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 lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(function(){
 delete i.elem}),i=function(){if(e)return!1;for(var b=_b||gc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:_b||gc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.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;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(kc(k,j.opts.specialEasing);g>f;f++)if(d=ec[f].call(j,a,k,j.opts))return d;return n.map(k,ic,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(
 j.opts.always)}n.Animation=n.extend(lc,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],fc[c]=fc[c]||[],fc[c].unshift(b)},prefilter:function(a,b){b?ec.unshift(a):ec.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=lc(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?thi
 s.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=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&dc.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)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.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;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,a
 rguments):this.animate(hc(b,!0),a,d,e)}}),n.each({slideDown:hc("show"),slideUp:hc("hide"),slideToggle:hc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(_b=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),_b=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ac||(ac=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(ac),ac=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e=z.createElement("div");e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=e.getE
 lementsByTagName("a")[0],c=z.createElement("select"),d=c.appendChild(z.createElement("option")),b=e.getElementsByTagName("input")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==e.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=d.selected,l.enctype=!!z.createElement("form").enctype,c.disabled=!0,l.optDisabled=!d.disabled,b=z.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value,a=b=c=d=e=null}();var mc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||
 (this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(mc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.text(a)}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(l.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a)
 .val(),b)>=0:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var nc,oc,pc=n.expr.attrHandle,qc=/^(?:checked|selected)$/i,rc=l.getSetAttribute,sc=l.input;n.fn.extend({attr:function(a,b){return W(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===L?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?oc:nc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(F);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?sc&&rc||!qc.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.rem
 oveAttribute(rc?c:d)},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),oc={set:function(a,b,c){return b===!1?n.removeAttr(a,c):sc&&rc||!qc.test(c)?a.setAttribute(!rc&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=pc[b]||n.find.attr;pc[b]=sc&&rc||!qc.test(b)?function(a,b,d){var e,f;return d||(f=pc[b],pc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,pc[b]=f),e}:function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),sc&&rc||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):nc&&nc.set(a,b,c)}}),rc||(nc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},pc.id=pc.name=pc.coords=function(a,b,c){var d;return c?void
  0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:nc.set},n.attrHooks.contenteditable={set:function(a,b,c){nc.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var tc=/^(?:input|select|textarea|button|object)$/i,uc=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return W(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.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=n.find.attr(a,"tabindex");return b?parseInt(b,10):tc.test(a.nodeName)||uc.test(a.nodeName)&&a.href?0:-1}}}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var vc=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(
 c.className?(" "+c.className+" ").replace(vc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(F)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===L||"boolea
 n"===c)&&(this.className&&n._data(this,"__className__",this.className),this.className=this.className||a===!1?"":n._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(vc," ").indexOf(b)>=0)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},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)}});var wc=n.now(),xc=/\?/,yc=/(,)|(
 \[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(yc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var zc,Ac,Bc=/#.*$/,Cc=/([?&])_=[^&]*/,Dc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ec=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Fc=/^(?:GET|HEAD)$/,Gc=/^\/\//,Hc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ic={},Jc={},Kc="*/".concat("*");try{Ac=location.href}c
 atch(Lc){Ac=z.createElement("a"),Ac.href="",Ac=Ac.href}zc=Hc.exec(Ac.toLowerCase())||[];function Mc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(F)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nc(a,b,c,d){var e={},f=a===Jc;function g(h){var i;return e[h]=!0,n.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 Oc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Pc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;bre
 ak}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Qc(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}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ac,type:"GET",isLocal:Ec.test(zc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text
 /javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Oc(Oc(a,n.ajaxSettings),b):Oc(n.ajaxSettings,a)},ajaxPrefilter:Mc(Ic),ajaxTransport:Mc(Jc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Dc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeTyp
 e=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||Ac)+"").replace(Bc,"").replace(Gc,zc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(F)||[""],null==k.crossDomain&&(c=Hc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===zc[1]&&c[2]===zc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(zc[3]||("http:"===zc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),Nc(Ic,k,b,v),2===t)return v;h=k.global,h&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Fc.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(xc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Cc.test(e)?e.replace(Cc,"$1_="+wc++):e+(xc.test(e)?"&":"?")+"_=
 "+wc++)),k.ifModified&&(n.lastModified[e]&&v.setRequestHeader("If-Modified-Since",n.lastModified[e]),n.etag[e]&&v.setRequestHeader("If-None-Match",n.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Kc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Nc(Jc,k,b,v)){v.readyState=1,h&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Pc(k,v,c)),u=Qc(k,u,v,
 j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(n.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url
 :a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!l.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||n.css(a,"display"))},n.expr.f
 ilters.visible=function(a){return!n.expr.filters.hidden(a)};var Rc=/%20/g,Sc=/\[\]$/,Tc=/\r?\n/g,Uc=/^(?:submit|button|image|reset|file)$/i,Vc=/^(?:input|select|textarea|keygen)/i;function Wc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Sc.test(a)?d(a,e):Wc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Wc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Wc(c,a[c],b,e);return d.j

<TRUNCATED>

[15/47] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d5b2bc19
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d5b2bc19
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d5b2bc19

Branch: refs/heads/TINKERPOP-1235
Commit: d5b2bc19177b8b1e2393bc6ce9c88057b863a0d0
Parents: 3d38ded 5a16f4c
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 14:32:32 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 14:32:32 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                                  | 1 +
 .../main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java | 1 +
 2 files changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d5b2bc19/CHANGELOG.asciidoc
----------------------------------------------------------------------


[38/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/css/carousel.css
----------------------------------------------------------------------
diff --git a/site/home/css/carousel.css b/site/home/css/carousel.css
deleted file mode 100644
index a4eef64..0000000
--- a/site/home/css/carousel.css
+++ /dev/null
@@ -1,417 +0,0 @@
-/* Bootstrap items to overWrite */
-
-.carouselGrid-inner > .item > img,
-.carouselGrid-inner > .item > a > img {
-  display: block;
-  max-width: 100%;
-  height: auto;
-}
-
-.carouselGrid-inner {
-  position: relative;
-  width: 100%;
-  overflow: hidden;
-}
-
-.carouselGrid-inner > .item {
-  position: relative;
-  display: none;
-  -webkit-transition: 1s ease-in-out left;
-       -o-transition: 1s ease-in-out left;
-          transition: 1s ease-in-out left;
-    -webkit-backface-visibility: hidden;
-            backface-visibility: hidden;
-}
-
-.carouselGrid-inner > .item > img,
-.carouselGrid-inner > .item > a > img {
-  line-height: 1;
-}
-
-
-
-@media all and (transform-3d), (-webkit-transform-3d) {
- .carouselGrid-inner > .item {
-    -webkit-transition: -webkit-transform 1s ease-in-out;
-         -o-transition:      -o-transform 1s ease-in-out;
-            transition:         transform 1s ease-in-out;
-
-    -webkit-backface-visibility: hidden;
-            backface-visibility: hidden;
-    -webkit-perspective: 1000px;
-            perspective: 1000px;
-  }
-
-
-  @media (max-width: 767px) { /* xs */
-      .carouselGrid-inner > .item.next,
-    .carouselGrid-inner > .item.active.right {
-      left: 0;
-      -webkit-transform: translate3d(50%, 0, 0);
-              transform: translate3d(50%, 0, 0);
-    }
-    .carouselGrid-inner > .item.prev,
-    .carouselGrid-inner > .item.active.left {
-      left: 0;
-      -webkit-transform: translate3d(-50%, 0, 0);
-              transform: translate3d(-50%, 0, 0);
-    }
-    .carouselGrid-inner > .item.next.left,
-    .carouselGrid-inner > .item.prev.right,
-    .carouselGrid-inner > .item.active {
-      left: 0;
-      -webkit-transform: translate3d(0%, 0, 0);
-              transform: translate3d(0%, 0, 0);
-    }
-  }
-  @media (min-width: 767px) and (max-width: 992px ) { /* sm */
-      .carouselGrid-inner > .item.next,
-    .carouselGrid-inner > .item.active.right {
-      left: 0;
-      -webkit-transform: translate3d(33%, 0, 0);
-              transform: translate3d(33%, 0, 0);
-    }
-    .carouselGrid-inner > .item.prev,
-    .carouselGrid-inner > .item.active.left {
-      left: 0;
-      -webkit-transform: translate3d(-33%, 0, 0);
-              transform: translate3d(-33%, 0, 0);
-    }
-    .carouselGrid-inner > .item.next.left,
-    .carouselGrid-inner > .item.prev.right,
-    .carouselGrid-inner > .item.active {
-      left: 0;
-      -webkit-transform: translate3d(0%, 0, 0);
-              transform: translate3d(0%, 0, 0);
-    }
-  }
-  @media (min-width: 992px ) and (max-width: 1200px) { /* md */
-      .carouselGrid-inner > .item.next,
-    .carouselGrid-inner > .item.active.right {
-      left: 0;
-      -webkit-transform: translate3d(25%, 0, 0);
-              transform: translate3d(25%, 0, 0);
-    }
-    .carouselGrid-inner > .item.prev,
-    .carouselGrid-inner > .item.active.left {
-      left: 0;
-      -webkit-transform: translate3d(-25%, 0, 0);
-              transform: translate3d(-25%, 0, 0);
-    }
-    .carouselGrid-inner > .item.next.left,
-    .carouselGrid-inner > .item.prev.right,
-    .carouselGrid-inner > .item.active {
-      left: 0;
-      -webkit-transform: translate3d(0%, 0, 0);
-              transform: translate3d(0%, 0, 0);
-    }
-  }
-  @media (min-width: 1200px ) { /* lg */
-
-    .carouselGrid-inner > .item.next,
-    .carouselGrid-inner > .item.active.right {
-      left: 0;
-      -webkit-transform: translate3d(20%, 0, 0);
-              transform: translate3d(20%, 0, 0);
-    }
-    .carouselGrid-inner > .item.prev,
-    .carouselGrid-inner > .item.active.left {
-      left: 0;
-      -webkit-transform: translate3d(-20%, 0, 0);
-              transform: translate3d(-20%, 0, 0);
-    }
-    .carouselGrid-inner > .item.next.left,
-    .carouselGrid-inner > .item.prev.right,
-    .carouselGrid-inner > .item.active {
-      left: 0;
-      -webkit-transform: translate3d(0%, 0, 0);
-              transform: translate3d(0%, 0, 0);
-    }
-  }
-
-}
-
-  .carouselGrid-inner > .active,
-  .carouselGrid-inner > .next,
-  .carouselGrid-inner > .prev {
-    display: block;
-  }
-  .carouselGrid-inner > .active {
-    left: 0;
-  }
-  .carouselGrid-inner > .next,
-  .carouselGrid-inner > .prev {
-    position: absolute;
-    top: 0;
-    width: 100%;
-  }
-  .carouselGrid-inner > .next {
-    left: 100%;
-  }
-  .carouselGrid-inner > .prev {
-    left: -100%;
-  }
-  .carouselGrid-inner > .next.left,
-  .carouselGrid-inner > .prev.right {
-    left: 0;
-  }
-
-
-  @media (max-width: 767px) { /* xs */
-    .carouselGrid-inner > .active.left {
-      left: -50%;
-    }
-    .carouselGrid-inner > .active.right {
-      left: 50%;
-    }
-  }
-  @media (min-width: 767px) and (max-width: 992px ) { /* sm */
-        .carouselGrid-inner > .active.left {
-      left: -33%;
-    }
-    .carouselGrid-inner > .active.right {
-      left: 33%;
-    }
-  }
-  @media (min-width: 992px ) and (max-width: 1200px) { /* md */
-        .carouselGrid-inner > .active.left {
-      left: -25%;
-    }
-    .carouselGrid-inner > .active.right {
-      left: 25%;
-    }
-  }
-  @media (min-width: 1200px ) { /* lg */
-    .carouselGrid-inner > .active.left {
-      left: -20%;
-    }
-    .carouselGrid-inner > .active.right {
-      left: 20%;
-    }
-  }
-
-
-.carouselGrid-control {
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  width: 15%;
-  font-size: 20px;
-  color: #fff;
-  text-align: center;
-  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
-  filter: alpha(opacity=50);
-  opacity: .5;
-}
-.carouselGrid-control.left {
-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
-  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
-  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
-  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
-  background-repeat: repeat-x;
-}
-.carouselGrid-control.right {
-  right: 0;
-  left: auto;
-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
-  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
-  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
-  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
-  background-repeat: repeat-x;
-}
-.carouselGrid-control:hover,
-.carouselGrid-control:focus {
-  color: #fff;
-  text-decoration: none;
-  filter: alpha(opacity=90);
-  outline: 0;
-  opacity: .9;
-}
-.carouselGrid-control .icon-prev,
-.carouselGrid-control .icon-next,
-.carouselGrid-control .glyphicon-chevron-left,
-.carouselGrid-control .glyphicon-chevron-right {
-  position: absolute;
-  top: 50%;
-  z-index: 5;
-  display: inline-block;
-  margin-top: -10px;
-}
-.carouselGrid-control .icon-prev,
-.carouselGrid-control .glyphicon-chevron-left {
-  left: 50%;
-  margin-left: -10px;
-}
-.carouselGrid-control .icon-next,
-.carouselGrid-control .glyphicon-chevron-right {
-  right: 50%;
-  margin-right: -10px;
-}
-.carouselGrid-control .icon-prev,
-.carouselGrid-control .icon-next {
-  width: 20px;
-  height: 20px;
-  font-family: serif;
-  line-height: 1;
-}
-.carouselGrid-control .icon-prev:before {
-  content: '\2039';
-}
-.carouselGrid-control .icon-next:before {
-  content: '\203a';
-}
-.carouselGrid-indicators {
-  position: absolute;
-  bottom: 10px;
-  left: 50%;
-  z-index: 15;
-  width: 60%;
-  padding-left: 0;
-  margin-left: -30%;
-  text-align: center;
-  list-style: none;
-}
-.carouselGrid-indicators li {
-  display: inline-block;
-  width: 10px;
-  height: 10px;
-  margin: 1px;
-  text-indent: -999px;
-  cursor: pointer;
-  background-color: #000 \9;
-  background-color: rgba(0, 0, 0, 0);
-  border: 1px solid #fff;
-  border-radius: 10px;
-}
-.carouselGrid-indicators .active {
-  width: 12px;
-  height: 12px;
-  margin: 0;
-  background-color: #fff;
-}
-.carouselGrid-caption {
-  position: absolute;
-  right: 15%;
-  bottom: 20px;
-  left: 15%;
-  z-index: 10;
-  padding-top: 20px;
-  padding-bottom: 20px;
-  color: #fff;
-  text-align: center;
-  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
-}
-.carouselGrid-caption .btn {
-  text-shadow: none;
-}
-@media screen and (min-width: 768px) {
-  .carouselGrid-control .glyphicon-chevron-left,
-  .carouselGrid-control .glyphicon-chevron-right,
-  .carouselGrid-control .icon-prev,
-  .carouselGrid-control .icon-next {
-    width: 30px;
-    height: 30px;
-    margin-top: -15px;
-    font-size: 30px;
-  }
-  .carouselGrid-control .glyphicon-chevron-left,
-  .carouselGrid-control .icon-prev {
-    margin-left: -15px;
-  }
-  .carouselGrid-control .glyphicon-chevron-right,
-  .carouselGrid-control .icon-next {
-    margin-right: -15px;
-  }
-  .carouselGrid-caption {
-    right: 20%;
-    left: 20%;
-    padding-bottom: 30px;
-  }
-  .carouselGrid-indicators {
-    bottom: 20px;
-  }
-}
-
-.carouselGrid-control        { width:  4%; }
-.carouselGrid-control.left,.carouselGrid-control.right {margin-left:15px;background-image:none;}
-@media (max-width: 767px) { /* xs */
-  .carouselGrid-inner .active.left { left: -50%; }
-  .carouselGrid-inner .next        { left:  50%;}
-  .carouselGrid-inner .prev    { left: -50%; }
-  .active > div { display:none; }
-  .active > div:first-child { display:block; }
-  .active > div:first-child + div { display:block; }
-  .active > div:first-child + div + div { display:none; }
-  .active > div:first-child + div + div + div { display:none; }
-
-
-}
-@media (min-width: 767px) and (max-width: 992px ) { /* sm */
-  .carouselGrid-inner .active.left { left: -33%; }
-  .carouselGrid-inner .next        { left:  33%; }
-  .carouselGrid-inner .prev    { left: -33%; }
-  .active > div { display:none; }
-  .active > div:first-child { display:block; }
-  .active > div:first-child + div { display:block; }
-  .active > div:first-child + div + div { display:block; }
-  .active > div:first-child + div + div + div { display:none; }
-}
-
-
-
-@media (min-width: 992px ) and (max-width: 1200px) { /* md  */
-  .carouselGrid-inner .active.left { left: -25%;  }
-  .carouselGrid-inner .next        { left:  25%; }
-  .carouselGrid-inner .prev   { left: -25%;  }  
-  .active > div { display:none; }
-  .active > div:first-child { display:block; }
-  .active > div:first-child + div { display:block; }
-  .active > div:first-child + div + div { display:block; }
-  .active > div:first-child + div + div + div { display:block; }
-
-}
-
-@media (min-width: 1200px ) { /* lg */
-  .carouselGrid-inner .active.left { left: -20%; }
-  .carouselGrid-inner .next        { left:  20%;}
-  .carouselGrid-inner .prev   {left: -20%; }
-
-}
-
-
-/* NECESSARY FOR FIVE ITEMS (Extends Bootstrap to 5 columns) */
-/*http://www.wearesicc.com/quick-tips-5-column-layout-with-twitter-bootstrap/ */
-.col-xs-15,
-.col-sm-15,
-.col-md-15,
-.col-lg-15 {
-    position: relative;
-    min-height: 1px;
-    padding-right: 15px;
-    padding-left: 15px;
-}
-.col-xs-15 {
-    width: 33%;
-    float: left;
-}
-@media (min-width: 768px) {
-.col-sm-15 {
-        width: 33%;
-        float: left;
-    }
-}
-@media (min-width: 992px) {
-    .col-md-15 {
-        width: 33%;
-        float: left;
-    }
-}
-@media (min-width: 1200px) {
-    .col-lg-15 {
-        width: 33%;
-        float: left;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/css/prism.css
----------------------------------------------------------------------
diff --git a/site/home/css/prism.css b/site/home/css/prism.css
deleted file mode 100644
index e25f79d..0000000
--- a/site/home/css/prism.css
+++ /dev/null
@@ -1,145 +0,0 @@
-/* http://prismjs.com/download.html?themes=prism&languages=clike+javascript+groovy+jade */
-/**
- * prism.js default theme for JavaScript, CSS and HTML
- * Based on dabblet (http://dabblet.com)
- * @author Lea Verou
- */
-
-code[class*="language-"],
-pre[class*="language-"] {
-	color: #337ab7;
-	background: none;
-	text-shadow: 0 0px white;
-	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
-	text-align: left;
-	white-space: pre;
-	word-spacing: normal;
-	word-break: normal;
-	word-wrap: normal;
-	line-height: 1.5;
-
-	-moz-tab-size: 4;
-	-o-tab-size: 4;
-	tab-size: 4;
-
-	-webkit-hyphens: none;
-	-moz-hyphens: none;
-	-ms-hyphens: none;
-	hyphens: none;
-}
-
-pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
-code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
-	text-shadow: none;
-	background: #f5f5f5;
-}
-
-pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
-code[class*="language-"]::selection, code[class*="language-"] ::selection {
-	text-shadow: none;
-	background: #f5f5f5;
-}
-
-@media print {
-	code[class*="language-"],
-	pre[class*="language-"] {
-		text-shadow: none;
-	}
-}
-
-.carousel-control.left, .carousel-control.right {
-    background-image: none
-}
-
-/* Code blocks */
-pre[class*="language-"] {
-	padding: 0em;
-	margin: 0em 0;
-	overflow: auto;
-}
-
-:not(pre) > code[class*="language-"],
-pre[class*="language-"] {
-	background: #f5f5f5;
-}
-
-/* Inline code */
-:not(pre) > code[class*="language-"] {
-	padding: 0em;
-	border-radius: 0em;
-	white-space: normal;
-}
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata {
-	color: gray;
-}
-
-.token.punctuation {
-	color: black;
-}
-
-.namespace {
-	opacity: .7;
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
-	color: #905;
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
-	color: #690;
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string {
-	color: #a67f59;
-	background: hsla(0, 0%, 100%, .5);
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword,
-.token.traversalSource {
-	color: #800080;
-}
-
-.token.function {
-	color: #337ab7;
-}
-
-.token.regex,
-.token.important,
-.token.variable {
-	color: #337ab7;
-}
-
-.token.important,
-.token.bold {
-	font-weight: bold;
-}
-.token.italic {
-	font-style: italic;
-}
-
-.token.entity {
-	cursor: help;
-	color: #337ab7;
-}
-

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/downloads.html
----------------------------------------------------------------------
diff --git a/site/home/downloads.html b/site/home/downloads.html
deleted file mode 100644
index c7b27fa..0000000
--- a/site/home/downloads.html
+++ /dev/null
@@ -1,307 +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.
--->
-<div class="container">
- <div class="row">
-    <h3>Download Apache TinkerPop&trade;</h3>
-    <p><img src="images/gremlin-download.png"  style="float:right;width:150px;padding:10px;"/>Apache TinkerPop provides three packaged downloads per release version. The
-       <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a> and <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a>
-       downloads are binary distributions, which contain pre-packaged versions of these important TinkerPop applications that are designed to work out-of-the-box
-       when unpackaged. The source distribution is a snapshot of the source code and files used in the building of those  binary distributions.</p>
-    <p>TinkerPop also deploys artifacts to <a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.tinkerpop%22">Maven Central</a>, which is helpful to
-       developers who wish to depend on the various libraries that TinkerPop provides.
-    <br/>
-    <h4>Current Releases</h4>
-    <table class="table">
-        <tr>
-            <td>
-                <strong>3.2.3</strong> (latest, stable)
-            </td>
-            <td>
-                17-Oct-2016
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.2.3/CHANGELOG.asciidoc#release-3-2-3">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.2.3/upgrade/#_tinkerpop_3_2_3">upgrade</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.2.3/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.2.3/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-console-3.2.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-gremlin-server-3.2.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.3/apache-tinkerpop-3.2.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.1.5</strong> (maintenance)
-            </td>
-            <td>
-                17-Oct-2016
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.1.5/CHANGELOG.asciidoc#release-3-1-5">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.5/upgrade/#_tinkerpop_3_1_5">upgrade</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.5/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.1.5/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-gremlin-console-3.1.5-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-gremlin-server-3.1.5-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.5/apache-tinkerpop-3.1.5-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-    </table>
-    <h4>Archived Releases</small></h4>
-    <table class="table">
-        <tr>
-            <td>
-                <strong>3.2.2</strong>
-            </td>
-            <td>
-                6-Sep-2016
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.2.2/CHANGELOG.asciidoc#release-3-2-2">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.2.2/upgrade/#_tinkerpop_3_2_2">upgrade</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.2.2/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.2.2/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-gremlin-console-3.2.2-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-gremlin-server-3.2.2-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/tinkerpop/3.2.2/apache-tinkerpop-3.2.2-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.1.4</strong>
-            </td>
-            <td>
-                6-Sep-2016
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.1.4/CHANGELOG.asciidoc#release-3-1-4">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.4/upgrade/#_tinkerpop_3_1_4">upgrade</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.4/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.1.4/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-gremlin-console-3.1.4-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-gremlin-server-3.1.4-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/tinkerpop/3.1.4/apache-tinkerpop-3.1.4-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.2.1</strong>
-            </td>
-            <td>
-                18-Jul-2016
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.2.1/CHANGELOG.asciidoc#tinkerpop-321-release-date-july-18-2016">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.2.1/upgrade/#_tinkerpop_3_2_1">upgrade</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.2.1/reference/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.2.1/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-gremlin-console-3.2.1-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-gremlin-server-3.2.1-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-tinkerpop-3.2.1-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.1.3</strong>
-            </td>
-            <td>
-                18-Jul-2016
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.1.3/CHANGELOG.asciidoc#tinkerpop-313-release-date-july-18-2016">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.3/upgrade/#_tinkerpop_3_1_3">upgrade</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.3/reference/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.1.3/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-gremlin-console-3.1.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-gremlin-server-3.1.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-tinkerpop-3.1.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.2.0-incubating</strong>
-            </td>
-            <td>
-                8-Apr-2016
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.2.0-incubating/CHANGELOG.asciidoc#tinkerpop-320-release-date-april-8-2016">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.2.0-incubating/upgrade/#_tinkerpop_3_2_0_2">upgrade</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.2.0-incubating/reference/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.2.0-incubating/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-gremlin-console-3.2.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-gremlin-server-3.2.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-tinkerpop-3.2.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.1.2-incubating</strong>
-            </td>
-            <td>
-                8-Apr-2016
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.1.2-incubating/CHANGELOG.asciidoc#tinkerpop-312-release-date-april-8-2016">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.2-incubating/upgrade/#_tinkerpop_3_1_2">upgrade</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.2-incubating/reference/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.1.2-incubating/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-gremlin-console-3.1.2-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-gremlin-server-3.1.2-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-tinkerpop-3.1.2-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.1.1-incubating</strong>
-            </td>
-            <td>
-                8-Feb-2016
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.1.1-incubating/CHANGELOG.asciidoc#tinkerpop-311-release-date-february-8-2016">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.1-incubating/upgrade/#_tinkerpop_3_1_1">upgrade</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.1-incubating/reference/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.1.1-incubating/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-gremlin-console-3.1.1-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-gremlin-server-3.1.1-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-tinkerpop-3.1.1-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.1.0-incubating</strong>
-            </td>
-            <td>
-                16-Nov-2015
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.1.0-incubating/CHANGELOG.asciidoc#tinkerpop-310-release-date-november-16-2015">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.1.0-incubating/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.1.0-incubating/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-gremlin-console-3.1.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-gremlin-server-3.1.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-tinkerpop-3.1.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.0.2-incubating</strong>
-            </td>
-            <td>
-                19-Oct-2015
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.0.2-incubating/CHANGELOG.asciidoc#tinkerpop-302-release-date-october-19-2015">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.0.2-incubating/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.0.2-incubating/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-gremlin-console-3.0.2-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-gremlin-server-3.0.2-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-tinkerpop-3.0.2-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.0.1-incubating</strong>
-            </td>
-            <td>
-                2-Sep-2015
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.0.1-incubating/CHANGELOG.asciidoc#tinkerpop-301-release-date-september-2-2015">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.0.1-incubating/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.0.1-incubating/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-gremlin-console-3.0.1-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-gremlin-server-3.0.1-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-tinkerpop-3.0.1-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-        <tr>
-            <td>
-                <strong>3.0.0-incubating</strong>
-            </td>
-            <td>
-                9-Jul-2015
-            </td>
-            <td>
-                <a href="https://github.com/apache/tinkerpop/blob/3.0.0-incubating/CHANGELOG.asciidoc#tinkerpop-300-release-date-july-9-2015">release notes</a> |
-                <a href="http://tinkerpop.apache.org/docs/3.0.0-incubating/">documentation</a> |
-                <a href="http://tinkerpop.apache.org/javadocs/3.0.0-incubating/full/">javadoc</a>
-            </td>
-            <td align="right">
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-gremlin-console-3.0.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-gremlin-server-3.0.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
-                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-tinkerpop-3.0.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
-            </td>
-        </tr>
-    </table>
-    <p><strong>Note</strong> that upgrade documentation was only introduced at 3.1.1-incubating which is why there are no links "upgrade" links in versions prior to that one.
-    <h4>Verifying Downloads</h4>
-    <p>All downloads have associated PGP and MD5 signatures to help verify a distribution provided by a mirror. To verify a distribution via PGP or GPG first download the
-       <a href="https://www.apache.org/dist/tinkerpop/KEYS">KEYS</a> file (it is important to use the linked file which is from the main distribution directory and not a
-       mirror. Next download the appropriate "asc" signature file for the relevant distribution (again, this file should come from the <a href="https://www.apache.org/dist/tinkerpop/">main
-       distribution directory</a> - note that older releases will have such files in the <a href="https://archive.apache.org/dist/tinkerpop/">archives</a> or if released under Apache
-       Incubator then they will be found in the <a href="https://archive.apache.org/dist/incubator/tinkerpop/">Incubator archives</a>).</p>
-    <p>Then verify the signatures as follows:</p>
-    <p>
-      <pre><code>
-      pgpk -a KEYS
-      pgpv apache-gremlin-console-x.y.z-bin.zip.asc
-      </code></pre>
-    </p>
-    <p>or</p>
-    <p>
-      <pre><code>
-      pgpk -ka KEYS
-      pgp apache-gremlin-console-x.y.z-bin.zip.asc
-      </code></pre>
-    </p>
-    <p>or</p>
-    <p>
-      <pre><code>
-      gpg --import KEYS
-      gpg --verify apache-gremlin-console-x.y.z-bin.zip.asc apache-gremlin-console-x.y.z-bin.zip
-      </code></pre>
-    </p>
-    <p>Alternatively, consider verifying the MD5 signature on the files. An MD5 signature consists of 32 hex characters, and a SHA1 signature consists of 40 hex characters.
-       Ensure that the generated signature string matches the signature string published in the files above.</p>
- </div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/gremlin.html
----------------------------------------------------------------------
diff --git a/site/home/gremlin.html b/site/home/gremlin.html
deleted file mode 100644
index 4a626ca..0000000
--- a/site/home/gremlin.html
+++ /dev/null
@@ -1,396 +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.
--->
-<img src="images/tinkerpop-cityscape.png" class="img-responsive" />
-<div class="container">
- <div class="hero-unit" style="padding:10px">
-    <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
-    <p><font size="5">The Gremlin Graph Traversal Machine and Language</font></p>
- </div>
-</div>
-<br/>
-<div class="container-fluid">
- <div class="container">
-    <div class="row">
-       <div class="col-sm-10 col-md-10">
-          <a href="http://arxiv.org/abs/1508.03843">Gremlin</a> is the graph traversal language of <a href="http://tinkerpop.apache.org/">Apache TinkerPop</a>.
-          Gremlin is a <a href="https://en.wikipedia.org/wiki/Functional_programming">functional</a>, <a href="https://en.wikipedia.org/wiki/Dataflow_programming">data-flow</a>
-          language that enables users to succinctly express complex traversals on (or queries of) their application's property graph. Every Gremlin traversal is composed of a sequence of (potentially nested) steps. A step
-          performs an atomic operation on the data stream. Every step is either a <em>map</em>-step (transforming the objects in the stream), a <em>filter</em>-step (removing objects
-          from the stream), or a <em>sideEffect</em>-step (computing statistics about the stream). The Gremlin step library extends on these 3-fundamental operations to provide
-          users a rich collection of steps that they can compose in order to ask any conceivable question they may have of their data for Gremlin is <a href="http://arxiv.org/abs/1508.03843">Turing Complete</a>.
-       </div>
-       <div class="col-sm-2 col-md-2">
-          <img src="images/gremlin-head.png" width="100%">
-       </div>
-    </div>
-    <br/>
-    <div style="border-radius:3px;border:1px solid black;padding:10px;padding-left:10px;height:170px" id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000">
-       <!-- Indicators -->
-       <ol class="carousel-indicators carousel-indicators-numbers">
-          <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li>
-          <li data-target="#gremlinCarousel" data-slide-to="1">2</li>
-          <li data-target="#gremlinCarousel" data-slide-to="2">3</li>
-          <li data-target="#gremlinCarousel" data-slide-to="3">4</li>
-          <li data-target="#gremlinCarousel" data-slide-to="4">5</li>
-          <li data-target="#gremlinCarousel" data-slide-to="5">6</li>
-       </ol>
-       <div class="carousel-inner" role="listbox">
-          <div class="item active">
-             <div class="row">
-                <div class="col-xs-5">
-                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
-g.V().has("name","gremlin").
-  out("knows").
-  out("knows").
-  values("name")
-
-  </code></pre>
-                </div>
-                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
-                   <b>What are the names of Gremlin's friends' friends?</b>
-                   <p/>
-                   <ol style="padding-left:20px">
-                      <li>Get the vertex with name "gremlin."</li>
-                      <li>Traverse to the people that Gremlin knows.</li>
-                      <li>Traverse to the people those people know.</li>
-                      <li>Get those people's names.</li>
-                   </ol>
-                   <br/>
-                </div>
-             </div>
-          </div>
-          <div class="item">
-             <div class="row">
-                <div class="col-xs-5">
-                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
-g.V().match(
-  as("a").out("knows").as("b"),
-  as("a").out("created").as("c"),
-  as("b").out("created").as("c"),
-  as("c").in("created").count().is(2)).
-    select("c").by("name")</code></pre>
-                </div>
-                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
-                   <b>What are the names of the projects created by two friends?</b>
-                   <p/>
-                   <ol style="padding-left:20px">
-                      <li>...there exists some "a" who knows "b".</li>
-                      <li>...there exists some "a" who created "c".</li>
-                      <li>...there exists some "b" who created "c".</li>
-                      <li>...there exists some "c" created by 2 people.</li>
-                      <li>Get the name of all matching "c" projects.</li>
-                   </ol>
-                </div>
-             </div>
-          </div>
-          <div class="item">
-             <div class="row">
-                <div class="col-xs-5">
-                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
-g.V().has("name","gremlin").
-  repeat(in("manages")).
-    until(has("title","ceo")).
-  path().by("name")
-
-</code></pre>
-                </div>
-                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
-                   <b>Get the managers from Gremlin to the CEO in the hiearchy.</b>
-                   <p/>
-                   <ol style="padding-left:20px">
-                      <li>Get the vertex with the name "gremlin."</li>
-                      <li>Traverse up the management chain...</li>
-                      <li>...until a person with the title of CEO is reached.</li>
-                      <li>Get name of the managers in the path traversed.</li>
-                   </ol>
-                   <br/>
-                </div>
-             </div>
-          </div>
-          <div class="item">
-             <div class="row">
-                <div class="col-xs-5">
-                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
-g.V().has("name","gremlin").as("a").
-  out("created").in("created").
-    where(neq("a")).
-  groupCount().by("title")
-
-</code></pre>
-                </div>
-                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
-                   <b>Get the distribution of titles amongst Gremlin's collaborators.</b>
-                   <p/>
-                   <ol style="padding-left:20px">
-                      <li>Get the vertex with the name "gremlin" and label it "a."</li>
-                      <li>Get Gremlin's created projects and then who created them...</li>
-                      <li>...that are not Gremlin.</li>
-                      <li>Group count those collaborators by their titles.</li>
-                   </ol>
-                   <br/>
-                </div>
-             </div>
-          </div>
-          <div class="item">
-             <div class="row">
-                <div class="col-xs-5">
-                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
-g.V().has("name","gremlin").
-  out("bought").aggregate("stash").
-  in("bought").out("bought").
-    where(not(within("stash"))).
-  groupCount().order(local).by(values,decr)
-</code></pre>
-                </div>
-                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
-                   <b>Get a ranked list of relevant products for Gremlin to purchase.</b>
-                   <p/>
-                   <ol style="padding-left:20px">
-                      <li>Get the vertex with the name "gremlin."</li>
-                      <li>Get the products Gremlin has purchased and save as "stash."</li>
-                      <li>Who else bought those products and what else did they buy...</li>
-                      <li>...that Gremlin has not already purchased.</li>
-                      <li>Group count the products and order by their relevance.</li>
-                   </ol>
-                </div>
-             </div>
-          </div>
-          <div class="item">
-             <div class="row">
-                <div class="col-xs-5">
-                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
-g.V().hasLabel("person").
-  pageRank().
-    by("friendRank").
-    by(outE("knows")).
-  order().by("friendRank",decr).
-  limit(10)</code></pre>
-                </div>
-                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
-                   <b>Get the 10 most central people in the knows-graph.</b>
-                   <p/>
-                   <ol style="padding-left:20px">
-                      <li>Get all people vertices.</li>
-                      <li>Calculate their PageRank using knows-edges.</li>
-                      <li>Order the people by their friendRank score.</li>
-                      <li>Get the top 10 ranked people.</li>
-                   </ol>
-                </div>
-             </div>
-          </div>
-       </div>
-    </div>
- </div>
- <br/>
- <div class="container">
-    <a name="oltp-and-olap-traversals"></a>
-    <h3>OLTP and OLAP Traversals</h3>
-    <br/>
-    Gremlin was designed according to the "write once, run anywhere"-philosophy. This means that not only can all TinkerPop-enabled
-    graph systems execute Gremlin traversals, but also, every Gremlin traversal can be evaluated as either a real-time database query
-    or as a batch analytics query. The former is known as an <em>online transactional process</em> (<a href="https://en.wikipedia.org/wiki/Online_transaction_processing">OLTP</a>) and the latter as an <em>online analytics
-    process</em> (<a href="https://en.wikipedia.org/wiki/Online_analytical_processing">OLAP</a>). This universality is made possible by the Gremlin traversal machine. This distributed, graph-based <a href="https://en.wikipedia.org/wiki/Virtual_machine#Abstract_virtual_machine_techniques">virtual machine</a>
-    understands how to coordinate the execution of a multi-machine graph traversal. Moreover, not only can the execution either be OLTP or
-    OLAP, it is also possible for certain subsets of a traversal to execute OLTP while others via OLAP. The benefit is that the user does
-    not need to learn both a database query language and a domain-specific BigData analytics language (e.g. Spark DSL, MapReduce, etc.).
-    Gremlin is all that is required to build a graph-based application because the Gremlin traversal machine will handle the rest.
-    <br/><br/>
-    <center><img src="images/oltp-and-olap.png" style="width:80%;" class="img-responsive"></center>
- </div>
- <br/>
- <div class="container">
-    <a name="imperative-and-declarative-traversals"></a>
-    <h3>Imperative and Declarative Traversals</h3>
-    <br/>
-    <div class="row">
-       <div class="col-sm-7 col-md-8">
-          A Gremlin traversal can be written in either an <em>imperative</em> (<a href="https://en.wikipedia.org/wiki/Imperative_programming">procedural</a>) manner, a <em>declarative</em> (<a href="https://en.wikipedia.org/wiki/Declarative_programming">descriptive</a>) manner,
-          or in a hybrid manner containing both imperative and declarative aspects. An imperative Gremlin traversal tells the traversers how to proceed at each step in the traversal. For instance,
-          the imperative traversal on the right first places a traverser at the vertex denoting Gremlin. That traverser then splits itself across all of Gremlin's collaborators that are not Gremlin
-          himself. Next, the traversers walk to the managers of those collaborators to ultimately be grouped into a manager name count distribution. This traversal is imperative in that it tells the
-          traversers to "go here and then go there" in an explicit, procedural manner.
-       </div>
-       <div class="col-sm-5 col-md-4">
-          <pre style="padding:10px;">
-<code class="language-gremlin">g.V().has("name","gremlin").as("a").
-out("created").in("created").
-where(neq("a")).
-in("manages").
-groupCount().by("name")</code>
-</pre>
-       </div>
-    </div>
-    <p/>
-    <div class="row">
-       <div class="col-sm-5 col-md-4">
-          <pre style="padding:10px;">
-<code class="language-gremlin">g.V().match(
-as("a").has("name","gremlin"),
-as("a").out("created").as("b"),
-as("b").in("created").as("c"),
-as("c").in("manages").as("d"),
-where("a",neq("c"))).
-select("d").
-groupCount().by("name")</code>
-</pre>
-       </div>
-       <div class="col-sm-7 col-md-8">
-          A declarative Gremlin traversal does not tell the traversers the order in which to execute their walk, but instead, allows each traverser to select a pattern to execute from a collection
-          of (potentially nested) patterns. The <a href="http://tinkerpop.apache.org/docs/current/reference/#match-step">declarative traversal</a> on the left yields the same result as the imperative traversal above. However, the declarative traversal has the added benefit
-          that it leverages not only a compile-time query planner (like imperative traversals), but also a runtime query planner that chooses which traversal pattern to execute next based on the
-          historic statistics of each pattern -- favoring those patterns which tend to reduce/filter the most data.
-       </div>
-    </div>
-    <br/>
-    The user can write their traversals in any way they choose. However, ultimately when their traversal is compiled, and depending on the underlying execution engine
-    (i.e. an OLTP graph database or an OLAP graph processor), the user's traversal is rewritten by a set of <em><a href="http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy">traversal strategies</a></em> which do their best to determine the most optimal execution
-    plan based on an understanding of graph data access costs as well as the underlying data systems's unique capabilities (e.g. fetch the Gremlin vertex from the graph database's "name"-index).
-    Gremlin has been designed to give users flexibility in how they express their queries and graph system providers flexibility in how to efficiently evaluate traversals against their TinkerPop-enabled data system.
- </div>
- <br/>
- <div class="container">
-    <a name="host-language-embedding"></a>
-    <h3>Host Language Embedding</h3>
-    <br/>
-    <div class="row">
-       <div class="col-sm-5 col-md-4">
-          <img src="images/gremlin-language-variants.png" class="img-responsive">
-       </div>
-       <div class="col-sm-7 col-md-8">
-          Classic database query languages, like <a href="https://en.wikipedia.org/wiki/SQL">SQL</a>, were conceived as being fundamentally different from the programming languages that would
-          ultimately use them in a production setting. For this reason, classical databases require the developer to code both in their native programming
-          language as well as in the database's respective query language. An argument can be made that the difference between "query languages" and
-          "programming languages" are not as great as we are taught to believe. Gremlin unifies this divide because traversals can be written in any
-          programming language that supports function <a href="https://en.wikipedia.org/wiki/Function_composition">composition</a> and <a href="https://en.wikipedia.org/wiki/Nested_function">nesting</a> (which every major programming language supports). In this way, the user's
-          Gremlin traversals are written along side their application code and benefit from the advantages afforded by the host language and its tooling
-          (e.g. type checking, syntax highlighting, dot completion, etc.). Various <a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin language variants</a> exist including: Gremlin-Java, Gremlin-Groovy, <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a>,
-          <a href="https://github.com/mpollmeier/gremlin-scala">Gremlin-Scala</a>, etc.
-       </div>
-       <div class="col-md-12">
-          <p><br/>The first example below shows a simple Java class. Note that the Gremlin traversal is expressed in Gremlin-Java and thus, is part of the user's application code. There is no need for the
-             developer to create a <code>String</code> representation of their query in (yet) another language to ultimately pass that <code>String</code> to the graph computing system and be returned a result set. Instead,
-             traversals are embedded in the user's host programming language and are on equal footing with all other application code. With Gremlin, users <strong>do not</strong> have to deal with the awkwardness exemplified
-             in the second example below which is a common anti-pattern found throughout the industry.
-          </p>
-       </div>
-       <br/><br/>
-       <div class="col-md-5">
-          <pre style="padding:10px;"><code class="language-gremlin">public class GremlinTinkerPopExample {
-public void run(String name, String property) {
-
-Graph graph = GraphFactory.open(...);
-GraphTraversalSource g = graph.traversal();
-
-double avg = g.V().has("name",name).
-           out("knows").out("created").
-           values(property).mean().next();
-
-System.out.println("Average rating: " + avg);
-}
-}
-
-
-</code>
-</pre>
-       </div>
-       <div class="col-md-7">
-          <pre style="padding:10px;"><code class="language-gremlin">public class SqlJdbcExample {
-public void run(String name, String property) {
-
-Connection connection = DriverManager.getConnection(...)
-Statement statement = connection.createStatement();
-ResultSet result = statement.executeQuery(
-"SELECT AVG(pr." + property + ") as AVERAGE FROM PERSONS p1" +
-"INNER JOIN KNOWS k ON k.person1 = p1.id " +
-"INNER JOIN PERSONS p2 ON p2.id = k.person2 " +
-"INNER JOIN CREATED c ON c.person = p2.id " +
-"INNER JOIN PROJECTS pr ON pr.id = c.project " +
-  "WHERE p.name = '" + name + "');
-
-System.out.println("Average rating: " + result.next().getDouble("AVERAGE")
-}
-}</code>
-</pre>
-       </div>
-       <div class="col-md-12">
-          <p><br/>Behind the scenes, a Gremlin traversal will evaluate locally against an embedded graph database, serialize itself across the network to a remote
-             graph database, or send itself to an OLAP processor for cluster-wide distributed execution. The traversal source definition determines where the traversal executes. Once a traversal source is
-             defined it can be used over and over again in a manner analogous to a database connection. The ultimate effect is that the user "feels" that their data and their traversals are all
-             co-located in their application and accessible via their application's native programming language. The "query language/programming language"-divide is bridged by Gremlin.
-          </p>
-          <br/>
-       </div>
-       <div class="col-md-12">
-          <pre style="padding:10px;"><code class="language-gremlin">Graph graph = GraphFactory.open(...);
-GraphTraversalSource g;
-g = graph.traversal();                                                         // local OLTP
-g = graph.traversal().withRemote(DriverRemoteConnection.using("server.yaml"))  // remote OLTP
-g = graph.traversal().withComputer(SparkGraphComputer.class);                  // distributed OLAP
-g = graph.traversal().withComputer(GiraphGraphComputer.class);                 // distributed OLAP</code>
-</pre>
-       </div>
-       <br/>
-    </div>
-    <div class="container">
-       <hr/>
-       <h4>Related Resources</h4>
-       <br/>
-       <div class="carousel slide" data-ride="carousel" data-type="multi" data-interval="7000" id="relatedResources">
-          <div class="carouselGrid-inner">
-             <div class="item active">
-                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://academy.datastax.com/resources/getting-started-graph-databases"><img src="images/resources/graph-databases-101-resource.png" width="100%" /></a></div>
-             </div>
-             <div class="item">
-                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://datastax.com/dev/blog/the-benefits-of-the-gremlin-graph-traversal-machine"><img src="images/resources/benefits-gremlin-machine-resource.png" width="100%" /></a></div>
-             </div>
-             <div class="item">
-                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://arxiv.org/abs/1508.03843"><img src="images/resources/arxiv-article-resource.png" width="100%" /></a></div>
-             </div>
-             <div class="item">
-                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://sql2gremlin.com/"><img src="images/resources/sql-2-gremlin-resource.png" width="100%" /></a></div>
-             </div>
-          </div>
-          <a class="left carouselGrid-control" href="#relatedResources" data-slide="prev">
-          <span class="icon-prev" aria-hidden="true"></span>
-          <span class="sr-only">Previous</span>
-          </a>
-          <a class="right carouselGrid-control" href="#relatedResources" data-slide="next">
-          <span class="icon-next" aria-hidden="true"></span>
-          <span class="sr-only">Next</span>
-          </a>
-       </div>
-       <script>
-          $('.carousel[data-type="multi"] .item').each(function(){
-            var next = $(this).next();
-            if (!next.length) { // if ther isn't a next
-              next = $(this).siblings(':first'); // this is the first
-            }
-            next.children(':first-child').clone().appendTo($(this)); // put the next ones on the array
-
-            for (var i=0;i<2;i++) { // THIS LOOP SPITS OUT EXTRA ITEMS TO THE CAROUSEL
-              next=next.next();
-              if (!next.length) {
-                next = $(this).siblings(':first');
-              }
-              next.children(':first-child').clone().appendTo($(this));
-            }
-
-          });
-       </script>
-    </div>
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/apache-tinkerpop-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/apache-tinkerpop-logo.png b/site/home/images/apache-tinkerpop-logo.png
deleted file mode 100644
index 8d222ed..0000000
Binary files a/site/home/images/apache-tinkerpop-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/blueprints-handdrawn.png
----------------------------------------------------------------------
diff --git a/site/home/images/blueprints-handdrawn.png b/site/home/images/blueprints-handdrawn.png
deleted file mode 100644
index 8a7aba6..0000000
Binary files a/site/home/images/blueprints-handdrawn.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/cityscape-button.png
----------------------------------------------------------------------
diff --git a/site/home/images/cityscape-button.png b/site/home/images/cityscape-button.png
deleted file mode 100644
index 85f986d..0000000
Binary files a/site/home/images/cityscape-button.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/egg-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/egg-logo.png b/site/home/images/egg-logo.png
deleted file mode 100644
index 9d25899..0000000
Binary files a/site/home/images/egg-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/favicon.ico
----------------------------------------------------------------------
diff --git a/site/home/images/favicon.ico b/site/home/images/favicon.ico
deleted file mode 100644
index 79782c4..0000000
Binary files a/site/home/images/favicon.ico and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/furnace-handdrawn.png
----------------------------------------------------------------------
diff --git a/site/home/images/furnace-handdrawn.png b/site/home/images/furnace-handdrawn.png
deleted file mode 100644
index 53fa34b..0000000
Binary files a/site/home/images/furnace-handdrawn.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/goutte-blue.png
----------------------------------------------------------------------
diff --git a/site/home/images/goutte-blue.png b/site/home/images/goutte-blue.png
deleted file mode 100644
index 224dd38..0000000
Binary files a/site/home/images/goutte-blue.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/graph-globe.png
----------------------------------------------------------------------
diff --git a/site/home/images/graph-globe.png b/site/home/images/graph-globe.png
deleted file mode 100644
index 9f37885..0000000
Binary files a/site/home/images/graph-globe.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/graph-vs-table.png
----------------------------------------------------------------------
diff --git a/site/home/images/graph-vs-table.png b/site/home/images/graph-vs-table.png
deleted file mode 100644
index 04945ca..0000000
Binary files a/site/home/images/graph-vs-table.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/gremlin-apache.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-apache.png b/site/home/images/gremlin-apache.png
deleted file mode 100644
index e2d3bce..0000000
Binary files a/site/home/images/gremlin-apache.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/gremlin-download.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-download.png b/site/home/images/gremlin-download.png
deleted file mode 100644
index d9e1efd..0000000
Binary files a/site/home/images/gremlin-download.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/gremlin-github.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-github.png b/site/home/images/gremlin-github.png
deleted file mode 100644
index 923bf43..0000000
Binary files a/site/home/images/gremlin-github.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/gremlin-gym-mini.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-gym-mini.png b/site/home/images/gremlin-gym-mini.png
deleted file mode 100644
index 5c3d023..0000000
Binary files a/site/home/images/gremlin-gym-mini.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/gremlin-handdrawn.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-handdrawn.png b/site/home/images/gremlin-handdrawn.png
deleted file mode 100644
index ff3e9d3..0000000
Binary files a/site/home/images/gremlin-handdrawn.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/gremlin-head.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-head.png b/site/home/images/gremlin-head.png
deleted file mode 100644
index ec54d65..0000000
Binary files a/site/home/images/gremlin-head.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/gremlin-language-variants.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-language-variants.png b/site/home/images/gremlin-language-variants.png
deleted file mode 100644
index 2c6ee8b..0000000
Binary files a/site/home/images/gremlin-language-variants.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/gremlin-quill.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-quill.png b/site/home/images/gremlin-quill.png
deleted file mode 100644
index bafcd63..0000000
Binary files a/site/home/images/gremlin-quill.png and /dev/null differ


[45/47] tinkerpop git commit: Updated committers docs about site publishing.

Posted by sp...@apache.org.
Updated committers docs about site publishing.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7bfc8686
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7bfc8686
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7bfc8686

Branch: refs/heads/TINKERPOP-1235
Commit: 7bfc8686aff4215f6069c34bf8e08d586dd8ad32
Parents: 1661729
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Oct 27 07:58:11 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:58:11 2016 -0400

----------------------------------------------------------------------
 docs/src/dev/developer/for-committers.asciidoc | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7bfc8686/docs/src/dev/developer/for-committers.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/for-committers.asciidoc b/docs/src/dev/developer/for-committers.asciidoc
index ca9c2c2..f2ae9ff 100644
--- a/docs/src/dev/developer/for-committers.asciidoc
+++ b/docs/src/dev/developer/for-committers.asciidoc
@@ -440,6 +440,21 @@ uploaded to the server and should preserve the directory structure in git as ref
 Please see the <<building-testing,Building and Testing>> section for more information on how to generate the
 documentation.
 
+[[site]]
+Site
+----
+
+The content for the TinkerPop home page and related pages that make up the web site at link://tinkerpop.apache.org[tinkerpop.apache.org]
+is stored in the git repository under `/docs/site`. In this way, it becomes easier for the community to provide content
+presented there, because the content can be accepted via the standard workflow of a pull request. To generate the site
+for local viewing, run `bin/generate-home.sh`, which will build the site in `target/site/`. PMC members can officially
+publish the site with `bin/publish-home.sh <username>`.
+
+"Publishing" does not publish documentation (e.g. reference docs, javadocs, etc) and only publishes what is generated
+from the content in `/docs/site`. Publishing the site can be performed out of band with the release cycle and is no
+way tied to a version. The `master` branch should always be considered the "current" web site and publishing should
+only happen from that branch.
+
 [[logging]]
 Logging
 -------


[23/47] tinkerpop git commit: completed homepage publish script

Posted by sp...@apache.org.
completed homepage publish script


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f38469c1
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f38469c1
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f38469c1

Branch: refs/heads/TINKERPOP-1235
Commit: f38469c12207a13fe91f9ec46c92996a73af14e3
Parents: f1a5623
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Thu Oct 20 22:40:52 2016 +0200
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:51 2016 -0400

----------------------------------------------------------------------
 site/bin/generate-home.sh             | 21 ++++++++++++-----
 site/bin/publish-home.sh              | 38 +++++++++++++++++++++++++++---
 site/home/template/header-footer.html |  8 +++----
 3 files changed, 54 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f38469c1/site/bin/generate-home.sh
----------------------------------------------------------------------
diff --git a/site/bin/generate-home.sh b/site/bin/generate-home.sh
index dc41a7c..6e97923 100755
--- a/site/bin/generate-home.sh
+++ b/site/bin/generate-home.sh
@@ -18,14 +18,23 @@
 # specific language governing permissions and limitations
 # under the License.
 #
-if [[ -d ../target/site/home ]]; then
-  rm -r ../target/site/home
-fi
+cd `dirname $0`/..
+
+rm -rf ../target/site/home
 mkdir -p ../target/site/
-cp -R home ../target/site
+
+hash rsync 2> /dev/null
+
+if [ $? -eq 0 ]; then
+  rsync -avq home ../target/site --exclude template
+else
+  cp -R home ../target/site
+  rm -rf ../target/site/home/template
+fi
 
 for filename in home/*.html; do
-    sed -e "/!!!!!BODY!!!!!/ r $filename" home/template/header-footer.html -e /!!!!!BODY!!!!!/d > "../target/site/$filename"
+echo $filename
+    sed -e "/!!!!!BODY!!!!!/ r $filename" home/template/header-footer.html -e /!!!!!BODY!!!!!/d > "../target/site/${filename}"
 done
 
-echo "Home page site generated to target/site/home"
\ No newline at end of file
+echo "Home page site generated to $(cd ../target/site/home ; pwd)"

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f38469c1/site/bin/publish-home.sh
----------------------------------------------------------------------
diff --git a/site/bin/publish-home.sh b/site/bin/publish-home.sh
old mode 100644
new mode 100755
index 7be58c8..3e6cc7d
--- a/site/bin/publish-home.sh
+++ b/site/bin/publish-home.sh
@@ -19,6 +19,8 @@
 # under the License.
 #
 
+cd `dirname $0`/..
+
 USERNAME=$1
 
 if [ "${USERNAME}" == "" ]; then
@@ -27,13 +29,43 @@ if [ "${USERNAME}" == "" ]; then
   exit 1
 fi
 
+if [ ! -d ../target/site/home ]; then
+  bin/generate-home.sh || exit 1
+  echo
+fi
+
 read -s -p "Password for SVN user ${USERNAME}: " PASSWORD
 echo
 
 SVN_CMD="svn --no-auth-cache --username=${USERNAME} --password=${PASSWORD}"
 
+cd ..
 rm -rf target/svn
-bin/generate-home.sh
-
 mkdir -p target/svn
-${SVN_CMD} co --depth immediates https://svn.apache.org/repos/asf/tinkerpop/site target/svn
\ No newline at end of file
+
+${SVN_CMD} co --depth files https://svn.apache.org/repos/asf/tinkerpop/site target/svn
+
+cd target/svn
+
+find ../site/home -mindepth 1 -maxdepth 1 -type d | xargs -n1 basename | xargs -r ${SVN_CMD} update
+
+diff -rq ./ ../site/home/ | awk -f ../../bin/publish-docs.awk | sed 's/^\(.\) \//\1 /g' > ../publish-home.files
+
+for file in $(cat ../publish-home.files | awk '/^[AU]/ {print $2}')
+do
+  if [ -d "../site/home/${file}" ]; then
+    mkdir -p "${file}" && cp -r "../site/home/${file}"/* "$_"
+  else
+    mkdir -p "`dirname ${file}`" && cp "../site/home/${file}" "$_"
+  fi
+done
+
+cat ../publish-home.files | awk '/^A/ {print $2}' | xargs -r svn add --parents
+cat ../publish-home.files | awk '/^D/ {print $2}' | xargs -r svn delete
+
+CHANGES=$(cat ../publish-home.files | wc -l)
+
+if [ ${CHANGES} -gt 0 ]; then
+  ${SVN_CMD} commit -m "Deploy TinkerPop homepage"
+fi
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f38469c1/site/home/template/header-footer.html
----------------------------------------------------------------------
diff --git a/site/home/template/header-footer.html b/site/home/template/header-footer.html
index ab6db20..390279e 100644
--- a/site/home/template/header-footer.html
+++ b/site/home/template/header-footer.html
@@ -16,10 +16,10 @@ limitations under the License.
 -->
 <!DOCTYPE html>
 <!--
-   \,,,/
-   (o o)
-   -oOOo-(3)-oOOo-
-   -->
+       \,,,/
+       (o o)
+  -oOOo-(3)-oOOo-
+-->
 <html lang="en">
    <head>
       <meta charset="utf-8">


[02/47] tinkerpop git commit: Merge branch 'tp32' into TINKERPOP-1507

Posted by sp...@apache.org.
Merge branch 'tp32' into TINKERPOP-1507


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/fc6ce291
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/fc6ce291
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/fc6ce291

Branch: refs/heads/TINKERPOP-1235
Commit: fc6ce2917b5850e3538acd098030371a21e4a441
Parents: 0fec46d b262c7e
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Oct 25 06:05:25 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Oct 25 06:05:25 2016 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                |  4 ++--
 docs/src/dev/developer/release.asciidoc           |  4 ++++
 docs/src/reference/the-traversal.asciidoc         |  4 ++--
 .../decoration/VertexProgramStrategy.java         |  5 +++++
 .../server/GremlinServerIntegrateTest.java        | 18 ------------------
 5 files changed, 13 insertions(+), 22 deletions(-)
----------------------------------------------------------------------



[22/47] tinkerpop git commit: Moved site html files to main repo.

Posted by sp...@apache.org.
Moved site html files to main repo.

Started basic scripts to template the HTML and publish the site.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d19da4fe
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d19da4fe
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d19da4fe

Branch: refs/heads/TINKERPOP-1235
Commit: d19da4fe220551a83f792d6b4b2aadeacebd524c
Parents: 47e2cd7
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Oct 20 11:05:46 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:50 2016 -0400

----------------------------------------------------------------------
 site/bin/generate-home.sh                       |    31 +
 site/bin/publish-home.sh                        |    39 +
 site/home/css/bootstrap-mods.css                |   140 +
 site/home/css/carousel.css                      |   417 +
 site/home/css/prism.css                         |   145 +
 site/home/downloads.html                        |   253 +
 site/home/gremlin.html                          |   380 +
 site/home/images/apache-tinkerpop-logo.png      |   Bin 0 -> 118637 bytes
 site/home/images/blueprints-handdrawn.png       |   Bin 0 -> 39838 bytes
 site/home/images/cityscape-button.png           |   Bin 0 -> 54260 bytes
 site/home/images/egg-logo.png                   |   Bin 0 -> 7241 bytes
 site/home/images/favicon.ico                    |   Bin 0 -> 1406 bytes
 site/home/images/furnace-handdrawn.png          |   Bin 0 -> 27598 bytes
 site/home/images/goutte-blue.png                |   Bin 0 -> 13400 bytes
 site/home/images/graph-globe.png                |   Bin 0 -> 97146 bytes
 site/home/images/graph-vs-table.png             |   Bin 0 -> 35982 bytes
 site/home/images/gremlin-apache.png             |   Bin 0 -> 184276 bytes
 site/home/images/gremlin-download.png           |   Bin 0 -> 35666 bytes
 site/home/images/gremlin-github.png             |   Bin 0 -> 25806 bytes
 site/home/images/gremlin-gym-mini.png           |   Bin 0 -> 128185 bytes
 site/home/images/gremlin-handdrawn.png          |   Bin 0 -> 24985 bytes
 site/home/images/gremlin-head.png               |   Bin 0 -> 47157 bytes
 site/home/images/gremlin-language-variants.png  |   Bin 0 -> 157258 bytes
 site/home/images/gremlin-quill.png              |   Bin 0 -> 200459 bytes
 site/home/images/homepage.graffle               | 63974 +++++++++++++++++
 site/home/images/logos/blazegraph-logo.png      |   Bin 0 -> 58946 bytes
 site/home/images/logos/datastax-logo.png        |   Bin 0 -> 38630 bytes
 site/home/images/logos/gremlin-groovy-logo.png  |   Bin 0 -> 126622 bytes
 site/home/images/logos/gremlin-java-logo.png    |   Bin 0 -> 106573 bytes
 site/home/images/logos/gremlin-python-logo.png  |   Bin 0 -> 100190 bytes
 site/home/images/logos/gremlin-scala-logo.png   |   Bin 0 -> 83255 bytes
 site/home/images/logos/ibmgraph-logo.png        |   Bin 0 -> 70338 bytes
 site/home/images/logos/keylines-logo.png        |   Bin 0 -> 38740 bytes
 site/home/images/logos/linkurious-logo.png      |   Bin 0 -> 58124 bytes
 site/home/images/logos/neo4j-logo.png           |   Bin 0 -> 48361 bytes
 site/home/images/logos/ogre-logo.png            |   Bin 0 -> 119692 bytes
 site/home/images/logos/orientdb-logo.png        |   Bin 0 -> 38721 bytes
 site/home/images/logos/sparql-gremlin-logo.png  |   Bin 0 -> 102985 bytes
 site/home/images/logos/sql-gremlin-logo.png     |   Bin 0 -> 94816 bytes
 site/home/images/logos/stardog-logo.png         |   Bin 0 -> 78711 bytes
 site/home/images/logos/titan-logo.png           |   Bin 0 -> 76305 bytes
 site/home/images/logos/tomsawyer-logo.png       |   Bin 0 -> 68634 bytes
 site/home/images/meeting-room-button.png        |   Bin 0 -> 46717 bytes
 site/home/images/oltp-and-olap.png              |   Bin 0 -> 400257 bytes
 site/home/images/peon-head.png                  |   Bin 0 -> 11761 bytes
 site/home/images/policy/adjacency-list.png      |   Bin 0 -> 36192 bytes
 .../home/images/policy/blueprints-character.png |   Bin 0 -> 18474 bytes
 site/home/images/policy/business-gremlin.png    |   Bin 0 -> 412520 bytes
 site/home/images/policy/cyclicpath-step.png     |   Bin 0 -> 133628 bytes
 site/home/images/policy/flat-map-lambda.png     |   Bin 0 -> 26423 bytes
 site/home/images/policy/frames-character.png    |   Bin 0 -> 17482 bytes
 site/home/images/policy/furnace-character.png   |   Bin 0 -> 14118 bytes
 site/home/images/policy/gremlin-character.png   |   Bin 0 -> 16473 bytes
 site/home/images/policy/gremlin-chickenwing.png |   Bin 0 -> 34307 bytes
 site/home/images/policy/gremlin-gremopoly.png   |   Bin 0 -> 28803 bytes
 site/home/images/policy/gremlin-gremreaper.png  |   Bin 0 -> 33275 bytes
 site/home/images/policy/gremlin-gremstefani.png |   Bin 0 -> 32122 bytes
 .../policy/gremlin-new-sheriff-in-town.png      |   Bin 0 -> 30381 bytes
 .../policy/gremlin-no-more-mr-nice-guy.png      |   Bin 0 -> 27941 bytes
 site/home/images/policy/gremlintron.png         |   Bin 0 -> 219686 bytes
 site/home/images/policy/olap-traversal.png      |   Bin 0 -> 315037 bytes
 site/home/images/policy/pipes-character.png     |   Bin 0 -> 19807 bytes
 site/home/images/policy/rexster-character.png   |   Bin 0 -> 18100 bytes
 site/home/images/policy/tinkerpop-reading.png   |   Bin 0 -> 195749 bytes
 site/home/images/policy/tinkerpop3-splash.png   |   Bin 0 -> 643257 bytes
 .../images/resources/arxiv-article-resource.png |   Bin 0 -> 306821 bytes
 .../benefits-gremlin-machine-resource.png       |   Bin 0 -> 159622 bytes
 .../resources/graph-databases-101-resource.png  |   Bin 0 -> 139229 bytes
 .../resources/on-graph-computing-resource.png   |   Bin 0 -> 159091 bytes
 .../resources/property-graph-resource.png       |   Bin 0 -> 162245 bytes
 .../images/resources/sql-2-gremlin-resource.png |   Bin 0 -> 210892 bytes
 .../resources/tables-and-graphs-resource.png    |   Bin 0 -> 344091 bytes
 .../resources/why-graph-databases-resource.png  |   Bin 0 -> 243807 bytes
 site/home/images/rexster-handdrawn.png          |   Bin 0 -> 30247 bytes
 site/home/images/tinkerblocks.png               |   Bin 0 -> 802732 bytes
 site/home/images/tinkerpop-book.png             |   Bin 0 -> 195749 bytes
 site/home/images/tinkerpop-cityscape.png        |   Bin 0 -> 801856 bytes
 site/home/images/tinkerpop-conference.png       |   Bin 0 -> 719950 bytes
 site/home/images/tinkerpop-logo-small.png       |   Bin 0 -> 30662 bytes
 site/home/images/tinkerpop-meeting-room.png     |   Bin 0 -> 703938 bytes
 site/home/images/tinkerpop-reading-2.png        |   Bin 0 -> 211187 bytes
 site/home/images/tinkerpop-reading.png          |   Bin 0 -> 195749 bytes
 site/home/images/tinkerpop-splash.png           |   Bin 0 -> 653463 bytes
 site/home/images/tinkerpop3-splash.png          |   Bin 0 -> 643257 bytes
 site/home/index.html                            |   297 +
 site/home/js/bootstrap-3.3.5.min.js             |     7 +
 site/home/js/jquery-1.11.0.min.js               |     4 +
 site/home/js/prism.js                           |   423 +
 site/home/policy.html                           |    56 +
 site/home/providers.html                        |   343 +
 site/home/template/header-footer.html           |   132 +
 91 files changed, 66641 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/bin/generate-home.sh
----------------------------------------------------------------------
diff --git a/site/bin/generate-home.sh b/site/bin/generate-home.sh
new file mode 100755
index 0000000..dc41a7c
--- /dev/null
+++ b/site/bin/generate-home.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+#
+# 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.
+#
+if [[ -d ../target/site/home ]]; then
+  rm -r ../target/site/home
+fi
+mkdir -p ../target/site/
+cp -R home ../target/site
+
+for filename in home/*.html; do
+    sed -e "/!!!!!BODY!!!!!/ r $filename" home/template/header-footer.html -e /!!!!!BODY!!!!!/d > "../target/site/$filename"
+done
+
+echo "Home page site generated to target/site/home"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/bin/publish-home.sh
----------------------------------------------------------------------
diff --git a/site/bin/publish-home.sh b/site/bin/publish-home.sh
new file mode 100644
index 0000000..7be58c8
--- /dev/null
+++ b/site/bin/publish-home.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+#
+#
+# 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.
+#
+
+USERNAME=$1
+
+if [ "${USERNAME}" == "" ]; then
+  echo "Please provide a SVN username."
+  echo -e "\nUsage:\n\t$0 <username>\n"
+  exit 1
+fi
+
+read -s -p "Password for SVN user ${USERNAME}: " PASSWORD
+echo
+
+SVN_CMD="svn --no-auth-cache --username=${USERNAME} --password=${PASSWORD}"
+
+rm -rf target/svn
+bin/generate-home.sh
+
+mkdir -p target/svn
+${SVN_CMD} co --depth immediates https://svn.apache.org/repos/asf/tinkerpop/site target/svn
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/css/bootstrap-mods.css
----------------------------------------------------------------------
diff --git a/site/home/css/bootstrap-mods.css b/site/home/css/bootstrap-mods.css
new file mode 100644
index 0000000..68a6c31
--- /dev/null
+++ b/site/home/css/bootstrap-mods.css
@@ -0,0 +1,140 @@
+.nav-icon {
+    width: 24px;
+    height: 24px;
+    margin-right: 5px;
+}
+.hero-unit {
+    background-color: #f5f5f5;
+    margin-bottom: 2px;
+    padding: 20px;
+    -webkit-border-radius: 6px;
+    -moz-border-radius: 6px;
+    border-radius: 6px;
+    margin-top: 20px;
+}
+.hero-unit h1 {
+    margin-bottom: 0;
+    font-size: 50px;
+    line-height: 1;
+    letter-spacing: -1px;
+}
+.hero-unit p {
+    font-size: 18px;
+    font-weight: 200;
+    line-height: 27px;
+}
+.carousel-indicators-numbers li {
+    font-size: 12px;
+    text-indent: 0px;
+    margin: -2px 2px;
+    width: 25px;
+    height: 25px;
+    border: none;
+    border-radius: 100%;
+    line-height: 26px;
+    color: #fff;
+    background-color: #999;
+}
+.carousel-indicators-numbers li.active {
+    margin: -2px 2px;
+    width: 25px;
+    height: 25px;
+    background-color: #337ab7;
+}
+.carousel-indicators {
+    bottom: -39px;
+}
+.carousel-inner {
+    margin-bottom: 50px;
+}
+#footer {
+    background-color: #f5f5f5;
+}
+.container .credit {
+    margin: 20px 0;
+}
+.navbar {
+    margin-bottom: 0;
+}
+
+.hovereffect {
+width:100%;
+height:100%;
+float:left;
+overflow:hidden;
+position:relative;
+text-align:center;
+cursor:default;
+border-radius:5px;
+}
+
+.hovereffect .overlay {
+width:100%;
+height:100%;
+position:absolute;
+overflow:hidden;
+top:0;
+left:0;
+opacity:0;
+background-color:rgba(0,0,0,0.5);
+-webkit-transition:all .4s ease-in-out;
+transition:all .4s ease-in-out;
+border-radius:5px;
+}
+
+.hovereffect img {
+display:block;
+position:relative;
+-webkit-transition:all .4s linear;
+transition:all .4s linear;
+border-radius:5px;
+}
+
+
+.hovereffect a.info {
+text-decoration:none;
+display:inline-block;
+border-radius:5px;
+color:#fff;
+border:1px solid #fff;
+background-color:transparent;
+opacity:0;
+filter:alpha(opacity=0);
+-webkit-transition:all .2s ease-in-out;
+transition:all .2s ease-in-out;
+margin:25px 0 0;
+padding:5px 5px;
+}
+
+.hovereffect a.info:hover {
+box-shadow:0 0 5px #fff;
+border-radius:5px;
+}
+
+.hovereffect:hover img {
+-ms-transform:scale(1.2);
+-webkit-transform:scale(1.2);
+transform:scale(1.2);
+border-radius:5px;
+}
+
+.hovereffect:hover .overlay {
+opacity:1;
+filter:alpha(opacity=100);
+border-radius:5px;
+}
+
+.hovereffect:hover h2,.hovereffect:hover a.info {
+opacity:1;
+filter:alpha(opacity=100);
+-ms-transform:translatey(0);
+-webkit-transform:translatey(0);
+transform:translatey(0);
+border-radius:5px;
+}
+
+.hovereffect:hover a.info {
+-webkit-transition-delay:.2s;
+transition-delay:.2s;
+border-radius:5px;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/css/carousel.css
----------------------------------------------------------------------
diff --git a/site/home/css/carousel.css b/site/home/css/carousel.css
new file mode 100644
index 0000000..a4eef64
--- /dev/null
+++ b/site/home/css/carousel.css
@@ -0,0 +1,417 @@
+/* Bootstrap items to overWrite */
+
+.carouselGrid-inner > .item > img,
+.carouselGrid-inner > .item > a > img {
+  display: block;
+  max-width: 100%;
+  height: auto;
+}
+
+.carouselGrid-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden;
+}
+
+.carouselGrid-inner > .item {
+  position: relative;
+  display: none;
+  -webkit-transition: 1s ease-in-out left;
+       -o-transition: 1s ease-in-out left;
+          transition: 1s ease-in-out left;
+    -webkit-backface-visibility: hidden;
+            backface-visibility: hidden;
+}
+
+.carouselGrid-inner > .item > img,
+.carouselGrid-inner > .item > a > img {
+  line-height: 1;
+}
+
+
+
+@media all and (transform-3d), (-webkit-transform-3d) {
+ .carouselGrid-inner > .item {
+    -webkit-transition: -webkit-transform 1s ease-in-out;
+         -o-transition:      -o-transform 1s ease-in-out;
+            transition:         transform 1s ease-in-out;
+
+    -webkit-backface-visibility: hidden;
+            backface-visibility: hidden;
+    -webkit-perspective: 1000px;
+            perspective: 1000px;
+  }
+
+
+  @media (max-width: 767px) { /* xs */
+      .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(50%, 0, 0);
+              transform: translate3d(50%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-50%, 0, 0);
+              transform: translate3d(-50%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+  @media (min-width: 767px) and (max-width: 992px ) { /* sm */
+      .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(33%, 0, 0);
+              transform: translate3d(33%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-33%, 0, 0);
+              transform: translate3d(-33%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+  @media (min-width: 992px ) and (max-width: 1200px) { /* md */
+      .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(25%, 0, 0);
+              transform: translate3d(25%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-25%, 0, 0);
+              transform: translate3d(-25%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+  @media (min-width: 1200px ) { /* lg */
+
+    .carouselGrid-inner > .item.next,
+    .carouselGrid-inner > .item.active.right {
+      left: 0;
+      -webkit-transform: translate3d(20%, 0, 0);
+              transform: translate3d(20%, 0, 0);
+    }
+    .carouselGrid-inner > .item.prev,
+    .carouselGrid-inner > .item.active.left {
+      left: 0;
+      -webkit-transform: translate3d(-20%, 0, 0);
+              transform: translate3d(-20%, 0, 0);
+    }
+    .carouselGrid-inner > .item.next.left,
+    .carouselGrid-inner > .item.prev.right,
+    .carouselGrid-inner > .item.active {
+      left: 0;
+      -webkit-transform: translate3d(0%, 0, 0);
+              transform: translate3d(0%, 0, 0);
+    }
+  }
+
+}
+
+  .carouselGrid-inner > .active,
+  .carouselGrid-inner > .next,
+  .carouselGrid-inner > .prev {
+    display: block;
+  }
+  .carouselGrid-inner > .active {
+    left: 0;
+  }
+  .carouselGrid-inner > .next,
+  .carouselGrid-inner > .prev {
+    position: absolute;
+    top: 0;
+    width: 100%;
+  }
+  .carouselGrid-inner > .next {
+    left: 100%;
+  }
+  .carouselGrid-inner > .prev {
+    left: -100%;
+  }
+  .carouselGrid-inner > .next.left,
+  .carouselGrid-inner > .prev.right {
+    left: 0;
+  }
+
+
+  @media (max-width: 767px) { /* xs */
+    .carouselGrid-inner > .active.left {
+      left: -50%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 50%;
+    }
+  }
+  @media (min-width: 767px) and (max-width: 992px ) { /* sm */
+        .carouselGrid-inner > .active.left {
+      left: -33%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 33%;
+    }
+  }
+  @media (min-width: 992px ) and (max-width: 1200px) { /* md */
+        .carouselGrid-inner > .active.left {
+      left: -25%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 25%;
+    }
+  }
+  @media (min-width: 1200px ) { /* lg */
+    .carouselGrid-inner > .active.left {
+      left: -20%;
+    }
+    .carouselGrid-inner > .active.right {
+      left: 20%;
+    }
+  }
+
+
+.carouselGrid-control {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  width: 15%;
+  font-size: 20px;
+  color: #fff;
+  text-align: center;
+  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+  filter: alpha(opacity=50);
+  opacity: .5;
+}
+.carouselGrid-control.left {
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
+  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+  background-repeat: repeat-x;
+}
+.carouselGrid-control.right {
+  right: 0;
+  left: auto;
+  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
+  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+  background-repeat: repeat-x;
+}
+.carouselGrid-control:hover,
+.carouselGrid-control:focus {
+  color: #fff;
+  text-decoration: none;
+  filter: alpha(opacity=90);
+  outline: 0;
+  opacity: .9;
+}
+.carouselGrid-control .icon-prev,
+.carouselGrid-control .icon-next,
+.carouselGrid-control .glyphicon-chevron-left,
+.carouselGrid-control .glyphicon-chevron-right {
+  position: absolute;
+  top: 50%;
+  z-index: 5;
+  display: inline-block;
+  margin-top: -10px;
+}
+.carouselGrid-control .icon-prev,
+.carouselGrid-control .glyphicon-chevron-left {
+  left: 50%;
+  margin-left: -10px;
+}
+.carouselGrid-control .icon-next,
+.carouselGrid-control .glyphicon-chevron-right {
+  right: 50%;
+  margin-right: -10px;
+}
+.carouselGrid-control .icon-prev,
+.carouselGrid-control .icon-next {
+  width: 20px;
+  height: 20px;
+  font-family: serif;
+  line-height: 1;
+}
+.carouselGrid-control .icon-prev:before {
+  content: '\2039';
+}
+.carouselGrid-control .icon-next:before {
+  content: '\203a';
+}
+.carouselGrid-indicators {
+  position: absolute;
+  bottom: 10px;
+  left: 50%;
+  z-index: 15;
+  width: 60%;
+  padding-left: 0;
+  margin-left: -30%;
+  text-align: center;
+  list-style: none;
+}
+.carouselGrid-indicators li {
+  display: inline-block;
+  width: 10px;
+  height: 10px;
+  margin: 1px;
+  text-indent: -999px;
+  cursor: pointer;
+  background-color: #000 \9;
+  background-color: rgba(0, 0, 0, 0);
+  border: 1px solid #fff;
+  border-radius: 10px;
+}
+.carouselGrid-indicators .active {
+  width: 12px;
+  height: 12px;
+  margin: 0;
+  background-color: #fff;
+}
+.carouselGrid-caption {
+  position: absolute;
+  right: 15%;
+  bottom: 20px;
+  left: 15%;
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: #fff;
+  text-align: center;
+  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+}
+.carouselGrid-caption .btn {
+  text-shadow: none;
+}
+@media screen and (min-width: 768px) {
+  .carouselGrid-control .glyphicon-chevron-left,
+  .carouselGrid-control .glyphicon-chevron-right,
+  .carouselGrid-control .icon-prev,
+  .carouselGrid-control .icon-next {
+    width: 30px;
+    height: 30px;
+    margin-top: -15px;
+    font-size: 30px;
+  }
+  .carouselGrid-control .glyphicon-chevron-left,
+  .carouselGrid-control .icon-prev {
+    margin-left: -15px;
+  }
+  .carouselGrid-control .glyphicon-chevron-right,
+  .carouselGrid-control .icon-next {
+    margin-right: -15px;
+  }
+  .carouselGrid-caption {
+    right: 20%;
+    left: 20%;
+    padding-bottom: 30px;
+  }
+  .carouselGrid-indicators {
+    bottom: 20px;
+  }
+}
+
+.carouselGrid-control        { width:  4%; }
+.carouselGrid-control.left,.carouselGrid-control.right {margin-left:15px;background-image:none;}
+@media (max-width: 767px) { /* xs */
+  .carouselGrid-inner .active.left { left: -50%; }
+  .carouselGrid-inner .next        { left:  50%;}
+  .carouselGrid-inner .prev    { left: -50%; }
+  .active > div { display:none; }
+  .active > div:first-child { display:block; }
+  .active > div:first-child + div { display:block; }
+  .active > div:first-child + div + div { display:none; }
+  .active > div:first-child + div + div + div { display:none; }
+
+
+}
+@media (min-width: 767px) and (max-width: 992px ) { /* sm */
+  .carouselGrid-inner .active.left { left: -33%; }
+  .carouselGrid-inner .next        { left:  33%; }
+  .carouselGrid-inner .prev    { left: -33%; }
+  .active > div { display:none; }
+  .active > div:first-child { display:block; }
+  .active > div:first-child + div { display:block; }
+  .active > div:first-child + div + div { display:block; }
+  .active > div:first-child + div + div + div { display:none; }
+}
+
+
+
+@media (min-width: 992px ) and (max-width: 1200px) { /* md  */
+  .carouselGrid-inner .active.left { left: -25%;  }
+  .carouselGrid-inner .next        { left:  25%; }
+  .carouselGrid-inner .prev   { left: -25%;  }  
+  .active > div { display:none; }
+  .active > div:first-child { display:block; }
+  .active > div:first-child + div { display:block; }
+  .active > div:first-child + div + div { display:block; }
+  .active > div:first-child + div + div + div { display:block; }
+
+}
+
+@media (min-width: 1200px ) { /* lg */
+  .carouselGrid-inner .active.left { left: -20%; }
+  .carouselGrid-inner .next        { left:  20%;}
+  .carouselGrid-inner .prev   {left: -20%; }
+
+}
+
+
+/* NECESSARY FOR FIVE ITEMS (Extends Bootstrap to 5 columns) */
+/*http://www.wearesicc.com/quick-tips-5-column-layout-with-twitter-bootstrap/ */
+.col-xs-15,
+.col-sm-15,
+.col-md-15,
+.col-lg-15 {
+    position: relative;
+    min-height: 1px;
+    padding-right: 15px;
+    padding-left: 15px;
+}
+.col-xs-15 {
+    width: 33%;
+    float: left;
+}
+@media (min-width: 768px) {
+.col-sm-15 {
+        width: 33%;
+        float: left;
+    }
+}
+@media (min-width: 992px) {
+    .col-md-15 {
+        width: 33%;
+        float: left;
+    }
+}
+@media (min-width: 1200px) {
+    .col-lg-15 {
+        width: 33%;
+        float: left;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/css/prism.css
----------------------------------------------------------------------
diff --git a/site/home/css/prism.css b/site/home/css/prism.css
new file mode 100644
index 0000000..e25f79d
--- /dev/null
+++ b/site/home/css/prism.css
@@ -0,0 +1,145 @@
+/* http://prismjs.com/download.html?themes=prism&languages=clike+javascript+groovy+jade */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+
+code[class*="language-"],
+pre[class*="language-"] {
+	color: #337ab7;
+	background: none;
+	text-shadow: 0 0px white;
+	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+	text-align: left;
+	white-space: pre;
+	word-spacing: normal;
+	word-break: normal;
+	word-wrap: normal;
+	line-height: 1.5;
+
+	-moz-tab-size: 4;
+	-o-tab-size: 4;
+	tab-size: 4;
+
+	-webkit-hyphens: none;
+	-moz-hyphens: none;
+	-ms-hyphens: none;
+	hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
+	text-shadow: none;
+	background: #f5f5f5;
+}
+
+pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
+code[class*="language-"]::selection, code[class*="language-"] ::selection {
+	text-shadow: none;
+	background: #f5f5f5;
+}
+
+@media print {
+	code[class*="language-"],
+	pre[class*="language-"] {
+		text-shadow: none;
+	}
+}
+
+.carousel-control.left, .carousel-control.right {
+    background-image: none
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+	padding: 0em;
+	margin: 0em 0;
+	overflow: auto;
+}
+
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+	background: #f5f5f5;
+}
+
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+	padding: 0em;
+	border-radius: 0em;
+	white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+	color: gray;
+}
+
+.token.punctuation {
+	color: black;
+}
+
+.namespace {
+	opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+	color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+	color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+	color: #a67f59;
+	background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword,
+.token.traversalSource {
+	color: #800080;
+}
+
+.token.function {
+	color: #337ab7;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+	color: #337ab7;
+}
+
+.token.important,
+.token.bold {
+	font-weight: bold;
+}
+.token.italic {
+	font-style: italic;
+}
+
+.token.entity {
+	cursor: help;
+	color: #337ab7;
+}
+

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/downloads.html
----------------------------------------------------------------------
diff --git a/site/home/downloads.html b/site/home/downloads.html
new file mode 100644
index 0000000..c905083
--- /dev/null
+++ b/site/home/downloads.html
@@ -0,0 +1,253 @@
+<div class="container">
+ <div class="row">
+    <h3>Download Apache TinkerPop&trade;</h3>
+    <p><img src="images/gremlin-download.png"  style="float:right;width:150px;padding:10px;"/>Apache TinkerPop provides three packaged downloads per release version. The
+       <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a> and <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a>
+       downloads are binary distributions, which contain pre-packaged versions of these important TinkerPop applications that are designed to work out-of-the-box
+       when unpackaged. The source distribution is a snapshot of the source code and files used in the building of those  binary distributions.</p>
+    <p>TinkerPop also deploys artifacts to <a href="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.tinkerpop%22">Maven Central</a>, which is helpful to
+       developers who wish to depend on the various libraries that TinkerPop provides.
+    <br/>
+    <h4>Current Releases</h4>
+    <table class="table">
+        <tr>
+            <td>
+                <strong>3.2.2</strong> (latest, stable)
+            </td>
+            <td>
+                6-Sep-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.2/CHANGELOG.asciidoc#release-3-2-2">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.2/upgrade/#_tinkerpop_3_2_2">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.2/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.2/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-gremlin-console-3.2.2-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-gremlin-server-3.2.2-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.2.2/apache-tinkerpop-3.2.2-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.4</strong> (maintenance)
+            </td>
+            <td>
+                6-Sep-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.4/CHANGELOG.asciidoc#release-3-1-4">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.4/upgrade/#_tinkerpop_3_1_4">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.4/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.4/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.4/apache-tinkerpop-gremlin-console-3.1.4-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.4/apache-tinkerpop-gremlin-server-3.1.4-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://www.apache.org/dyn/closer.lua/tinkerpop/3.1.4/apache-tinkerpop-3.1.4-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+    </table>
+    <h4>Archived Releases</small></h4>
+    <table class="table">
+        <tr>
+            <td>
+                <strong>3.2.1</strong>
+            </td>
+            <td>
+                18-Jul-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.1/CHANGELOG.asciidoc#tinkerpop-321-release-date-july-18-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.1/upgrade/#_tinkerpop_3_2_1">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.1/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.1/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-gremlin-console-3.2.1-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-gremlin-server-3.2.1-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.2.1/apache-tinkerpop-3.2.1-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.3</strong>
+            </td>
+            <td>
+                18-Jul-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.3/CHANGELOG.asciidoc#tinkerpop-313-release-date-july-18-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.3/upgrade/#_tinkerpop_3_1_3">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.3/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.3/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-gremlin-console-3.1.3-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-gremlin-server-3.1.3-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/tinkerpop/3.1.3/apache-tinkerpop-3.1.3-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.2.0-incubating</strong>
+            </td>
+            <td>
+                8-Apr-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.2.0-incubating/CHANGELOG.asciidoc#tinkerpop-320-release-date-april-8-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.0-incubating/upgrade/#_tinkerpop_3_2_0_2">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.2.0-incubating/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.2.0-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-gremlin-console-3.2.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-gremlin-server-3.2.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.2.0-incubating/apache-tinkerpop-3.2.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.2-incubating</strong>
+            </td>
+            <td>
+                8-Apr-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.2-incubating/CHANGELOG.asciidoc#tinkerpop-312-release-date-april-8-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.2-incubating/upgrade/#_tinkerpop_3_1_2">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.2-incubating/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.2-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-gremlin-console-3.1.2-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-gremlin-server-3.1.2-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.2-incubating/apache-tinkerpop-3.1.2-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.1-incubating</strong>
+            </td>
+            <td>
+                8-Feb-2016
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.1-incubating/CHANGELOG.asciidoc#tinkerpop-311-release-date-february-8-2016">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.1-incubating/upgrade/#_tinkerpop_3_1_1">upgrade</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.1-incubating/reference/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.1-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-gremlin-console-3.1.1-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-gremlin-server-3.1.1-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.1-incubating/apache-tinkerpop-3.1.1-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.1.0-incubating</strong>
+            </td>
+            <td>
+                16-Nov-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.1.0-incubating/CHANGELOG.asciidoc#tinkerpop-310-release-date-november-16-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.1.0-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.1.0-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-gremlin-console-3.1.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-gremlin-server-3.1.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.1.0-incubating/apache-tinkerpop-3.1.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.0.2-incubating</strong>
+            </td>
+            <td>
+                19-Oct-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.0.2-incubating/CHANGELOG.asciidoc#tinkerpop-302-release-date-october-19-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.0.2-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.0.2-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-gremlin-console-3.0.2-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-gremlin-server-3.0.2-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.2-incubating/apache-tinkerpop-3.0.2-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.0.1-incubating</strong>
+            </td>
+            <td>
+                2-Sep-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.0.1-incubating/CHANGELOG.asciidoc#tinkerpop-301-release-date-september-2-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.0.1-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.0.1-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-gremlin-console-3.0.1-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-gremlin-server-3.0.1-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.1-incubating/apache-tinkerpop-3.0.1-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <strong>3.0.0-incubating</strong>
+            </td>
+            <td>
+                9-Jul-2015
+            </td>
+            <td>
+                <a href="https://github.com/apache/tinkerpop/blob/3.0.0-incubating/CHANGELOG.asciidoc#tinkerpop-300-release-date-july-9-2015">release notes</a> |
+                <a href="http://tinkerpop.apache.org/docs/3.0.0-incubating/">documentation</a> |
+                <a href="http://tinkerpop.apache.org/javadocs/3.0.0-incubating/full/">javadoc</a>
+            </td>
+            <td align="right">
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-gremlin-console-3.0.0-incubating-bin.zip" class="btn btn-primary">Gremlin Console <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-gremlin-server-3.0.0-incubating-bin.zip" class="btn btn-primary">Gremlin Server <span class="glyphicon glyphicon-download-alt"></span></a>
+                <a href="https://archive.apache.org/dist/incubator/tinkerpop/3.0.0-incubating/apache-tinkerpop-3.0.0-incubating-src.zip" class="btn btn-primary">Source <span class="glyphicon glyphicon-download-alt"></span></a>
+            </td>
+        </tr>
+    </table>
+    <p><strong>Note</strong> that upgrade documentation was only introduced at 3.1.1-incubating which is why there are no links "upgrade" links in versions prior to that one.
+    <h4>Verifying Downloads</h4>
+    <p>All downloads have associated PGP and MD5 signatures to help verify a distribution provided by a mirror. To verify a distribution via PGP or GPG first download the
+       <a href="https://www.apache.org/dist/tinkerpop/KEYS">KEYS</a> file (it is important to use the linked file which is from the main distribution directory and not a
+       mirror. Next download the appropriate "asc" signature file for the relevant distribution (again, this file should come from the <a href="https://www.apache.org/dist/tinkerpop/">main
+       distribution directory</a> - note that older releases will have such files in the <a href="https://archive.apache.org/dist/tinkerpop/">archives</a> or if released under Apache
+       Incubator then they will be found in the <a href="https://archive.apache.org/dist/incubator/tinkerpop/">Incubator archives</a>).</p>
+    <p>Then verify the signatures as follows:</p>
+    <p>
+      <pre><code>
+      pgpk -a KEYS
+      pgpv apache-gremlin-console-x.y.z-bin.zip.asc
+      </code></pre>
+    </p>
+    <p>or</p>
+    <p>
+      <pre><code>
+      pgpk -ka KEYS
+      pgp apache-gremlin-console-x.y.z-bin.zip.asc
+      </code></pre>
+    </p>
+    <p>or</p>
+    <p>
+      <pre><code>
+      gpg --import KEYS
+      gpg --verify apache-gremlin-console-x.y.z-bin.zip.asc apache-gremlin-console-x.y.z-bin.zip
+      </code></pre>
+    </p>
+    <p>Alternatively, consider verifying the MD5 signature on the files. An MD5 signature consists of 32 hex characters, and a SHA1 signature consists of 40 hex characters.
+       Ensure that the generated signature string matches the signature string published in the files above.</p>
+ </div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/gremlin.html
----------------------------------------------------------------------
diff --git a/site/home/gremlin.html b/site/home/gremlin.html
new file mode 100644
index 0000000..7038f34
--- /dev/null
+++ b/site/home/gremlin.html
@@ -0,0 +1,380 @@
+<img src="images/tinkerpop-cityscape.png" class="img-responsive" />
+<div class="container">
+ <div class="hero-unit" style="padding:10px">
+    <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
+    <p><font size="5">The Gremlin Graph Traversal Machine and Language</font></p>
+ </div>
+</div>
+<br/>
+<div class="container-fluid">
+ <div class="container">
+    <div class="row">
+       <div class="col-sm-10 col-md-10">
+          <a href="http://arxiv.org/abs/1508.03843">Gremlin</a> is the graph traversal language of <a href="http://tinkerpop.apache.org/">Apache TinkerPop</a>.
+          Gremlin is a <a href="https://en.wikipedia.org/wiki/Functional_programming">functional</a>, <a href="https://en.wikipedia.org/wiki/Dataflow_programming">data-flow</a>
+          language that enables users to succinctly express complex traversals on (or queries of) their application's property graph. Every Gremlin traversal is composed of a sequence of (potentially nested) steps. A step
+          performs an atomic operation on the data stream. Every step is either a <em>map</em>-step (transforming the objects in the stream), a <em>filter</em>-step (removing objects
+          from the stream), or a <em>sideEffect</em>-step (computing statistics about the stream). The Gremlin step library extends on these 3-fundamental operations to provide
+          users a rich collection of steps that they can compose in order to ask any conceivable question they may have of their data for Gremlin is <a href="http://arxiv.org/abs/1508.03843">Turing Complete</a>.
+       </div>
+       <div class="col-sm-2 col-md-2">
+          <img src="images/gremlin-head.png" width="100%">
+       </div>
+    </div>
+    <br/>
+    <div style="border-radius:3px;border:1px solid black;padding:10px;padding-left:10px;height:170px" id="gremlinCarousel" class="carousel slide" data-ride="carousel" data-interval="30000">
+       <!-- Indicators -->
+       <ol class="carousel-indicators carousel-indicators-numbers">
+          <li data-target="#gremlinCarousel" data-slide-to="0" class="active">1</li>
+          <li data-target="#gremlinCarousel" data-slide-to="1">2</li>
+          <li data-target="#gremlinCarousel" data-slide-to="2">3</li>
+          <li data-target="#gremlinCarousel" data-slide-to="3">4</li>
+          <li data-target="#gremlinCarousel" data-slide-to="4">5</li>
+          <li data-target="#gremlinCarousel" data-slide-to="5">6</li>
+       </ol>
+       <div class="carousel-inner" role="listbox">
+          <div class="item active">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").
+  out("knows").
+  out("knows").
+  values("name")
+
+  </code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>What are the names of Gremlin's friends' friends?</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with name "gremlin."</li>
+                      <li>Traverse to the people that Gremlin knows.</li>
+                      <li>Traverse to the people those people know.</li>
+                      <li>Get those people's names.</li>
+                   </ol>
+                   <br/>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().match(
+  as("a").out("knows").as("b"),
+  as("a").out("created").as("c"),
+  as("b").out("created").as("c"),
+  as("c").in("created").count().is(2)).
+    select("c").by("name")</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>What are the names of the projects created by two friends?</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>...there exists some "a" who knows "b".</li>
+                      <li>...there exists some "a" who created "c".</li>
+                      <li>...there exists some "b" who created "c".</li>
+                      <li>...there exists some "c" created by 2 people.</li>
+                      <li>Get the name of all matching "c" projects.</li>
+                   </ol>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").
+  repeat(in("manages")).
+    until(has("title","ceo")).
+  path().by("name")
+
+</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get the managers from Gremlin to the CEO in the hiearchy.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with the name "gremlin."</li>
+                      <li>Traverse up the management chain...</li>
+                      <li>...until a person with the title of CEO is reached.</li>
+                      <li>Get name of the managers in the path traversed.</li>
+                   </ol>
+                   <br/>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").as("a").
+  out("created").in("created").
+    where(neq("a")).
+  groupCount().by("title")
+
+</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get the distribution of titles amongst Gremlin's collaborators.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with the name "gremlin" and label it "a."</li>
+                      <li>Get Gremlin's created projects and then who created them...</li>
+                      <li>...that are not Gremlin.</li>
+                      <li>Group count those collaborators by their titles.</li>
+                   </ol>
+                   <br/>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().has("name","gremlin").
+  out("bought").aggregate("stash").
+  in("bought").out("bought").
+    where(not(within("stash"))).
+  groupCount().order(local).by(values,decr)
+</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get a ranked list of relevant products for Gremlin to purchase.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get the vertex with the name "gremlin."</li>
+                      <li>Get the products Gremlin has purchased and save as "stash."</li>
+                      <li>Who else bought those products and what else did they buy...</li>
+                      <li>...that Gremlin has not already purchased.</li>
+                      <li>Group count the products and order by their relevance.</li>
+                   </ol>
+                </div>
+             </div>
+          </div>
+          <div class="item">
+             <div class="row">
+                <div class="col-xs-5">
+                   <pre style="padding-left:10px;height:148px;overflow:hidden;"><code class="language-gremlin">
+g.V().hasLabel("person").
+  pageRank().
+    by("friendRank").
+    by(outE("knows")).
+  order().by("friendRank",decr).
+  limit(10)</code></pre>
+                </div>
+                <div class="col-xs-7" style="border-left: thin solid #000000;height:148px">
+                   <b>Get the 10 most central people in the knows-graph.</b>
+                   <p/>
+                   <ol style="padding-left:20px">
+                      <li>Get all people vertices.</li>
+                      <li>Calculate their PageRank using knows-edges.</li>
+                      <li>Order the people by their friendRank score.</li>
+                      <li>Get the top 10 ranked people.</li>
+                   </ol>
+                </div>
+             </div>
+          </div>
+       </div>
+    </div>
+ </div>
+ <br/>
+ <div class="container">
+    <a name="oltp-and-olap-traversals"></a>
+    <h3>OLTP and OLAP Traversals</h3>
+    <br/>
+    Gremlin was designed according to the "write once, run anywhere"-philosophy. This means that not only can all TinkerPop-enabled
+    graph systems execute Gremlin traversals, but also, every Gremlin traversal can be evaluated as either a real-time database query
+    or as a batch analytics query. The former is known as an <em>online transactional process</em> (<a href="https://en.wikipedia.org/wiki/Online_transaction_processing">OLTP</a>) and the latter as an <em>online analytics
+    process</em> (<a href="https://en.wikipedia.org/wiki/Online_analytical_processing">OLAP</a>). This universality is made possible by the Gremlin traversal machine. This distributed, graph-based <a href="https://en.wikipedia.org/wiki/Virtual_machine#Abstract_virtual_machine_techniques">virtual machine</a>
+    understands how to coordinate the execution of a multi-machine graph traversal. Moreover, not only can the execution either be OLTP or
+    OLAP, it is also possible for certain subsets of a traversal to execute OLTP while others via OLAP. The benefit is that the user does
+    not need to learn both a database query language and a domain-specific BigData analytics language (e.g. Spark DSL, MapReduce, etc.).
+    Gremlin is all that is required to build a graph-based application because the Gremlin traversal machine will handle the rest.
+    <br/><br/>
+    <center><img src="images/oltp-and-olap.png" style="width:80%;" class="img-responsive"></center>
+ </div>
+ <br/>
+ <div class="container">
+    <a name="imperative-and-declarative-traversals"></a>
+    <h3>Imperative and Declarative Traversals</h3>
+    <br/>
+    <div class="row">
+       <div class="col-sm-7 col-md-8">
+          A Gremlin traversal can be written in either an <em>imperative</em> (<a href="https://en.wikipedia.org/wiki/Imperative_programming">procedural</a>) manner, a <em>declarative</em> (<a href="https://en.wikipedia.org/wiki/Declarative_programming">descriptive</a>) manner,
+          or in a hybrid manner containing both imperative and declarative aspects. An imperative Gremlin traversal tells the traversers how to proceed at each step in the traversal. For instance,
+          the imperative traversal on the right first places a traverser at the vertex denoting Gremlin. That traverser then splits itself across all of Gremlin's collaborators that are not Gremlin
+          himself. Next, the traversers walk to the managers of those collaborators to ultimately be grouped into a manager name count distribution. This traversal is imperative in that it tells the
+          traversers to "go here and then go there" in an explicit, procedural manner.
+       </div>
+       <div class="col-sm-5 col-md-4">
+          <pre style="padding:10px;">
+<code class="language-gremlin">g.V().has("name","gremlin").as("a").
+out("created").in("created").
+where(neq("a")).
+in("manages").
+groupCount().by("name")</code>
+</pre>
+       </div>
+    </div>
+    <p/>
+    <div class="row">
+       <div class="col-sm-5 col-md-4">
+          <pre style="padding:10px;">
+<code class="language-gremlin">g.V().match(
+as("a").has("name","gremlin"),
+as("a").out("created").as("b"),
+as("b").in("created").as("c"),
+as("c").in("manages").as("d"),
+where("a",neq("c"))).
+select("d").
+groupCount().by("name")</code>
+</pre>
+       </div>
+       <div class="col-sm-7 col-md-8">
+          A declarative Gremlin traversal does not tell the traversers the order in which to execute their walk, but instead, allows each traverser to select a pattern to execute from a collection
+          of (potentially nested) patterns. The <a href="http://tinkerpop.apache.org/docs/current/reference/#match-step">declarative traversal</a> on the left yields the same result as the imperative traversal above. However, the declarative traversal has the added benefit
+          that it leverages not only a compile-time query planner (like imperative traversals), but also a runtime query planner that chooses which traversal pattern to execute next based on the
+          historic statistics of each pattern -- favoring those patterns which tend to reduce/filter the most data.
+       </div>
+    </div>
+    <br/>
+    The user can write their traversals in any way they choose. However, ultimately when their traversal is compiled, and depending on the underlying execution engine
+    (i.e. an OLTP graph database or an OLAP graph processor), the user's traversal is rewritten by a set of <em><a href="http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy">traversal strategies</a></em> which do their best to determine the most optimal execution
+    plan based on an understanding of graph data access costs as well as the underlying data systems's unique capabilities (e.g. fetch the Gremlin vertex from the graph database's "name"-index).
+    Gremlin has been designed to give users flexibility in how they express their queries and graph system providers flexibility in how to efficiently evaluate traversals against their TinkerPop-enabled data system.
+ </div>
+ <br/>
+ <div class="container">
+    <a name="host-language-embedding"></a>
+    <h3>Host Language Embedding</h3>
+    <br/>
+    <div class="row">
+       <div class="col-sm-5 col-md-4">
+          <img src="images/gremlin-language-variants.png" class="img-responsive">
+       </div>
+       <div class="col-sm-7 col-md-8">
+          Classic database query languages, like <a href="https://en.wikipedia.org/wiki/SQL">SQL</a>, were conceived as being fundamentally different from the programming languages that would
+          ultimately use them in a production setting. For this reason, classical databases require the developer to code both in their native programming
+          language as well as in the database's respective query language. An argument can be made that the difference between "query languages" and
+          "programming languages" are not as great as we are taught to believe. Gremlin unifies this divide because traversals can be written in any
+          programming language that supports function <a href="https://en.wikipedia.org/wiki/Function_composition">composition</a> and <a href="https://en.wikipedia.org/wiki/Nested_function">nesting</a> (which every major programming language supports). In this way, the user's
+          Gremlin traversals are written along side their application code and benefit from the advantages afforded by the host language and its tooling
+          (e.g. type checking, syntax highlighting, dot completion, etc.). Various <a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin language variants</a> exist including: Gremlin-Java, Gremlin-Groovy, <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a>,
+          <a href="https://github.com/mpollmeier/gremlin-scala">Gremlin-Scala</a>, etc.
+       </div>
+       <div class="col-md-12">
+          <p><br/>The first example below shows a simple Java class. Note that the Gremlin traversal is expressed in Gremlin-Java and thus, is part of the user's application code. There is no need for the
+             developer to create a <code>String</code> representation of their query in (yet) another language to ultimately pass that <code>String</code> to the graph computing system and be returned a result set. Instead,
+             traversals are embedded in the user's host programming language and are on equal footing with all other application code. With Gremlin, users <strong>do not</strong> have to deal with the awkwardness exemplified
+             in the second example below which is a common anti-pattern found throughout the industry.
+          </p>
+       </div>
+       <br/><br/>
+       <div class="col-md-5">
+          <pre style="padding:10px;"><code class="language-gremlin">public class GremlinTinkerPopExample {
+public void run(String name, String property) {
+
+Graph graph = GraphFactory.open(...);
+GraphTraversalSource g = graph.traversal();
+
+double avg = g.V().has("name",name).
+           out("knows").out("created").
+           values(property).mean().next();
+
+System.out.println("Average rating: " + avg);
+}
+}
+
+
+</code>
+</pre>
+       </div>
+       <div class="col-md-7">
+          <pre style="padding:10px;"><code class="language-gremlin">public class SqlJdbcExample {
+public void run(String name, String property) {
+
+Connection connection = DriverManager.getConnection(...)
+Statement statement = connection.createStatement();
+ResultSet result = statement.executeQuery(
+"SELECT AVG(pr." + property + ") as AVERAGE FROM PERSONS p1" +
+"INNER JOIN KNOWS k ON k.person1 = p1.id " +
+"INNER JOIN PERSONS p2 ON p2.id = k.person2 " +
+"INNER JOIN CREATED c ON c.person = p2.id " +
+"INNER JOIN PROJECTS pr ON pr.id = c.project " +
+  "WHERE p.name = '" + name + "');
+
+System.out.println("Average rating: " + result.next().getDouble("AVERAGE")
+}
+}</code>
+</pre>
+       </div>
+       <div class="col-md-12">
+          <p><br/>Behind the scenes, a Gremlin traversal will evaluate locally against an embedded graph database, serialize itself across the network to a remote
+             graph database, or send itself to an OLAP processor for cluster-wide distributed execution. The traversal source definition determines where the traversal executes. Once a traversal source is
+             defined it can be used over and over again in a manner analogous to a database connection. The ultimate effect is that the user "feels" that their data and their traversals are all
+             co-located in their application and accessible via their application's native programming language. The "query language/programming language"-divide is bridged by Gremlin.
+          </p>
+          <br/>
+       </div>
+       <div class="col-md-12">
+          <pre style="padding:10px;"><code class="language-gremlin">Graph graph = GraphFactory.open(...);
+GraphTraversalSource g;
+g = graph.traversal();                                                         // local OLTP
+g = graph.traversal().withRemote(DriverRemoteConnection.using("server.yaml"))  // remote OLTP
+g = graph.traversal().withComputer(SparkGraphComputer.class);                  // distributed OLAP
+g = graph.traversal().withComputer(GiraphGraphComputer.class);                 // distributed OLAP</code>
+</pre>
+       </div>
+       <br/>
+    </div>
+    <div class="container">
+       <hr/>
+       <h4>Related Resources</h4>
+       <br/>
+       <div class="carousel slide" data-ride="carousel" data-type="multi" data-interval="7000" id="relatedResources">
+          <div class="carouselGrid-inner">
+             <div class="item active">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://academy.datastax.com/resources/getting-started-graph-databases"><img src="images/resources/graph-databases-101-resource.png" width="100%" /></a></div>
+             </div>
+             <div class="item">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://datastax.com/dev/blog/the-benefits-of-the-gremlin-graph-traversal-machine"><img src="images/resources/benefits-gremlin-machine-resource.png" width="100%" /></a></div>
+             </div>
+             <div class="item">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://arxiv.org/abs/1508.03843"><img src="images/resources/arxiv-article-resource.png" width="100%" /></a></div>
+             </div>
+             <div class="item">
+                <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://sql2gremlin.com/"><img src="images/resources/sql-2-gremlin-resource.png" width="100%" /></a></div>
+             </div>
+          </div>
+          <a class="left carouselGrid-control" href="#relatedResources" data-slide="prev">
+          <span class="icon-prev" aria-hidden="true"></span>
+          <span class="sr-only">Previous</span>
+          </a>
+          <a class="right carouselGrid-control" href="#relatedResources" data-slide="next">
+          <span class="icon-next" aria-hidden="true"></span>
+          <span class="sr-only">Next</span>
+          </a>
+       </div>
+       <script>
+          $('.carousel[data-type="multi"] .item').each(function(){
+            var next = $(this).next();
+            if (!next.length) { // if ther isn't a next
+              next = $(this).siblings(':first'); // this is the first
+            }
+            next.children(':first-child').clone().appendTo($(this)); // put the next ones on the array
+
+            for (var i=0;i<2;i++) { // THIS LOOP SPITS OUT EXTRA ITEMS TO THE CAROUSEL
+              next=next.next();
+              if (!next.length) {
+                next = $(this).siblings(':first');
+              }
+              next.children(':first-child').clone().appendTo($(this));
+            }
+
+          });
+       </script>
+    </div>
+ </div>
+</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/apache-tinkerpop-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/apache-tinkerpop-logo.png b/site/home/images/apache-tinkerpop-logo.png
new file mode 100644
index 0000000..8d222ed
Binary files /dev/null and b/site/home/images/apache-tinkerpop-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/blueprints-handdrawn.png
----------------------------------------------------------------------
diff --git a/site/home/images/blueprints-handdrawn.png b/site/home/images/blueprints-handdrawn.png
new file mode 100644
index 0000000..8a7aba6
Binary files /dev/null and b/site/home/images/blueprints-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/cityscape-button.png
----------------------------------------------------------------------
diff --git a/site/home/images/cityscape-button.png b/site/home/images/cityscape-button.png
new file mode 100644
index 0000000..85f986d
Binary files /dev/null and b/site/home/images/cityscape-button.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/egg-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/egg-logo.png b/site/home/images/egg-logo.png
new file mode 100644
index 0000000..9d25899
Binary files /dev/null and b/site/home/images/egg-logo.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/favicon.ico
----------------------------------------------------------------------
diff --git a/site/home/images/favicon.ico b/site/home/images/favicon.ico
new file mode 100644
index 0000000..79782c4
Binary files /dev/null and b/site/home/images/favicon.ico differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/furnace-handdrawn.png
----------------------------------------------------------------------
diff --git a/site/home/images/furnace-handdrawn.png b/site/home/images/furnace-handdrawn.png
new file mode 100644
index 0000000..53fa34b
Binary files /dev/null and b/site/home/images/furnace-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/goutte-blue.png
----------------------------------------------------------------------
diff --git a/site/home/images/goutte-blue.png b/site/home/images/goutte-blue.png
new file mode 100644
index 0000000..224dd38
Binary files /dev/null and b/site/home/images/goutte-blue.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/graph-globe.png
----------------------------------------------------------------------
diff --git a/site/home/images/graph-globe.png b/site/home/images/graph-globe.png
new file mode 100644
index 0000000..9f37885
Binary files /dev/null and b/site/home/images/graph-globe.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/graph-vs-table.png
----------------------------------------------------------------------
diff --git a/site/home/images/graph-vs-table.png b/site/home/images/graph-vs-table.png
new file mode 100644
index 0000000..04945ca
Binary files /dev/null and b/site/home/images/graph-vs-table.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/gremlin-apache.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-apache.png b/site/home/images/gremlin-apache.png
new file mode 100644
index 0000000..e2d3bce
Binary files /dev/null and b/site/home/images/gremlin-apache.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/gremlin-download.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-download.png b/site/home/images/gremlin-download.png
new file mode 100644
index 0000000..d9e1efd
Binary files /dev/null and b/site/home/images/gremlin-download.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/gremlin-github.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-github.png b/site/home/images/gremlin-github.png
new file mode 100644
index 0000000..923bf43
Binary files /dev/null and b/site/home/images/gremlin-github.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/gremlin-gym-mini.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-gym-mini.png b/site/home/images/gremlin-gym-mini.png
new file mode 100644
index 0000000..5c3d023
Binary files /dev/null and b/site/home/images/gremlin-gym-mini.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/gremlin-handdrawn.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-handdrawn.png b/site/home/images/gremlin-handdrawn.png
new file mode 100644
index 0000000..ff3e9d3
Binary files /dev/null and b/site/home/images/gremlin-handdrawn.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/gremlin-head.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-head.png b/site/home/images/gremlin-head.png
new file mode 100644
index 0000000..ec54d65
Binary files /dev/null and b/site/home/images/gremlin-head.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/gremlin-language-variants.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-language-variants.png b/site/home/images/gremlin-language-variants.png
new file mode 100644
index 0000000..2c6ee8b
Binary files /dev/null and b/site/home/images/gremlin-language-variants.png differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/images/gremlin-quill.png
----------------------------------------------------------------------
diff --git a/site/home/images/gremlin-quill.png b/site/home/images/gremlin-quill.png
new file mode 100644
index 0000000..bafcd63
Binary files /dev/null and b/site/home/images/gremlin-quill.png differ


[46/47] tinkerpop git commit: Fixed rat checks now that /site moved under /docs

Posted by sp...@apache.org.
Fixed rat checks now that /site moved under /docs


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e5f2f6dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e5f2f6dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e5f2f6dd

Branch: refs/heads/TINKERPOP-1235
Commit: e5f2f6dd0f6ccc8b73929b85942ab3a024321fd0
Parents: 7bfc868
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Oct 27 08:02:51 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 08:02:51 2016 -0400

----------------------------------------------------------------------
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5f2f6dd/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b70a390..9357836 100644
--- a/pom.xml
+++ b/pom.xml
@@ -296,8 +296,8 @@ limitations under the License.
                         <exclude>**/.glv</exclude>
                         <exclude>bin/gremlin.sh</exclude>
                         <exclude>gremlin-console/bin/gremlin.sh</exclude>
-                        <exclude>site/home/css/**</exclude>
-                        <exclude>site/home/js/**</exclude>
+                        <exclude>docs/site/home/css/**</exclude>
+                        <exclude>docs/site/home/js/**</exclude>
                     </excludes>
                     <licenses>
                         <license implementation="org.apache.rat.analysis.license.ApacheSoftwareLicense20"/>


[14/47] tinkerpop git commit: Merge branch 'tp31' into tp32

Posted by sp...@apache.org.
Merge branch 'tp31' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5a16f4c8
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5a16f4c8
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5a16f4c8

Branch: refs/heads/TINKERPOP-1235
Commit: 5a16f4c8073edb159fac6a711a9593736ef9ffa3
Parents: 84973f3 bfda550
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 14:32:17 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 14:32:17 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                                  | 1 +
 .../main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java | 1 +
 2 files changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a16f4c8/CHANGELOG.asciidoc
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a16f4c8/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
----------------------------------------------------------------------


[10/47] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f4f7a150
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f4f7a150
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f4f7a150

Branch: refs/heads/TINKERPOP-1235
Commit: f4f7a150f4e44fed08a058b722e9ab2d5d2d5fcf
Parents: 1484c8d 5f49561
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 10:39:02 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 10:39:02 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f4f7a150/CHANGELOG.asciidoc
----------------------------------------------------------------------


[18/47] tinkerpop git commit: Moved site html files to main repo.

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/js/prism.js
----------------------------------------------------------------------
diff --git a/site/home/js/prism.js b/site/home/js/prism.js
new file mode 100644
index 0000000..53661dd
--- /dev/null
+++ b/site/home/js/prism.js
@@ -0,0 +1,423 @@
+
+/* http://prismjs.com/download.html?themes=prism&languages=clike+gremlin+groovy+jade */
+var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},
+    Prism = function() {
+        var e = /\blang(?:uage)?-(\w+)\b/i,
+            t = 0,
+            n = _self.Prism = {
+                util: {
+                    encode: function(e) {
+                        return e instanceof a ? new a(e.type, n.util.encode(e.content), e.alias) : "Array" === n.util.type(e) ? e.map(n.util.encode) : e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ")
+                    },
+                    type: function(e) {
+                        return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]
+                    },
+                    objId: function(e) {
+                        return e.__id || Object.defineProperty(e, "__id", {
+                            value: ++t
+                        }), e.__id
+                    },
+                    clone: function(e) {
+                        var t = n.util.type(e);
+                        switch (t) {
+                            case "Object":
+                                var a = {};
+                                for (var r in e) e.hasOwnProperty(r) && (a[r] = n.util.clone(e[r]));
+                                return a;
+                            case "Array":
+                                return e.map && e.map(function(e) {
+                                    return n.util.clone(e)
+                                })
+                        }
+                        return e
+                    }
+                },
+                languages: {
+                    extend: function(e, t) {
+                        var a = n.util.clone(n.languages[e]);
+                        for (var r in t) a[r] = t[r];
+                        return a
+                    },
+                    insertBefore: function(e, t, a, r) {
+                        r = r || n.languages;
+                        var l = r[e];
+                        if (2 == arguments.length) {
+                            a = arguments[1];
+                            for (var i in a) a.hasOwnProperty(i) && (l[i] = a[i]);
+                            return l
+                        }
+                        var o = {};
+                        for (var s in l)
+                            if (l.hasOwnProperty(s)) {
+                                if (s == t)
+                                    for (var i in a) a.hasOwnProperty(i) && (o[i] = a[i]);
+                                o[s] = l[s]
+                            }
+                        return n.languages.DFS(n.languages, function(t, n) {
+                            n === r[e] && t != e && (this[t] = o)
+                        }), r[e] = o
+                    },
+                    DFS: function(e, t, a, r) {
+                        r = r || {};
+                        for (var l in e) e.hasOwnProperty(l) && (t.call(e, l, e[l], a || l), "Object" !== n.util.type(e[l]) || r[n.util.objId(e[l])] ? "Array" !== n.util.type(e[l]) || r[n.util.objId(e[l])] || (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, l, r)) : (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, null, r)))
+                    }
+                },
+                plugins: {},
+                highlightAll: function(e, t) {
+                    var a = {
+                        callback: t,
+                        selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
+                    };
+                    n.hooks.run("before-highlightall", a);
+                    for (var r, l = a.elements || document.querySelectorAll(a.selector), i = 0; r = l[i++];) n.highlightElement(r, e === !0, a.callback)
+                },
+                highlightElement: function(t, a, r) {
+                    for (var l, i, o = t; o && !e.test(o.className);) o = o.parentNode;
+                    o && (l = (o.className.match(e) || [, ""])[1], i = n.languages[l]), t.className = t.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l, o = t.parentNode, /pre/i.test(o.nodeName) && (o.className = o.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l);
+                    var s = t.textContent,
+                        u = {
+                            element: t,
+                            language: l,
+                            grammar: i,
+                            code: s
+                        };
+                    if (!s || !i) return n.hooks.run("complete", u), void 0;
+                    if (n.hooks.run("before-highlight", u), a && _self.Worker) {
+                        var c = new Worker(n.filename);
+                        c.onmessage = function(e) {
+                            u.highlightedCode = e.data, n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(u.element), n.hooks.run("after-highlight", u), n.hooks.run("complete", u)
+                        }, c.postMessage(JSON.stringify({
+                            language: u.language,
+                            code: u.code,
+                            immediateClose: !0
+                        }))
+                    } else u.highlightedCode = n.highlight(u.code, u.grammar, u.language), n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(t), n.hooks.run("after-highlight", u), n.hooks.run("complete", u)
+                },
+                highlight: function(e, t, r) {
+                    var l = n.tokenize(e, t);
+                    return a.stringify(n.util.encode(l), r)
+                },
+                tokenize: function(e, t) {
+                    var a = n.Token,
+                        r = [e],
+                        l = t.rest;
+                    if (l) {
+                        for (var i in l) t[i] = l[i];
+                        delete t.rest
+                    }
+                    e: for (var i in t)
+                        if (t.hasOwnProperty(i) && t[i]) {
+                            var o = t[i];
+                            o = "Array" === n.util.type(o) ? o : [o];
+                            for (var s = 0; s < o.length; ++s) {
+                                var u = o[s],
+                                    c = u.inside,
+                                    g = !!u.lookbehind,
+                                    h = !!u.greedy,
+                                    f = 0,
+                                    d = u.alias;
+                                u = u.pattern || u;
+                                for (var p = 0; p < r.length; p++) {
+                                    var m = r[p];
+                                    if (r.length > e.length) break e;
+                                    if (!(m instanceof a)) {
+                                        u.lastIndex = 0;
+                                        var y = u.exec(m),
+                                            v = 1;
+                                        if (!y && h && p != r.length - 1) {
+                                            var b = r[p + 1].matchedStr || r[p + 1],
+                                                k = m + b;
+                                            if (p < r.length - 2 && (k += r[p + 2].matchedStr || r[p + 2]), u.lastIndex = 0, y = u.exec(k), !y) continue;
+                                            var w = y.index + (g ? y[1].length : 0);
+                                            if (w >= m.length) continue;
+                                            var _ = y.index + y[0].length,
+                                                P = m.length + b.length;
+                                            if (v = 3, P >= _) {
+                                                if (r[p + 1].greedy) continue;
+                                                v = 2, k = k.slice(0, P)
+                                            }
+                                            m = k
+                                        }
+                                        if (y) {
+                                            g && (f = y[1].length);
+                                            var w = y.index + f,
+                                                y = y[0].slice(f),
+                                                _ = w + y.length,
+                                                S = m.slice(0, w),
+                                                O = m.slice(_),
+                                                j = [p, v];
+                                            S && j.push(S);
+                                            var A = new a(i, c ? n.tokenize(y, c) : y, d, y, h);
+                                            j.push(A), O && j.push(O), Array.prototype.splice.apply(r, j)
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    return r
+                },
+                hooks: {
+                    all: {},
+                    add: function(e, t) {
+                        var a = n.hooks.all;
+                        a[e] = a[e] || [], a[e].push(t)
+                    },
+                    run: function(e, t) {
+                        var a = n.hooks.all[e];
+                        if (a && a.length)
+                            for (var r, l = 0; r = a[l++];) r(t)
+                    }
+                }
+            },
+            a = n.Token = function(e, t, n, a, r) {
+                this.type = e, this.content = t, this.alias = n, this.matchedStr = a || null, this.greedy = !!r
+            };
+        if (a.stringify = function(e, t, r) {
+                if ("string" == typeof e) return e;
+                if ("Array" === n.util.type(e)) return e.map(function(n) {
+                    return a.stringify(n, t, e)
+                }).join("");
+                var l = {
+                    type: e.type,
+                    content: a.stringify(e.content, t, r),
+                    tag: "span",
+                    classes: ["token", e.type],
+                    attributes: {},
+                    language: t,
+                    parent: r
+                };
+                if ("comment" == l.type && (l.attributes.spellcheck = "true"), e.alias) {
+                    var i = "Array" === n.util.type(e.alias) ? e.alias : [e.alias];
+                    Array.prototype.push.apply(l.classes, i)
+                }
+                n.hooks.run("wrap", l);
+                var o = "";
+                for (var s in l.attributes) o += (o ? " " : "") + s + '="' + (l.attributes[s] || "") + '"';
+                return "<" + l.tag + ' class="' + l.classes.join(" ") + '" ' + o + ">" + l.content + "</" + l.tag + ">"
+            }, !_self.document) return _self.addEventListener ? (_self.addEventListener("message", function(e) {
+            var t = JSON.parse(e.data),
+                a = t.language,
+                r = t.code,
+                l = t.immediateClose;
+            _self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close()
+        }, !1), _self.Prism) : _self.Prism;
+        var r = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();
+        return r && (n.filename = r.src, document.addEventListener && !r.hasAttribute("data-manual") && document.addEventListener("DOMContentLoaded", n.highlightAll)), _self.Prism
+    }();
+"undefined" != typeof module && module.exports && (module.exports = Prism), "undefined" != typeof global && (global.Prism = Prism);
+Prism.languages.clike = {
+    comment: [{
+        pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
+        lookbehind: !0
+    }, {
+        pattern: /(^|[^\\:])\/\/.*/,
+        lookbehind: !0
+    }],
+    string: {
+        pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
+        greedy: !0
+    },
+    "class-name": {
+        pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
+        lookbehind: !0,
+        inside: {
+            punctuation: /(\.|\\)/
+        }
+    },
+    keyword: /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
+    "boolean": /\b(true|false)\b/,
+    "function": /[a-z0-9_]+(?=\()/i,
+    number: /\b-?(?:0x[\da-f]+|\d*\.?\d+v(?:e[+-]?\d+)?)\b/i,
+    operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
+    traversalSource: /\b(g|h)\b/,
+    punctuation: /[{}[\];(),.:]/
+};
+Prism.languages.gremlin = Prism.languages.extend("clike", {
+    keyword: /\b(values,|decr|incr|local|global|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
+    number: /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
+    "function": /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i
+}), Prism.languages.insertBefore("gremlin", "keyword", {
+    regex: {
+        pattern: /(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
+        lookbehind: !0,
+        greedy: !0
+    }
+}), Prism.languages.insertBefore("gremlin", "class-name", {
+    "template-string": {
+        pattern: /`(?:\\\\|\\?[^\\])*?`/,
+        greedy: !0,
+        inside: {
+            interpolation: {
+                pattern: /\$\{[^}]+\}/,
+                inside: {
+                    "interpolation-punctuation": {
+                        pattern: /^\$\{|\}$/,
+                        alias: "punctuation"
+                    },
+                    rest: Prism.languages.gremlin
+                }
+            },
+            string: /[\s\S]+/
+        }
+    }
+}), Prism.languages.markup && Prism.languages.insertBefore("markup", "tag", {
+    script: {
+        pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
+        lookbehind: !0,
+        inside: Prism.languages.gremlin,
+        alias: "language-gremlin"
+    }
+}), Prism.languages.js = Prism.languages.gremlin;
+! function(e) {
+    e.languages.jade = {
+        comment: {
+            pattern: /(^([\t ]*))\/\/.*((?:\r?\n|\r)\2[\t ]+.+)*/m,
+            lookbehind: !0
+        },
+        "multiline-script": {
+            pattern: /(^([\t ]*)script\b.*\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.gremlin
+            }
+        },
+        filter: {
+            pattern: /(^([\t ]*)):.+((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
+            lookbehind: !0,
+            inside: {
+                "filter-name": {
+                    pattern: /^:[\w-]+/,
+                    alias: "variable"
+                }
+            }
+        },
+        "multiline-plain-text": {
+            pattern: /(^([\t ]*)[\w\-#.]+\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
+            lookbehind: !0
+        },
+        markup: {
+            pattern: /(^[\t ]*)<.+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.markup
+            }
+        },
+        doctype: {
+            pattern: /((?:^|\n)[\t ]*)doctype(?: .+)?/,
+            lookbehind: !0
+        },
+        "flow-control": {
+            pattern: /(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,
+            lookbehind: !0,
+            inside: {
+                each: {
+                    pattern: /^each .+? in\b/,
+                    inside: {
+                        keyword: /\b(?:each|in)\b/,
+                        punctuation: /,/
+                    }
+                },
+                branch: {
+                    pattern: /^(?:if|unless|else|case|when|default|while)\b/,
+                    alias: "keyword"
+                },
+                rest: e.languages.gremlin
+            }
+        },
+        keyword: {
+            pattern: /(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m,
+            lookbehind: !0
+        },
+        mixin: [{
+            pattern: /(^[\t ]*)mixin .+/m,
+            lookbehind: !0,
+            inside: {
+                keyword: /^mixin/,
+                "function": /\w+(?=\s*\(|\s*$)/,
+                punctuation: /[(),.]/
+            }
+        }, {
+            pattern: /(^[\t ]*)\+.+/m,
+            lookbehind: !0,
+            inside: {
+                name: {
+                    pattern: /^\+\w+/,
+                    alias: "function"
+                },
+                rest: e.languages.gremlin
+            }
+        }],
+        script: {
+            pattern: /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.gremlin
+            }
+        },
+        "plain-text": {
+            pattern: /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m,
+            lookbehind: !0
+        },
+        tag: {
+            pattern: /(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,
+            lookbehind: !0,
+            inside: {
+                attributes: [{
+                    pattern: /&[^(]+\([^)]+\)/,
+                    inside: {
+                        rest: e.languages.gremlin
+                    }
+                }, {
+                    pattern: /\([^)]+\)/,
+                    inside: {
+                        "attr-value": {
+                            pattern: /(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/,
+                            lookbehind: !0,
+                            inside: {
+                                rest: e.languages.gremlin
+                            }
+                        },
+                        "attr-name": /[\w-]+(?=\s*!?=|\s*[,)])/,
+                        punctuation: /[!=(),]+/
+                    }
+                }],
+                punctuation: /:/
+            }
+        },
+        code: [{
+            pattern: /(^[\t ]*(?:-|!?=)).+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.gremlin
+            }
+        }],
+        punctuation: /[.\-!=|]+/
+    };
+    for (var t = "(^([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+", n = [{
+            filter: "atpl",
+            language: "twig"
+        }, {
+            filter: "coffee",
+            language: "coffeescript"
+        }, "ejs", "handlebars", "hogan", "less", "livescript", "markdown", "mustache", "plates", {
+            filter: "sass",
+            language: "scss"
+        }, "stylus", "swig"], a = {}, i = 0, r = n.length; r > i; i++) {
+        var s = n[i];
+        s = "string" == typeof s ? {
+            filter: s,
+            language: s
+        } : s, e.languages[s.language] && (a["filter-" + s.filter] = {
+            pattern: RegExp(t.replace("{{filter_name}}", s.filter), "m"),
+            lookbehind: !0,
+            inside: {
+                "filter-name": {
+                    pattern: /^:[\w-]+/,
+                    alias: "variable"
+                },
+                rest: e.languages[s.language]
+            }
+        })
+    }
+    e.languages.insertBefore("jade", "filter", a)
+}(Prism);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/policy.html
----------------------------------------------------------------------
diff --git a/site/home/policy.html b/site/home/policy.html
new file mode 100644
index 0000000..4a4bd05
--- /dev/null
+++ b/site/home/policy.html
@@ -0,0 +1,56 @@
+<img src="images/tinkerpop-conference.png" class="img-responsive" />
+<div class="container">
+   <div class="hero-unit" style="padding:10px">
+      <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
+      <p><font size="5">Provider Listing and Graphic Usage Policies</font></p>
+   </div>
+</div>
+<div class="container-fluid">
+   <div class="container">
+      <a name="provider-listing-policy"></a>
+      <h3>Provider Listing Policy</h3>
+      <p>Graph system and language providers can have the project listed in two locations on the Apache TinkerPop homepage.
+         The first location is on the homepage <a href="index.html">index.html</a>. The second is on the homepage <a href="providers.html">providers.html</a>. The policies
+         for each are provided below. Note that the Apache Software Foundation's <a href="http://www.apache.org/foundation/marks/linking">linking policy</a> supercede those
+         stipulated by Apache TinkerPop. All things considered, if your project meets the requirements, please email Apache TinkerPop's
+         <a href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">developer mailing list</a> requesting that your project be added to a listing.
+      </p>
+      <h4>Index Listing Requirements</h4>
+      <ul>
+         <li>The project must be either a TinkerPop-enabled graph system, a Gremlin language variant/compiler, a Gremlin language driver, or a TinkerPop-enabled middleware tool.</li>
+         <li>The project must have a public URL that can be referenced by Apache TinkerPop.</li>
+         <li>The project must have at least one release.</li>
+         <li>The project must be actively developed/maintained to a current or previous "y" version of Apache TinkerPop (3.y.z).</li>
+         <li>The project must have <em>some</em> documentation and that documentation must make explicit its usage of Apache TinkerPop and its version compatibility requirements.</li>
+      </ul>
+      <h4>Provider Listing Requirements</h4>
+      <ul>
+         <li>The project must be either a TinkerPop-enabled graph system, a Gremlin language variant/compiler, or a TinkerPop-enabled middleware tool.</li>
+         <li>The project must have a public URL that can be referenced by Apache TinkerPop.</li>
+         <li>The project must have a homepage that is not simply a software repository page.</li>
+         <li>The project must have a high-resolution logo that can be used by Apache TinkerPop.</li>
+         <li>The project must have at least one release.</li>
+         <li>The project must be actively developed/maintained to a current or previous "y" version of Apache TinkerPop (3.y.z).</li>
+         <li>The project must have <em>significant</em> documentation and that documentation must make explicit its usage of Apache TinkerPop and its version compatibility requirements.</li>
+      </ul>
+   </div>
+   <div class="container">
+      <a name="graphic-usage-policy"></a>
+      <h3>Graphic Usage Policy</h3>
+      <p>Apache TinkerPop has a plethora of graphics that the community can use. There are four categories of graphics. These categories and their respective policies are presented
+         below. If you are unsure of the category of a particular graphic, please ask on our <a href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">developer mailing</a>
+         list before using it. Finally, note that the Apache Software Foundation's <a href="http://www.apache.org/foundation/marks/">trademark policies</a> supercede those stipulated
+         by Apache TinkerPop.
+      </p>
+      <ul>
+         <li><strong>Character Graphics</strong>: A character graphic can be used <em>without permission</em> as long as its being used in an Apache TinkerPop related context and it is acknowledged that the graphic is a trademark of the Apache Software Foundation/Apache TinkerPop.</li>
+         <img src="images/policy/pipes-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/rexster-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/gremlin-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/blueprints-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/furnace-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/frames-character.png" style="padding:10px;width:9%;"/>
+         <li><strong>Character Dress-Up Graphics</strong>: A character graphic can be manipulated ("dressed up") and used <em>without permission</em> as long as it's being used in an Apache TinkerPop related context and it is acknowledged that the graphic is a trademark of the Apache Software Foundation/Apache TinkerPop.</li>
+         <img src="images/policy/gremlin-gremopoly.png" style="padding:10px;width:10%;"/> <img src="images/policy/gremlin-gremreaper.png" style="padding:10px;width:14%;"/> <img src="images/policy/gremlin-chickenwing.png" style="padding:10px;width:10%;"/> <img src="images/policy/gremlin-no-more-mr-nice-guy.png" style="padding:10px;width:10%;"/> <img src="images/policy/gremlin-new-sheriff-in-town.png" style="padding:10px;width:12%;"/> <img src="images/policy/gremlin-gremstefani.png" style="padding:10px;width:10%;"/>
+         <li><strong>Explanatory Diagrams</strong>: Explanatory diagrams can be used <em>without permission</em> as long as they are being used in an Apache TinkerPop related context, it is acknowledged that they are trademarks of the Apache Software Foundation/Apache TinkerPop, and are being used for technical explanatory purposes.</li>
+         <img src="images/policy/olap-traversal.png" style="padding:10px;width:22%;"/> <img src="images/policy/cyclicpath-step.png" style="padding:10px;width:22%;"/> <img src="images/policy/flat-map-lambda.png" style="padding:10px;width:15%;"/> <img src="images/policy/adjacency-list.png" style="padding:10px;width:22%;"/>
+         <li><strong>Character Scene Graphics</strong>: Character scene graphics <u><em>require permission</em></u> before being used. Please ask for permission on the Apache TinkerPop <a href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">developer mailing list</a>.</li>
+         <img src="images/policy/tinkerpop-reading.png" style="padding:10px;width:20%;"/> <img src="images/policy/gremlintron.png" style="padding:10px;width:20%;"/> <img src="images/policy/business-gremlin.png" style="padding:10px;width:20%;"/> <img src="images/policy/tinkerpop3-splash.png" style="padding:10px;width:20%;"/>
+      </ul>
+   </div>
+</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/providers.html
----------------------------------------------------------------------
diff --git a/site/home/providers.html b/site/home/providers.html
new file mode 100644
index 0000000..f5d4697
--- /dev/null
+++ b/site/home/providers.html
@@ -0,0 +1,343 @@
+<img src="images/tinkerpop-meeting-room.png" class="img-responsive" />
+<div class="container">
+   <div class="hero-unit" style="padding:10px">
+      <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
+      <p><font size="5">TinkerPop-Enabled Providers</font></p>
+   </div>
+</div>
+<br/>
+<div class="container-fluid">
+   <div class="container">
+      <div class="row">
+         <div class="col-sm-10 col-md-10">
+            <p><a href="http://tinkerpop.apache.org">Apache TinkerPop</a> grows when 3<sup>rd</sup> party data systems and query languages utilize it. While Apache's distribution of TinkerPop
+               does provide production ready implementations and tools, it is ultimately the larger ecosystem of providers that ensure TinkerPop's widespread adoption.
+               There are two types of providers. The first are those that develop a (graph) database, (graph) processor, or (graph) analytics tool and want to
+               offer their users TinkerPop-specific graph computing features. The other type of provider are language designers that have a (graph) query language they
+               wish to have execute on the Gremlin traversal machine and thus, against any TinkerPop-enabled graph system.
+            </p>
+         </div>
+         <div class="col-sm-2 col-md-2">
+            <img src="images/peon-head.png" width="100px">
+         </div>
+      </div>
+   </div>
+   <div class="container">
+      <a name="data-system-providers"></a>
+      <h3>Data System Providers</h3>
+      <p>When a data system is TinkerPop-enabled, its users are able to model their domain as a graph and analyze that graph using the <a href="http://tinkerpop.apache.org/gremlin.html">Gremlin graph traversal language</a>. Furthermore, all
+         TinkerPop-enabled graph systems integrate with one another allowing providers to easily expand their system's offerings as well as allowing users to choose appropriate graph technology for their
+         application. Sometimes an application is best served by an in-memory, transactional graph database. Sometimes a multi-machine distributed graph database will do the job. Or perhaps the
+         application requires both a distributed graph database for real-time queries and, in parallel, a Big(Graph)Data processor for batch analytics.  Whatever the application's requirements, there
+         exists a TinkerPop-enabled graph system out there to meet its needs.
+      </p>
+      <div class="row">
+         <div class="col-sm-8 col-md-8">
+            At an abstract level, every data system is ultimately a "graph system" because every data system supports the representation of "things" (vertices) and their respective relationships
+            to one another (edges).  For instance, a <a href="https://en.wikipedia.org/wiki/Relational_database">relational database</a> may have a <em>people</em>-table, where the rows denote person vertices and the columns denote properties of those individuals
+            (e.g. their name and age). Moreover, that relational database may also have a <em>knows</em>-table, where two columns reference primary keys in the <em>people</em>-table and the remaining columns
+            denote properties of those relationships (e.g. creation timestamp, strength of friendship, etc.). TinkerPop enables any data system to expose its implicit graph structure within the
+            lexicon of vertices and edges. From there, what differentiates each TinkerPop-enabled system are the various time/space-tradeoffs that were made for representing their "graph" in-memory,
+            on-disk, and across a multi-machine compute cluster. TinkerPop users have the luxury of choosing a graph system based on those design choices that are important for their application.
+            Moreover, they only need to concern themselves with learning the Gremlin traversal language as every TinkerPop-enabled graph system supports Gremlin.
+         </div>
+         <div class="col-sm-4 col-md-4">
+            <img src="images/tinkerblocks.png" style="width:100%">
+         </div>
+      </div>
+      <br/>
+      It is (relatively) easy for a data system to become TinkerPop-enabled. There are two interface packages that need to be implemented with one of them being optional. Once implemented
+      the Gremlin traversal machine can talk to the provider's system and thus, so can any of their users' Gremlin traversals as well as any existing tools/technologies that have been designed
+      to interact with a TinkerPop-enabled system.
+      <br/>
+      <br/>
+      <ol>
+         <li><strong>The Graph (required)</strong>: These foundational interfaces define the semantics of the operations on a graph, vertex, edge, and property. Once implemented, the provider's
+            data system can immediately be queried using Gremlin OLTP. However, providers may want to leverage a collection of provider-specific compiler optimizations called <a href="http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy">traversal strategies</a>
+            which can leverage their system's unique features (e.g. global indices, vertex-centric indices, sort orders, sequential scanners, push-down predicates, etc.).
+         </li>
+         <br/>
+         <li><strong>The GraphComputer (optional)</strong>: All OLAP-based graph processors must implement the primary graph interfaces mentioned above as well as a set of parallel-processing
+            message-passing interfaces. However, it is possible for a data system to only implement the primary graph interfaces and still provide OLAP support to their users by integrating their
+            system with an existing <code>GraphComputer</code> implementation such as, for example, <code>SparkGraphComputer</code> or <code>GiraphGraphComputer</code> (both are provided in Apache's distribution
+            of TinkerPop).
+         </li>
+      </ol>
+      <p>Finally, there are other tools and technologies that the provider can leverage from TinkerPop such as <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a>, <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a>, and the like. The purpose of Apache TinkerPop is to
+         make it easy for providers to add graph functionality to their system and/or to build a graph system from scratch and immediately have a query language, server infrastructure, metrics/reporting
+         integration, cluster-based analytics and more.
+      </p>
+      <ul>
+         <li><strong>Gremlin traversal language</strong>: The primary benefit of TinkerPop is the <a href="gremlin.html">Gremlin graph traversal language</a>. This language was designed specifically for graph analysis and
+            manipulation and is not complicated with an explicit JOIN syntax.
+         </li>
+         <li><strong>Gremlin traversal machine</strong>: Every Gremlin language variant compiles to a language agnostic <a href="https://en.wikipedia.org/wiki/Bytecode">bytecode</a> representation. That bytecode is ultimately translated to a machine-specific traversal. It is the responsibility of the Gremlin traversal machine to execute that traversal as a
+            real-time <a href="https://en.wikipedia.org/wiki/Online_transaction_processing">OLTP</a> query or as an analytic <a href="https://en.wikipedia.org/wiki/Online_analytical_processing">OLAP</a> query (or both). Note that the Gremlin traversal machine is not bound to the Gremlin language. Any language can take advantage of the the
+            Gremlin traversal machine by simply translating itself to Gremlin bytecode. In fact, compilers currently exist for <a href="https://github.com/twilmes/sql-gremlin">SQL</a> and <a href="https://github.com/dkuppitz/sparql-gremlin">SPARQL</a>. However, using alternative languages for graph computing leads to significantly more complicated queries
+            and typically does not match the expressivity provided by Gremlin.
+         </li>
+         <li><strong>TinkerGraph</strong>: TinkerPop provides a simple, non-transactional, in-memory graph system called <a href="http://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin">TinkerGraph</a>. TinkerGraph is useful for exploring graphs that can fit
+            in-memory, for doing tutorials and training without the overhead of database setup, etc. TinkerGraph boasts both OLTP and OLAP traversal machine support.
+         </li>
+         <li><strong>Gremlin Console</strong>: A command line <a href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop">REPL</a> is provided called <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a>. This console is useful when learning TinkerPop as users can load provided datasets into a
+            graph system and explore the Gremlin language without the overhead of creating a full-blown software project. Furthermore, the Gremlin Console is used extensively in production scenarios
+            because it allows system administrators to interact with a local or remote graph to gather statistics, manually explore the data to ensure data integrity, and other useful tasks.
+         </li>
+         <li><strong>Gremlin Server</strong>: It is typical for a graph database to exist on a separate machine from the user's application code. <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a> bridges the network-divide
+            allowing users to seamlessly submit traversals for remote execution over a web-sockets based binary protocol. If provider already has a server, they can leverage TinkerPop-specific
+            components as needed (e.g. implement <code>RemoteConnection</code>). Gremlin Server also provides an HTTP-based API, support for <a href="http://ganglia.info/">Ganglia</a>/<a href="http://graphite.wikidot.com/">Graphite</a>/<a href="http://www.oracle.com/technetwork/articles/java/javamanagement-140525.html">JMX</a>/more
+            metrics, and a traversal routing framework for intelligent data/traversal co-location within a distributed graph database's machine cluster.
+         </li>
+         <li><strong>SparkGraphComputer</strong>: <a href="http://spark.apache.org/">Apache Spark</a>&trade; is a Big Data OLAP processor that simplifies the creation and execution of distributed data analytics.
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer"><code>SparkGraphComputer</code></a> turns Spark
+            into a Big(Graph)Data processor via the OLAP component of the Gremlin traversal machine. Users do not have to learn Spark's data processing language as Gremlin traversals execute
+            over Spark. For graph system providers, they can boast Spark integration once a custom <code>InputRDD</code> (or <code>InputFormat</code>) is developed.
+         </li>
+         <li><strong>GiraphGraphComputer</strong>: <a href="http://giraph.apache.org/">Apache Giraph</a>&trade; is a Big(Graph)Data processor that leverages <a href="http://hadoop.apache.org/">Apache Hadoop</a>&reg; and
+            <a href="http://zookeeper.apache.org/">Apache ZooKeeper</a>&trade; for executing distributed graph algorithms. <a href="http://tinkerpop.apache.org/docs/current/reference/#giraphgraphcomputer"><code>GiraphGraphComputer</code></a>
+            supports Gremlin OLAP and allows users to submit Gremlin traversals to Giraph for distributed execution. Providers can immediately advertise Giraph integration once a custom <code>InputFormat</code> is developed.
+         </li>
+         <li><strong>Hadoop support</strong>: <a href="http://hadoop.apache.org/">Apache Hadoop</a>&reg; has become a staple technology for Big Data applications. In TinkerPop, both <code>SparkGraphComputer</code> and <code>GiraphGraphComputer</code> can pull data
+            from the Hadoop File System (<a href="https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html">HDFS</a>). TinkerPop provides a collection of Input- and OutputFormats for different graph serialization standards as well as tooling that makes it easy for users
+            to <a href="http://tinkerpop.apache.org/docs/current/reference/#interacting-with-hdfs">interact with HDFS</a> from the Gremlin Console or their application.
+         </li>
+      </ul>
+      <p>Information on how to build implementations of the various interfaces that TinkerPop supports can be found in the <a href="http://tinkerpop.apache.org/docs/current/dev/provider/">Provider Documentation</a>.
+      <br/>
+      <h4>TinkerPop-Enabled Graph Systems</h4>
+      <br/>
+      Apache TinkerPop is always looking to point users to graph systems that are TinkerPop-enabled. Please read Apache TinkerPop's <a href="policy.html">provider listing policy</a> for adding new projects to the listing below.
+      The listing is intended to help users identify TinkerPop-enabled graph systems and does not constitute an endorsement by Apache TinkerPop nor the Apache Software Foundation.
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://blazegraph.com/"><img src="images/logos/blazegraph-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://blazegraph.com/">Blazegraph</a>&trade; is a standards-based, high-performance, scalable, open-source graph database. Written entirely in Java, the platform supports Apache TinkerPop and RDF/SPARQL 1.1 family of specifications.  A commercial version includes GPU acceleration.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://datastax.com/products/datastax-enterprise-graph"><img src="images/logos/datastax-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://datastax.com/products/datastax-enterprise-graph">DataStax Enterprise Graph</a>&trade;, part of DataStax Enterprise's multi-model platform, is a real-time graph database built for cloud applications that need to manage complex and highly connected data. Built on the foundation of Apache Cassandra and Apache TinkerPop, DataStax Enterprise Graph delivers continuous uptime along with predictable performance and scale, while remaining operationally simple to manage.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://www.ibm.com/analytics/us/en/technology/cloud-data-services/graph/"><img src="images/logos/ibmgraph-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://www.ibm.com/analytics/us/en/technology/cloud-data-services/graph/">IBM Graph</a>&trade; is a scalable, easy-to-use, fully-managed graph database-as-a-service that is administered through IBM's Bluemix cloud platform. IBM Graph is available 24/7 and managed by a team of experts so developers can focus on building their application. Based on the Apache TinkerPop stack for building high-performance graph applications, IBM Graph provides users with a set of simplified HTTP API calls and the Gremlin graph traversal language.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://cambridge-intelligence.com/keylines/"><img src="images/logos/keylines-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://cambridge-intelligence.com/keylines/">KeyLines</a>&trade; is an Apache TinkerPop and Gremlin compatible JavaScript SDK for quickly and easily building powerful, custom and scalable graph visualization applications. The KeyLines SDK offers a rich library of functionality to help you visualize and explore the data in your graph database, including graph layouts, social network analysis measures, filtering, temporal graph visualization and geospatial graph analysis. It allows the visualization of complex graph data at scale.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://linkurio.us/"><img src="images/logos/linkurious-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://linkurio.us/">Linkurious</a>&trade; is a browser-based graph visualization software to search, explore and visualize connected data. It is compatible with Apache TinkerPop and thus, any TinkerPop-enabled graph system. Linkurious provides enterprise-ready security (authentication, access rights, audit) and flexibility (API, linkurious.js JS graph visualization library) to help software architects successfully deploy graph capabilities within their organizations.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://neo4j.com/"><img src="images/logos/neo4j-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://neo4j.com/">Neo4j</a>&trade; is the most widely used open source, transactional graph database with a large active user and customer community. Because of its scalability and ease of use, Neo4j is applied in a wide variety of use cases from fraud detection, access control to recommendation and investigative journalism. Along with the openCypher graph query language, Neo4j also supports Apache TinkerPop and currently serves as its OLTP reference implementation.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://orientdb.com/"><img src="images/logos/orientdb-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://orientdb.com/">OrientDB</a>&trade; is an open source distributed graph database with native support for Apache TinkerPop and the Gremlin graph traversal language. OrientDB handles relationships by using persistent pointers, rather than expensive join runtime operations. This guarantees a fast, constant O(1) time for traversing, no matter the database size. Furthermore, OrientDB is not only a graph database, but a multi-model database able to manage documents, keys/values, objects, full-text and spatial data.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://stardog.com/"><img src="images/logos/stardog-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://stardog.com/">Stardog</a>&trade; is a graph database optimized for enterprise data unification. It supports both semantic graphs, via RDF, SPARQL, and OWL, as well as property graphs via Apache TinkerPop and Gremlin--it's the only graph database that supports both models over the same database, simultaneously. Stardog also supports hybrid data unification architectures, seamlessly blending data warehouse, system of record, and virtual query strategies. Stardog is suited for enterprise data silo challenges.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://titan.thinkaurelius.com/"><img src="images/logos/titan-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://titan.thinkaurelius.com/">Titan</a>&trade; is an Apache2 licensed scalable, distributed graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users executing complex Gremlin traversals in real time. Titan also provides an in-memory, compression-based OLAP processor as well as integrates with Apache TinkerPop's Spark/Giraph OLAP processors.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://tomsawyer.com/products/perspectives/"><img src="images/logos/tomsawyer-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://tomsawyer.com/products/perspectives/">Tom Sawyer Perspectives</a>&trade; is advanced graphics-based software for building enterprise-class data relationship visualization and analysis applications. It is a complete Software Development Kit (SDK) with a graphics-based design and preview environment. Tom Sawyer Perspectives combines visualization, layout, and analysis technology with an elegant platform architecture. Tom Sawyer Perspectives enables interaction with graph database systems via Apache TinkerPop.
+         </div>
+         <div class="col-sm-6 col-md-6"></div>
+      </div>
+   </div>
+   <br/>
+   <div class="container">
+      <a name="query-language-providers"></a>
+      <h3>Query Language Providers</h3>
+      <br/>
+      <div class="row">
+         <div class="col-sm-3 col-md-3">
+            <img src="images/gremlin-quill.png" style="width:100%;">
+         </div>
+         <div class="col-sm-9 col-md-9">
+            With the growth of <a href="https://en.wikipedia.org/wiki/NoSQL">NoSQL</a>, for which graph databases are a subclass, many new database query languages have been developed. SQL has
+            always been the industry standard, but now there exists others such as <a href="http://docs.datastax.com/en/cql/3.1/cql/cql_intro_c.html">CQL</a>, <a href="https://en.wikipedia.org/wiki/Datalog">Datalog</a>,
+            and <a href="https://en.wikipedia.org/wiki/XQuery">XQuery</a>. Even in the graph database space there is <a href="https://en.wikipedia.org/wiki/SPARQL">SPARQL</a>, <a href="http://neo4j.com/developer/cypher-query-language/">Cypher</a>,
+            <a href="http://graphql.org/">GraphQL</a>, and of course, Gremlin. Much like the <a href="https://en.wikipedia.org/wiki/Java_virtual_machine">Java virtual machine</a> is a host to multiple
+            programming languages including Java, Scala, Groovy, Clojure, JavaScript, etc., the Gremlin traversal machine is a host to multiple query languages. The Gremlin traversal machine's
+            instruction set ensures <a href="https://en.wikipedia.org/wiki/Turing_completeness">Turing Completeness</a> and as such, any query language can compile to execute on the Gremlin traversal machine.
+            There are three types of language designers. Below, each type will demonstrate the "same traversal" expressed in different languages. Ultimately, they all compile to the Gremlin traversal
+            below which computes the average rating for the projects created by Gremlin's friends.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-md-4">
+            <pre style="padding:10px"><code class="language-gremlin">g.V().has("person","name","gremlin").
+  out("knows").out("created").
+  hasLabel("project").
+  values("stars").mean()</code></pre>
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-8 col-md-9">
+            <br/>
+            <strong>Distinct query language</strong>: Query languages such as SQL and SPARQL are significantly different from Gremlin in that they require a special purpose compiler in order to
+            generate a traversal. For this reason, <a href="https://github.com/twilmes/sql-gremlin">SQL</a> and <a href="https://github.com/dkuppitz/sparql-gremlin">SPARQL</a> Gremlin compilers
+            currently exist. Note that, within reason, Gremlin compilers do not need to concern themselves with an optimal compilation (only a semantically correct compilation) as the Gremlin
+            traversal machine will leverage traversal strategies for both compile-time and runtime optimizations. Moreover, the language designer can rest assured that queries in their language
+            will be able to evaluate as either an OLTP or OLAP query. The example on the right is a SPARQL query that determines the average rating for Gremlin's friends' projects. It is because
+            of the Gremlin traversal machine, that that SPARQL query can immediately execute over Spark (for instance).
+         </div>
+         <div class="col-sm-4 col-md-3">
+            <pre style="padding:10px;"><code class="language-gremlin">SELECT AVG(?stars) WHERE {
+  ?a v:label person .
+  ?a v:name "gremlin" .
+  ?a e:knows ?b .
+  ?b e:created ?c .
+  ?c v:label "project" .
+  ?c v:stars ?stars
+}</code></pre>
+         </div>
+      </div>
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-7 col-md-8">
+            <strong>Gremlin language variants</strong>: There are various <a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin language variants</a> such as <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a>. These languages
+            generate Gremlin bytecode utilizing the same naming/style-conventions as Gremlin-Java. However, where appropriate, they can deviate from convention in order to take advantage of the unique expressive qualities of the host language. For instance, Gremlin-Python supports index slices, attribute access, etc.
+         </div>
+         <div class="col-sm-5 col-md-4">
+            <pre style="padding:10px;"><code class="language-gremlin">g.V().has('person','name','gremlin').
+  out('knows').out('created').
+  hasLabel('project').stars.mean()</code></pre>
+         </div>
+      </div>
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-8">
+            <strong>Domain specific languages</strong>: A users's application logic typically represents its domain in terms of real-world objects, not "vertices" and "edges." While most application developers will become comfortable writing their traversals in the vertex/edge-lexicon of Gremlin, it may be desirable to create a domain specific language for, perhaps, business users. To do so is simple. The language designer extends Traversal and interacts with an underlying GraphTraversal exposing "high-level" steps that may ultimately be composed of a complex sequence of "low-level" vertex/edge-steps. A major boon is that the DSL designer does not have to worry about compiler optimization as the "low-level" GraphTraversal representation will ultimately be subjected to traversal strategies prior to OLTP or OLAP evaluation. The example on the right is a hypothetical SocialDSL that allows users to query their graph from the perspective of people, projects, etc. and is thus bound to tha
 t graph's particular social data schema.
+         </div>
+         <div class="col-sm-6 col-md-4">
+            <br/>
+            <br/>
+            <pre style="padding:10px;"><code class="language-gremlin">SELECT(Average.of(Stars)).
+FROM(Projects)
+WHERE(Created.by(Friends.of("gremlin")))</code></pre>
+         </div>
+      </div>
+      <br/>
+      <h4>TinkerPop-Enabled Query Languages</h4>
+      <br/>
+      Apache TinkerPop is always looking to point users to TinkerPop-enabled graph query languages. Please read Apache TinkerPop's <a href="policy.html">provider listing policy</a> for adding new projects to the listing below.
+      The listing is intended to help users identify TinkerPop-enabled compilers and languages and does not constitute an endorsement by Apache TinkerPop nor the Apache Software Foundation.
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console"><img src="images/logos/gremlin-groovy-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin-Groovy</a> represents Gremlin inside the Groovy language and can be leveraged by any JVM-based project either through gmaven or its JSR-223 ScriptEngine implementation. It also serves as the Gremlin Console language.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants"><img src="images/logos/gremlin-java-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants">Gremlin-Java</a> represents Gremlin inside the Java8 language. Gremlin-Java is considered the canonical, reference implementation of Gremlin and is the primary compiler for all lambda-free bytecode due to its speed relative to other script-based, JVM variants.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python"><img src="images/logos/gremlin-python-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a> represents Gremlin inside the Python language and can be used by any Python virtual machine such as CPython and Jython. Gremlin-Python traversals translate to Gremlin bytecode for RemoteConnection execution (e.g. Gremlin Server).
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/mpollmeier/gremlin-scala"><img src="images/logos/gremlin-scala-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/mpollmeier/gremlin-scala">Gremlin-Scala</a> is a Gremlin language variant that uses standard Scala functions, provides a convenient DSL to create vertices and edges, ensures type safe traversals, and incurrs minimal runtime overhead by only allocating instances if absolutely necessary.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/clojurewerkz/ogre"><img src="images/logos/ogre-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/clojurewerkz/ogre">Ogre</a> is a Gremlin language variant for Clojure. It provides an API that enhances the expressivity of Gremlin within Clojure, it doesn't introduce any significant amount of performance overhead, and it can work with any TinkerPop-enabled graph database or analytic system.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/dkuppitz/sparql-gremlin"><img src="images/logos/sparql-gremlin-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/dkuppitz/sparql-gremlin">SPARQL-Gremlin</a> is a compiler used to transform SPARQL queries into Gremlin bytecode. It is based on the Apache Jena SPARQL processor ARQ, which provides access to a syntax tree of a SPARQL query.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/twilmes/sql-gremlin"><img src="images/logos/sql-gremlin-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/twilmes/sql-gremlin">SQL-Gremlin</a> compiles ANSI SQL to Gremlin bytecode and is useful for connecting JDBC reporting/business
+            intelligence tools to any TinkerPop-enabled graph system.
+         </div>
+      </div>
+   </div>
+   <br/>
+   <div class="container">
+      <hr/>
+      <h4>Related Resources</h4>
+      <br/>
+      <div class="carousel slide" data-ride="carousel" data-type="multi" data-interval="7000" id="relatedResources">
+         <div class="carouselGrid-inner">
+            <div class="item active">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://markorodriguez.com/2013/01/09/on-graph-computing/"><img src="images/resources/on-graph-computing-resource.png" width="100%"/></a></div>
+            </div>
+            <div class="item">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://academy.datastax.com/courses/ds230-getting-started-gremlin/property-graph"><img src="images/resources/property-graph-resource.png" width="100%"/></a></div>
+            </div>
+            <div class="item">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://neo4j.com/why-graph-databases/"><img src="images/resources/why-graph-databases-resource.png" width="100%"/></a></div>
+            </div>
+            <div class="item">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://thinkaurelius.com/2012/03/22/understanding-the-world-using-tables-and-graphs/"><img src="images/resources/tables-and-graphs-resource.png" width="100%"/></a></div>
+            </div>
+         </div>
+         <a class="left carouselGrid-control" href="#relatedResources" data-slide="prev">
+         <span class="icon-prev" aria-hidden="true"></span>
+         <span class="sr-only">Previous</span>
+         </a>
+         <a class="right carouselGrid-control" href="#relatedResources" data-slide="next">
+         <span class="icon-next" aria-hidden="true"></span>
+         <span class="sr-only">Next</span>
+         </a>
+      </div>
+      <script>
+         $('.carousel[data-type="multi"] .item').each(function(){
+           var next = $(this).next(); // grabs the next sibling of the carouselGrid
+           if (!next.length) { // if ther isn't a next
+             next = $(this).siblings(':first'); // this is the first
+           }
+           next.children(':first-child').clone().appendTo($(this)); // put the next ones on the array
+
+           for (var i=0;i<2;i++) { // THIS LOOP SPITS OUT EXTRA ITEMS TO THE CAROUSEL
+             next=next.next();
+             if (!next.length) {
+               next = $(this).siblings(':first');
+             }
+             next.children(':first-child').clone().appendTo($(this));
+           }
+
+         });
+      </script>
+   </div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/template/header-footer.html
----------------------------------------------------------------------
diff --git a/site/home/template/header-footer.html b/site/home/template/header-footer.html
new file mode 100644
index 0000000..34d827b
--- /dev/null
+++ b/site/home/template/header-footer.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<!--
+   \,,,/
+   (o o)
+   -oOOo-(3)-oOOo-
+   -->
+<html lang="en">
+   <head>
+      <meta charset="utf-8">
+      <meta http-equiv="X-UA-Compatible" content="IE=edge">
+      <meta name="viewport" content="width=device-width, initial-scale=1">
+      <title>Apache TinkerPop</title>
+      <meta name="description" content="A Graph Computing Framework">
+      <meta name="author" content="Apache TinkerPop">
+      <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+      <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+      <!--[if lt IE 9]>
+      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+      <![endif]-->
+      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" type="text/css">
+      <script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
+      <script src="js/bootstrap-3.3.5.min.js" type="text/javascript"></script>
+      <link href="css/carousel.css" rel="stylesheet" type="text/css">
+      <link href="css/prism.css" rel="stylesheet" type="text/css"/>
+      <link href="css/bootstrap-mods.css" rel="stylesheet" type="text/css"/>
+      <!-- Le fav and touch icons -->
+      <link rel="shortcut icon" href="images/favicon.ico">
+      <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+      <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+      <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+   </head>
+   <body>
+      <script src="js/prism.js"></script>     
+      <!---------------->
+      <!---------------->
+      <!---------------->
+      <!-- NAVIGATION -->
+      <!---------------->
+      <!---------------->
+      <!---------------->      
+      <nav class="navbar navbar-inverse navbar-static-top" role="navigation">
+         <!-- Brand and toggle get grouped for better mobile display -->
+         <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse"
+               data-target="#navbar-collapse-1">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            </button>
+            <a class="navbar-brand" href="http://tinkerpop.apache.org"><font face="american typewriter"><b>Apache TinkerPop</b></font></a>
+         </div>
+         <div id="navbar-collapse-1" class="collapse navbar-collapse">
+            <ul class="nav navbar-nav">
+               <li><a href="downloads.html">Download</a></li>
+               <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                  Documentation <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <li class="dropdown-header">Latest: 3.2.2 (6-Sep-2016)</li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current">TinkerPop 3.2.2</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/upgrade">Upgrade Information</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/current/core/">Core Javadoc API</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/current/full/">Full Javadoc API</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li class="dropdown-header">Maintenance: 3.1.4 (6-Sep-2016)</li>
+                     <li><a href="http://tinkerpop.apache.org/docs/3.1.4/">TinkerPop 3.1.4</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.4/core/">Core Javadoc API</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.4/full/">Full Javadoc API</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/">Documentation Archives</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/">Javadoc Archives</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="index.html#publications">Publications</a></li>
+                  </ul>
+               </li>
+               <li class="dropdown">
+                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">Tutorials<b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                     <li><a href="http://gremlinbin.com/"><img src="images/goutte-blue.png" class="nav-icon"/>Try Gremlin</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="gremlin.html">Introduction to Gremlin</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started/">Getting Started</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/the-gremlin-console/">The Gremlin Console</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/recipes/">Gremlin Recipes</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin Language Variants</a></li>
+                     <li><a href="http://sql2gremlin.com/">SQL2Gremlin</a></li>
+                  </ul>
+               </li>
+               <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                  Community <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <li><a href="https://groups.google.com/group/gremlin-users">User Mailing List</a></li>
+                     <li><a href="https://lists.apache.org/list.html?dev@tinkerpop.apache.org">Developer Mailing List</a></li>
+                     <li><a href="https://issues.apache.org/jira/browse/TINKERPOP/">Issue Tracker</a></li>
+                     <li><a href="https://tinkerpop.apache.org/docs/current/dev/developer/#_contributing">Contributing</a></li>
+                     <li><a href="providers.html">Providers</a></li>
+                     <li><a href="index.html#committers">Project Committers</a></li>
+                     <li><a href="policy.html">Policies</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="https://github.com/apache/tinkerpop/"><img src="images/gremlin-github.png" class="nav-icon"/>GitHub</a></li>
+                     <li><a href="https://twitter.com/apachetinkerpop">Twitter</a></li>
+                  </ul>
+               </li>
+               <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                  Apache Software Foundation <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <li><a href="http://www.apache.org/">Apache Homepage</a></li>
+                     <li><a href="http://www.apache.org/licenses/">License</a></li>
+                     <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                     <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                     <li><a href="http://www.apache.org/security/">Security</a></li>
+                  </ul>
+               </li>
+            </ul>
+         </div>
+      </nav>
+      !!!!!BODY!!!!!
+      <div id="footer">
+         <div class="container">
+            <p class="muted credit">Apache TinkerPop, TinkerPop, Apache, Apache feather logo, and Apache TinkerPop project logo are either registered trademarks or trademarks of <a href="http://www.apache.org/">The Apache Software Foundation</a> in the United States and other countries.
+            </p>
+         </div>
+      </div>
+   </body>
+</html>


[12/47] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3d38dedb
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3d38dedb
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3d38dedb

Branch: refs/heads/TINKERPOP-1235
Commit: 3d38dedb9f4fdbcc40c4eab843874163c3e46fd2
Parents: f4f7a15 84973f3
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 11:54:58 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 11:54:58 2016 -0400

----------------------------------------------------------------------
 docs/static/images/gremlin-recommendation.png | Bin 61405 -> 61024 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------



[39/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/js/prism.js
----------------------------------------------------------------------
diff --git a/docs/site/home/js/prism.js b/docs/site/home/js/prism.js
new file mode 100644
index 0000000..53661dd
--- /dev/null
+++ b/docs/site/home/js/prism.js
@@ -0,0 +1,423 @@
+
+/* http://prismjs.com/download.html?themes=prism&languages=clike+gremlin+groovy+jade */
+var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},
+    Prism = function() {
+        var e = /\blang(?:uage)?-(\w+)\b/i,
+            t = 0,
+            n = _self.Prism = {
+                util: {
+                    encode: function(e) {
+                        return e instanceof a ? new a(e.type, n.util.encode(e.content), e.alias) : "Array" === n.util.type(e) ? e.map(n.util.encode) : e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ")
+                    },
+                    type: function(e) {
+                        return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]
+                    },
+                    objId: function(e) {
+                        return e.__id || Object.defineProperty(e, "__id", {
+                            value: ++t
+                        }), e.__id
+                    },
+                    clone: function(e) {
+                        var t = n.util.type(e);
+                        switch (t) {
+                            case "Object":
+                                var a = {};
+                                for (var r in e) e.hasOwnProperty(r) && (a[r] = n.util.clone(e[r]));
+                                return a;
+                            case "Array":
+                                return e.map && e.map(function(e) {
+                                    return n.util.clone(e)
+                                })
+                        }
+                        return e
+                    }
+                },
+                languages: {
+                    extend: function(e, t) {
+                        var a = n.util.clone(n.languages[e]);
+                        for (var r in t) a[r] = t[r];
+                        return a
+                    },
+                    insertBefore: function(e, t, a, r) {
+                        r = r || n.languages;
+                        var l = r[e];
+                        if (2 == arguments.length) {
+                            a = arguments[1];
+                            for (var i in a) a.hasOwnProperty(i) && (l[i] = a[i]);
+                            return l
+                        }
+                        var o = {};
+                        for (var s in l)
+                            if (l.hasOwnProperty(s)) {
+                                if (s == t)
+                                    for (var i in a) a.hasOwnProperty(i) && (o[i] = a[i]);
+                                o[s] = l[s]
+                            }
+                        return n.languages.DFS(n.languages, function(t, n) {
+                            n === r[e] && t != e && (this[t] = o)
+                        }), r[e] = o
+                    },
+                    DFS: function(e, t, a, r) {
+                        r = r || {};
+                        for (var l in e) e.hasOwnProperty(l) && (t.call(e, l, e[l], a || l), "Object" !== n.util.type(e[l]) || r[n.util.objId(e[l])] ? "Array" !== n.util.type(e[l]) || r[n.util.objId(e[l])] || (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, l, r)) : (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, null, r)))
+                    }
+                },
+                plugins: {},
+                highlightAll: function(e, t) {
+                    var a = {
+                        callback: t,
+                        selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
+                    };
+                    n.hooks.run("before-highlightall", a);
+                    for (var r, l = a.elements || document.querySelectorAll(a.selector), i = 0; r = l[i++];) n.highlightElement(r, e === !0, a.callback)
+                },
+                highlightElement: function(t, a, r) {
+                    for (var l, i, o = t; o && !e.test(o.className);) o = o.parentNode;
+                    o && (l = (o.className.match(e) || [, ""])[1], i = n.languages[l]), t.className = t.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l, o = t.parentNode, /pre/i.test(o.nodeName) && (o.className = o.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l);
+                    var s = t.textContent,
+                        u = {
+                            element: t,
+                            language: l,
+                            grammar: i,
+                            code: s
+                        };
+                    if (!s || !i) return n.hooks.run("complete", u), void 0;
+                    if (n.hooks.run("before-highlight", u), a && _self.Worker) {
+                        var c = new Worker(n.filename);
+                        c.onmessage = function(e) {
+                            u.highlightedCode = e.data, n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(u.element), n.hooks.run("after-highlight", u), n.hooks.run("complete", u)
+                        }, c.postMessage(JSON.stringify({
+                            language: u.language,
+                            code: u.code,
+                            immediateClose: !0
+                        }))
+                    } else u.highlightedCode = n.highlight(u.code, u.grammar, u.language), n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(t), n.hooks.run("after-highlight", u), n.hooks.run("complete", u)
+                },
+                highlight: function(e, t, r) {
+                    var l = n.tokenize(e, t);
+                    return a.stringify(n.util.encode(l), r)
+                },
+                tokenize: function(e, t) {
+                    var a = n.Token,
+                        r = [e],
+                        l = t.rest;
+                    if (l) {
+                        for (var i in l) t[i] = l[i];
+                        delete t.rest
+                    }
+                    e: for (var i in t)
+                        if (t.hasOwnProperty(i) && t[i]) {
+                            var o = t[i];
+                            o = "Array" === n.util.type(o) ? o : [o];
+                            for (var s = 0; s < o.length; ++s) {
+                                var u = o[s],
+                                    c = u.inside,
+                                    g = !!u.lookbehind,
+                                    h = !!u.greedy,
+                                    f = 0,
+                                    d = u.alias;
+                                u = u.pattern || u;
+                                for (var p = 0; p < r.length; p++) {
+                                    var m = r[p];
+                                    if (r.length > e.length) break e;
+                                    if (!(m instanceof a)) {
+                                        u.lastIndex = 0;
+                                        var y = u.exec(m),
+                                            v = 1;
+                                        if (!y && h && p != r.length - 1) {
+                                            var b = r[p + 1].matchedStr || r[p + 1],
+                                                k = m + b;
+                                            if (p < r.length - 2 && (k += r[p + 2].matchedStr || r[p + 2]), u.lastIndex = 0, y = u.exec(k), !y) continue;
+                                            var w = y.index + (g ? y[1].length : 0);
+                                            if (w >= m.length) continue;
+                                            var _ = y.index + y[0].length,
+                                                P = m.length + b.length;
+                                            if (v = 3, P >= _) {
+                                                if (r[p + 1].greedy) continue;
+                                                v = 2, k = k.slice(0, P)
+                                            }
+                                            m = k
+                                        }
+                                        if (y) {
+                                            g && (f = y[1].length);
+                                            var w = y.index + f,
+                                                y = y[0].slice(f),
+                                                _ = w + y.length,
+                                                S = m.slice(0, w),
+                                                O = m.slice(_),
+                                                j = [p, v];
+                                            S && j.push(S);
+                                            var A = new a(i, c ? n.tokenize(y, c) : y, d, y, h);
+                                            j.push(A), O && j.push(O), Array.prototype.splice.apply(r, j)
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    return r
+                },
+                hooks: {
+                    all: {},
+                    add: function(e, t) {
+                        var a = n.hooks.all;
+                        a[e] = a[e] || [], a[e].push(t)
+                    },
+                    run: function(e, t) {
+                        var a = n.hooks.all[e];
+                        if (a && a.length)
+                            for (var r, l = 0; r = a[l++];) r(t)
+                    }
+                }
+            },
+            a = n.Token = function(e, t, n, a, r) {
+                this.type = e, this.content = t, this.alias = n, this.matchedStr = a || null, this.greedy = !!r
+            };
+        if (a.stringify = function(e, t, r) {
+                if ("string" == typeof e) return e;
+                if ("Array" === n.util.type(e)) return e.map(function(n) {
+                    return a.stringify(n, t, e)
+                }).join("");
+                var l = {
+                    type: e.type,
+                    content: a.stringify(e.content, t, r),
+                    tag: "span",
+                    classes: ["token", e.type],
+                    attributes: {},
+                    language: t,
+                    parent: r
+                };
+                if ("comment" == l.type && (l.attributes.spellcheck = "true"), e.alias) {
+                    var i = "Array" === n.util.type(e.alias) ? e.alias : [e.alias];
+                    Array.prototype.push.apply(l.classes, i)
+                }
+                n.hooks.run("wrap", l);
+                var o = "";
+                for (var s in l.attributes) o += (o ? " " : "") + s + '="' + (l.attributes[s] || "") + '"';
+                return "<" + l.tag + ' class="' + l.classes.join(" ") + '" ' + o + ">" + l.content + "</" + l.tag + ">"
+            }, !_self.document) return _self.addEventListener ? (_self.addEventListener("message", function(e) {
+            var t = JSON.parse(e.data),
+                a = t.language,
+                r = t.code,
+                l = t.immediateClose;
+            _self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close()
+        }, !1), _self.Prism) : _self.Prism;
+        var r = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();
+        return r && (n.filename = r.src, document.addEventListener && !r.hasAttribute("data-manual") && document.addEventListener("DOMContentLoaded", n.highlightAll)), _self.Prism
+    }();
+"undefined" != typeof module && module.exports && (module.exports = Prism), "undefined" != typeof global && (global.Prism = Prism);
+Prism.languages.clike = {
+    comment: [{
+        pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
+        lookbehind: !0
+    }, {
+        pattern: /(^|[^\\:])\/\/.*/,
+        lookbehind: !0
+    }],
+    string: {
+        pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
+        greedy: !0
+    },
+    "class-name": {
+        pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
+        lookbehind: !0,
+        inside: {
+            punctuation: /(\.|\\)/
+        }
+    },
+    keyword: /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
+    "boolean": /\b(true|false)\b/,
+    "function": /[a-z0-9_]+(?=\()/i,
+    number: /\b-?(?:0x[\da-f]+|\d*\.?\d+v(?:e[+-]?\d+)?)\b/i,
+    operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
+    traversalSource: /\b(g|h)\b/,
+    punctuation: /[{}[\];(),.:]/
+};
+Prism.languages.gremlin = Prism.languages.extend("clike", {
+    keyword: /\b(values,|decr|incr|local|global|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
+    number: /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
+    "function": /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i
+}), Prism.languages.insertBefore("gremlin", "keyword", {
+    regex: {
+        pattern: /(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
+        lookbehind: !0,
+        greedy: !0
+    }
+}), Prism.languages.insertBefore("gremlin", "class-name", {
+    "template-string": {
+        pattern: /`(?:\\\\|\\?[^\\])*?`/,
+        greedy: !0,
+        inside: {
+            interpolation: {
+                pattern: /\$\{[^}]+\}/,
+                inside: {
+                    "interpolation-punctuation": {
+                        pattern: /^\$\{|\}$/,
+                        alias: "punctuation"
+                    },
+                    rest: Prism.languages.gremlin
+                }
+            },
+            string: /[\s\S]+/
+        }
+    }
+}), Prism.languages.markup && Prism.languages.insertBefore("markup", "tag", {
+    script: {
+        pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
+        lookbehind: !0,
+        inside: Prism.languages.gremlin,
+        alias: "language-gremlin"
+    }
+}), Prism.languages.js = Prism.languages.gremlin;
+! function(e) {
+    e.languages.jade = {
+        comment: {
+            pattern: /(^([\t ]*))\/\/.*((?:\r?\n|\r)\2[\t ]+.+)*/m,
+            lookbehind: !0
+        },
+        "multiline-script": {
+            pattern: /(^([\t ]*)script\b.*\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.gremlin
+            }
+        },
+        filter: {
+            pattern: /(^([\t ]*)):.+((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
+            lookbehind: !0,
+            inside: {
+                "filter-name": {
+                    pattern: /^:[\w-]+/,
+                    alias: "variable"
+                }
+            }
+        },
+        "multiline-plain-text": {
+            pattern: /(^([\t ]*)[\w\-#.]+\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,
+            lookbehind: !0
+        },
+        markup: {
+            pattern: /(^[\t ]*)<.+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.markup
+            }
+        },
+        doctype: {
+            pattern: /((?:^|\n)[\t ]*)doctype(?: .+)?/,
+            lookbehind: !0
+        },
+        "flow-control": {
+            pattern: /(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,
+            lookbehind: !0,
+            inside: {
+                each: {
+                    pattern: /^each .+? in\b/,
+                    inside: {
+                        keyword: /\b(?:each|in)\b/,
+                        punctuation: /,/
+                    }
+                },
+                branch: {
+                    pattern: /^(?:if|unless|else|case|when|default|while)\b/,
+                    alias: "keyword"
+                },
+                rest: e.languages.gremlin
+            }
+        },
+        keyword: {
+            pattern: /(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m,
+            lookbehind: !0
+        },
+        mixin: [{
+            pattern: /(^[\t ]*)mixin .+/m,
+            lookbehind: !0,
+            inside: {
+                keyword: /^mixin/,
+                "function": /\w+(?=\s*\(|\s*$)/,
+                punctuation: /[(),.]/
+            }
+        }, {
+            pattern: /(^[\t ]*)\+.+/m,
+            lookbehind: !0,
+            inside: {
+                name: {
+                    pattern: /^\+\w+/,
+                    alias: "function"
+                },
+                rest: e.languages.gremlin
+            }
+        }],
+        script: {
+            pattern: /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.gremlin
+            }
+        },
+        "plain-text": {
+            pattern: /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m,
+            lookbehind: !0
+        },
+        tag: {
+            pattern: /(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,
+            lookbehind: !0,
+            inside: {
+                attributes: [{
+                    pattern: /&[^(]+\([^)]+\)/,
+                    inside: {
+                        rest: e.languages.gremlin
+                    }
+                }, {
+                    pattern: /\([^)]+\)/,
+                    inside: {
+                        "attr-value": {
+                            pattern: /(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/,
+                            lookbehind: !0,
+                            inside: {
+                                rest: e.languages.gremlin
+                            }
+                        },
+                        "attr-name": /[\w-]+(?=\s*!?=|\s*[,)])/,
+                        punctuation: /[!=(),]+/
+                    }
+                }],
+                punctuation: /:/
+            }
+        },
+        code: [{
+            pattern: /(^[\t ]*(?:-|!?=)).+/m,
+            lookbehind: !0,
+            inside: {
+                rest: e.languages.gremlin
+            }
+        }],
+        punctuation: /[.\-!=|]+/
+    };
+    for (var t = "(^([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+", n = [{
+            filter: "atpl",
+            language: "twig"
+        }, {
+            filter: "coffee",
+            language: "coffeescript"
+        }, "ejs", "handlebars", "hogan", "less", "livescript", "markdown", "mustache", "plates", {
+            filter: "sass",
+            language: "scss"
+        }, "stylus", "swig"], a = {}, i = 0, r = n.length; r > i; i++) {
+        var s = n[i];
+        s = "string" == typeof s ? {
+            filter: s,
+            language: s
+        } : s, e.languages[s.language] && (a["filter-" + s.filter] = {
+            pattern: RegExp(t.replace("{{filter_name}}", s.filter), "m"),
+            lookbehind: !0,
+            inside: {
+                "filter-name": {
+                    pattern: /^:[\w-]+/,
+                    alias: "variable"
+                },
+                rest: e.languages[s.language]
+            }
+        })
+    }
+    e.languages.insertBefore("jade", "filter", a)
+}(Prism);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/policy.html
----------------------------------------------------------------------
diff --git a/docs/site/home/policy.html b/docs/site/home/policy.html
new file mode 100644
index 0000000..d2999b7
--- /dev/null
+++ b/docs/site/home/policy.html
@@ -0,0 +1,72 @@
+<!--
+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.
+-->
+<img src="images/tinkerpop-conference.png" class="img-responsive" />
+<div class="container">
+   <div class="hero-unit" style="padding:10px">
+      <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
+      <p><font size="5">Provider Listing and Graphic Usage Policies</font></p>
+   </div>
+</div>
+<div class="container-fluid">
+   <div class="container">
+      <a name="provider-listing-policy"></a>
+      <h3>Provider Listing Policy</h3>
+      <p>Graph system and language providers can have the project listed in two locations on the Apache TinkerPop homepage.
+         The first location is on the homepage <a href="index.html">index.html</a>. The second is on the homepage <a href="providers.html">providers.html</a>. The policies
+         for each are provided below. Note that the Apache Software Foundation's <a href="http://www.apache.org/foundation/marks/linking">linking policy</a> supercede those
+         stipulated by Apache TinkerPop. All things considered, if your project meets the requirements, please email Apache TinkerPop's
+         <a href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">developer mailing list</a> requesting that your project be added to a listing.
+      </p>
+      <h4>Index Listing Requirements</h4>
+      <ul>
+         <li>The project must be either a TinkerPop-enabled graph system, a Gremlin language variant/compiler, a Gremlin language driver, or a TinkerPop-enabled middleware tool.</li>
+         <li>The project must have a public URL that can be referenced by Apache TinkerPop.</li>
+         <li>The project must have at least one release.</li>
+         <li>The project must be actively developed/maintained to a current or previous "y" version of Apache TinkerPop (3.y.z).</li>
+         <li>The project must have <em>some</em> documentation and that documentation must make explicit its usage of Apache TinkerPop and its version compatibility requirements.</li>
+      </ul>
+      <h4>Provider Listing Requirements</h4>
+      <ul>
+         <li>The project must be either a TinkerPop-enabled graph system, a Gremlin language variant/compiler, or a TinkerPop-enabled middleware tool.</li>
+         <li>The project must have a public URL that can be referenced by Apache TinkerPop.</li>
+         <li>The project must have a homepage that is not simply a software repository page.</li>
+         <li>The project must have a high-resolution logo that can be used by Apache TinkerPop.</li>
+         <li>The project must have at least one release.</li>
+         <li>The project must be actively developed/maintained to a current or previous "y" version of Apache TinkerPop (3.y.z).</li>
+         <li>The project must have <em>significant</em> documentation and that documentation must make explicit its usage of Apache TinkerPop and its version compatibility requirements.</li>
+      </ul>
+   </div>
+   <div class="container">
+      <a name="graphic-usage-policy"></a>
+      <h3>Graphic Usage Policy</h3>
+      <p>Apache TinkerPop has a plethora of graphics that the community can use. There are four categories of graphics. These categories and their respective policies are presented
+         below. If you are unsure of the category of a particular graphic, please ask on our <a href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">developer mailing</a>
+         list before using it. Finally, note that the Apache Software Foundation's <a href="http://www.apache.org/foundation/marks/">trademark policies</a> supercede those stipulated
+         by Apache TinkerPop.
+      </p>
+      <ul>
+         <li><strong>Character Graphics</strong>: A character graphic can be used <em>without permission</em> as long as its being used in an Apache TinkerPop related context and it is acknowledged that the graphic is a trademark of the Apache Software Foundation/Apache TinkerPop.</li>
+         <img src="images/policy/pipes-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/rexster-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/gremlin-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/blueprints-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/furnace-character.png" style="padding:10px;width:9%;"/> <img src="images/policy/frames-character.png" style="padding:10px;width:9%;"/>
+         <li><strong>Character Dress-Up Graphics</strong>: A character graphic can be manipulated ("dressed up") and used <em>without permission</em> as long as it's being used in an Apache TinkerPop related context and it is acknowledged that the graphic is a trademark of the Apache Software Foundation/Apache TinkerPop.</li>
+         <img src="images/policy/gremlin-gremopoly.png" style="padding:10px;width:10%;"/> <img src="images/policy/gremlin-gremreaper.png" style="padding:10px;width:14%;"/> <img src="images/policy/gremlin-chickenwing.png" style="padding:10px;width:10%;"/> <img src="images/policy/gremlin-no-more-mr-nice-guy.png" style="padding:10px;width:10%;"/> <img src="images/policy/gremlin-new-sheriff-in-town.png" style="padding:10px;width:12%;"/> <img src="images/policy/gremlin-gremstefani.png" style="padding:10px;width:10%;"/>
+         <li><strong>Explanatory Diagrams</strong>: Explanatory diagrams can be used <em>without permission</em> as long as they are being used in an Apache TinkerPop related context, it is acknowledged that they are trademarks of the Apache Software Foundation/Apache TinkerPop, and are being used for technical explanatory purposes.</li>
+         <img src="images/policy/olap-traversal.png" style="padding:10px;width:22%;"/> <img src="images/policy/cyclicpath-step.png" style="padding:10px;width:22%;"/> <img src="images/policy/flat-map-lambda.png" style="padding:10px;width:15%;"/> <img src="images/policy/adjacency-list.png" style="padding:10px;width:22%;"/>
+         <li><strong>Character Scene Graphics</strong>: Character scene graphics <u><em>require permission</em></u> before being used. Please ask for permission on the Apache TinkerPop <a href="http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/">developer mailing list</a>.</li>
+         <img src="images/policy/tinkerpop-reading.png" style="padding:10px;width:20%;"/> <img src="images/policy/gremlintron.png" style="padding:10px;width:20%;"/> <img src="images/policy/business-gremlin.png" style="padding:10px;width:20%;"/> <img src="images/policy/tinkerpop3-splash.png" style="padding:10px;width:20%;"/>
+      </ul>
+   </div>
+</div>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/providers.html
----------------------------------------------------------------------
diff --git a/docs/site/home/providers.html b/docs/site/home/providers.html
new file mode 100644
index 0000000..05fc6ab
--- /dev/null
+++ b/docs/site/home/providers.html
@@ -0,0 +1,359 @@
+<!--
+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.
+-->
+<img src="images/tinkerpop-meeting-room.png" class="img-responsive" />
+<div class="container">
+   <div class="hero-unit" style="padding:10px">
+      <b><font size="5" face="american typewriter">Apache TinkerPop&trade;</font></b>
+      <p><font size="5">TinkerPop-Enabled Providers</font></p>
+   </div>
+</div>
+<br/>
+<div class="container-fluid">
+   <div class="container">
+      <div class="row">
+         <div class="col-sm-10 col-md-10">
+            <p><a href="http://tinkerpop.apache.org">Apache TinkerPop</a> grows when 3<sup>rd</sup> party data systems and query languages utilize it. While Apache's distribution of TinkerPop
+               does provide production ready implementations and tools, it is ultimately the larger ecosystem of providers that ensure TinkerPop's widespread adoption.
+               There are two types of providers. The first are those that develop a (graph) database, (graph) processor, or (graph) analytics tool and want to
+               offer their users TinkerPop-specific graph computing features. The other type of provider are language designers that have a (graph) query language they
+               wish to have execute on the Gremlin traversal machine and thus, against any TinkerPop-enabled graph system.
+            </p>
+         </div>
+         <div class="col-sm-2 col-md-2">
+            <img src="images/peon-head.png" width="100px">
+         </div>
+      </div>
+   </div>
+   <div class="container">
+      <a name="data-system-providers"></a>
+      <h3>Data System Providers</h3>
+      <p>When a data system is TinkerPop-enabled, its users are able to model their domain as a graph and analyze that graph using the <a href="http://tinkerpop.apache.org/gremlin.html">Gremlin graph traversal language</a>. Furthermore, all
+         TinkerPop-enabled graph systems integrate with one another allowing providers to easily expand their system's offerings as well as allowing users to choose appropriate graph technology for their
+         application. Sometimes an application is best served by an in-memory, transactional graph database. Sometimes a multi-machine distributed graph database will do the job. Or perhaps the
+         application requires both a distributed graph database for real-time queries and, in parallel, a Big(Graph)Data processor for batch analytics.  Whatever the application's requirements, there
+         exists a TinkerPop-enabled graph system out there to meet its needs.
+      </p>
+      <div class="row">
+         <div class="col-sm-8 col-md-8">
+            At an abstract level, every data system is ultimately a "graph system" because every data system supports the representation of "things" (vertices) and their respective relationships
+            to one another (edges).  For instance, a <a href="https://en.wikipedia.org/wiki/Relational_database">relational database</a> may have a <em>people</em>-table, where the rows denote person vertices and the columns denote properties of those individuals
+            (e.g. their name and age). Moreover, that relational database may also have a <em>knows</em>-table, where two columns reference primary keys in the <em>people</em>-table and the remaining columns
+            denote properties of those relationships (e.g. creation timestamp, strength of friendship, etc.). TinkerPop enables any data system to expose its implicit graph structure within the
+            lexicon of vertices and edges. From there, what differentiates each TinkerPop-enabled system are the various time/space-tradeoffs that were made for representing their "graph" in-memory,
+            on-disk, and across a multi-machine compute cluster. TinkerPop users have the luxury of choosing a graph system based on those design choices that are important for their application.
+            Moreover, they only need to concern themselves with learning the Gremlin traversal language as every TinkerPop-enabled graph system supports Gremlin.
+         </div>
+         <div class="col-sm-4 col-md-4">
+            <img src="images/tinkerblocks.png" style="width:100%">
+         </div>
+      </div>
+      <br/>
+      It is (relatively) easy for a data system to become TinkerPop-enabled. There are two interface packages that need to be implemented with one of them being optional. Once implemented
+      the Gremlin traversal machine can talk to the provider's system and thus, so can any of their users' Gremlin traversals as well as any existing tools/technologies that have been designed
+      to interact with a TinkerPop-enabled system.
+      <br/>
+      <br/>
+      <ol>
+         <li><strong>The Graph (required)</strong>: These foundational interfaces define the semantics of the operations on a graph, vertex, edge, and property. Once implemented, the provider's
+            data system can immediately be queried using Gremlin OLTP. However, providers may want to leverage a collection of provider-specific compiler optimizations called <a href="http://tinkerpop.apache.org/docs/current/reference/#traversalstrategy">traversal strategies</a>
+            which can leverage their system's unique features (e.g. global indices, vertex-centric indices, sort orders, sequential scanners, push-down predicates, etc.).
+         </li>
+         <br/>
+         <li><strong>The GraphComputer (optional)</strong>: All OLAP-based graph processors must implement the primary graph interfaces mentioned above as well as a set of parallel-processing
+            message-passing interfaces. However, it is possible for a data system to only implement the primary graph interfaces and still provide OLAP support to their users by integrating their
+            system with an existing <code>GraphComputer</code> implementation such as, for example, <code>SparkGraphComputer</code> or <code>GiraphGraphComputer</code> (both are provided in Apache's distribution
+            of TinkerPop).
+         </li>
+      </ol>
+      <p>Finally, there are other tools and technologies that the provider can leverage from TinkerPop such as <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a>, <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a>, and the like. The purpose of Apache TinkerPop is to
+         make it easy for providers to add graph functionality to their system and/or to build a graph system from scratch and immediately have a query language, server infrastructure, metrics/reporting
+         integration, cluster-based analytics and more.
+      </p>
+      <ul>
+         <li><strong>Gremlin traversal language</strong>: The primary benefit of TinkerPop is the <a href="gremlin.html">Gremlin graph traversal language</a>. This language was designed specifically for graph analysis and
+            manipulation and is not complicated with an explicit JOIN syntax.
+         </li>
+         <li><strong>Gremlin traversal machine</strong>: Every Gremlin language variant compiles to a language agnostic <a href="https://en.wikipedia.org/wiki/Bytecode">bytecode</a> representation. That bytecode is ultimately translated to a machine-specific traversal. It is the responsibility of the Gremlin traversal machine to execute that traversal as a
+            real-time <a href="https://en.wikipedia.org/wiki/Online_transaction_processing">OLTP</a> query or as an analytic <a href="https://en.wikipedia.org/wiki/Online_analytical_processing">OLAP</a> query (or both). Note that the Gremlin traversal machine is not bound to the Gremlin language. Any language can take advantage of the the
+            Gremlin traversal machine by simply translating itself to Gremlin bytecode. In fact, compilers currently exist for <a href="https://github.com/twilmes/sql-gremlin">SQL</a> and <a href="https://github.com/dkuppitz/sparql-gremlin">SPARQL</a>. However, using alternative languages for graph computing leads to significantly more complicated queries
+            and typically does not match the expressivity provided by Gremlin.
+         </li>
+         <li><strong>TinkerGraph</strong>: TinkerPop provides a simple, non-transactional, in-memory graph system called <a href="http://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin">TinkerGraph</a>. TinkerGraph is useful for exploring graphs that can fit
+            in-memory, for doing tutorials and training without the overhead of database setup, etc. TinkerGraph boasts both OLTP and OLAP traversal machine support.
+         </li>
+         <li><strong>Gremlin Console</strong>: A command line <a href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop">REPL</a> is provided called <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin Console</a>. This console is useful when learning TinkerPop as users can load provided datasets into a
+            graph system and explore the Gremlin language without the overhead of creating a full-blown software project. Furthermore, the Gremlin Console is used extensively in production scenarios
+            because it allows system administrators to interact with a local or remote graph to gather statistics, manually explore the data to ensure data integrity, and other useful tasks.
+         </li>
+         <li><strong>Gremlin Server</strong>: It is typical for a graph database to exist on a separate machine from the user's application code. <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-server">Gremlin Server</a> bridges the network-divide
+            allowing users to seamlessly submit traversals for remote execution over a web-sockets based binary protocol. If provider already has a server, they can leverage TinkerPop-specific
+            components as needed (e.g. implement <code>RemoteConnection</code>). Gremlin Server also provides an HTTP-based API, support for <a href="http://ganglia.info/">Ganglia</a>/<a href="http://graphite.wikidot.com/">Graphite</a>/<a href="http://www.oracle.com/technetwork/articles/java/javamanagement-140525.html">JMX</a>/more
+            metrics, and a traversal routing framework for intelligent data/traversal co-location within a distributed graph database's machine cluster.
+         </li>
+         <li><strong>SparkGraphComputer</strong>: <a href="http://spark.apache.org/">Apache Spark</a>&trade; is a Big Data OLAP processor that simplifies the creation and execution of distributed data analytics.
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer"><code>SparkGraphComputer</code></a> turns Spark
+            into a Big(Graph)Data processor via the OLAP component of the Gremlin traversal machine. Users do not have to learn Spark's data processing language as Gremlin traversals execute
+            over Spark. For graph system providers, they can boast Spark integration once a custom <code>InputRDD</code> (or <code>InputFormat</code>) is developed.
+         </li>
+         <li><strong>GiraphGraphComputer</strong>: <a href="http://giraph.apache.org/">Apache Giraph</a>&trade; is a Big(Graph)Data processor that leverages <a href="http://hadoop.apache.org/">Apache Hadoop</a>&reg; and
+            <a href="http://zookeeper.apache.org/">Apache ZooKeeper</a>&trade; for executing distributed graph algorithms. <a href="http://tinkerpop.apache.org/docs/current/reference/#giraphgraphcomputer"><code>GiraphGraphComputer</code></a>
+            supports Gremlin OLAP and allows users to submit Gremlin traversals to Giraph for distributed execution. Providers can immediately advertise Giraph integration once a custom <code>InputFormat</code> is developed.
+         </li>
+         <li><strong>Hadoop support</strong>: <a href="http://hadoop.apache.org/">Apache Hadoop</a>&reg; has become a staple technology for Big Data applications. In TinkerPop, both <code>SparkGraphComputer</code> and <code>GiraphGraphComputer</code> can pull data
+            from the Hadoop File System (<a href="https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html">HDFS</a>). TinkerPop provides a collection of Input- and OutputFormats for different graph serialization standards as well as tooling that makes it easy for users
+            to <a href="http://tinkerpop.apache.org/docs/current/reference/#interacting-with-hdfs">interact with HDFS</a> from the Gremlin Console or their application.
+         </li>
+      </ul>
+      <p>Information on how to build implementations of the various interfaces that TinkerPop supports can be found in the <a href="http://tinkerpop.apache.org/docs/current/dev/provider/">Provider Documentation</a>.
+      <br/>
+      <h4>TinkerPop-Enabled Graph Systems</h4>
+      <br/>
+      Apache TinkerPop is always looking to point users to graph systems that are TinkerPop-enabled. Please read Apache TinkerPop's <a href="policy.html">provider listing policy</a> for adding new projects to the listing below.
+      The listing is intended to help users identify TinkerPop-enabled graph systems and does not constitute an endorsement by Apache TinkerPop nor the Apache Software Foundation.
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://blazegraph.com/"><img src="images/logos/blazegraph-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://blazegraph.com/">Blazegraph</a>&trade; is a standards-based, high-performance, scalable, open-source graph database. Written entirely in Java, the platform supports Apache TinkerPop and RDF/SPARQL 1.1 family of specifications.  A commercial version includes GPU acceleration.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://datastax.com/products/datastax-enterprise-graph"><img src="images/logos/datastax-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://datastax.com/products/datastax-enterprise-graph">DataStax Enterprise Graph</a>&trade;, part of DataStax Enterprise's multi-model platform, is a real-time graph database built for cloud applications that need to manage complex and highly connected data. Built on the foundation of Apache Cassandra and Apache TinkerPop, DataStax Enterprise Graph delivers continuous uptime along with predictable performance and scale, while remaining operationally simple to manage.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://www.ibm.com/analytics/us/en/technology/cloud-data-services/graph/"><img src="images/logos/ibmgraph-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://www.ibm.com/analytics/us/en/technology/cloud-data-services/graph/">IBM Graph</a>&trade; is a scalable, easy-to-use, fully-managed graph database-as-a-service that is administered through IBM's Bluemix cloud platform. IBM Graph is available 24/7 and managed by a team of experts so developers can focus on building their application. Based on the Apache TinkerPop stack for building high-performance graph applications, IBM Graph provides users with a set of simplified HTTP API calls and the Gremlin graph traversal language.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://cambridge-intelligence.com/keylines/"><img src="images/logos/keylines-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://cambridge-intelligence.com/keylines/">KeyLines</a>&trade; is an Apache TinkerPop and Gremlin compatible JavaScript SDK for quickly and easily building powerful, custom and scalable graph visualization applications. The KeyLines SDK offers a rich library of functionality to help you visualize and explore the data in your graph database, including graph layouts, social network analysis measures, filtering, temporal graph visualization and geospatial graph analysis. It allows the visualization of complex graph data at scale.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://linkurio.us/"><img src="images/logos/linkurious-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://linkurio.us/">Linkurious</a>&trade; is a browser-based graph visualization software to search, explore and visualize connected data. It is compatible with Apache TinkerPop and thus, any TinkerPop-enabled graph system. Linkurious provides enterprise-ready security (authentication, access rights, audit) and flexibility (API, linkurious.js JS graph visualization library) to help software architects successfully deploy graph capabilities within their organizations.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://neo4j.com/"><img src="images/logos/neo4j-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://neo4j.com/">Neo4j</a>&trade; is the most widely used open source, transactional graph database with a large active user and customer community. Because of its scalability and ease of use, Neo4j is applied in a wide variety of use cases from fraud detection, access control to recommendation and investigative journalism. Along with the openCypher graph query language, Neo4j also supports Apache TinkerPop and currently serves as its OLTP reference implementation.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://orientdb.com/"><img src="images/logos/orientdb-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://orientdb.com/">OrientDB</a>&trade; is an open source distributed graph database with native support for Apache TinkerPop and the Gremlin graph traversal language. OrientDB handles relationships by using persistent pointers, rather than expensive join runtime operations. This guarantees a fast, constant O(1) time for traversing, no matter the database size. Furthermore, OrientDB is not only a graph database, but a multi-model database able to manage documents, keys/values, objects, full-text and spatial data.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://stardog.com/"><img src="images/logos/stardog-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://stardog.com/">Stardog</a>&trade; is a graph database optimized for enterprise data unification. It supports both semantic graphs, via RDF, SPARQL, and OWL, as well as property graphs via Apache TinkerPop and Gremlin--it's the only graph database that supports both models over the same database, simultaneously. Stardog also supports hybrid data unification architectures, seamlessly blending data warehouse, system of record, and virtual query strategies. Stardog is suited for enterprise data silo challenges.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://titan.thinkaurelius.com/"><img src="images/logos/titan-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://titan.thinkaurelius.com/">Titan</a>&trade; is an Apache2 licensed scalable, distributed graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users executing complex Gremlin traversals in real time. Titan also provides an in-memory, compression-based OLAP processor as well as integrates with Apache TinkerPop's Spark/Giraph OLAP processors.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://tomsawyer.com/products/perspectives/"><img src="images/logos/tomsawyer-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://tomsawyer.com/products/perspectives/">Tom Sawyer Perspectives</a>&trade; is advanced graphics-based software for building enterprise-class data relationship visualization and analysis applications. It is a complete Software Development Kit (SDK) with a graphics-based design and preview environment. Tom Sawyer Perspectives combines visualization, layout, and analysis technology with an elegant platform architecture. Tom Sawyer Perspectives enables interaction with graph database systems via Apache TinkerPop.
+         </div>
+         <div class="col-sm-6 col-md-6"></div>
+      </div>
+   </div>
+   <br/>
+   <div class="container">
+      <a name="query-language-providers"></a>
+      <h3>Query Language Providers</h3>
+      <br/>
+      <div class="row">
+         <div class="col-sm-3 col-md-3">
+            <img src="images/gremlin-quill.png" style="width:100%;">
+         </div>
+         <div class="col-sm-9 col-md-9">
+            With the growth of <a href="https://en.wikipedia.org/wiki/NoSQL">NoSQL</a>, for which graph databases are a subclass, many new database query languages have been developed. SQL has
+            always been the industry standard, but now there exists others such as <a href="http://docs.datastax.com/en/cql/3.1/cql/cql_intro_c.html">CQL</a>, <a href="https://en.wikipedia.org/wiki/Datalog">Datalog</a>,
+            and <a href="https://en.wikipedia.org/wiki/XQuery">XQuery</a>. Even in the graph database space there is <a href="https://en.wikipedia.org/wiki/SPARQL">SPARQL</a>, <a href="http://neo4j.com/developer/cypher-query-language/">Cypher</a>,
+            <a href="http://graphql.org/">GraphQL</a>, and of course, Gremlin. Much like the <a href="https://en.wikipedia.org/wiki/Java_virtual_machine">Java virtual machine</a> is a host to multiple
+            programming languages including Java, Scala, Groovy, Clojure, JavaScript, etc., the Gremlin traversal machine is a host to multiple query languages. The Gremlin traversal machine's
+            instruction set ensures <a href="https://en.wikipedia.org/wiki/Turing_completeness">Turing Completeness</a> and as such, any query language can compile to execute on the Gremlin traversal machine.
+            There are three types of language designers. Below, each type will demonstrate the "same traversal" expressed in different languages. Ultimately, they all compile to the Gremlin traversal
+            below which computes the average rating for the projects created by Gremlin's friends.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-md-4">
+            <pre style="padding:10px"><code class="language-gremlin">g.V().has("person","name","gremlin").
+  out("knows").out("created").
+  hasLabel("project").
+  values("stars").mean()</code></pre>
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-8 col-md-9">
+            <br/>
+            <strong>Distinct query language</strong>: Query languages such as SQL and SPARQL are significantly different from Gremlin in that they require a special purpose compiler in order to
+            generate a traversal. For this reason, <a href="https://github.com/twilmes/sql-gremlin">SQL</a> and <a href="https://github.com/dkuppitz/sparql-gremlin">SPARQL</a> Gremlin compilers
+            currently exist. Note that, within reason, Gremlin compilers do not need to concern themselves with an optimal compilation (only a semantically correct compilation) as the Gremlin
+            traversal machine will leverage traversal strategies for both compile-time and runtime optimizations. Moreover, the language designer can rest assured that queries in their language
+            will be able to evaluate as either an OLTP or OLAP query. The example on the right is a SPARQL query that determines the average rating for Gremlin's friends' projects. It is because
+            of the Gremlin traversal machine, that that SPARQL query can immediately execute over Spark (for instance).
+         </div>
+         <div class="col-sm-4 col-md-3">
+            <pre style="padding:10px;"><code class="language-gremlin">SELECT AVG(?stars) WHERE {
+  ?a v:label person .
+  ?a v:name "gremlin" .
+  ?a e:knows ?b .
+  ?b e:created ?c .
+  ?c v:label "project" .
+  ?c v:stars ?stars
+}</code></pre>
+         </div>
+      </div>
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-7 col-md-8">
+            <strong>Gremlin language variants</strong>: There are various <a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin language variants</a> such as <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a>. These languages
+            generate Gremlin bytecode utilizing the same naming/style-conventions as Gremlin-Java. However, where appropriate, they can deviate from convention in order to take advantage of the unique expressive qualities of the host language. For instance, Gremlin-Python supports index slices, attribute access, etc.
+         </div>
+         <div class="col-sm-5 col-md-4">
+            <pre style="padding:10px;"><code class="language-gremlin">g.V().has('person','name','gremlin').
+  out('knows').out('created').
+  hasLabel('project').stars.mean()</code></pre>
+         </div>
+      </div>
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-8">
+            <strong>Domain specific languages</strong>: A users's application logic typically represents its domain in terms of real-world objects, not "vertices" and "edges." While most application developers will become comfortable writing their traversals in the vertex/edge-lexicon of Gremlin, it may be desirable to create a domain specific language for, perhaps, business users. To do so is simple. The language designer extends Traversal and interacts with an underlying GraphTraversal exposing "high-level" steps that may ultimately be composed of a complex sequence of "low-level" vertex/edge-steps. A major boon is that the DSL designer does not have to worry about compiler optimization as the "low-level" GraphTraversal representation will ultimately be subjected to traversal strategies prior to OLTP or OLAP evaluation. The example on the right is a hypothetical SocialDSL that allows users to query their graph from the perspective of people, projects, etc. and is thus bound to tha
 t graph's particular social data schema.
+         </div>
+         <div class="col-sm-6 col-md-4">
+            <br/>
+            <br/>
+            <pre style="padding:10px;"><code class="language-gremlin">SELECT(Average.of(Stars)).
+FROM(Projects)
+WHERE(Created.by(Friends.of("gremlin")))</code></pre>
+         </div>
+      </div>
+      <br/>
+      <h4>TinkerPop-Enabled Query Languages</h4>
+      <br/>
+      Apache TinkerPop is always looking to point users to TinkerPop-enabled graph query languages. Please read Apache TinkerPop's <a href="policy.html">provider listing policy</a> for adding new projects to the listing below.
+      The listing is intended to help users identify TinkerPop-enabled compilers and languages and does not constitute an endorsement by Apache TinkerPop nor the Apache Software Foundation.
+      <br/>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console"><img src="images/logos/gremlin-groovy-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-console">Gremlin-Groovy</a> represents Gremlin inside the Groovy language and can be leveraged by any JVM-based project either through gmaven or its JSR-223 ScriptEngine implementation. It also serves as the Gremlin Console language.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants"><img src="images/logos/gremlin-java-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#_on_gremlin_language_variants">Gremlin-Java</a> represents Gremlin inside the Java8 language. Gremlin-Java is considered the canonical, reference implementation of Gremlin and is the primary compiler for all lambda-free bytecode due to its speed relative to other script-based, JVM variants.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python"><img src="images/logos/gremlin-python-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="http://tinkerpop.apache.org/docs/current/reference/#gremlin-python">Gremlin-Python</a> represents Gremlin inside the Python language and can be used by any Python virtual machine such as CPython and Jython. Gremlin-Python traversals translate to Gremlin bytecode for RemoteConnection execution (e.g. Gremlin Server).
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/mpollmeier/gremlin-scala"><img src="images/logos/gremlin-scala-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/mpollmeier/gremlin-scala">Gremlin-Scala</a> is a Gremlin language variant that uses standard Scala functions, provides a convenient DSL to create vertices and edges, ensures type safe traversals, and incurrs minimal runtime overhead by only allocating instances if absolutely necessary.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/clojurewerkz/ogre"><img src="images/logos/ogre-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/clojurewerkz/ogre">Ogre</a> is a Gremlin language variant for Clojure. It provides an API that enhances the expressivity of Gremlin within Clojure, it doesn't introduce any significant amount of performance overhead, and it can work with any TinkerPop-enabled graph database or analytic system.
+         </div>
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/dkuppitz/sparql-gremlin"><img src="images/logos/sparql-gremlin-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/dkuppitz/sparql-gremlin">SPARQL-Gremlin</a> is a compiler used to transform SPARQL queries into Gremlin bytecode. It is based on the Apache Jena SPARQL processor ARQ, which provides access to a syntax tree of a SPARQL query.
+         </div>
+      </div>
+      <br/>
+      <div class="row">
+         <div class="col-sm-6 col-md-6">
+            <a href="https://github.com/twilmes/sql-gremlin"><img src="images/logos/sql-gremlin-logo.png" style="padding-right:20px;float:left;width:35%;"></a>
+            <a href="https://github.com/twilmes/sql-gremlin">SQL-Gremlin</a> compiles ANSI SQL to Gremlin bytecode and is useful for connecting JDBC reporting/business
+            intelligence tools to any TinkerPop-enabled graph system.
+         </div>
+      </div>
+   </div>
+   <br/>
+   <div class="container">
+      <hr/>
+      <h4>Related Resources</h4>
+      <br/>
+      <div class="carousel slide" data-ride="carousel" data-type="multi" data-interval="7000" id="relatedResources">
+         <div class="carouselGrid-inner">
+            <div class="item active">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://markorodriguez.com/2013/01/09/on-graph-computing/"><img src="images/resources/on-graph-computing-resource.png" width="100%"/></a></div>
+            </div>
+            <div class="item">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://academy.datastax.com/courses/ds230-getting-started-gremlin/property-graph"><img src="images/resources/property-graph-resource.png" width="100%"/></a></div>
+            </div>
+            <div class="item">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="http://neo4j.com/why-graph-databases/"><img src="images/resources/why-graph-databases-resource.png" width="100%"/></a></div>
+            </div>
+            <div class="item">
+               <div class="col-lg-3 col-md-3 col-sm-4 col-xs-6"><a href="https://thinkaurelius.com/2012/03/22/understanding-the-world-using-tables-and-graphs/"><img src="images/resources/tables-and-graphs-resource.png" width="100%"/></a></div>
+            </div>
+         </div>
+         <a class="left carouselGrid-control" href="#relatedResources" data-slide="prev">
+         <span class="icon-prev" aria-hidden="true"></span>
+         <span class="sr-only">Previous</span>
+         </a>
+         <a class="right carouselGrid-control" href="#relatedResources" data-slide="next">
+         <span class="icon-next" aria-hidden="true"></span>
+         <span class="sr-only">Next</span>
+         </a>
+      </div>
+      <script>
+         $('.carousel[data-type="multi"] .item').each(function(){
+           var next = $(this).next(); // grabs the next sibling of the carouselGrid
+           if (!next.length) { // if ther isn't a next
+             next = $(this).siblings(':first'); // this is the first
+           }
+           next.children(':first-child').clone().appendTo($(this)); // put the next ones on the array
+
+           for (var i=0;i<2;i++) { // THIS LOOP SPITS OUT EXTRA ITEMS TO THE CAROUSEL
+             next=next.next();
+             if (!next.length) {
+               next = $(this).siblings(':first');
+             }
+             next.children(':first-child').clone().appendTo($(this));
+           }
+
+         });
+      </script>
+   </div>
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/docs/site/home/template/header-footer.html
----------------------------------------------------------------------
diff --git a/docs/site/home/template/header-footer.html b/docs/site/home/template/header-footer.html
new file mode 100644
index 0000000..90cd3b5
--- /dev/null
+++ b/docs/site/home/template/header-footer.html
@@ -0,0 +1,148 @@
+<!--
+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 html>
+<!--
+       \,,,/
+       (o o)
+  -oOOo-(3)-oOOo-
+-->
+<html lang="en">
+   <head>
+      <meta charset="utf-8">
+      <meta http-equiv="X-UA-Compatible" content="IE=edge">
+      <meta name="viewport" content="width=device-width, initial-scale=1">
+      <title>Apache TinkerPop</title>
+      <meta name="description" content="A Graph Computing Framework">
+      <meta name="author" content="Apache TinkerPop">
+      <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+      <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+      <!--[if lt IE 9]>
+      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+      <![endif]-->
+      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" type="text/css">
+      <script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
+      <script src="js/bootstrap-3.3.5.min.js" type="text/javascript"></script>
+      <link href="css/carousel.css" rel="stylesheet" type="text/css">
+      <link href="css/prism.css" rel="stylesheet" type="text/css"/>
+      <link href="css/bootstrap-mods.css" rel="stylesheet" type="text/css"/>
+      <!-- Le fav and touch icons -->
+      <link rel="shortcut icon" href="images/favicon.ico">
+      <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+      <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+      <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+   </head>
+   <body>
+      <script src="js/prism.js"></script>     
+      <!---------------->
+      <!---------------->
+      <!---------------->
+      <!-- NAVIGATION -->
+      <!---------------->
+      <!---------------->
+      <!---------------->      
+      <nav class="navbar navbar-inverse navbar-static-top" role="navigation">
+         <!-- Brand and toggle get grouped for better mobile display -->
+         <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse"
+               data-target="#navbar-collapse-1">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            </button>
+            <a class="navbar-brand" href="http://tinkerpop.apache.org"><font face="american typewriter"><b>Apache TinkerPop</b></font></a>
+         </div>
+         <div id="navbar-collapse-1" class="collapse navbar-collapse">
+            <ul class="nav navbar-nav">
+               <li><a href="downloads.html">Download</a></li>
+               <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                  Documentation <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <li class="dropdown-header">Latest: 3.2.3 (17-Oct-2016)</li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current">TinkerPop 3.2.3</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/upgrade">Upgrade Information</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/current/core/">Core Javadoc API</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/current/full/">Full Javadoc API</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li class="dropdown-header">Maintenance: 3.1.5 (17-Oct-2016)</li>
+                     <li><a href="http://tinkerpop.apache.org/docs/3.1.5/">TinkerPop 3.1.5</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.5/core/">Core Javadoc API</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/3.1.5/full/">Full Javadoc API</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/">Documentation Archives</a></li>
+                     <li><a href="http://tinkerpop.apache.org/javadocs/">Javadoc Archives</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="index.html#publications">Publications</a></li>
+                  </ul>
+               </li>
+               <li class="dropdown">
+                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">Tutorials<b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                     <li><a href="http://gremlinbin.com/"><img src="images/goutte-blue.png" class="nav-icon"/>Try Gremlin</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="gremlin.html">Introduction to Gremlin</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/getting-started/">Getting Started</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/the-gremlin-console/">The Gremlin Console</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/recipes/">Gremlin Recipes</a></li>
+                     <li><a href="http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants/">Gremlin Language Variants</a></li>
+                     <li><a href="http://sql2gremlin.com/">SQL2Gremlin</a></li>
+                  </ul>
+               </li>
+               <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                  Community <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <li><a href="https://groups.google.com/group/gremlin-users">User Mailing List</a></li>
+                     <li><a href="https://lists.apache.org/list.html?dev@tinkerpop.apache.org">Developer Mailing List</a></li>
+                     <li><a href="https://issues.apache.org/jira/browse/TINKERPOP/">Issue Tracker</a></li>
+                     <li><a href="https://tinkerpop.apache.org/docs/current/dev/developer/#_contributing">Contributing</a></li>
+                     <li><a href="providers.html">Providers</a></li>
+                     <li><a href="index.html#committers">Project Committers</a></li>
+                     <li><a href="policy.html">Policies</a></li>
+                     <li role="separator" class="divider"></li>
+                     <li><a href="https://github.com/apache/tinkerpop/"><img src="images/gremlin-github.png" class="nav-icon"/>GitHub</a></li>
+                     <li><a href="https://twitter.com/apachetinkerpop">Twitter</a></li>
+                  </ul>
+               </li>
+               <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                  Apache Software Foundation <b class="caret"></b>
+                  </a>
+                  <ul class="dropdown-menu">
+                     <li><a href="http://www.apache.org/">Apache Homepage</a></li>
+                     <li><a href="http://www.apache.org/licenses/">License</a></li>
+                     <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                     <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                     <li><a href="http://www.apache.org/security/">Security</a></li>
+                  </ul>
+               </li>
+            </ul>
+         </div>
+      </nav>
+      !!!!!BODY!!!!!
+      <div id="footer">
+         <div class="container">
+            <p class="muted credit">Apache TinkerPop, TinkerPop, Apache, Apache feather logo, and Apache TinkerPop project logo are either registered trademarks or trademarks of <a href="http://www.apache.org/">The Apache Software Foundation</a> in the United States and other countries.
+            </p>
+         </div>
+      </div>
+   </body>
+</html>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/bin/generate-home.sh
----------------------------------------------------------------------
diff --git a/site/bin/generate-home.sh b/site/bin/generate-home.sh
deleted file mode 100755
index d17e37a..0000000
--- a/site/bin/generate-home.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-#
-#
-# 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.
-#
-cd `dirname $0`/..
-
-rm -rf ../target/site/home
-mkdir -p ../target/site/
-
-hash rsync 2> /dev/null
-
-if [ $? -eq 0 ]; then
-  rsync -avq home ../target/site --exclude template
-else
-  cp -R home ../target/site
-  rm -rf ../target/site/home/template
-fi
-
-for filename in home/*.html; do
-  sed -e "/!!!!!BODY!!!!!/ r $filename" home/template/header-footer.html -e /!!!!!BODY!!!!!/d > "../target/site/${filename}"
-done
-
-echo "Home page site generated to $(cd ../target/site/home ; pwd)"

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/bin/publish-home.sh
----------------------------------------------------------------------
diff --git a/site/bin/publish-home.sh b/site/bin/publish-home.sh
deleted file mode 100755
index 3e6cc7d..0000000
--- a/site/bin/publish-home.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/bash
-#
-#
-# 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.
-#
-
-cd `dirname $0`/..
-
-USERNAME=$1
-
-if [ "${USERNAME}" == "" ]; then
-  echo "Please provide a SVN username."
-  echo -e "\nUsage:\n\t$0 <username>\n"
-  exit 1
-fi
-
-if [ ! -d ../target/site/home ]; then
-  bin/generate-home.sh || exit 1
-  echo
-fi
-
-read -s -p "Password for SVN user ${USERNAME}: " PASSWORD
-echo
-
-SVN_CMD="svn --no-auth-cache --username=${USERNAME} --password=${PASSWORD}"
-
-cd ..
-rm -rf target/svn
-mkdir -p target/svn
-
-${SVN_CMD} co --depth files https://svn.apache.org/repos/asf/tinkerpop/site target/svn
-
-cd target/svn
-
-find ../site/home -mindepth 1 -maxdepth 1 -type d | xargs -n1 basename | xargs -r ${SVN_CMD} update
-
-diff -rq ./ ../site/home/ | awk -f ../../bin/publish-docs.awk | sed 's/^\(.\) \//\1 /g' > ../publish-home.files
-
-for file in $(cat ../publish-home.files | awk '/^[AU]/ {print $2}')
-do
-  if [ -d "../site/home/${file}" ]; then
-    mkdir -p "${file}" && cp -r "../site/home/${file}"/* "$_"
-  else
-    mkdir -p "`dirname ${file}`" && cp "../site/home/${file}" "$_"
-  fi
-done
-
-cat ../publish-home.files | awk '/^A/ {print $2}' | xargs -r svn add --parents
-cat ../publish-home.files | awk '/^D/ {print $2}' | xargs -r svn delete
-
-CHANGES=$(cat ../publish-home.files | wc -l)
-
-if [ ${CHANGES} -gt 0 ]; then
-  ${SVN_CMD} commit -m "Deploy TinkerPop homepage"
-fi
-

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/css/bootstrap-mods.css
----------------------------------------------------------------------
diff --git a/site/home/css/bootstrap-mods.css b/site/home/css/bootstrap-mods.css
deleted file mode 100644
index 68a6c31..0000000
--- a/site/home/css/bootstrap-mods.css
+++ /dev/null
@@ -1,140 +0,0 @@
-.nav-icon {
-    width: 24px;
-    height: 24px;
-    margin-right: 5px;
-}
-.hero-unit {
-    background-color: #f5f5f5;
-    margin-bottom: 2px;
-    padding: 20px;
-    -webkit-border-radius: 6px;
-    -moz-border-radius: 6px;
-    border-radius: 6px;
-    margin-top: 20px;
-}
-.hero-unit h1 {
-    margin-bottom: 0;
-    font-size: 50px;
-    line-height: 1;
-    letter-spacing: -1px;
-}
-.hero-unit p {
-    font-size: 18px;
-    font-weight: 200;
-    line-height: 27px;
-}
-.carousel-indicators-numbers li {
-    font-size: 12px;
-    text-indent: 0px;
-    margin: -2px 2px;
-    width: 25px;
-    height: 25px;
-    border: none;
-    border-radius: 100%;
-    line-height: 26px;
-    color: #fff;
-    background-color: #999;
-}
-.carousel-indicators-numbers li.active {
-    margin: -2px 2px;
-    width: 25px;
-    height: 25px;
-    background-color: #337ab7;
-}
-.carousel-indicators {
-    bottom: -39px;
-}
-.carousel-inner {
-    margin-bottom: 50px;
-}
-#footer {
-    background-color: #f5f5f5;
-}
-.container .credit {
-    margin: 20px 0;
-}
-.navbar {
-    margin-bottom: 0;
-}
-
-.hovereffect {
-width:100%;
-height:100%;
-float:left;
-overflow:hidden;
-position:relative;
-text-align:center;
-cursor:default;
-border-radius:5px;
-}
-
-.hovereffect .overlay {
-width:100%;
-height:100%;
-position:absolute;
-overflow:hidden;
-top:0;
-left:0;
-opacity:0;
-background-color:rgba(0,0,0,0.5);
--webkit-transition:all .4s ease-in-out;
-transition:all .4s ease-in-out;
-border-radius:5px;
-}
-
-.hovereffect img {
-display:block;
-position:relative;
--webkit-transition:all .4s linear;
-transition:all .4s linear;
-border-radius:5px;
-}
-
-
-.hovereffect a.info {
-text-decoration:none;
-display:inline-block;
-border-radius:5px;
-color:#fff;
-border:1px solid #fff;
-background-color:transparent;
-opacity:0;
-filter:alpha(opacity=0);
--webkit-transition:all .2s ease-in-out;
-transition:all .2s ease-in-out;
-margin:25px 0 0;
-padding:5px 5px;
-}
-
-.hovereffect a.info:hover {
-box-shadow:0 0 5px #fff;
-border-radius:5px;
-}
-
-.hovereffect:hover img {
--ms-transform:scale(1.2);
--webkit-transform:scale(1.2);
-transform:scale(1.2);
-border-radius:5px;
-}
-
-.hovereffect:hover .overlay {
-opacity:1;
-filter:alpha(opacity=100);
-border-radius:5px;
-}
-
-.hovereffect:hover h2,.hovereffect:hover a.info {
-opacity:1;
-filter:alpha(opacity=100);
--ms-transform:translatey(0);
--webkit-transform:translatey(0);
-transform:translatey(0);
-border-radius:5px;
-}
-
-.hovereffect:hover a.info {
--webkit-transition-delay:.2s;
-transition-delay:.2s;
-border-radius:5px;
-}
\ No newline at end of file


[08/47] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/1484c8de
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/1484c8de
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/1484c8de

Branch: refs/heads/TINKERPOP-1235
Commit: 1484c8deb2438517b7fc12ec8a8ed154732cf47f
Parents: 7a4b338 ea8cd65
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Oct 26 08:12:17 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Oct 26 08:12:17 2016 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 docs/src/dev/io/graphson.asciidoc               |  1 +
 .../structure/io/graphson/GraphSONModule.java   |  4 +++
 .../gremlin/structure/io/gryo/GryoMapper.java   |  4 ++-
 .../tinkerpop/gremlin/util/CoreImports.java     |  6 +++-
 .../step/branch/GroovyBranchTest.groovy         | 13 ++++++++-
 .../step/branch/GroovyChooseTest.groovy         | 10 +++++++
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  3 ++
 .../gremlin/python/jsr223/PythonTranslator.java |  3 ++
 .../jython/gremlin_python/process/traversal.py  |  4 +++
 .../traversal/step/branch/BranchTest.java       | 29 ++++++++++++++++----
 .../traversal/step/branch/ChooseTest.java       | 19 +++++++++++++
 12 files changed, 89 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1484c8de/CHANGELOG.asciidoc
----------------------------------------------------------------------


[35/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/js/jquery-1.11.0.min.js
----------------------------------------------------------------------
diff --git a/site/home/js/jquery-1.11.0.min.js b/site/home/js/jquery-1.11.0.min.js
deleted file mode 100644
index 046e93a..0000000
--- a/site/home/js/jquery-1.11.0.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"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){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(th
 is,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.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||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return n
 ull!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!
 1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[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;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(argum
 ents,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;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-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="
 \\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",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(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),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-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){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 db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElemen
 tsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return functi
 on(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(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 mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").le
 ngth}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(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.getE
 lementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|
 ")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.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},z=b?function(a,b){if(a===b)return j=!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===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]==
 =k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=n
 ull,a},e=db.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=db.selectors={cacheLength:50,createPseudo:fb,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(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===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]||db.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]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.leng
 th)&&(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(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.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+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},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.toLower
 Case(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));retur
 n d[s]?fb(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),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?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===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!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:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nt
 h=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=jb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=kb(b);function nb(){}nb.prototype=d.filters=d.pseudos,d.setFilters=new nb;function ob(a,b){var c,e,f,g,h,i,j,k=x[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?db.error(a):x(a,i).slice(0)}function pb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1==
 =b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(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 sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(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.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=
 g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueS
 ort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition
 (l.createElement("div"))}),gb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a
 ,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a
 ){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];ret
 urn d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&
 11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[]
 ,function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c
 .slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return
  e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener(
 "DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.ap
 pendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){va
 r f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f
-}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.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=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("dat
 a-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.
 length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.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=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},W=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;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},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a>",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}
 catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.spec
 ial[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.rem
 ove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocum
 ent||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace
 ))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=$.test(e)?this.mouseHooks:Z.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElem
 ent||z),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||z,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}}
 ,special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==db()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===db()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=z.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===L&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.ori
 ginalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&(a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault())?bb:cb):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:cb,isPropagationStopped:cb,isImmediatePropagationStopped:cb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=bb,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=bb,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.orig
 Type,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submitBubbles||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?b.form:void 0;c&&!n._data(c,"submitBubbles")&&(n.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),n._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.changeBubbles||(n.event.special.change={setup:function(){return Y.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),n.event.add(this,"click._change",function(a){this._just_changed&&!a.isT
 rigger&&(this._just_changed=!1),n.event.simulate("change",this,a,!0)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;Y.test(b.nodeName)&&!n._data(b,"changeBubbles")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a,!0)}),n._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!Y.test(this.nodeName)}}),l.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEve
 ntListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=cb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return n().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(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=cb),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHan
 dler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});function eb(a){var b=fb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var fb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gb=/ jQuery\d+="(?:null|\d+)"/g,hb=new RegExp("<(?:"+fb+")[\\s/>]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/<tbody/i,mb=/<|&#?\w+;/,nb=/<(?:script|style|link)/i,ob=/checked\s*(?:[^=]|=\s*.checked.)/i,pb=/^$|\/(?:java|ecma)script/i,qb=/^true\/(.*)/,rb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody>
 <colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type
 "),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f
 ,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1></$2>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?"<table>"!==k[1]||lb.test(f)?0:h:h.firstCh
 ild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDo
 cument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.fir
 stChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=
 n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c
 .createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Db[0].contentWindow||Db[0].contentDocument).document,b.write(),b.close(),c=Fb(a,b),Db.detach()),Eb[a]=c),c}!function(){var a,b,c=z.createElement("div"),d="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],a.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(a.style.opacity),l.cssFloat=!!a.style.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===c.style.backgroundClip,a=c=null,l.shrinkWrapBlocks=function(){var a,c,e,f;if(
 null==b){if(a=z.getElementsByTagName("body")[0],!a)return;f="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",c=z.createElement("div"),e=z.createElement("div"),a.appendChild(c).appendChild(e),b=!1,typeof e.style.zoom!==L&&(e.style.cssText=d+";width:1px;padding:1px;zoom:1",e.innerHTML="<div></div>",e.firstChild.style.width="5px",b=3!==e.offsetWidth),a.removeChild(c),a=c=e=null}return b}}();var Hb=/^margin/,Ib=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Jb,Kb,Lb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Jb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),Ib.test(g)&&Hb.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+""}):z.documentElement.currentStyle&&(Jb=function(a){return a.currentStyle},Kb=fun
 ction(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ib.test(g)&&!Lb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Mb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h=z.createElement("div"),i="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",j="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";h.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",b=h.getElementsByTagName("a")[0],b.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(b.style.opacity),l.cssFloat=!!b.style.cssFloat,h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-bo
 x"===h.style.backgroundClip,b=h=null,n.extend(l,{reliableHiddenOffsets:function(){if(null!=c)return c;var a,b,d,e=z.createElement("div"),f=z.getElementsByTagName("body")[0];if(f)return e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=z.createElement("div"),a.style.cssText=i,f.appendChild(a).appendChild(e),e.innerHTML="<table><tr><td></td><td>t</td></tr></table>",b=e.getElementsByTagName("td"),b[0].style.cssText="padding:0;margin:0;border:0;display:none",d=0===b[0].offsetHeight,b[0].style.display="",b[1].style.display="none",c=d&&0===b[0].offsetHeight,f.removeChild(a),e=f=null,c},boxSizing:function(){return null==d&&k(),d},boxSizingReliable:function(){return null==e&&k(),e},pixelPosition:function(){return null==f&&k(),f},reliableMarginRight:function(){var b,c,d,e;if(null==g&&a.getComputedStyle){if(b=z.getElementsByTagName("body")[0],!b)return;c=z.createElement("div"),d=z.createElement("div"),c.style.cssText=i,b.appendC
 hild(c).appendChild(d),e=d.appendChild(z.createElement("div")),e.style.cssText=d.style.cssText=j,e.style.marginRight=e.style.width="0",d.style.width="1px",g=!parseFloat((a.getComputedStyle(e,null)||{}).marginRight),b.removeChild(c)}return g}});function k(){var b,c,h=z.getElementsByTagName("body")[0];h&&(b=z.createElement("div"),c=z.createElement("div"),b.style.cssText=i,h.appendChild(b).appendChild(c),c.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;display:block;padding:1px;border:1px;width:4px;margin-top:1%;top:1%",n.swap(h,null!=h.style.zoom?{zoom:1}:{},function(){d=4===c.offsetWidth}),e=!0,f=!1,g=!0,a.getComputedStyle&&(f="1%"!==(a.getComputedStyle(c,null)||{}).top,e="4px"===(a.getComputedStyle(c,null)||{width:"4px"}).width),h.removeChild(b),c=h=null)}}(),n.swap=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};var Nb=/alpha\([^)]*\)/i,
 Ob=/opacity\s*=\s*([^)]*)/,Pb=/^(none|table(?!-c[ea]).+)/,Qb=new RegExp("^("+T+")(.*)$","i"),Rb=new RegExp("^([+-])=("+T+")","i"),Sb={position:"absolute",visibility:"hidden",display:"block"},Tb={letterSpacing:0,fontWeight:400},Ub=["Webkit","O","Moz","ms"];function Vb(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ub.length;while(e--)if(b=Ub[e]+c,b in a)return b;return d}function Wb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=n._data(d,"olddisplay",Gb(d.nodeName)))):f[g]||(e=V(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Xb(a,b,c){var d=Qb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Yb(a,b,c,d,e){for(var f=c===(d?"border":"content")?
 4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Zb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Jb(a),g=l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Kb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ib.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Yb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Kb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a
 .style;if(b=n.cssProps[h]||(n.cssProps[h]=Vb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Rb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]="",i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Vb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Kb(a,b,d)),"normal"===f&&b in Tb&&(f=Tb[b]),""===c||c?(e=parseFloat(f),c===!0||n.isNumeric(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&Pb.test(n.css(a,"display"))?n.swap(a,Sb,function(){return Zb(a,b,d)}):Zb(a,b,d):void 0},set:function(a,c,d){var e=d&&Jb(a);return Xb(a,c,d?Yb(a,b,d,l.boxSiz
 ing()&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Ob.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Nb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Nb.test(f)?f.replace(Nb,e):f+" "+e)}}),n.cssHooks.marginRight=Mb(l.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},Kb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Hb.test(a)||(n.cssHooks[a+b].set=Xb)}),n.fn.extend({css:function(a,b){return W(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for
 (d=Jb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)
-},a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}n.Tween=$b,$b.prototype={constructor:$b,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=$b.propHooks[this.prop];return a&&a.get?a.get(this):$b.propHooks._default.get(this)},run:function(a){var b,c=$b.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):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):$b.propHooks._default.set(this),this}},$b.prototype.init.prototype=$b.prototype,$b.propHoo
 ks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},$b.propHooks.scrollTop=$b.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=$b.prototype.init,n.fx.step={};var _b,ac,bc=/^(?:toggle|show|hide)$/,cc=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),dc=/queueHooks$/,ec=[jc],fc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=cc.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&cc.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=
 c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&V(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k=Gb(a.nodeName),"none"===j&&(j=k),"inline"===j&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==k?p.zoom=1:p.dis
 play="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],bc.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}if(!n.isEmptyObject(o)){r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=ic(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.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 lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(function(){
 delete i.elem}),i=function(){if(e)return!1;for(var b=_b||gc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:_b||gc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.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;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(kc(k,j.opts.specialEasing);g>f;f++)if(d=ec[f].call(j,a,k,j.opts))return d;return n.map(k,ic,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(
 j.opts.always)}n.Animation=n.extend(lc,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],fc[c]=fc[c]||[],fc[c].unshift(b)},prefilter:function(a,b){b?ec.unshift(a):ec.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=lc(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?thi
 s.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=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&dc.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)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.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;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,a
 rguments):this.animate(hc(b,!0),a,d,e)}}),n.each({slideDown:hc("show"),slideUp:hc("hide"),slideToggle:hc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(_b=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),_b=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ac||(ac=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(ac),ac=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e=z.createElement("div");e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=e.getE
 lementsByTagName("a")[0],c=z.createElement("select"),d=c.appendChild(z.createElement("option")),b=e.getElementsByTagName("input")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==e.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=d.selected,l.enctype=!!z.createElement("form").enctype,c.disabled=!0,l.optDisabled=!d.disabled,b=z.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value,a=b=c=d=e=null}();var mc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||
 (this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(mc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.text(a)}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(l.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a)
 .val(),b)>=0:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var nc,oc,pc=n.expr.attrHandle,qc=/^(?:checked|selected)$/i,rc=l.getSetAttribute,sc=l.input;n.fn.extend({attr:function(a,b){return W(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===L?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?oc:nc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(F);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?sc&&rc||!qc.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.rem
 oveAttribute(rc?c:d)},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),oc={set:function(a,b,c){return b===!1?n.removeAttr(a,c):sc&&rc||!qc.test(c)?a.setAttribute(!rc&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=pc[b]||n.find.attr;pc[b]=sc&&rc||!qc.test(b)?function(a,b,d){var e,f;return d||(f=pc[b],pc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,pc[b]=f),e}:function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),sc&&rc||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):nc&&nc.set(a,b,c)}}),rc||(nc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},pc.id=pc.name=pc.coords=function(a,b,c){var d;return c?void
  0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:nc.set},n.attrHooks.contenteditable={set:function(a,b,c){nc.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var tc=/^(?:input|select|textarea|button|object)$/i,uc=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return W(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.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=n.find.attr(a,"tabindex");return b?parseInt(b,10):tc.test(a.nodeName)||uc.test(a.nodeName)&&a.href?0:-1}}}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var vc=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(
 c.className?(" "+c.className+" ").replace(vc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(F)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===L||"boolea
 n"===c)&&(this.className&&n._data(this,"__className__",this.className),this.className=this.className||a===!1?"":n._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(vc," ").indexOf(b)>=0)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},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)}});var wc=n.now(),xc=/\?/,yc=/(,)|(
 \[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(yc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var zc,Ac,Bc=/#.*$/,Cc=/([?&])_=[^&]*/,Dc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ec=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Fc=/^(?:GET|HEAD)$/,Gc=/^\/\//,Hc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ic={},Jc={},Kc="*/".concat("*");try{Ac=location.href}c
 atch(Lc){Ac=z.createElement("a"),Ac.href="",Ac=Ac.href}zc=Hc.exec(Ac.toLowerCase())||[];function Mc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(F)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nc(a,b,c,d){var e={},f=a===Jc;function g(h){var i;return e[h]=!0,n.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 Oc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Pc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;bre
 ak}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Qc(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}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ac,type:"GET",isLocal:Ec.test(zc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text
 /javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Oc(Oc(a,n.ajaxSettings),b):Oc(n.ajaxSettings,a)},ajaxPrefilter:Mc(Ic),ajaxTransport:Mc(Jc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Dc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeTyp
 e=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||Ac)+"").replace(Bc,"").replace(Gc,zc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(F)||[""],null==k.crossDomain&&(c=Hc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===zc[1]&&c[2]===zc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(zc[3]||("http:"===zc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),Nc(Ic,k,b,v),2===t)return v;h=k.global,h&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Fc.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(xc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Cc.test(e)?e.replace(Cc,"$1_="+wc++):e+(xc.test(e)?"&":"?")+"_=
 "+wc++)),k.ifModified&&(n.lastModified[e]&&v.setRequestHeader("If-Modified-Since",n.lastModified[e]),n.etag[e]&&v.setRequestHeader("If-None-Match",n.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Kc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Nc(Jc,k,b,v)){v.readyState=1,h&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Pc(k,v,c)),u=Qc(k,u,v,
 j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(n.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url
 :a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!l.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||n.css(a,"display"))},n.expr.f
 ilters.visible=function(a){return!n.expr.filters.hidden(a)};var Rc=/%20/g,Sc=/\[\]$/,Tc=/\r?\n/g,Uc=/^(?:submit|button|image|reset|file)$/i,Vc=/^(?:input|select|textarea|keygen)/i;function Wc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Sc.test(a)?d(a,e):Wc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Wc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Wc(c,a[c],b,e);return d.join("&").replace

<TRUNCATED>

[13/47] tinkerpop git commit: Added deprecated annotation to tryRandomCommit()

Posted by sp...@apache.org.
Added deprecated annotation to tryRandomCommit()

Strangely this method was deprecated back in 3.1.1, but the annotation was not added (just the javadoc). CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bfda5508
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bfda5508
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bfda5508

Branch: refs/heads/TINKERPOP-1235
Commit: bfda5508a1673d4c65b9bb5c9d67b8b83ed349c1
Parents: 781ff3a
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 14:30:59 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 14:30:59 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                                  | 1 +
 .../main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java | 1 +
 2 files changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bfda5508/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 0dafd1c..52ae70d 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 TinkerPop 3.1.6 (Release Date: NOT OFFICIALLY RELEASED YET)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+* Deprecated `tryRandomCommit()` in `AbstractGremlinTest` - the annotation was never added in 3.1.1, and was only deprecated via javadoc.
 * Minor fixes to various test feature requirements in `gremlin-test`.
 
 [[release-3-1-5]]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bfda5508/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
index 2a97cd0..a1a6d5b 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
@@ -209,6 +209,7 @@ public abstract class AbstractGremlinTest {
      *
      * @deprecated as of 3.1.1-incubating, and is not replaced
      */
+    @Deprecated
     public void tryRandomCommit(final Graph graph) {
         if (graph.features().graph().supportsTransactions() && new Random().nextBoolean())
             graph.tx().commit();


[19/47] tinkerpop git commit: Moved site html files to main repo.

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d19da4fe/site/home/js/jquery-1.11.0.min.js
----------------------------------------------------------------------
diff --git a/site/home/js/jquery-1.11.0.min.js b/site/home/js/jquery-1.11.0.min.js
new file mode 100644
index 0000000..046e93a
--- /dev/null
+++ b/site/home/js/jquery-1.11.0.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"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){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(th
 is,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.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||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return n
 ull!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!
 1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[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;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(argum
 ents,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;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-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="
 \\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",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(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),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-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){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 db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElemen
 tsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return functi
 on(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(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 mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").le
 ngth}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(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.getE
 lementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|
 ")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.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},z=b?function(a,b){if(a===b)return j=!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===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]==
 =k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=n
 ull,a},e=db.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=db.selectors={cacheLength:50,createPseudo:fb,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(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===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]||db.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]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.leng
 th)&&(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(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.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+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},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.toLower
 Case(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));retur
 n d[s]?fb(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),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?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===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!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:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nt
 h=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=jb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=kb(b);function nb(){}nb.prototype=d.filters=d.pseudos,d.setFilters=new nb;function ob(a,b){var c,e,f,g,h,i,j,k=x[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?db.error(a):x(a,i).slice(0)}function pb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1==
 =b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(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 sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(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.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=
 g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueS
 ort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition
 (l.createElement("div"))}),gb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a
 ,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a
 ){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];ret
 urn d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&
 11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[]
 ,function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c
 .slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return
  e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener(
 "DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.ap
 pendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){va
 r f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f
+}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.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=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("dat
 a-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.
 length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.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=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},W=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;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},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a>",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}
 catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.spec
 ial[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.rem
 ove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocum
 ent||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace
 ))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=$.test(e)?this.mouseHooks:Z.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElem
 ent||z),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||z,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}}
 ,special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==db()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===db()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=z.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===L&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.ori
 ginalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&(a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault())?bb:cb):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:cb,isPropagationStopped:cb,isImmediatePropagationStopped:cb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=bb,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=bb,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.orig
 Type,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submitBubbles||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?b.form:void 0;c&&!n._data(c,"submitBubbles")&&(n.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),n._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.changeBubbles||(n.event.special.change={setup:function(){return Y.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),n.event.add(this,"click._change",function(a){this._just_changed&&!a.isT
 rigger&&(this._just_changed=!1),n.event.simulate("change",this,a,!0)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;Y.test(b.nodeName)&&!n._data(b,"changeBubbles")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a,!0)}),n._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!Y.test(this.nodeName)}}),l.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEve
 ntListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=cb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return n().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(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=cb),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHan
 dler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});function eb(a){var b=fb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var fb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gb=/ jQuery\d+="(?:null|\d+)"/g,hb=new RegExp("<(?:"+fb+")[\\s/>]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/<tbody/i,mb=/<|&#?\w+;/,nb=/<(?:script|style|link)/i,ob=/checked\s*(?:[^=]|=\s*.checked.)/i,pb=/^$|\/(?:java|ecma)script/i,qb=/^true\/(.*)/,rb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody>
 <colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type
 "),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f
 ,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1></$2>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?"<table>"!==k[1]||lb.test(f)?0:h:h.firstCh
 ild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDo
 cument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.fir
 stChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=
 n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c
 .createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Db[0].contentWindow||Db[0].contentDocument).document,b.write(),b.close(),c=Fb(a,b),Db.detach()),Eb[a]=c),c}!function(){var a,b,c=z.createElement("div"),d="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],a.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(a.style.opacity),l.cssFloat=!!a.style.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===c.style.backgroundClip,a=c=null,l.shrinkWrapBlocks=function(){var a,c,e,f;if(
 null==b){if(a=z.getElementsByTagName("body")[0],!a)return;f="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",c=z.createElement("div"),e=z.createElement("div"),a.appendChild(c).appendChild(e),b=!1,typeof e.style.zoom!==L&&(e.style.cssText=d+";width:1px;padding:1px;zoom:1",e.innerHTML="<div></div>",e.firstChild.style.width="5px",b=3!==e.offsetWidth),a.removeChild(c),a=c=e=null}return b}}();var Hb=/^margin/,Ib=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Jb,Kb,Lb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Jb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),Ib.test(g)&&Hb.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+""}):z.documentElement.currentStyle&&(Jb=function(a){return a.currentStyle},Kb=fun
 ction(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ib.test(g)&&!Lb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Mb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h=z.createElement("div"),i="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",j="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";h.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",b=h.getElementsByTagName("a")[0],b.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(b.style.opacity),l.cssFloat=!!b.style.cssFloat,h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-bo
 x"===h.style.backgroundClip,b=h=null,n.extend(l,{reliableHiddenOffsets:function(){if(null!=c)return c;var a,b,d,e=z.createElement("div"),f=z.getElementsByTagName("body")[0];if(f)return e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=z.createElement("div"),a.style.cssText=i,f.appendChild(a).appendChild(e),e.innerHTML="<table><tr><td></td><td>t</td></tr></table>",b=e.getElementsByTagName("td"),b[0].style.cssText="padding:0;margin:0;border:0;display:none",d=0===b[0].offsetHeight,b[0].style.display="",b[1].style.display="none",c=d&&0===b[0].offsetHeight,f.removeChild(a),e=f=null,c},boxSizing:function(){return null==d&&k(),d},boxSizingReliable:function(){return null==e&&k(),e},pixelPosition:function(){return null==f&&k(),f},reliableMarginRight:function(){var b,c,d,e;if(null==g&&a.getComputedStyle){if(b=z.getElementsByTagName("body")[0],!b)return;c=z.createElement("div"),d=z.createElement("div"),c.style.cssText=i,b.appendC
 hild(c).appendChild(d),e=d.appendChild(z.createElement("div")),e.style.cssText=d.style.cssText=j,e.style.marginRight=e.style.width="0",d.style.width="1px",g=!parseFloat((a.getComputedStyle(e,null)||{}).marginRight),b.removeChild(c)}return g}});function k(){var b,c,h=z.getElementsByTagName("body")[0];h&&(b=z.createElement("div"),c=z.createElement("div"),b.style.cssText=i,h.appendChild(b).appendChild(c),c.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;display:block;padding:1px;border:1px;width:4px;margin-top:1%;top:1%",n.swap(h,null!=h.style.zoom?{zoom:1}:{},function(){d=4===c.offsetWidth}),e=!0,f=!1,g=!0,a.getComputedStyle&&(f="1%"!==(a.getComputedStyle(c,null)||{}).top,e="4px"===(a.getComputedStyle(c,null)||{width:"4px"}).width),h.removeChild(b),c=h=null)}}(),n.swap=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};var Nb=/alpha\([^)]*\)/i,
 Ob=/opacity\s*=\s*([^)]*)/,Pb=/^(none|table(?!-c[ea]).+)/,Qb=new RegExp("^("+T+")(.*)$","i"),Rb=new RegExp("^([+-])=("+T+")","i"),Sb={position:"absolute",visibility:"hidden",display:"block"},Tb={letterSpacing:0,fontWeight:400},Ub=["Webkit","O","Moz","ms"];function Vb(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ub.length;while(e--)if(b=Ub[e]+c,b in a)return b;return d}function Wb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=n._data(d,"olddisplay",Gb(d.nodeName)))):f[g]||(e=V(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Xb(a,b,c){var d=Qb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Yb(a,b,c,d,e){for(var f=c===(d?"border":"content")?
 4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Zb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Jb(a),g=l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Kb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ib.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Yb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Kb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a
 .style;if(b=n.cssProps[h]||(n.cssProps[h]=Vb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Rb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]="",i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Vb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Kb(a,b,d)),"normal"===f&&b in Tb&&(f=Tb[b]),""===c||c?(e=parseFloat(f),c===!0||n.isNumeric(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&Pb.test(n.css(a,"display"))?n.swap(a,Sb,function(){return Zb(a,b,d)}):Zb(a,b,d):void 0},set:function(a,c,d){var e=d&&Jb(a);return Xb(a,c,d?Yb(a,b,d,l.boxSiz
 ing()&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Ob.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Nb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Nb.test(f)?f.replace(Nb,e):f+" "+e)}}),n.cssHooks.marginRight=Mb(l.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},Kb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Hb.test(a)||(n.cssHooks[a+b].set=Xb)}),n.fn.extend({css:function(a,b){return W(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for
 (d=Jb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)
+},a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}n.Tween=$b,$b.prototype={constructor:$b,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=$b.propHooks[this.prop];return a&&a.get?a.get(this):$b.propHooks._default.get(this)},run:function(a){var b,c=$b.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):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):$b.propHooks._default.set(this),this}},$b.prototype.init.prototype=$b.prototype,$b.propHoo
 ks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},$b.propHooks.scrollTop=$b.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=$b.prototype.init,n.fx.step={};var _b,ac,bc=/^(?:toggle|show|hide)$/,cc=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),dc=/queueHooks$/,ec=[jc],fc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=cc.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&cc.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=
 c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&V(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k=Gb(a.nodeName),"none"===j&&(j=k),"inline"===j&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==k?p.zoom=1:p.dis
 play="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],bc.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}if(!n.isEmptyObject(o)){r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=ic(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.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 lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(function(){
 delete i.elem}),i=function(){if(e)return!1;for(var b=_b||gc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:_b||gc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.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;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(kc(k,j.opts.specialEasing);g>f;f++)if(d=ec[f].call(j,a,k,j.opts))return d;return n.map(k,ic,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(
 j.opts.always)}n.Animation=n.extend(lc,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],fc[c]=fc[c]||[],fc[c].unshift(b)},prefilter:function(a,b){b?ec.unshift(a):ec.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=lc(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?thi
 s.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=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&dc.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)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.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;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,a
 rguments):this.animate(hc(b,!0),a,d,e)}}),n.each({slideDown:hc("show"),slideUp:hc("hide"),slideToggle:hc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(_b=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),_b=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ac||(ac=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(ac),ac=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e=z.createElement("div");e.setAttribute("className","t"),e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=e.getE
 lementsByTagName("a")[0],c=z.createElement("select"),d=c.appendChild(z.createElement("option")),b=e.getElementsByTagName("input")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==e.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=d.selected,l.enctype=!!z.createElement("form").enctype,c.disabled=!0,l.optDisabled=!d.disabled,b=z.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value,a=b=c=d=e=null}();var mc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||
 (this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(mc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.text(a)}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(l.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a)
 .val(),b)>=0:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var nc,oc,pc=n.expr.attrHandle,qc=/^(?:checked|selected)$/i,rc=l.getSetAttribute,sc=l.input;n.fn.extend({attr:function(a,b){return W(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===L?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?oc:nc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(F);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?sc&&rc||!qc.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.rem
 oveAttribute(rc?c:d)},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),oc={set:function(a,b,c){return b===!1?n.removeAttr(a,c):sc&&rc||!qc.test(c)?a.setAttribute(!rc&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=pc[b]||n.find.attr;pc[b]=sc&&rc||!qc.test(b)?function(a,b,d){var e,f;return d||(f=pc[b],pc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,pc[b]=f),e}:function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),sc&&rc||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):nc&&nc.set(a,b,c)}}),rc||(nc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},pc.id=pc.name=pc.coords=function(a,b,c){var d;return c?void
  0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:nc.set},n.attrHooks.contenteditable={set:function(a,b,c){nc.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var tc=/^(?:input|select|textarea|button|object)$/i,uc=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return W(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.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=n.find.attr(a,"tabindex");return b?parseInt(b,10):tc.test(a.nodeName)||uc.test(a.nodeName)&&a.href?0:-1}}}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var vc=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(
 c.className?(" "+c.className+" ").replace(vc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(F)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===L||"boolea
 n"===c)&&(this.className&&n._data(this,"__className__",this.className),this.className=this.className||a===!1?"":n._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(vc," ").indexOf(b)>=0)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},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)}});var wc=n.now(),xc=/\?/,yc=/(,)|(
 \[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(yc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var zc,Ac,Bc=/#.*$/,Cc=/([?&])_=[^&]*/,Dc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ec=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Fc=/^(?:GET|HEAD)$/,Gc=/^\/\//,Hc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ic={},Jc={},Kc="*/".concat("*");try{Ac=location.href}c
 atch(Lc){Ac=z.createElement("a"),Ac.href="",Ac=Ac.href}zc=Hc.exec(Ac.toLowerCase())||[];function Mc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(F)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nc(a,b,c,d){var e={},f=a===Jc;function g(h){var i;return e[h]=!0,n.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 Oc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Pc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;bre
 ak}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Qc(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}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ac,type:"GET",isLocal:Ec.test(zc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text
 /javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Oc(Oc(a,n.ajaxSettings),b):Oc(n.ajaxSettings,a)},ajaxPrefilter:Mc(Ic),ajaxTransport:Mc(Jc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Dc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeTyp
 e=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||Ac)+"").replace(Bc,"").replace(Gc,zc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(F)||[""],null==k.crossDomain&&(c=Hc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===zc[1]&&c[2]===zc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(zc[3]||("http:"===zc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),Nc(Ic,k,b,v),2===t)return v;h=k.global,h&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Fc.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(xc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Cc.test(e)?e.replace(Cc,"$1_="+wc++):e+(xc.test(e)?"&":"?")+"_=
 "+wc++)),k.ifModified&&(n.lastModified[e]&&v.setRequestHeader("If-Modified-Since",n.lastModified[e]),n.etag[e]&&v.setRequestHeader("If-None-Match",n.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Kc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Nc(Jc,k,b,v)){v.readyState=1,h&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Pc(k,v,c)),u=Qc(k,u,v,
 j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(n.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url
 :a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!l.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||n.css(a,"display"))},n.expr.f
 ilters.visible=function(a){return!n.expr.filters.hidden(a)};var Rc=/%20/g,Sc=/\[\]$/,Tc=/\r?\n/g,Uc=/^(?:submit|button|image|reset|file)$/i,Vc=/^(?:input|select|textarea|keygen)/i;function Wc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Sc.test(a)?d(a,e):Wc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Wc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Wc(c,a[c],b,e);return d.join("&").replace(Rc,

<TRUNCATED>

[29/47] tinkerpop git commit: Update changelog and usage docs for generating/publishing site

Posted by sp...@apache.org.
Update changelog and usage docs for generating/publishing site


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/55718a71
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/55718a71
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/55718a71

Branch: refs/heads/TINKERPOP-1235
Commit: 55718a71302faeb3b04d95b3cdeee269521528aa
Parents: de3edc0
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 06:50:52 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:51 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                      | 1 +
 docs/src/dev/developer/development-environment.asciidoc | 3 +++
 2 files changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/55718a71/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 26e2e89..5c76514 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+* Moved the source for the "home page" into the repository under `/site` so that it easier to accept contributions.
 * Replaced term `REST` with `HTTP` to remove any confusion as to the design of the API.
 * Moved `gremlin-benchmark` under `gremlin-tools` module.
 * Added `gremlin-tools` and its submodule `gremlin-coverage`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/55718a71/docs/src/dev/developer/development-environment.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/development-environment.asciidoc b/docs/src/dev/developer/development-environment.asciidoc
index 6707bbc..a6aeaa2 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -149,6 +149,9 @@ mvn -Dmaven.javadoc.skip=true --projects tinkergraph-gremlin test
 ** Reports are generated to the console and to `gremlin-tools/gremlin-benchmark/target/reports/benchmark`.
 * Test coverage report: `mvn clean install -Dcoverage` - note that the `install` is necessary because report aggregation is bound to that part of the lifecycle.
 ** Reports are generated to `gremlin-tools/gremlin-coverage/target/site`.
+* `cd site`
+** Generate web site locally: `bin/generate-home.sh`
+** Publish web site: `bin/publish-home.sh <username>`
 
 [[docker-integration]]
 Docker Integration


[37/47] tinkerpop git commit: Moved /site under /docs

Posted by sp...@apache.org.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/homepage.graffle
----------------------------------------------------------------------
diff --git a/site/home/images/homepage.graffle b/site/home/images/homepage.graffle
deleted file mode 100644
index a5a0c78..0000000
--- a/site/home/images/homepage.graffle
+++ /dev/null
@@ -1,63974 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>ApplicationVersion</key>
-	<array>
-		<string>com.omnigroup.OmniGrafflePro</string>
-		<string>139.18.0.187838</string>
-	</array>
-	<key>CreationDate</key>
-	<string>2015-11-17 20:30:24 +0000</string>
-	<key>Creator</key>
-	<string>Marko Rodriguez</string>
-	<key>FileType</key>
-	<string>flat</string>
-	<key>GraphDocumentVersion</key>
-	<integer>8</integer>
-	<key>GuidesLocked</key>
-	<string>NO</string>
-	<key>GuidesVisible</key>
-	<string>YES</string>
-	<key>ImageCounter</key>
-	<integer>12</integer>
-	<key>Images</key>
-	<array>
-		<dict>
-			<key>Extension</key>
-			<string>pdf</string>
-			<key>ID</key>
-			<integer>11</integer>
-			<key>RawData</key>
-			<data>
-			JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0
-			aCA1IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0K
-			eAGNls1uHDcQhO/zFDwHCMPu5u/VugXIwdAhD7CIIAR2AFsHv76/
-			4iixdtewg4Wwyx4Ou7qquqlP6X36lAqfWs6/z3+lP9M/yXqeq4Wl
-			L8nS7/z9nWr6I/328GLp8sJan5fLGXh4THYo8PjAaZZKLj7NVn/z
-			61fCO8nlY/JR8vCW5spjeSIQLfusyUg73I8PyW1lpTcrudaRvNTc
-			nXXp2cdItlqe0fY6bKVLstlzM56wI9pMRpKo6zCz7M66BScEJ87s
-			QOMN92y9C8Zqlj7cBswi16k3Wi5tclLJy1eyqHnMwQnTs3c2uFJ7
-			4qsqk3luS/sAoqct9+FsZ1c4Yc91+UGFVJXcC3hmWpZ56A0GTOiW
-			594XZ0YufaRVqYbdfeboNS2KXCyH5TnWQTFlApII54DNRsBkT+Er
-			1wJvvDB722tfwq68pawdMR01W46Yhw4oEyR6A8Yl1trVghIGGxgG
-			3FuKUrKV2BBtBWuVwLoNcgegYqArjLhbXtVTzJmNWkVBa4M1bxi6
-			/0dRUB9aiMKJNDzkG67YsKBFIEfpWwKPUBloMKZI50k94b7x1o3V
-			Lsfzvfve0QQlt2o25NgxqzDBTliIQ2weJXIbAA1Ew1xYVvq0jilm
-			xrlUiSAzDVYLigqFd9fSagOmAdNgcwy2qT7IFhF4pFAnNGayHyJm
-			uORZsC7zNN8vQBye2WkKTltSFToqYbEga4YDA/omNrEBb35IoWC1
-			Rl5dgiEtUkt8QzoEITIrAs2Rm0TnPbWZk2AW6mgVGOA5AkUKyHar
-			SmyUESJra7v7lqFLev4Oa08wSDvWfnhvNFeFydcI2M9IBLNAECQ9
-			Tu7kxVSj5w4imMlFA6GjhLwHre2wAW+aBkyNRudVlkyJS3raGxsU
-			64UYJun49TYSJMavwK3ZrR0xA8erI/rWAPnVnDS6D0bFxNYMLvGK
-			qF1q0xgoSVp6EBaVVr4YZofTAmWoTE0uoy5OD00Jp0OpM2xI+ru1
-			5tPVjsMqalKBVCWL0WZbkcU2CuQFUYc2Al4HeE4MwN4Yrpe05/Pt
-			jo/p6ZddJMj3N0XK6phFrcWgPKWolAQN4AvYlmlYH/+usdcZ+baj
-			Yzy5jY341Wvk2c4Rs2edd6Ybs2hn8gVpEPwNws1SwG9CGzi9UEfH
-			rV9+egsd3EJ7IkpEOpdRchdAp0L9HkwkJiec6vqg+4Gqnnvcd+eP
-			bzvlodWazMEkNnS/C8i01XUv0HOoZ5slfM/85X54TcT9+tNrFSME
-			s92YHWpuKXcdiTJomsNlJC5P9Sx3iXdO5qr5fyUlSgo6qNOEu6Zi
-			x10ErxgtojuQovo5YPiPYFd1dqboYxDyYb5ype/JpEt8cTcC/Tqy
-			Rx1SUdyr6ZgL9Bvy6ZIGu18HdL2FMWeYEJ2J61WlM/gGLlGt8uh2
-			NZPbdYvdJrxZn1fHFUwYpl/efwV1vNA9CmVuZHN0cmVhbQplbmRv
-			YmoKNSAwIG9iagoxMDc3CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBl
-			IC9QYWdlIC9QYXJlbnQgMyAwIFIgL1Jlc291cmNlcyA2IDAgUiAv
-			Q29udGVudHMgNCAwIFIgL01lZGlhQm94IFswIDAgNDAwIDQwMF0K
-			L0Nyb3BCb3ggWzYuODk0MDg2IDY1Ljg2OTMgMzk4LjIwMTIgMzM5
-			LjU3MTJdIC9CbGVlZEJveCBbMCAwIDQwMCA0MDBdIC9UcmltQm94
-			ClswIDAgNDAwIDQwMF0gL0FydEJveCBbMCAwIDQwMCA0MDBdID4+
-			CmVuZG9iago2IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiBdIC9D
-			b2xvclNwYWNlIDw8IC9DczEgNyAwIFIgPj4gPj4KZW5kb2JqCjgg
-			MCBvYmoKPDwgL0xlbmd0aCA5IDAgUiAvTiAzIC9BbHRlcm5hdGUg
-			L0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl
-			YW0KeAGdlndUU9kWh8+9N73QEiIgJfQaegkg0jtIFQRRiUmAUAKG
-			hCZ2RAVGFBEpVmRUwAFHhyJjRRQLg4Ji1wnyEFDGwVFEReXdjGsJ
-			7601896a/cdZ39nnt9fZZ+9917oAUPyCBMJ0WAGANKFYFO7rwVwS
-			E8vE9wIYEAEOWAHA4WZmBEf4RALU/L09mZmoSMaz9u4ugGS72yy/
-			UCZz1v9/kSI3QyQGAApF1TY8fiYX5QKUU7PFGTL/BMr0lSkyhjEy
-			FqEJoqwi48SvbPan5iu7yZiXJuShGlnOGbw0noy7UN6aJeGjjASh
-			XJgl4GejfAdlvVRJmgDl9yjT0/icTAAwFJlfzOcmoWyJMkUUGe6J
-			8gIACJTEObxyDov5OWieAHimZ+SKBIlJYqYR15hp5ejIZvrxs1P5
-			YjErlMNN4Yh4TM/0tAyOMBeAr2+WRQElWW2ZaJHtrRzt7VnW5mj5
-			v9nfHn5T/T3IevtV8Sbsz55BjJ5Z32zsrC+9FgD2JFqbHbO+lVUA
-			tG0GQOXhrE/vIADyBQC03pzzHoZsXpLE4gwnC4vs7GxzAZ9rLivo
-			N/ufgm/Kv4Y595nL7vtWO6YXP4EjSRUzZUXlpqemS0TMzAwOl89k
-			/fcQ/+PAOWnNycMsnJ/AF/GF6FVR6JQJhIlou4U8gViQLmQKhH/V
-			4X8YNicHGX6daxRodV8AfYU5ULhJB8hvPQBDIwMkbj96An3rWxAx
-			Csi+vGitka9zjzJ6/uf6Hwtcim7hTEEiU+b2DI9kciWiLBmj34Rs
-			wQISkAd0oAo0gS4wAixgDRyAM3AD3iAAhIBIEAOWAy5IAmlABLJB
-			PtgACkEx2AF2g2pwANSBetAEToI2cAZcBFfADXALDIBHQAqGwUsw
-			Ad6BaQiC8BAVokGqkBakD5lC1hAbWgh5Q0FQOBQDxUOJkBCSQPnQ
-			JqgYKoOqoUNQPfQjdBq6CF2D+qAH0CA0Bv0BfYQRmALTYQ3YALaA
-			2bA7HAhHwsvgRHgVnAcXwNvhSrgWPg63whfhG/AALIVfwpMIQMgI
-			A9FGWAgb8URCkFgkAREha5EipAKpRZqQDqQbuY1IkXHkAwaHoWGY
-			GBbGGeOHWYzhYlZh1mJKMNWYY5hWTBfmNmYQM4H5gqVi1bGmWCes
-			P3YJNhGbjS3EVmCPYFuwl7ED2GHsOxwOx8AZ4hxwfrgYXDJuNa4E
-			tw/XjLuA68MN4SbxeLwq3hTvgg/Bc/BifCG+Cn8cfx7fjx/GvyeQ
-			CVoEa4IPIZYgJGwkVBAaCOcI/YQRwjRRgahPdCKGEHnEXGIpsY7Y
-			QbxJHCZOkxRJhiQXUiQpmbSBVElqIl0mPSa9IZPJOmRHchhZQF5P
-			riSfIF8lD5I/UJQoJhRPShxFQtlOOUq5QHlAeUOlUg2obtRYqpi6
-			nVpPvUR9Sn0vR5Mzl/OX48mtk6uRa5Xrl3slT5TXl3eXXy6fJ18h
-			f0r+pvy4AlHBQMFTgaOwVqFG4bTCPYVJRZqilWKIYppiiWKD4jXF
-			USW8koGStxJPqUDpsNIlpSEaQtOledK4tE20Otpl2jAdRzek+9OT
-			6cX0H+i99AllJWVb5SjlHOUa5bPKUgbCMGD4M1IZpYyTjLuMj/M0
-			5rnP48/bNq9pXv+8KZX5Km4qfJUilWaVAZWPqkxVb9UU1Z2qbapP
-			1DBqJmphatlq+9Uuq43Pp893ns+dXzT/5PyH6rC6iXq4+mr1w+o9
-			6pMamhq+GhkaVRqXNMY1GZpumsma5ZrnNMe0aFoLtQRa5VrntV4w
-			lZnuzFRmJbOLOaGtru2nLdE+pN2rPa1jqLNYZ6NOs84TXZIuWzdB
-			t1y3U3dCT0svWC9fr1HvoT5Rn62fpL9Hv1t/ysDQINpgi0Gbwaih
-			iqG/YZ5ho+FjI6qRq9Eqo1qjO8Y4Y7ZxivE+41smsImdSZJJjclN
-			U9jU3lRgus+0zwxr5mgmNKs1u8eisNxZWaxG1qA5wzzIfKN5m/kr
-			Cz2LWIudFt0WXyztLFMt6ywfWSlZBVhttOqw+sPaxJprXWN9x4Zq
-			42Ozzqbd5rWtqS3fdr/tfTuaXbDdFrtOu8/2DvYi+yb7MQc9h3iH
-			vQ732HR2KLuEfdUR6+jhuM7xjOMHJ3snsdNJp9+dWc4pzg3OowsM
-			F/AX1C0YctFx4bgccpEuZC6MX3hwodRV25XjWuv6zE3Xjed2xG3E
-			3dg92f24+ysPSw+RR4vHlKeT5xrPC16Il69XkVevt5L3Yu9q76c+
-			Oj6JPo0+E752vqt9L/hh/QL9dvrd89fw5/rX+08EOASsCegKpARG
-			BFYHPgsyCRIFdQTDwQHBu4IfL9JfJFzUFgJC/EN2hTwJNQxdFfpz
-			GC4sNKwm7Hm4VXh+eHcELWJFREPEu0iPyNLIR4uNFksWd0bJR8VF
-			1UdNRXtFl0VLl1gsWbPkRoxajCCmPRYfGxV7JHZyqffS3UuH4+zi
-			CuPuLjNclrPs2nK15anLz66QX8FZcSoeGx8d3xD/iRPCqeVMrvRf
-			uXflBNeTu4f7kufGK+eN8V34ZfyRBJeEsoTRRJfEXYljSa5JFUnj
-			Ak9BteB1sl/ygeSplJCUoykzqdGpzWmEtPi000IlYYqwK10zPSe9
-			L8M0ozBDuspp1e5VE6JA0ZFMKHNZZruYjv5M9UiMJJslg1kLs2qy
-			3mdHZZ/KUcwR5vTkmuRuyx3J88n7fjVmNXd1Z752/ob8wTXuaw6t
-			hdauXNu5Tnddwbrh9b7rj20gbUjZ8MtGy41lG99uit7UUaBRsL5g
-			aLPv5sZCuUJR4b0tzlsObMVsFWzt3WazrWrblyJe0fViy+KK4k8l
-			3JLr31l9V/ndzPaE7b2l9qX7d+B2CHfc3em681iZYlle2dCu4F2t
-			5czyovK3u1fsvlZhW3FgD2mPZI+0MqiyvUqvakfVp+qk6oEaj5rm
-			vep7t+2d2sfb17/fbX/TAY0DxQc+HhQcvH/I91BrrUFtxWHc4azD
-			z+ui6rq/Z39ff0TtSPGRz0eFR6XHwo911TvU1zeoN5Q2wo2SxrHj
-			ccdv/eD1Q3sTq+lQM6O5+AQ4ITnx4sf4H++eDDzZeYp9qukn/Z/2
-			ttBailqh1tzWibakNml7THvf6YDTnR3OHS0/m/989Iz2mZqzymdL
-			z5HOFZybOZ93fvJCxoXxi4kXhzpXdD66tOTSna6wrt7LgZevXvG5
-			cqnbvfv8VZerZ645XTt9nX297Yb9jdYeu56WX+x+aem172296XCz
-			/ZbjrY6+BX3n+l37L972un3ljv+dGwOLBvruLr57/17cPel93v3R
-			B6kPXj/Mejj9aP1j7OOiJwpPKp6qP6391fjXZqm99Oyg12DPs4hn
-			j4a4Qy//lfmvT8MFz6nPK0a0RupHrUfPjPmM3Xqx9MXwy4yX0+OF
-			vyn+tveV0auffnf7vWdiycTwa9HrmT9K3qi+OfrW9m3nZOjk03dp
-			76anit6rvj/2gf2h+2P0x5Hp7E/4T5WfjT93fAn88ngmbWbm3/eE
-			8/sKZW5kc3RyZWFtCmVuZG9iago5IDAgb2JqCjI2MTIKZW5kb2Jq
-			CjcgMCBvYmoKWyAvSUNDQmFzZWQgOCAwIFIgXQplbmRvYmoKMyAw
-			IG9iago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNjEy
-			IDc5Ml0gL0NvdW50IDEgL0tpZHMgWyAyIDAgUiBdID4+CmVuZG9i
-			agoxMCAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMyAw
-			IFIgPj4KZW5kb2JqCjExIDAgb2JqCihNYWMgT1MgWCAxMC44LjUg
-			UXVhcnR6IFBERkNvbnRleHQpCmVuZG9iagoxMiAwIG9iagooRDoy
-			MDE2MDUwMTAwNTQ0M1owMCcwMCcpCmVuZG9iagoxIDAgb2JqCjw8
-			IC9Qcm9kdWNlciAxMSAwIFIgL0NyZWF0aW9uRGF0ZSAxMiAwIFIg
-			L01vZERhdGUgMTIgMCBSID4+CmVuZG9iagp4cmVmCjAgMTMKMDAw
-			MDAwMDAwMCA2NTUzNSBmIAowMDAwMDA0NDc1IDAwMDAwIG4gCjAw
-			MDAwMDExOTMgMDAwMDAgbiAKMDAwMDAwNDI0OCAwMDAwMCBuIAow
-			MDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDExNzMgMDAwMDAgbiAK
-			MDAwMDAwMTQxMiAwMDAwMCBuIAowMDAwMDA0MjEzIDAwMDAwIG4g
-			CjAwMDAwMDE0ODAgMDAwMDAgbiAKMDAwMDAwNDE5MyAwMDAwMCBu
-			IAowMDAwMDA0MzMxIDAwMDAwIG4gCjAwMDAwMDQzODEgMDAwMDAg
-			biAKMDAwMDAwNDQzMyAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXpl
-			IDEzIC9Sb290IDEwIDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8Mjdi
-			NGQ5NmFmZWI2OGU0NjE5ZmI0YTlkNTJhZWJjMmM+CjwyN2I0ZDk2
-			YWZlYjY4ZTQ2MTlmYjRhOWQ1MmFlYmMyYz4gXSA+PgpzdGFydHhy
-			ZWYKNDU1MAolJUVPRgo=
-			</data>
-		</dict>
-		<dict>
-			<key>Extension</key>
-			<string>tiff</string>
-			<key>ID</key>
-			<integer>9</integer>
-			<key>RawData</key>
-			<data>
-			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
-			B

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/24a4f212/site/home/images/logos/blazegraph-logo.png
----------------------------------------------------------------------
diff --git a/site/home/images/logos/blazegraph-logo.png b/site/home/images/logos/blazegraph-logo.png
deleted file mode 100644
index f1b00b9..0000000
Binary files a/site/home/images/logos/blazegraph-logo.png and /dev/null differ


[32/47] tinkerpop git commit: updated index.html

Posted by sp...@apache.org.
updated index.html


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5f5c7eca
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5f5c7eca
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5f5c7eca

Branch: refs/heads/TINKERPOP-1235
Commit: 5f5c7eca1d3c500550731fdaf24936286dffba45
Parents: 3319b80
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Oct 26 19:10:16 2016 -0600
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:42:10 2016 -0400

----------------------------------------------------------------------
 site/home/index.html | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5f5c7eca/site/home/index.html
----------------------------------------------------------------------
diff --git a/site/home/index.html b/site/home/index.html
index 162d568..bf061c3 100644
--- a/site/home/index.html
+++ b/site/home/index.html
@@ -274,6 +274,7 @@ limitations under the License.
          <a name="publications"></a>
          <h4 id="publications">Publications</h4>
          <ul>
+            <li>Rodriguez, M.A., "<a href="https://www.datastax.com/dev/blog/a-gremlin-implementation-of-the-gremlin-traversal-machine">A Gremlin Implementation of the Gremlin Traversal Machine</a>," DataStax Engineering Blog, October 2016.</li>
             <li>Rodriguez, M.A., "<a href="http://www.datastax.com/dev/blog/gremlins-time-machine">Gremlin's Time Machine</a>," DataStax Engineering Blog, September 2016.</li>
             <li>Rodriguez, M.A., "<a href="http://www.slideshare.net/slidarko/gremlins-graph-traversal-machinery">Gremlin's Graph Traversal Machinery</a>," Cassandra Summit, September 2016.</li>
             <li>Rodriguez, M.A., "<a href="http://www.datastax.com/dev/blog/the-mechanics-of-gremlin-olap">The Mechanics of Gremlin OLAP</a>," DataStax Engineering Blog, April 2016.</li>
@@ -308,6 +309,7 @@ limitations under the License.
             <li><a href="https://github.com/jbmusso">Jean-Baptiste Musso</a> (2016 - Committer): Gremlin Server testing, Gremlin Driver (Node.js/JavaScript), mailing list support.</li>
             <li><a href="http://www.michaelpollmeier.com/">Michael Pollmeier</a> (2016 - Committer): Gremlin language, Gremlin-Scala.</li>
             <li><a href="https://github.com/davebshow">David Brown</a> (2016 - Committer): Python libraries, Gremlin Server testing.</li>
+            <li><a href="https://github.com/robertdale">Robert Dale</a> (2016 - Committer): Gremlin Console/Server, documentation, mailing list support.</li>
          </ul>
       </div>
    </div>


[31/47] tinkerpop git commit: Added license header where applicable.

Posted by sp...@apache.org.
Added license header where applicable.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f1a56239
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f1a56239
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f1a56239

Branch: refs/heads/TINKERPOP-1235
Commit: f1a562393d465cd96896311c5bb02ca144d4ca2f
Parents: cc4bfed
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Oct 20 12:11:07 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:51 2016 -0400

----------------------------------------------------------------------
 pom.xml                               |  3 +++
 site/home/downloads.html              | 16 ++++++++++++++++
 site/home/gremlin.html                | 16 ++++++++++++++++
 site/home/index.html                  | 16 ++++++++++++++++
 site/home/policy.html                 | 16 ++++++++++++++++
 site/home/providers.html              | 16 ++++++++++++++++
 site/home/template/header-footer.html | 16 ++++++++++++++++
 7 files changed, 99 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f1a56239/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c2cc89d..b70a390 100644
--- a/pom.xml
+++ b/pom.xml
@@ -284,6 +284,7 @@ limitations under the License.
                         <exclude>**/*.json</exclude>
                         <exclude>**/*.xml</exclude>
                         <exclude>**/*.ldjson</exclude>
+                        <exclude>**/*.graffle</exclude>
                         <exclude>**/goal.txt</exclude>
                         <exclude>**/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/*.txt</exclude>
                         <exclude>**/src/main/resources/META-INF/services/**</exclude>
@@ -295,6 +296,8 @@ limitations under the License.
                         <exclude>**/.glv</exclude>
                         <exclude>bin/gremlin.sh</exclude>
                         <exclude>gremlin-console/bin/gremlin.sh</exclude>
+                        <exclude>site/home/css/**</exclude>
+                        <exclude>site/home/js/**</exclude>
                     </excludes>
                     <licenses>
                         <license implementation="org.apache.rat.analysis.license.ApacheSoftwareLicense20"/>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f1a56239/site/home/downloads.html
----------------------------------------------------------------------
diff --git a/site/home/downloads.html b/site/home/downloads.html
index c905083..d1eb5ba 100644
--- a/site/home/downloads.html
+++ b/site/home/downloads.html
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 <div class="container">
  <div class="row">
     <h3>Download Apache TinkerPop&trade;</h3>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f1a56239/site/home/gremlin.html
----------------------------------------------------------------------
diff --git a/site/home/gremlin.html b/site/home/gremlin.html
index 7038f34..4a626ca 100644
--- a/site/home/gremlin.html
+++ b/site/home/gremlin.html
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 <img src="images/tinkerpop-cityscape.png" class="img-responsive" />
 <div class="container">
  <div class="hero-unit" style="padding:10px">

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f1a56239/site/home/index.html
----------------------------------------------------------------------
diff --git a/site/home/index.html b/site/home/index.html
index d0629f6..0cc6f95 100644
--- a/site/home/index.html
+++ b/site/home/index.html
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 <div class="container">
    <div class="hero-unit">
       <div class="row">

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f1a56239/site/home/policy.html
----------------------------------------------------------------------
diff --git a/site/home/policy.html b/site/home/policy.html
index 4a4bd05..d2999b7 100644
--- a/site/home/policy.html
+++ b/site/home/policy.html
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 <img src="images/tinkerpop-conference.png" class="img-responsive" />
 <div class="container">
    <div class="hero-unit" style="padding:10px">

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f1a56239/site/home/providers.html
----------------------------------------------------------------------
diff --git a/site/home/providers.html b/site/home/providers.html
index f5d4697..05fc6ab 100644
--- a/site/home/providers.html
+++ b/site/home/providers.html
@@ -1,3 +1,19 @@
+<!--
+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.
+-->
 <img src="images/tinkerpop-meeting-room.png" class="img-responsive" />
 <div class="container">
    <div class="hero-unit" style="padding:10px">

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f1a56239/site/home/template/header-footer.html
----------------------------------------------------------------------
diff --git a/site/home/template/header-footer.html b/site/home/template/header-footer.html
index 34d827b..ab6db20 100644
--- a/site/home/template/header-footer.html
+++ b/site/home/template/header-footer.html
@@ -1,3 +1,19 @@
+<!--
+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 html>
 <!--
    \,,,/


[06/47] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7a4b3385
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7a4b3385
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7a4b3385

Branch: refs/heads/TINKERPOP-1235
Commit: 7a4b33855714235573a786715c742bef6d8add61
Parents: 69af7c2 16c7c24
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 09:33:59 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 09:33:59 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                     |  1 +
 .../tinkerpop/gremlin/FeatureRequirementSet.java       |  2 +-
 .../apache/tinkerpop/gremlin/structure/EdgeTest.java   | 13 ++++---------
 3 files changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7a4b3385/CHANGELOG.asciidoc
----------------------------------------------------------------------


[24/47] tinkerpop git commit: removed debug output

Posted by sp...@apache.org.
removed debug output


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/cfea91cc
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/cfea91cc
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/cfea91cc

Branch: refs/heads/TINKERPOP-1235
Commit: cfea91cc334ae038eb8eb2db874afadc909a6035
Parents: f38469c
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Thu Oct 20 22:54:08 2016 +0200
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Oct 27 07:39:51 2016 -0400

----------------------------------------------------------------------
 site/bin/generate-home.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/cfea91cc/site/bin/generate-home.sh
----------------------------------------------------------------------
diff --git a/site/bin/generate-home.sh b/site/bin/generate-home.sh
index 6e97923..d17e37a 100755
--- a/site/bin/generate-home.sh
+++ b/site/bin/generate-home.sh
@@ -33,8 +33,7 @@ else
 fi
 
 for filename in home/*.html; do
-echo $filename
-    sed -e "/!!!!!BODY!!!!!/ r $filename" home/template/header-footer.html -e /!!!!!BODY!!!!!/d > "../target/site/${filename}"
+  sed -e "/!!!!!BODY!!!!!/ r $filename" home/template/header-footer.html -e /!!!!!BODY!!!!!/d > "../target/site/${filename}"
 done
 
 echo "Home page site generated to $(cd ../target/site/home ; pwd)"


[09/47] tinkerpop git commit: Update changelog retroactively for 3.2.3.

Posted by sp...@apache.org.
Update changelog retroactively for 3.2.3.

There was a missing JIRA ticket that should have been closed CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5f49561c
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5f49561c
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5f49561c

Branch: refs/heads/TINKERPOP-1235
Commit: 5f49561c56cd2a432f8f8503fb02ca2d26c31541
Parents: ea8cd65
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Oct 26 10:37:56 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 26 10:37:56 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5f49561c/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 74bfcef..565278c 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -114,6 +114,7 @@ Bugs
 * TINKERPOP-1458 Gremlin Server doesn't return confirmation upon Traversal OpProcessor "close" op
 * TINKERPOP-1466 PeerPressureTest has been failing recently
 * TINKERPOP-1472 RepeatUnrollStrategy does not semi-compile inlined repeat traversal
+* TINKERPOP-1476 TinkerGraph does not get typed with the right type name in GraphSON
 * TINKERPOP-1495 Global list deduplication doesn't work in OLAP
 * TINKERPOP-1500 and/or infix and choose() do not work correctly.
 * TINKERPOP-1511 Remote client addV, V()