From 4bf2e6f55f0cd998cffb68ba223b89e4bf1cdd8f Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 27 Jul 2016 20:34:30 +0000 Subject: [PATCH] Sync docs from HEAD to gh-pages --- HEAD/ghpages.sh | 54 + HEAD/images/Deps.png | Bin 0 -> 37192 bytes HEAD/images/Stubs1.png | Bin 0 -> 35170 bytes HEAD/images/Stubs2.png | Bin 0 -> 18143 bytes .../complex-content.html | 260 + .../complex.html | 393 ++ .../css/apache-maven-fluido-1.5.min.css | 9 + .../css/print.css | 23 + .../css/site.css | 1 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 35691 bytes .../fonts/glyphicons-halflings-regular.svg | 229 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 55383 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 42340 bytes .../images/accessories-text-editor.png | Bin 0 -> 746 bytes .../images/add.gif | Bin 0 -> 397 bytes .../images/apache-maven-project-2.png | Bin 0 -> 43073 bytes .../images/application-certificate.png | Bin 0 -> 923 bytes .../images/contact-new.png | Bin 0 -> 736 bytes .../images/document-properties.png | Bin 0 -> 577 bytes .../images/drive-harddisk.png | Bin 0 -> 700 bytes .../images/fix.gif | Bin 0 -> 366 bytes .../images/icon_error_sml.gif | Bin 0 -> 633 bytes .../images/icon_help_sml.gif | Bin 0 -> 1072 bytes .../images/icon_info_sml.gif | Bin 0 -> 638 bytes .../images/icon_success_sml.gif | Bin 0 -> 604 bytes .../images/icon_warning_sml.gif | Bin 0 -> 625 bytes .../images/image-x-generic.png | Bin 0 -> 662 bytes .../images/internet-web-browser.png | Bin 0 -> 1017 bytes .../images/logos/build-by-maven-black.png | Bin 0 -> 2294 bytes .../images/logos/build-by-maven-white.png | Bin 0 -> 2260 bytes .../images/logos/maven-feather.png | Bin 0 -> 3330 bytes .../images/network-server.png | Bin 0 -> 536 bytes .../images/package-x-generic.png | Bin 0 -> 717 bytes .../images/profiles/pre-release.png | Bin 0 -> 32607 bytes .../images/profiles/retired.png | Bin 0 -> 22003 bytes .../images/profiles/sandbox.png | Bin 0 -> 33010 bytes .../images/remove.gif | Bin 0 -> 607 bytes .../images/rss.png | Bin 0 -> 474 bytes .../images/update.gif | Bin 0 -> 1090 bytes .../images/window-new.png | Bin 0 -> 583 bytes .../img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes .../img/glyphicons-halflings.png | Bin 0 -> 12799 bytes .../index.html | 229 + .../jacoco/.resources/branchfc.gif | Bin 0 -> 91 bytes .../jacoco/.resources/branchnc.gif | Bin 0 -> 91 bytes .../jacoco/.resources/branchpc.gif | Bin 0 -> 91 bytes .../jacoco/.resources/bundle.gif | Bin 0 -> 709 bytes .../jacoco/.resources/class.gif | Bin 0 -> 586 bytes .../jacoco/.resources/down.gif | Bin 0 -> 67 bytes .../jacoco/.resources/greenbar.gif | Bin 0 -> 91 bytes .../jacoco/.resources/group.gif | Bin 0 -> 351 bytes .../jacoco/.resources/method.gif | Bin 0 -> 193 bytes .../jacoco/.resources/package.gif | Bin 0 -> 227 bytes .../jacoco/.resources/prettify.css | 13 + .../jacoco/.resources/prettify.js | 1510 +++++ .../jacoco/.resources/redbar.gif | Bin 0 -> 91 bytes .../jacoco/.resources/report.css | 243 + .../jacoco/.resources/report.gif | Bin 0 -> 363 bytes .../jacoco/.resources/session.gif | Bin 0 -> 213 bytes .../jacoco/.resources/sort.gif | Bin 0 -> 58 bytes .../jacoco/.resources/sort.js | 147 + .../jacoco/.resources/source.gif | Bin 0 -> 354 bytes .../jacoco/.resources/up.gif | Bin 0 -> 67 bytes .../jacoco/.sessions.html | 1 + .../jacoco/index.html | 1 + .../jacoco/jacoco.csv | 10 + .../jacoco/jacoco.xml | 1 + .../AetherStubDownloaderFactory.html | 1 + .../AetherStubDownloaderFactory.java.html | 45 + .../LocalStubRunner.html | 1 + .../LocalStubRunner.java.html | 39 + .../RemoteStubRunner.html | 1 + .../RemoteStubRunner.java.html | 58 + .../index.html | 1 + .../index.source.html | 1 + .../ConvertMojo.html | 1 + .../ConvertMojo.java.html | 113 + .../CopyContracts.html | 1 + .../CopyContracts.java.html | 70 + .../GenerateStubsMojo.html | 1 + .../GenerateStubsMojo.java.html | 115 + .../GenerateTestsMojo.html | 1 + .../GenerateTestsMojo.java.html | 159 + .../ManifestCreator.html | 1 + .../ManifestCreator.java.html | 64 + .../RunMojo.html | 1 + .../RunMojo.java.html | 151 + .../index.html | 1 + .../index.source.html | 1 + .../js/apache-maven-fluido-1.5.min.js | 25 + .../junit.html | 318 + .../sitemap.html | 243 + .../spock.html | 354 ++ .../usage.html | 300 + HEAD/spring-cloud-contract.html | 5162 +++++++++++++++++ 95 files changed, 10353 insertions(+) create mode 100644 HEAD/ghpages.sh create mode 100644 HEAD/images/Deps.png create mode 100644 HEAD/images/Stubs1.png create mode 100644 HEAD/images/Stubs2.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/complex-content.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/complex.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/css/apache-maven-fluido-1.5.min.css create mode 100644 HEAD/spring-cloud-contract-maven-plugin/css/print.css create mode 100644 HEAD/spring-cloud-contract-maven-plugin/css/site.css create mode 100644 HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.eot create mode 100644 HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.svg create mode 100644 HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.ttf create mode 100644 HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.woff create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/accessories-text-editor.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/add.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/apache-maven-project-2.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/application-certificate.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/contact-new.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/document-properties.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/drive-harddisk.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/fix.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/icon_error_sml.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/icon_help_sml.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/icon_info_sml.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/icon_success_sml.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/icon_warning_sml.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/image-x-generic.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/internet-web-browser.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/logos/build-by-maven-black.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/logos/build-by-maven-white.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/logos/maven-feather.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/network-server.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/package-x-generic.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/profiles/pre-release.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/profiles/retired.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/profiles/sandbox.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/remove.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/rss.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/update.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/images/window-new.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/img/glyphicons-halflings-white.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/img/glyphicons-halflings.png create mode 100644 HEAD/spring-cloud-contract-maven-plugin/index.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/branchfc.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/branchnc.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/branchpc.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/bundle.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/class.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/down.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/greenbar.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/group.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/method.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/package.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/prettify.css create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/prettify.js create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/redbar.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/report.css create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/report.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/session.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/sort.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/sort.js create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/source.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/up.gif create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/.sessions.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/index.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/jacoco.csv create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/jacoco.xml create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/AetherStubDownloaderFactory.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/AetherStubDownloaderFactory.java.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/LocalStubRunner.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/LocalStubRunner.java.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/RemoteStubRunner.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/RemoteStubRunner.java.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/index.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/index.source.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ConvertMojo.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ConvertMojo.java.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/CopyContracts.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/CopyContracts.java.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateStubsMojo.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateStubsMojo.java.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateTestsMojo.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateTestsMojo.java.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ManifestCreator.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ManifestCreator.java.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/RunMojo.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/RunMojo.java.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/index.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/index.source.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/js/apache-maven-fluido-1.5.min.js create mode 100644 HEAD/spring-cloud-contract-maven-plugin/junit.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/sitemap.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/spock.html create mode 100644 HEAD/spring-cloud-contract-maven-plugin/usage.html create mode 100644 HEAD/spring-cloud-contract.html diff --git a/HEAD/ghpages.sh b/HEAD/ghpages.sh new file mode 100644 index 0000000000..e1063ce328 --- /dev/null +++ b/HEAD/ghpages.sh @@ -0,0 +1,54 @@ +#!/bin/bash -x + +git remote set-url --push origin `git config remote.origin.url | sed -e 's/^git:/https:/'` + +if ! (git remote set-branches --add origin gh-pages && git fetch -q); then + echo "No gh-pages, so not syncing" + exit 0 +fi + +if ! [ -d docs/target/generated-docs ]; then + echo "No gh-pages sources in docs/target/generated-docs, so not syncing" + exit 0 +fi + +# Find name of current branch +################################################################### +branch=$TRAVIS_BRANCH +[ "$branch" == "" ] && branch=`git rev-parse --abbrev-ref HEAD` +target=. +if [ "$branch" != "master" ]; then target=./$branch; mkdir -p $target; fi + +# Stash any outstanding changes +################################################################### +git diff-index --quiet HEAD +dirty=$? +if [ "$dirty" != "0" ]; then git stash; fi + +# Switch to gh-pages branch to sync it with current branch +################################################################### +git checkout gh-pages + +for f in docs/target/generated-docs/*; do + file=${f#docs/target/generated-docs/*} + if ! git ls-files -i -o --exclude-standard --directory | grep -q ^$file$; then + # Not ignored... + cp -rf $f $target + git add -A $target/$file + fi +done + +git add -A README.adoc || echo "No change to README.adoc" +git commit -a -m "Sync docs from $branch to gh-pages" || echo "Nothing committed" + +# Uncomment the following push if you want to auto push to +# the gh-pages branch whenever you commit to branch locally. +# This is a little extreme. Use with care! +################################################################### +git push origin gh-pages || echo "Cannot push gh-pages" + +# Finally, switch back to the current branch and exit block +git checkout $branch +if [ "$dirty" != "0" ]; then git stash pop; fi + +exit 0 diff --git a/HEAD/images/Deps.png b/HEAD/images/Deps.png new file mode 100644 index 0000000000000000000000000000000000000000..1426814308101b8ccf6ef95fd195e37c0a180392 GIT binary patch literal 37192 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 A(f|Me literal 0 HcmV?d00001 diff --git a/HEAD/images/Stubs1.png b/HEAD/images/Stubs1.png new file mode 100644 index 0000000000000000000000000000000000000000..ebadfdb91014284b917367e3d9c9c8a137da3993 GIT binary patch literal 35170 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 literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/complex-content.html b/HEAD/spring-cloud-contract-maven-plugin/complex-content.html new file mode 100644 index 0000000000..63808b715e --- /dev/null +++ b/HEAD/spring-cloud-contract-maven-plugin/complex-content.html @@ -0,0 +1,260 @@ + + + + + + + + + Spring Cloud Contract Verifier Maven Plugin – + + + + + + + + + + + + + + + + + Fork me on GitHub + + + + + + + + + +
+ + + + + +
+
+ +
+ + +
+ +
+

More Complex Plugin Configuration

+
+
+

Sample more complex configuration for Java Project with JUnit tests.

+
+
+

Project configuration for Spring Cloud Contract Verifier with JUnit tests and stub publishing

+
+
+
Unresolved directive in <stdin> - include::{root_folder}/src/test/projects/complex-configuration/pom.xml[tags=plugin]
+
+
+
+
+

Base Test class

+
+
+
Unresolved directive in <stdin> - include::{root_folder}/src/test/projects/complex-configuration/src/test/java/com/blogspot/toomuchcoding/frauddetection/BaseAccurest.java[]
+
+
+
+
+

Sample additional matcher

+
+
+
Unresolved directive in <stdin> - include::{root_folder}/src/test/projects/complex-configuration/src/test/java/com/blogspot/toomuchcoding/frauddetection/matchers/CustomMatchers.java[]
+
+
+
+
+

Sample contract using matcher

+
+
+
Unresolved directive in <stdin> - include::{root_folder}/src/test/projects/complex-configuration/src/test/contracts/shouldMarkClientAsNotFraud.groovy[]
+
+
+
+ +
+
+
+
+
+ +
+ +
+
+
+

Copyright © 2016 + Spring. + All rights reserved. +

+
+ + +
+
+ + diff --git a/HEAD/spring-cloud-contract-maven-plugin/complex.html b/HEAD/spring-cloud-contract-maven-plugin/complex.html new file mode 100644 index 0000000000..bef69f767d --- /dev/null +++ b/HEAD/spring-cloud-contract-maven-plugin/complex.html @@ -0,0 +1,393 @@ + + + + + + + + + Spring Cloud Contract Verifier Maven Plugin – + + + + + + + + + + + + + + + + + Fork me on GitHub + + + + + + + + + +
+ + + + + +
+
+ +
+ + +
+ +
+

More Complex Plugin Configuration

+
+
+

Sample more complex configuration for Java Project with JUnit tests.

+
+
+

Project configuration for Spring Cloud Contract Verifier with JUnit tests and stub publishing

+
+
+
            <plugin>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-contract-maven-plugin</artifactId>
+                <version>${spring-cloud-verifier-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>convert</goal>
+                            <goal>generateStubs</goal>
+                            <goal>generateTests</goal>
+                        </goals>
+                        <configuration>
+                            <contractsDirectory>src/test/accurest</contractsDirectory>
+                            <basePackageForTests>com.blogspot.toomuchcoding.frauddetection</basePackageForTests>
+                            <testMode>MOCKMVC</testMode>
+                            <testFramework>JUNIT</testFramework>
+                            <classifier>stubs</classifier>
+                            <nameSuffixForTests>Test</nameSuffixForTests>
+                            <ruleClassForTests>org.junit.rules.ErrorCollector</ruleClassForTests>
+                            <staticImports>
+                                <staticImport>com.blogspot.toomuchcoding.frauddetection.matchers.CustomMatchers.*</staticImport>
+                            </staticImports>
+                            <imports>
+                                <import>com.blogspot.toomuchcoding.frauddetection.matchers.CustomMatchers</import>
+                            </imports>
+                            <ignoredFiles>
+                                <ignoredFile>broken**</ignoredFile>
+                            </ignoredFiles>
+                            <excludedFiles>
+                                <param>shouldMarkClientAsFraud.groovy</param>
+                            </excludedFiles>
+                        </configuration>
+                    </execution>
+                </executions>
+                <configuration>
+                    <baseClassForTests>com.blogspot.toomuchcoding.frauddetection.BaseAccurest</baseClassForTests>
+                </configuration>
+            </plugin>
+
+
+
+
+

Base Test class

+
+
+
/**
+ *
+ *  Copyright 2013-2016 the original author or authors.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package com.blogspot.toomuchcoding.frauddetection;
+
+import com.jayway.restassured.module.mockmvc.RestAssuredMockMvc;
+
+import org.junit.Before;
+
+public class BaseAccurest {
+
+        @Before
+        public void setup() {
+                RestAssuredMockMvc.standaloneSetup(new FraudDetectionController());
+        }
+
+}
+
+
+
+
+

Sample additional matcher

+
+
+
/**
+ *
+ *  Copyright 2013-2016 the original author or authors.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package com.blogspot.toomuchcoding.frauddetection.matchers;
+
+import org.junit.Assert;
+
+public class CustomMatchers {
+
+        public static void assertThatRejectionReasonIsNull(String rejectionReason) {
+                Assert.assertNull(rejectionReason);
+        }
+
+}
+
+
+
+
+

Sample contract using matcher

+
+
+
/**
+ *
+ *  Copyright 2013-2016 the original author or authors.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+org.springframework.cloud.contract.spec.Contract.make {
+                                request {
+                                        method 'PUT'
+                                        url '/fraudcheck'
+                                        body("""
+                                                {
+                                                "clientPesel":"${value(consumer(regex('[0-9]{10}')), producer('1234567890'))}",
+                                                "loanAmount":123.123
+                                                }
+                                        """
+                                        )
+                                        headers {
+                                                header('Content-Type', 'application/vnd.fraud.v1+json')
+                                        }
+
+                                }
+                        response {
+                                status 200
+                                body(
+                                                fraudCheckStatus: "OK",
+                                                rejectionReason: $(consumer(null), producer(execute('assertThatRejectionReasonIsNull($it)')))
+                                )
+                                headers {
+                                         header('Content-Type': 'application/vnd.fraud.v1+json')
+                                }
+                        }
+
+}
+
+
+
+ +
+
+
+
+
+ +
+ +
+
+
+

Copyright © 2016 + Spring. + All rights reserved. +

+
+ + +
+
+ + diff --git a/HEAD/spring-cloud-contract-maven-plugin/css/apache-maven-fluido-1.5.min.css b/HEAD/spring-cloud-contract-maven-plugin/css/apache-maven-fluido-1.5.min.css new file mode 100644 index 0000000000..38762711a3 --- /dev/null +++ b/HEAD/spring-cloud-contract-maven-plugin/css/apache-maven-fluido-1.5.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eeeeee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #dddddd #eee #eeeeee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eeeeee #eee #dddddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(https://cse.google.com/cse/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.9em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} \ No newline at end of file diff --git a/HEAD/spring-cloud-contract-maven-plugin/css/print.css b/HEAD/spring-cloud-contract-maven-plugin/css/print.css new file mode 100644 index 0000000000..46c5e8109d --- /dev/null +++ b/HEAD/spring-cloud-contract-maven-plugin/css/print.css @@ -0,0 +1,23 @@ +/* + * 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. + */ + +/* $Id: print.css 1201871 2011-11-14 20:18:24Z simonetripodi $ */ + +#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;} +#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important} diff --git a/HEAD/spring-cloud-contract-maven-plugin/css/site.css b/HEAD/spring-cloud-contract-maven-plugin/css/site.css new file mode 100644 index 0000000000..055e7e286a --- /dev/null +++ b/HEAD/spring-cloud-contract-maven-plugin/css/site.css @@ -0,0 +1 @@ +/* You can override this file with your own styles */ \ No newline at end of file diff --git a/HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.eot b/HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..af587a81a89423df1afa32cadb51d43e4683a800 GIT binary patch literal 35691 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� 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 literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.svg b/HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000000..c8f06d9a47 --- /dev/null +++ b/HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.ttf b/HEAD/spring-cloud-contract-maven-plugin/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8681f1ecd170bfd273ae33e202e300297eb1a7dd GIT binary patch literal 55383 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 Tn-_V+-Gwp1LJ literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/accessories-text-editor.png b/HEAD/spring-cloud-contract-maven-plugin/images/accessories-text-editor.png new file mode 100644 index 0000000000000000000000000000000000000000..abc3366edad864f1c06e1354c2f7cd0ee1f2a080 GIT binary patch literal 746 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F?i!z!(tV6XFWw9$CP!U~&MEL_-~2 zturUYuc~G2k7NQOAQwpPnVm8{M-46l)ZW(7+}_y&l!c=+t7L#iU0Nn~YlG3l-F|15 z@P0VoetaRz%cI#-`!i3iRywta^WbvRtIMVKukt^?RPfMZskwP_>zl3S&Y%79fJLFr)R5u{`~pcwQJ|jo!h;8_nch0Czn_4o{=~$Tdkui?!}82 zPoF-0^5jWpw9vyV8+S~Jn~|&5P#DqD)^z{={fV`486gG>yE10vs7-0jnK^T2duMA= zxOS1hU{#Kw#hCr%tWa%9@{DF+T5IJs^5$&)9i&zL%I{+xaL_HEjdBN!3HH6)q7{X9{`;59Zq8_K&a?NFvhbtJ!a#ML1s;*b3=G^r zHn%V%!>lqE9PESpH$neQx=aVO*B2%Y?K6$dU zvO@Al$kmjqrY2jrl%|w^{UQ0|3oj3EZ%?m}Pw82fGm<}abk?qEJm7ZynqNRiHh(Bgn?ad9p@g!lX0?hAY$6qZbCW z0lmYZTH+c}l9E`GYL#4+3Zxi}3=9o*fylrz#K6+Z#K6kbLfgR5%D~`Tz=gvo8glbf ZGSez?YiQ@qs0V6b@O1TaS?83{1OS^WRoMUl literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/add.gif b/HEAD/spring-cloud-contract-maven-plugin/images/add.gif new file mode 100644 index 0000000000000000000000000000000000000000..1cb3dbf936e38b5c5efdc3e247a042eb1b1d23e9 GIT binary patch literal 397 zcmV;80doFFNk%w1VGsZi0Hrwqfq{XHjC_`scb}hfo}Qksu4?V%HuUQ#_Ut72?;iT^ zBKq(m_wPpc?_K-yJooTv`tnWp@M`+UP{`_CX>@2HM@dakAa8CUVIWOmV*nxf1OW;FKL9KM0000G01yBG z28=)gU`QMW1_i@!3CKC0&ddYCI52ah&u7HtL@q0qBk^l$xg^p?lB(HEigIo{N|QVi z)(zKM$kAyhAQ&1iFcb)XbtESzDjgOT6Af33jV>-IB_SdLSAi#(F{3g$0H2JZE~KTW ra*U!eGBdQMSC^|Yvokcda+j>Uy{=7A#!jw6Max43OV7~J&_Mt@cAw$D literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/apache-maven-project-2.png b/HEAD/spring-cloud-contract-maven-plugin/images/apache-maven-project-2.png new file mode 100644 index 0000000000000000000000000000000000000000..a44db6ed08630e9fc59e65ea42a1a067f781ddae GIT binary patch literal 43073 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 literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/application-certificate.png b/HEAD/spring-cloud-contract-maven-plugin/images/application-certificate.png new file mode 100644 index 0000000000000000000000000000000000000000..cc6aff616f3e49450f1c31f1d2aed5f748af151f GIT binary patch literal 923 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F?i!z}O$)6XFWuvNBF$V3@(gl+VOa z#>z5{fuRG)Wnh>mATR|e&A>37fnkNY;bI&8ZU%-F1_q$u94@Xr28PKD4DAdIX$%Y# z7#K>y%GSGCTyQsEtsnz55U6Z6KmTP%!wvdcQ~3BA85jzf7^aJgG%&HW0W~r*Ol4qb z6jyFiG^&%+sgcn#5msqnV6d}F42|xHP3{YcYK~59lTox+)%N!bZ7e8XnO8g`J!gWv zikqWHQE|n*!txoxk#)+NeyZAm&Ys1d{#CZlSvHPon))FMYM!&%+1A;b?1>Lvs-n0| zL+wCj+&Xjp6>e6C%X0RmMK3i}UgcytPeF2tjsBtBq&?nt``j${IGJp>HD0Eqv|LSb zd$ix~#IOT_E=OI>PTJ`m)|NbIsj*R8WtooV_N4G#fi8#LEza2KUQiP{FT;LBiv5_G z>QV`@<*JGs&D4(A=$_ROyCutUTbARz65nbQ{q;u5+m-l_$#7m);JKzMxH~FzySe5b zQ;p+pR;OJpwri;@mJ+Y1TNRbiS?!z;3`qu$k|4ie1_sU3Ev0AFBu;fOmi+v^myiFc zx8+6-YgzMu|NdEWRsa6o%+0-gCZE%{pMU@UtxUM_?cd)&dbxl8{fV}}@ax}sdA{uJ znr7v}ci-LE3pA54$=lt9p@UV{1IXbl@Q5sCVBi)8VMc~ob0mO*>pWc?LpZJ{Cjddx zw}iy63CZaU%zS?S`uXzl_Ih~+)7z(?w^uOGm=Vu#L|BB2lb5@{qo+%ZtG30B zp~;hiU5-jfNE{8me972o^QPjW&ngX@CjAUzZFN1Wy7ZFKCWm!%Y9cFLQ$x2lEt+KH zvAHYDH#fG{dGRc(BT2n#zPh=xv9@d)7cQ6^m>8KEwtkd6b4GWT?%D*K?Ac<`*46A9 z=P#bTdGzX8*%M3*6}Oajzd2&81a!G+iEBiObAE1aYF-J0MzW@Yk%57Uf>&a8X_7*4 zNor6swX?12r&sy85}Sb4q9e0O1lc AyZ`_I literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/contact-new.png b/HEAD/spring-cloud-contract-maven-plugin/images/contact-new.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc4316d844dea7c644b636a768348a4a105fefe GIT binary patch literal 736 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F?i!z~~#`6XFWw{(0&D=T+#RHwAw` z&Hnpo&YySH^B2wT=xUuXq4DDJ;vXMY{rmmm?~n68U)N8b+W+is-}IT2Cr_OKQ8Rn) zjLlm%?%28R-u1=5z8w7b_w%10wGpKB`?6U6pFe*dJ9ccrf(7f>ue)&m)R!-BCQRynbY{!R9*ZYy+@7p-UY@S-`Sa%w zA3nT)|NhsnUlS(vzIpp-Vt+(alI*llmi}Ot{8X*wt1GWuxpMjPD8G_FtAwYlM(@+7PjBA5dHwqJt5>i7{Q0y0(1MB6!uuu%PnZ(1WB07bk00N^ zfB)XSdp~~s0NV5M7AY?6_YmX)lQk*=z#qM@b= z;jzxa-qG&i{`U`D;5cDwW@u`>eZ!Vb+cs`xE_y2~Gk1<|Ow8SwyS5T3HhcHf*8Kf* zmx-x4rs2+m2^The=s2c1x z@?`Pi#gUPb%a$!mPfyRv%4%q+zjyD}h7B7sGBPqVGdnvwA3b_>`}XY_GiFp&ROIC3 zBqk>2=H`C-^y%l%pKss3eemGH!-o&gojcdo*4Ee8cjwNX^XJbmU%q_Jnl)d(e3_rK zQ5)znu96_XUAfnlM+?I*J`vNB)4cy(~cFE%!y3*C+dtm|AkbLP(0rAtI-WalPl zXQ#h^a3Yue>8TkOmX^DBoNC%>bIn0P>y;XJk*Kt_xlBQUk->(IhZxnF8MX%rzU~pe z)edx+YKdz^NlIc#s#S7PDv)9@GB7mM1tJ5>5Ccmq69X$#3vB~KD+7aX0T&LVXvob^ Z$xN%nt)ZPaqaLV%!PC{xWt~$(69B9}1)l%_ literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/drive-harddisk.png b/HEAD/spring-cloud-contract-maven-plugin/images/drive-harddisk.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ce475f83900cfe56bc5374932b5bf2ca4dbc8d GIT binary patch literal 700 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F*zC&II^`xaJjPLr`yjcXv-mMOEp) zfB$~|{Q2qgr}E0uH*ep*0fM(c8pHz9pFVy1{{8!_SFc~e@M|D=_4?z-kMG~VfBN+4 z=g*&?JbCir!-ub5zrK9=^4G6l&z?Q|^5x6(=g-S4OG?X&9zTA3@7}!^FJ6?E7oReKBW~hUcb538A@(YtL-+^H_dcdDlJpJ=Y$-@O`Fz zG@0+R=gebQ3|6LQE_?ex(qMMck(v6_v=g$+AOFmI(3&Wse&EvEy!Sf~KCI~aV|0G{ zk1FrS2B$YEFiv@18F*(Wd((ez|EgADxttge3!oF5szM@4obz*YQ}ap~7&xwf_C2e8 zRrlN)FW64!{5l*E!$tK_0oAjM#0U}&fdLejY7 zI~FXQH)-jvha*6u#Df8X9ChYuY)a%k^~E2mDLxODNt zmCKi|T)zC|@uR1YAH8|~^39u9@7}$6_wMcc_wPP@0HXIFK79E6`SZ7LU%!9<{_EGT z|C9m6e^Smxsfi`2DGKG8B^e6tp1uJJ`FRS73ciWS42nNl7`Yhi8FUzc0OVr^w%h~r z3p{khINcN{dHm3sxp?^`71bH@yqi{KNeBh-JDpc0PP#ir~m)} literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/icon_error_sml.gif b/HEAD/spring-cloud-contract-maven-plugin/images/icon_error_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..12e9a01a930c8dfa20992254a9c2b19272d1d491 GIT binary patch literal 633 zcmZ?wbhEHb6krfwIF`;38Xg=L5fUB=M4=H;VNo&RafvaB$?-`k33&xMO~v8m6{R(` zl?_dGEv=0$ZA~rhO>G^`?Hw)coj}yu(b?MG)!Nb3($Ur0+1)m2a{u;z-^o)aPMJDs z`t(UNXHAo#m!w{g?@=WBc~Zm8X~W#g8u zo3?D*v~~ODZQHl}UT^n%gZ1x?R=+k`T;JBTW7oDFySD${^*eoz@Oc*hmRckzCZ2A(L+a%9{G7V>Fe>N z^XJe0KGXR7Y}4;^^*`^=|M7h0?^~=l4^&mpY`6;P-`9HR5qr6O1d8TwsR`3>b@UzlT;FtFnna2=nZ#cumG*CCfUXh`R z+r!d5z(O-R)XZE>lB1r*D>%&0R$Il*Mn_6Qf{%sS(JIbXUpX=*NJ;FP;1pg}V|6*} zv?MJFQE_3;iOj5Q?9#Ex;l6qz5+~F=Ii~BU9y&2WMUzuPiAOcCQYbJ`P)$^n_v8t~ IKm`VC0O`0&yZ`_I literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/icon_help_sml.gif b/HEAD/spring-cloud-contract-maven-plugin/images/icon_help_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..aaf20e6eea4148fe8fbb09bdf4595eb98334fff6 GIT binary patch literal 1072 zcmZ?wbhEHb6krfwcs`v$!K+=-yF&?xd^(hUI+cApRs6bC{eh@k&A(ecpj#`rPbZ{T zHx!8a^g{b}!zSp5_v=SYG>n*N6g|Zlh+?Lg#7s4dnQRg})go?+MZ$E8gc;Te)2xza zS|`u4Ntxx4KG!L8zI)~z=dAgzISbu#7kcN-_sn1Ho4>%jXsJ)pQs3fbfo02sDpp2R zERC#K7E-k)vT8+i)$*{KwK3JpV{2AK)o)0wTb10nI<9$BO4FK@rnRX}Ym!%=V3`o!hfJHsy3|$nM;n-n}!oduvYb_N=~Lg}qy|`*#=hZ!es< zJAcyNg30?!r|d17cCdKb!IJ3*D`y_8n0>Tq?!mT&hdUP@>REWOXVJm#rN<{MJ>0+I z#FUlCrmQ_Pd;RIzn=UTca(=iaqXVV+mGGa zb@J}slehPtx^v*n-9zW@9lP}K#FZzfu01_{?di$u&(B2A zoI?4BMCM#(ZeZdNx5?S*;=#(TTgt)U(ejX?g-3ph&!#D=Y`v;IOgUFKENEgEY}K2& zbK&FTQ{0&t&PXaHI(LYby<^~<)WRug%f?Vsn9S(HDV}gdq)=(8*E}P}f0hC+DlA;` z)Ad{zHa+cG#KBxFQ?<#-BSSmll8aH3zyUtzf;|p9o6`Ijt8uE?Ni?%hQnAZc^O50L PaG-&a!$_HjgTWdA|E#c| literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/icon_info_sml.gif b/HEAD/spring-cloud-contract-maven-plugin/images/icon_info_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..b776326703c341ce559f98f028bb92fe4c332a83 GIT binary patch literal 638 zcmZ?wbhEHb6krfwI99}9U|?WrY3AnUX5m?3;Z0M>*4P;bV`&8Ka zl-c-J*!q^)`BgduR5=D#I|r7#hSa%**1Lx{c!gJaL^OLwwt7Xic}F+L#o2`7dnmC(1Rt2?c3!lt^38_VY&t(beHXZDWXIXh-7+1tM2%&evRR;+4S zwr0k}b!V5aoiTgei6v_fuiiLg?#^pV_uW{w@5aglH&-3Jx&6@9oky;1J$7sB@!MNZ zJveyg`hg3N4_$b0@Y0i`mmVIv{N(WECzr2oIC}Nz@oP^{UVDDw>Vp&4U!1=A;>^t# zmu@{ecl+ht`>QY9eSP`<>nji5TzT;J+QYXu9=*N!_}$}YyB<7!`{3D|d(S`KfBxyw z^Y`~(e0uQm)1z0PU%x&0;{BHw@4vo%|K;_EudhFRd-L)8=Wi$9eg5(O^Y^bmPJRCV z>&y3FUw{1i{`2>*-+zDo`TOV3-~U7d#ecdQ$(jmA1_mYyUWwVINeaOwshN4HMO<9Y zMX8A;sVNHOnI#ztAsML(?w-B@42nNl7`Yhg8FUzc02GM~?5i5;o0>S;m|56)n!B60 zjgkxVVs!X>ns_~P6XU}IL#+gR_>6Khb5di2o!vBrx&@MxvJ29p102vbQyButm$y)r=@GSbQ7fuf zG&hu(RxhgI;Nx!Xk#a$OMKhbYL0W}^MFz8kslSGfx4@b6vWfA)m`-W&brNWq_@1%Hm^{yEe1`?BYsvn_wmHvhTm`R8WJ@7psnMoCG5mA-y?dAS}$C^BFZzMd3&ORu3u6b1u&a%gnW4I(EOT#*fRVX@ zj=Hjv*wR)(6J1pWB^l0kHf~;N6*);RcGfnA&uq+0JK1LSU+Ld<{2%8ZVGags09itc As{jB1 literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/icon_warning_sml.gif b/HEAD/spring-cloud-contract-maven-plugin/images/icon_warning_sml.gif new file mode 100644 index 0000000000000000000000000000000000000000..ac6ad6ada39ea693ac0500810196fe551833b2d0 GIT binary patch literal 625 zcmZ?wbhEHb6krfwI99~a)zjYH+tJh8+1uaM2SgLPCr;{|FsXOac1bJ1)uHC+K>&~59ckkZ5d-v|2$A0(j-F^3{>(7(0`}gnuc^UfX z@x#ZDA3c8Z_|NN&Cy&7yo%%@b}sNzt0Z-eYxt-yV^f*C;fTf`1eES z-w!>1J}>_JdEuYWOa6Xd^!Lk}zhBn<{kq}rw|)P9oc;IX{NEo}|Ngl7@B5>FKhOXB zdEwvh=l_1c{P*YWzd!H({eA!M@Av;i1I2$*&PAz-C8;S2<(VZJ3hti10Sftf3W*B7 ziOCF#KUo;L80r~x7=Qp2V+`yY8tR*xTUy(i#HHHXrMkN7MWySl%=MJ(rA6DMjY2bX z(u0-cWZJ_D^HP)IBjwwzGV=?v5~Cw*Wm|eJbJMa@;-dULC8WeVqzp2WlM-S=yxk;w zTU5hiJ%ZG^dBjB8Rrm$j6kTluIQSS_WQ2shECQX()EphTT0}XuoqXM`9onu0Tx4Ka w$mp{`;N!m2?G#bv7+&QNR_PU4c>CU?Yd7!v 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 literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/logos/build-by-maven-white.png b/HEAD/spring-cloud-contract-maven-plugin/images/logos/build-by-maven-white.png new file mode 100644 index 0000000000000000000000000000000000000000..7d44c9c2e5742bdf8649ad282f83208f1da9b982 GIT binary patch literal 2260 zcmV;_2rKuAP)4hTLUyOQ{PVbVY5&Y3g!&hN~bnR7}ZgkXUt ziC%zU0gf+&kEv>t|d$x|zXw1mS0D%1b{8z7DF%0wW-8(XBFc`A3vVI|O z^!N97baWg(eE86zLn4uA_wL=Zb@+UKU|=8sJb3V6XlSUctSl!dhm4xd=KJ^W|8h2q zR4NS%3yX+|NKQ`f?d=7Cf`Wo)&z=E5TU%REQIXYZefjbwRvsQ6zIyfQojZ3l8V#{v zv)R(q)39Vr2GBPsa+apV2%%fIZY3ln0Kl+1Y8c*(xe3X6sWFH9kH*UDDLl)ZN`}u~;f9D%P!A2LK5P2`MQl z(b3TuDUC++_U+qm01k;n!Z1u+TwGjS+}X2d^Yil+3Pn;B-~q z{Qdm_z{kf&EEb1^gw)j3R904!x}#RBj~+c578Vv16olc}xpQZGd;7k9`>@WHD_2M| z{%VB2fNVCK&1U^_rTW_bx`C@MK&%ZR^ybZ*=;&yb zN);0mV>X+~OA`|lRVtNAr7A8i#zL)DyJycHxm+$5izO0?QmM?$%p@6le0*H3R;yI1 z=;-LCrlu1oPI!8HIypHhmCA~Wig|;>WHON!GbSbmcN`jxhJ=GssnlpRR;zVzaF8J4 z>+3sJhW@0w{LH6-`(Afr<9kMWBXoSUM7Dox&JGJtojOI96z3EG z*uH)HWN?qO7x!`hzQnzLg5JL3Ui^ps%X$n4`+YK2S-yNZo>gC8kJmXUC#D?-i_a7IlwdR(Kkw#T>s)<( zJ!ZVTycREBO!{t;H9|r{F#q)FQ_`LjAsBnPnnKk2PZ;V3*7{M#@%jyBNObh|^_fg2 zd|f0I3eTTEPf=83VhUbHWgRft|{%MRRMp6H>seM7wV6&k5Vn7H0DDSDT_wn(;aaUDU zWi%QoiptK;CgqIWB$bwy78Mm?w@oI~&6_tPBO~$kExCLno}10)mX;RGM?^%-PjqOt zTFi(#=@4C7NJmxEVK7l6G0yhEp_Lq9)1fj}S-2%Mdrv$L~tStVt%xVSheDG9e5EX$6J zj8GIMm&=bIKaK;TqoYG05D0}r0!Kqb1E0?q2n1`_uAR{_f0E{OgnR$~y~Sd|+0n_# z2@6L?MsUQ^H0|QzLJoDKqobtlneyk|8`Sp{cp}PUC5RRQ^8?;2;Iss$eWk%*n3$Nr z(73v~e)3}s219#$yTM=(2n6o#?!LahxUO>?H!v`O%bZ*;$Ideh!!Qg0h{fVXix$lf i91DLtEx@rr0RIK2cl{g~?Z1Nn0000}s literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/logos/maven-feather.png b/HEAD/spring-cloud-contract-maven-plugin/images/logos/maven-feather.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ada836e9eb4af4db810f648b013933e72c8fbe GIT binary patch literal 3330 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 literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/network-server.png b/HEAD/spring-cloud-contract-maven-plugin/images/network-server.png new file mode 100644 index 0000000000000000000000000000000000000000..1d12e1938ac4d8817701a555a97b36a42413ff7f GIT binary patch literal 536 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh0wlLOK8*rWOiAAEE({6J?VYlKJkA1-$YKTt zZXpn6ymYtj4+8_EfTxRNh{R>v^Lzb75+zt4q?_IE(UC6ToMFIeXrjjU_Pbcl8wEu* zmFNogJ4~&tCL!OBSWj@$7M9kE%GC+rI&-8+^}#zUfge$ z%95%FVq)d@YWpHh0*~9IeYCDS=DEjWT6&NB;?38!S{%Af^K0ULzq^XpMf{AfPW9%` z{By-F@#G`{r|bn{ZSl6`PhU_~!26>8WB9W7wxA3jxWq>uP}{$dFi` z{%E$YFs9ZZ#)XBd3yahj7HcdhP@0i0c5-Fei4|q1R+pb%U2$f0$(hxq%c@PLC-F^7 z;+vfzx~NcTNs0RMD#LrH*W5ZZ>(GMCN2iutSY3E&UD>s*_1Cu4-#;|z!_Cdtc6J?G zUUG6}>4z(;KU`e+;r#6P=Vrb?Gxgo+Deq2AczdGv?eU&>7nf}8_Wf{u{fF!8K3rS- z;o6$_*H*v3y88XKb$9o403A6wmUUi^)Rkq4C;QDWElr%4Ewvz5_U@*FYx8|>Z^)aU zBeO7H?&+SoN9z+G?W$goC%33j@%7nxua0&%tapcEij439aV6bJZW8_q7iNx>mKsHKHUXu_VbP0l+XkKAq+)H literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/profiles/pre-release.png b/HEAD/spring-cloud-contract-maven-plugin/images/profiles/pre-release.png new file mode 100644 index 0000000000000000000000000000000000000000..d448e850cd3f885844d0c28da7dddf4457e25300 GIT binary patch literal 32607 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 IO1}yIe}jHRegFUf literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/profiles/retired.png b/HEAD/spring-cloud-contract-maven-plugin/images/profiles/retired.png new file mode 100644 index 0000000000000000000000000000000000000000..f89f6a29c6b61beafd8d2f729085fbf1d17b0e86 GIT binary patch literal 22003 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 literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/images/profiles/sandbox.png b/HEAD/spring-cloud-contract-maven-plugin/images/profiles/sandbox.png new file mode 100644 index 0000000000000000000000000000000000000000..f88b3626761f591fefcb7408ff290b4f48ebe0d9 GIT binary patch literal 33010 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 OGkCiCxvXLW=UkO8ip# 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 B7G?kd literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/img/glyphicons-halflings.png b/HEAD/spring-cloud-contract-maven-plugin/img/glyphicons-halflings.png new file mode 100644 index 0000000000000000000000000000000000000000..a9969993201f9cee63cf9f49217646347297b643 GIT binary patch literal 12799 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 literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/index.html b/HEAD/spring-cloud-contract-maven-plugin/index.html new file mode 100644 index 0000000000..512f053728 --- /dev/null +++ b/HEAD/spring-cloud-contract-maven-plugin/index.html @@ -0,0 +1,229 @@ + + + + + + + + + Spring Cloud Contract Verifier Maven Plugin – + + + + + + + + + + + + + + + + + Fork me on GitHub + + + + + + +

+ + +
+ + + + + +
+
+ +
+ + +
+ +

Spring Cloud Contract Verifier Maven Plugin

+
+

Just to make long story short - Spring Cloud Contract Verifier is a tool that enables Consumer Driven Contract (CDC) development of JVM-based applications.

+
+
+
    +
  • +

    Stubs mappings to be used by WireMock when doing integration testing on the client code (client tests).

    +
  • +
  • +

    Acceptance tests used to verify if server-side implementation of the API is compliant with the contract (server tests).

    +
  • +
+
+
+

Spring Cloud Contract Verifier moves TDD to the level of software architecture.

+
+
+
+
+ +
+ +
+
+
+

Copyright © 2016 + Spring. + All rights reserved. +

+
+ + +
+
+ + diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/branchfc.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/branchfc.gif new file mode 100644 index 0000000000000000000000000000000000000000..989b46d30469b56b014758f846ee6c5abfda16aa GIT binary patch literal 91 zcmZ?wbhEHb6=b<*h$V|V6X-NwhSNb literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/branchnc.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/branchnc.gif new file mode 100644 index 0000000000000000000000000000000000000000..1933e07c376bb71bdd9aac91cf858da3fcdb0f1c GIT binary patch literal 91 zcmZ?wbhEHb6=b<*h$V|V6X-N9U38B literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/branchpc.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/branchpc.gif new file mode 100644 index 0000000000000000000000000000000000000000..cbf711b7030929b733f22f7a0cf3dbf61fe7868f GIT binary patch literal 91 zcmZ?wbhEHbm$mi>nCYN#As;!%lJz1A{dHmlPuc literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/bundle.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/bundle.gif new file mode 100644 index 0000000000000000000000000000000000000000..fca9c53e629a7a5c07186ac1e2a1e37d8d6e88f4 GIT binary patch literal 709 zcmZ?wbhEHb6krfwxXQrrpW*-7BK;o8CDEUD?$vun5^UNelT%D!ODhRsX(Ohwq+z^!{nkw1lu( zDPc2HV&`P7KEHX-jYA>R6T@ewM9fTyo0E0x)!k_2wz@P-Sk{|^LE{K>+|z);Vi!vF-J zIALI4-caAv+|t_C-oY&>$uA|y-ND80=rPrik*keM);A(7JS@bMXJ#`uzjsjN>eYc> zj1!vJoq|_~`Ugb%`8WwRvs$=Bx;h_qcXM-KZDthLjMNep5fPP;Q{vk%FCD3^prRsd zAfR@-Nl4k$GSW~(G16XNhoM=9$H>NPjk%o(&&DPp6ODz*?)|b>X&fF28jY>Ox-nZU Y5*r^bWMyL$kZ52~Skzz7#K>R`0G8r7i~s-t literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/down.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/down.gif new file mode 100644 index 0000000000000000000000000000000000000000..440a14db74e76c2b6e854eacac1c44414b166271 GIT binary patch literal 67 zcmZ?wbhEHbZ%p}jXB Ub$^Lu-Ncq(ygK&ScM%3_0Po}%Qvd(} literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/greenbar.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/greenbar.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ba65672530ee09f086821a26156836d0c91bd74 GIT binary patch literal 91 zcmZ?wbhEHbWMtrCc+ADXzmZ>do2<@m9j_x^v8Q5duh#b5>RIq$!Lmoo);w9mu$BQ0 eDgI<(1nOeYVE_V<84N5O20cYWMlKB;4AuaIXBwOU literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/group.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/group.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ea580d278fb727e4ae692838877fa63c4becf9 GIT binary patch literal 351 zcmZ?wbhEHb6krfwxXQpVwXtJrV`pb|Z&Bgo_>{Q`Df1G5Wa`}H^qKLgbHn221;#86 zie2Oyy23SVg;&(l)`=%9{nuIstg#PSrQx<&&vS#m*G7G>4W@o;CvAN*Y1^AgTVGGw z_ImEoPjiobns@ZmyknnMUi-Q7>W`Jzer$aB_t(pL-|kQQ|MAfO*PGv5?Ee3B$^ToO z|A8VGOaEW3eSEO?=BC06Ybq|Tt-P?N@;?|b;0205Sr{1@Oc``Qsz82XV5>PWtH47? zs^4Q~P@BxTjDV;&5*!R(s==>VnJe}-&SEIintfiq!@CwnVRxXubL!4|)qjO}gg>klxZ?TGXw~#-V zU_Y2&N}FX?r*L1YbYiM-aj|xBv2}#Mgo3?-guaA=wSS1Yfrz+)iMWB7#*ml2h^x<; ztIwFU(w+bR{{R30A^8LW0015UEC2ui01yBW000F(peK%GX`X1Rt}L1aL$Vf5mpMgx vG+WO#2NYmJDM}^)l;8n@L?90V%CN9pFcyU&MPO(u48jTlL$uClRtNw)MiWcq literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/package.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/package.gif new file mode 100644 index 0000000000000000000000000000000000000000..131c28da405493661e3253ef79a68bd273039295 GIT binary patch literal 227 zcmZ?wbhEHb6krfwIKsg2^W*Nf7neOfxp04z;n8NJ+xzDotkS){bH@Hst%K#-*LO_c zo~yCDQ0v_4?v)A3lSAd#C95utQCbkGxF}NT_=2WF8}WGs5taT9|NsAIzy=h5vM@3* zNHFMtBtdpEuqG&|^`&Ia(}-MpBVo@mW@+b{B25<}cFdc?!Kkoc14n0vkh1`XOwU>7 z#al8o_@;D=?hdfkdC)D9Q@O@%Lfqp;ZBt~9C*29`GMF2XzQp8akWQVjDvMC75PzEx Mi%z;upCW@b03m@=3jhEB literal 0 HcmV?d00001 diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/prettify.css b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/prettify.css new file mode 100644 index 0000000000..be5166e0fc --- /dev/null +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/prettify.css @@ -0,0 +1,13 @@ +/* Pretty printing styles. Used with prettify.js. */ + +.str { color: #2A00FF; } +.kwd { color: #7F0055; font-weight:bold; } +.com { color: #3F5FBF; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +.tag { color: #008; } +.atn { color: #606; } +.atv { color: #080; } +.dec { color: #606; } diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/prettify.js b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/prettify.js new file mode 100644 index 0000000000..ab2788211d --- /dev/null +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/prettify.js @@ -0,0 +1,1510 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + *

+ * + * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

+ * Usage:

    + *
  1. include this source file in an html page via + * {@code } + *
  2. define style rules. See the example page for examples. + *
  3. mark the {@code
    } and {@code } tags in your source with
    + *    {@code class=prettyprint.}
    + *    You can also use the (html deprecated) {@code } tag, but the pretty
    + *    printer needs to do more substantial DOM manipulations to support that, so
    + *    some css styles may not be preserved.
    + * </ol>
    + * That's it.  I wanted to keep the API as simple as possible, so there's no
    + * need to specify which language the code is in, but if you wish, you can add
    + * another class to the {@code <pre>} or {@code <code>} element to specify the
    + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    + * starts with "lang-" followed by a file extension, specifies the file type.
    + * See the "lang-*.js" files in this directory for code that implements
    + * per-language file handlers.
    + * <p>
    + * Change log:<br>
    + * cbeust, 2006/08/22
    + * <blockquote>
    + *   Java annotations (start with "@") are now captured as literals ("lit")
    + * </blockquote>
    + * @requires console
    + */
    +
    +// JSLint declarations
    +/*global console, document, navigator, setTimeout, window */
    +
    +/**
    + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    + * UI events.
    + * If set to {@code false}, {@code prettyPrint()} is synchronous.
    + */
    +window['PR_SHOULD_USE_CONTINUATION'] = true;
    +
    +/** the number of characters between tab columns */
    +window['PR_TAB_WIDTH'] = 8;
    +
    +/** Walks the DOM returning a properly escaped version of innerHTML.
    +  * @param {Node} node
    +  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    +  */
    +window['PR_normalizedHtml']
    +
    +/** Contains functions for creating and registering new language handlers.
    +  * @type {Object}
    +  */
    +  = window['PR']
    +
    +/** Pretty print a chunk of code.
    +  *
    +  * @param {string} sourceCodeHtml code as html
    +  * @return {string} code as html, but prettier
    +  */
    +  = window['prettyPrintOne']
    +/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    +  * {@code class=prettyprint} and prettify them.
    +  * @param {Function?} opt_whenDone if specified, called when the last entry
    +  *     has been finished.
    +  */
    +  = window['prettyPrint'] = void 0;
    +
    +/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    +window['_pr_isIE6'] = function () {
    +  var ieVersion = navigator && navigator.userAgent &&
    +      navigator.userAgent.match(/\bMSIE ([678])\./);
    +  ieVersion = ieVersion ? +ieVersion[1] : false;
    +  window['_pr_isIE6'] = function () { return ieVersion; };
    +  return ieVersion;
    +};
    +
    +
    +(function () {
    +  // Keyword lists for various languages.
    +  var FLOW_CONTROL_KEYWORDS =
    +      "break continue do else for if return while ";
    +  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    +      "double enum extern float goto int long register short signed sizeof " +
    +      "static struct switch typedef union unsigned void volatile ";
    +  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    +      "new operator private protected public this throw true try typeof ";
    +  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    +      "concept concept_map const_cast constexpr decltype " +
    +      "dynamic_cast explicit export friend inline late_check " +
    +      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    +      "template typeid typename using virtual wchar_t where ";
    +  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    +      "abstract boolean byte extends final finally implements import " +
    +      "instanceof null native package strictfp super synchronized throws " +
    +      "transient ";
    +  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    +      "as base by checked decimal delegate descending event " +
    +      "fixed foreach from group implicit in interface internal into is lock " +
    +      "object out override orderby params partial readonly ref sbyte sealed " +
    +      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    +  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    +      "debugger eval export function get null set undefined var with " +
    +      "Infinity NaN ";
    +  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    +      "goto if import last local my next no our print package redo require " +
    +      "sub undef unless until use wantarray while BEGIN END ";
    +  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    +      "elif except exec finally from global import in is lambda " +
    +      "nonlocal not or pass print raise try with yield " +
    +      "False True None ";
    +  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    +      " defined elsif end ensure false in module next nil not or redo rescue " +
    +      "retry self super then true undef unless until when yield BEGIN END ";
    +  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    +      "function in local set then until ";
    +  var ALL_KEYWORDS = (
    +      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    +      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    +
    +  // token style names.  correspond to css classes
    +  /** token style for a string literal */
    +  var PR_STRING = 'str';
    +  /** token style for a keyword */
    +  var PR_KEYWORD = 'kwd';
    +  /** token style for a comment */
    +  var PR_COMMENT = 'com';
    +  /** token style for a type */
    +  var PR_TYPE = 'typ';
    +  /** token style for a literal value.  e.g. 1, null, true. */
    +  var PR_LITERAL = 'lit';
    +  /** token style for a punctuation string. */
    +  var PR_PUNCTUATION = 'pun';
    +  /** token style for a punctuation string. */
    +  var PR_PLAIN = 'pln';
    +
    +  /** token style for an sgml tag. */
    +  var PR_TAG = 'tag';
    +  /** token style for a markup declaration such as a DOCTYPE. */
    +  var PR_DECLARATION = 'dec';
    +  /** token style for embedded source. */
    +  var PR_SOURCE = 'src';
    +  /** token style for an sgml attribute name. */
    +  var PR_ATTRIB_NAME = 'atn';
    +  /** token style for an sgml attribute value. */
    +  var PR_ATTRIB_VALUE = 'atv';
    +
    +  /**
    +   * A class that indicates a section of markup that is not code, e.g. to allow
    +   * embedding of line numbers within code listings.
    +   */
    +  var PR_NOCODE = 'nocode';
    +
    +  /** A set of tokens that can precede a regular expression literal in
    +    * javascript.
    +    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    +    * list, but I've removed ones that might be problematic when seen in
    +    * languages that don't support regular expression literals.
    +    *
    +    * <p>Specifically, I've removed any keywords that can't precede a regexp
    +    * literal in a syntactically legal javascript program, and I've removed the
    +    * "in" keyword since it's not a keyword in many languages, and might be used
    +    * as a count of inches.
    +    *
    +    * <p>The link a above does not accurately describe EcmaScript rules since
    +    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    +    * very well in practice.
    +    *
    +    * @private
    +    */
    +  var REGEXP_PRECEDER_PATTERN = function () {
    +      var preceders = [
    +          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    +          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    +          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    +          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    +          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    +          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    +          "||=", "~" /* handles =~ and !~ */,
    +          "break", "case", "continue", "delete",
    +          "do", "else", "finally", "instanceof",
    +          "return", "throw", "try", "typeof"
    +          ];
    +      var pattern = '(?:^^|[+-]';
    +      for (var i = 0; i < preceders.length; ++i) {
    +        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    +      }
    +      pattern += ')\\s*';  // matches at end, and matches empty string
    +      return pattern;
    +      // CAVEAT: this does not properly handle the case where a regular
    +      // expression immediately follows another since a regular expression may
    +      // have flags for case-sensitivity and the like.  Having regexp tokens
    +      // adjacent is not valid in any language I'm aware of, so I'm punting.
    +      // TODO: maybe style special characters inside a regexp as punctuation.
    +    }();
    +
    +  // Define regexps here so that the interpreter doesn't have to create an
    +  // object each time the function containing them is called.
    +  // The language spec requires a new object created even if you don't access
    +  // the $1 members.
    +  var pr_amp = /&/g;
    +  var pr_lt = /</g;
    +  var pr_gt = />/g;
    +  var pr_quot = /\"/g;
    +  /** like textToHtml but escapes double quotes to be attribute safe. */
    +  function attribToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;')
    +        .replace(pr_quot, '&quot;');
    +  }
    +
    +  /** escapest html special characters to html. */
    +  function textToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;');
    +  }
    +
    +
    +  var pr_ltEnt = /&lt;/g;
    +  var pr_gtEnt = /&gt;/g;
    +  var pr_aposEnt = /&apos;/g;
    +  var pr_quotEnt = /&quot;/g;
    +  var pr_ampEnt = /&amp;/g;
    +  var pr_nbspEnt = /&nbsp;/g;
    +  /** unescapes html to plain text. */
    +  function htmlToText(html) {
    +    var pos = html.indexOf('&');
    +    if (pos < 0) { return html; }
    +    // Handle numeric entities specially.  We can't use functional substitution
    +    // since that doesn't work in older versions of Safari.
    +    // These should be rare since most browsers convert them to normal chars.
    +    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    +      var end = html.indexOf(';', pos);
    +      if (end >= 0) {
    +        var num = html.substring(pos + 3, end);
    +        var radix = 10;
    +        if (num && num.charAt(0) === 'x') {
    +          num = num.substring(1);
    +          radix = 16;
    +        }
    +        var codePoint = parseInt(num, radix);
    +        if (!isNaN(codePoint)) {
    +          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    +                  html.substring(end + 1));
    +        }
    +      }
    +    }
    +
    +    return html.replace(pr_ltEnt, '<')
    +        .replace(pr_gtEnt, '>')
    +        .replace(pr_aposEnt, "'")
    +        .replace(pr_quotEnt, '"')
    +        .replace(pr_nbspEnt, ' ')
    +        .replace(pr_ampEnt, '&');
    +  }
    +
    +  /** is the given node's innerHTML normally unescaped? */
    +  function isRawContent(node) {
    +    return 'XMP' === node.tagName;
    +  }
    +
    +  var newlineRe = /[\r\n]/g;
    +  /**
    +   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    +   */
    +  function isPreformatted(node, content) {
    +    // PRE means preformatted, and is a very common case, so don't create
    +    // unnecessary computed style objects.
    +    if ('PRE' === node.tagName) { return true; }
    +    if (!newlineRe.test(content)) { return true; }  // Don't care
    +    var whitespace = '';
    +    // For disconnected nodes, IE has no currentStyle.
    +    if (node.currentStyle) {
    +      whitespace = node.currentStyle.whiteSpace;
    +    } else if (window.getComputedStyle) {
    +      // Firefox makes a best guess if node is disconnected whereas Safari
    +      // returns the empty string.
    +      whitespace = window.getComputedStyle(node, null).whiteSpace;
    +    }
    +    return !whitespace || whitespace === 'pre';
    +  }
    +
    +  function normalizedHtml(node, out, opt_sortAttrs) {
    +    switch (node.nodeType) {
    +      case 1:  // an element
    +        var name = node.tagName.toLowerCase();
    +
    +        out.push('<', name);
    +        var attrs = node.attributes;
    +        var n = attrs.length;
    +        if (n) {
    +          if (opt_sortAttrs) {
    +            var sortedAttrs = [];
    +            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
    +            sortedAttrs.sort(function (a, b) {
    +                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
    +              });
    +            attrs = sortedAttrs;
    +          }
    +          for (var i = 0; i < n; ++i) {
    +            var attr = attrs[i];
    +            if (!attr.specified) { continue; }
    +            out.push(' ', attr.name.toLowerCase(),
    +                     '="', attribToHtml(attr.value), '"');
    +          }
    +        }
    +        out.push('>');
    +        for (var child = node.firstChild; child; child = child.nextSibling) {
    +          normalizedHtml(child, out, opt_sortAttrs);
    +        }
    +        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    +          out.push('<\/', name, '>');
    +        }
    +        break;
    +      case 3: case 4: // text
    +        out.push(textToHtml(node.nodeValue));
    +        break;
    +    }
    +  }
    +
    +  /**
    +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    +   * matches the union o the sets o strings matched d by the input RegExp.
    +   * Since it matches globally, if the input strings have a start-of-input
    +   * anchor (/^.../), it is ignored for the purposes of unioning.
    +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    +   * @return {RegExp} a global regex.
    +   */
    +  function combinePrefixPatterns(regexs) {
    +    var capturedGroupIndex = 0;
    +
    +    var needToFoldCase = false;
    +    var ignoreCase = false;
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.ignoreCase) {
    +        ignoreCase = true;
    +      } else if (/[a-z]/i.test(regex.source.replace(
    +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    +        needToFoldCase = true;
    +        ignoreCase = false;
    +        break;
    +      }
    +    }
    +
    +    function decodeEscape(charsetPart) {
    +      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    +      switch (charsetPart.charAt(1)) {
    +        case 'b': return 8;
    +        case 't': return 9;
    +        case 'n': return 0xa;
    +        case 'v': return 0xb;
    +        case 'f': return 0xc;
    +        case 'r': return 0xd;
    +        case 'u': case 'x':
    +          return parseInt(charsetPart.substring(2), 16)
    +              || charsetPart.charCodeAt(1);
    +        case '0': case '1': case '2': case '3': case '4':
    +        case '5': case '6': case '7':
    +          return parseInt(charsetPart.substring(1), 8);
    +        default: return charsetPart.charCodeAt(1);
    +      }
    +    }
    +
    +    function encodeEscape(charCode) {
    +      if (charCode < 0x20) {
    +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    +      }
    +      var ch = String.fromCharCode(charCode);
    +      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    +        ch = '\\' + ch;
    +      }
    +      return ch;
    +    }
    +
    +    function caseFoldCharset(charSet) {
    +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    +          new RegExp(
    +              '\\\\u[0-9A-Fa-f]{4}'
    +              + '|\\\\x[0-9A-Fa-f]{2}'
    +              + '|\\\\[0-3][0-7]{0,2}'
    +              + '|\\\\[0-7]{1,2}'
    +              + '|\\\\[\\s\\S]'
    +              + '|-'
    +              + '|[^-\\\\]',
    +              'g'));
    +      var groups = [];
    +      var ranges = [];
    +      var inverse = charsetParts[0] === '^';
    +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    +        var p = charsetParts[i];
    +        switch (p) {
    +          case '\\B': case '\\b':
    +          case '\\D': case '\\d':
    +          case '\\S': case '\\s':
    +          case '\\W': case '\\w':
    +            groups.push(p);
    +            continue;
    +        }
    +        var start = decodeEscape(p);
    +        var end;
    +        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    +          end = decodeEscape(charsetParts[i + 2]);
    +          i += 2;
    +        } else {
    +          end = start;
    +        }
    +        ranges.push([start, end]);
    +        // If the range might intersect letters, then expand it.
    +        if (!(end < 65 || start > 122)) {
    +          if (!(end < 65 || start > 90)) {
    +            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    +          }
    +          if (!(end < 97 || start > 122)) {
    +            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    +          }
    +        }
    +      }
    +
    +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    +      // -> [[1, 12], [14, 14], [16, 17]]
    +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    +      var consolidatedRanges = [];
    +      var lastRange = [NaN, NaN];
    +      for (var i = 0; i < ranges.length; ++i) {
    +        var range = ranges[i];
    +        if (range[0] <= lastRange[1] + 1) {
    +          lastRange[1] = Math.max(lastRange[1], range[1]);
    +        } else {
    +          consolidatedRanges.push(lastRange = range);
    +        }
    +      }
    +
    +      var out = ['['];
    +      if (inverse) { out.push('^'); }
    +      out.push.apply(out, groups);
    +      for (var i = 0; i < consolidatedRanges.length; ++i) {
    +        var range = consolidatedRanges[i];
    +        out.push(encodeEscape(range[0]));
    +        if (range[1] > range[0]) {
    +          if (range[1] + 1 > range[0]) { out.push('-'); }
    +          out.push(encodeEscape(range[1]));
    +        }
    +      }
    +      out.push(']');
    +      return out.join('');
    +    }
    +
    +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    +      // Split into character sets, escape sequences, punctuation strings
    +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    +      // include any of the above.
    +      var parts = regex.source.match(
    +          new RegExp(
    +              '(?:'
    +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    +              + '|\\\\[0-9]+'  // a back-reference or octal escape
    +              + '|\\\\[^ux0-9]'  // other escape sequence
    +              + '|\\(\\?[:!=]'  // start of a non-capturing group
    +              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    +              + ')',
    +              'g'));
    +      var n = parts.length;
    +
    +      // Maps captured group numbers to the number they will occupy in
    +      // the output or to -1 if that has not been determined, or to
    +      // undefined if they need not be capturing in the output.
    +      var capturedGroups = [];
    +
    +      // Walk over and identify back references to build the capturedGroups
    +      // mapping.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          // groups are 1-indexed, so max group index is count of '('
    +          ++groupIndex;
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            capturedGroups[decimalValue] = -1;
    +          }
    +        }
    +      }
    +
    +      // Renumber groups and reduce capturing groups to non-capturing groups
    +      // where possible.
    +      for (var i = 1; i < capturedGroups.length; ++i) {
    +        if (-1 === capturedGroups[i]) {
    +          capturedGroups[i] = ++capturedGroupIndex;
    +        }
    +      }
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          ++groupIndex;
    +          if (capturedGroups[groupIndex] === undefined) {
    +            parts[i] = '(?:';
    +          }
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            parts[i] = '\\' + capturedGroups[groupIndex];
    +          }
    +        }
    +      }
    +
    +      // Remove any prefix anchors so that the output will match anywhere.
    +      // ^^ really does mean an anchored match though.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    +      }
    +
    +      // Expand letters to groupts to handle mixing of case-sensitive and
    +      // case-insensitive patterns if necessary.
    +      if (regex.ignoreCase && needToFoldCase) {
    +        for (var i = 0; i < n; ++i) {
    +          var p = parts[i];
    +          var ch0 = p.charAt(0);
    +          if (p.length >= 2 && ch0 === '[') {
    +            parts[i] = caseFoldCharset(p);
    +          } else if (ch0 !== '\\') {
    +            // TODO: handle letters in numeric escapes.
    +            parts[i] = p.replace(
    +                /[a-zA-Z]/g,
    +                function (ch) {
    +                  var cc = ch.charCodeAt(0);
    +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    +                });
    +          }
    +        }
    +      }
    +
    +      return parts.join('');
    +    }
    +
    +    var rewritten = [];
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    +      rewritten.push(
    +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    +    }
    +
    +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    +  }
    +
    +  var PR_innerHtmlWorks = null;
    +  function getInnerHtml(node) {
    +    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    +    // an html description of well formed XML and the containing tag is a PRE
    +    // tag, so we detect that case and emulate innerHTML.
    +    if (null === PR_innerHtmlWorks) {
    +      var testNode = document.createElement('PRE');
    +      testNode.appendChild(
    +          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    +      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    +    }
    +
    +    if (PR_innerHtmlWorks) {
    +      var content = node.innerHTML;
    +      // XMP tags contain unescaped entities so require special handling.
    +      if (isRawContent(node)) {
    +        content = textToHtml(content);
    +      } else if (!isPreformatted(node, content)) {
    +        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    +            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    +      }
    +      return content;
    +    }
    +
    +    var out = [];
    +    for (var child = node.firstChild; child; child = child.nextSibling) {
    +      normalizedHtml(child, out);
    +    }
    +    return out.join('');
    +  }
    +
    +  /** returns a function that expand tabs to spaces.  This function can be fed
    +    * successive chunks of text, and will maintain its own internal state to
    +    * keep track of how tabs are expanded.
    +    * @return {function (string) : string} a function that takes
    +    *   plain text and return the text with tabs expanded.
    +    * @private
    +    */
    +  function makeTabExpander(tabWidth) {
    +    var SPACES = '                ';
    +    var charInLine = 0;
    +
    +    return function (plainText) {
    +      // walk over each character looking for tabs and newlines.
    +      // On tabs, expand them.  On newlines, reset charInLine.
    +      // Otherwise increment charInLine
    +      var out = null;
    +      var pos = 0;
    +      for (var i = 0, n = plainText.length; i < n; ++i) {
    +        var ch = plainText.charAt(i);
    +
    +        switch (ch) {
    +          case '\t':
    +            if (!out) { out = []; }
    +            out.push(plainText.substring(pos, i));
    +            // calculate how much space we need in front of this part
    +            // nSpaces is the amount of padding -- the number of spaces needed
    +            // to move us to the next column, where columns occur at factors of
    +            // tabWidth.
    +            var nSpaces = tabWidth - (charInLine % tabWidth);
    +            charInLine += nSpaces;
    +            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    +              out.push(SPACES.substring(0, nSpaces));
    +            }
    +            pos = i + 1;
    +            break;
    +          case '\n':
    +            charInLine = 0;
    +            break;
    +          default:
    +            ++charInLine;
    +        }
    +      }
    +      if (!out) { return plainText; }
    +      out.push(plainText.substring(pos));
    +      return out.join('');
    +    };
    +  }
    +
    +  var pr_chunkPattern = new RegExp(
    +      '[^<]+'  // A run of characters other than '<'
    +      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    +      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    +      // a probable tag that should not be highlighted
    +      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    +      + '|<',  // A '<' that does not begin a larger chunk
    +      'g');
    +  var pr_commentPrefix = /^<\!--/;
    +  var pr_cdataPrefix = /^<!\[CDATA\[/;
    +  var pr_brPrefix = /^<br\b/i;
    +  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    +
    +  /** split markup into chunks of html tags (style null) and
    +    * plain text (style {@link #PR_PLAIN}), converting tags which are
    +    * significant for tokenization (<br>) into their textual equivalent.
    +    *
    +    * @param {string} s html where whitespace is considered significant.
    +    * @return {Object} source code and extracted tags.
    +    * @private
    +    */
    +  function extractTags(s) {
    +    // since the pattern has the 'g' modifier and defines no capturing groups,
    +    // this will return a list of all chunks which we then classify and wrap as
    +    // PR_Tokens
    +    var matches = s.match(pr_chunkPattern);
    +    var sourceBuf = [];
    +    var sourceBufLen = 0;
    +    var extractedTags = [];
    +    if (matches) {
    +      for (var i = 0, n = matches.length; i < n; ++i) {
    +        var match = matches[i];
    +        if (match.length > 1 && match.charAt(0) === '<') {
    +          if (pr_commentPrefix.test(match)) { continue; }
    +          if (pr_cdataPrefix.test(match)) {
    +            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    +            sourceBuf.push(match.substring(9, match.length - 3));
    +            sourceBufLen += match.length - 12;
    +          } else if (pr_brPrefix.test(match)) {
    +            // <br> tags are lexically significant so convert them to text.
    +            // This is undone later.
    +            sourceBuf.push('\n');
    +            ++sourceBufLen;
    +          } else {
    +            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    +              // A <span class="nocode"> will start a section that should be
    +              // ignored.  Continue walking the list until we see a matching end
    +              // tag.
    +              var name = match.match(pr_tagNameRe)[2];
    +              var depth = 1;
    +              var j;
    +              end_tag_loop:
    +              for (j = i + 1; j < n; ++j) {
    +                var name2 = matches[j].match(pr_tagNameRe);
    +                if (name2 && name2[2] === name) {
    +                  if (name2[1] === '/') {
    +                    if (--depth === 0) { break end_tag_loop; }
    +                  } else {
    +                    ++depth;
    +                  }
    +                }
    +              }
    +              if (j < n) {
    +                extractedTags.push(
    +                    sourceBufLen, matches.slice(i, j + 1).join(''));
    +                i = j;
    +              } else {  // Ignore unclosed sections.
    +                extractedTags.push(sourceBufLen, match);
    +              }
    +            } else {
    +              extractedTags.push(sourceBufLen, match);
    +            }
    +          }
    +        } else {
    +          var literalText = htmlToText(match);
    +          sourceBuf.push(literalText);
    +          sourceBufLen += literalText.length;
    +        }
    +      }
    +    }
    +    return { source: sourceBuf.join(''), tags: extractedTags };
    +  }
    +
    +  /** True if the given tag contains a class attribute with the nocode class. */
    +  function isNoCodeTag(tag) {
    +    return !!tag
    +        // First canonicalize the representation of attributes
    +        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    +                 ' $1="$2$3$4"')
    +        // Then look for the attribute we want.
    +        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    +  }
    +
    +  /**
    +   * Apply the given language handler to sourceCode and add the resulting
    +   * decorations to out.
    +   * @param {number} basePos the index of sourceCode within the chunk of source
    +   *    whose decorations are already present on out.
    +   */
    +  function appendDecorations(basePos, sourceCode, langHandler, out) {
    +    if (!sourceCode) { return; }
    +    var job = {
    +      source: sourceCode,
    +      basePos: basePos
    +    };
    +    langHandler(job);
    +    out.push.apply(out, job.decorations);
    +  }
    +
    +  /** Given triples of [style, pattern, context] returns a lexing function,
    +    * The lexing function interprets the patterns to find token boundaries and
    +    * returns a decoration list of the form
    +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    +    * where index_n is an index into the sourceCode, and style_n is a style
    +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    +    * all characters in sourceCode[index_n-1:index_n].
    +    *
    +    * The stylePatterns is a list whose elements have the form
    +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    +    *
    +    * Style is a style constant like PR_PLAIN, or can be a string of the
    +    * form 'lang-FOO', where FOO is a language extension describing the
    +    * language of the portion of the token in $1 after pattern executes.
    +    * E.g., if style is 'lang-lisp', and group 1 contains the text
    +    * '(hello (world))', then that portion of the token will be passed to the
    +    * registered lisp handler for formatting.
    +    * The text before and after group 1 will be restyled using this decorator
    +    * so decorators should take care that this doesn't result in infinite
    +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    +    * '<script>foo()<\/script>', which would cause the current decorator to
    +    * be called with '<script>' which would not match the same rule since
    +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    +    * the generic tag rule.  The handler registered for the 'js' extension would
    +    * then be called with 'foo()', and finally, the current decorator would
    +    * be called with '<\/script>' which would not match the original rule and
    +    * so the generic tag rule would identify it as a tag.
    +    *
    +    * Pattern must only match prefixes, and if it matches a prefix, then that
    +    * match is considered a token with the same style.
    +    *
    +    * Context is applied to the last non-whitespace, non-comment token
    +    * recognized.
    +    *
    +    * Shortcut is an optional string of characters, any of which, if the first
    +    * character, gurantee that this pattern and only this pattern matches.
    +    *
    +    * @param {Array} shortcutStylePatterns patterns that always start with
    +    *   a known character.  Must have a shortcut string.
    +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    +    *   order if the shortcut ones fail.  May have shortcuts.
    +    *
    +    * @return {function (Object)} a
    +    *   function that takes source code and returns a list of decorations.
    +    */
    +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    +    var shortcuts = {};
    +    var tokenizer;
    +    (function () {
    +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    +      var allRegexs = [];
    +      var regexKeys = {};
    +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    +        var patternParts = allPatterns[i];
    +        var shortcutChars = patternParts[3];
    +        if (shortcutChars) {
    +          for (var c = shortcutChars.length; --c >= 0;) {
    +            shortcuts[shortcutChars.charAt(c)] = patternParts;
    +          }
    +        }
    +        var regex = patternParts[1];
    +        var k = '' + regex;
    +        if (!regexKeys.hasOwnProperty(k)) {
    +          allRegexs.push(regex);
    +          regexKeys[k] = null;
    +        }
    +      }
    +      allRegexs.push(/[\0-\uffff]/);
    +      tokenizer = combinePrefixPatterns(allRegexs);
    +    })();
    +
    +    var nPatterns = fallthroughStylePatterns.length;
    +    var notWs = /\S/;
    +
    +    /**
    +     * Lexes job.source and produces an output array job.decorations of style
    +     * classes preceded by the position at which they start in job.source in
    +     * order.
    +     *
    +     * @param {Object} job an object like {@code
    +     *    source: {string} sourceText plain text,
    +     *    basePos: {int} position of job.source in the larger chunk of
    +     *        sourceCode.
    +     * }
    +     */
    +    var decorate = function (job) {
    +      var sourceCode = job.source, basePos = job.basePos;
    +      /** Even entries are positions in source in ascending order.  Odd enties
    +        * are style markers (e.g., PR_COMMENT) that run from that position until
    +        * the end.
    +        * @type {Array.<number|string>}
    +        */
    +      var decorations = [basePos, PR_PLAIN];
    +      var pos = 0;  // index into sourceCode
    +      var tokens = sourceCode.match(tokenizer) || [];
    +      var styleCache = {};
    +
    +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    +        var token = tokens[ti];
    +        var style = styleCache[token];
    +        var match = void 0;
    +
    +        var isEmbedded;
    +        if (typeof style === 'string') {
    +          isEmbedded = false;
    +        } else {
    +          var patternParts = shortcuts[token.charAt(0)];
    +          if (patternParts) {
    +            match = token.match(patternParts[1]);
    +            style = patternParts[0];
    +          } else {
    +            for (var i = 0; i < nPatterns; ++i) {
    +              patternParts = fallthroughStylePatterns[i];
    +              match = token.match(patternParts[1]);
    +              if (match) {
    +                style = patternParts[0];
    +                break;
    +              }
    +            }
    +
    +            if (!match) {  // make sure that we make progress
    +              style = PR_PLAIN;
    +            }
    +          }
    +
    +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    +            isEmbedded = false;
    +            style = PR_SOURCE;
    +          }
    +
    +          if (!isEmbedded) { styleCache[token] = style; }
    +        }
    +
    +        var tokenStart = pos;
    +        pos += token.length;
    +
    +        if (!isEmbedded) {
    +          decorations.push(basePos + tokenStart, style);
    +        } else {  // Treat group 1 as an embedded block of source code.
    +          var embeddedSource = match[1];
    +          var embeddedSourceStart = token.indexOf(embeddedSource);
    +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    +          if (match[2]) {
    +            // If embeddedSource can be blank, then it would match at the
    +            // beginning which would cause us to infinitely recurse on the
    +            // entire token, so we catch the right context in match[2].
    +            embeddedSourceEnd = token.length - match[2].length;
    +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    +          }
    +          var lang = style.substring(5);
    +          // Decorate the left of the embedded source
    +          appendDecorations(
    +              basePos + tokenStart,
    +              token.substring(0, embeddedSourceStart),
    +              decorate, decorations);
    +          // Decorate the embedded source
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceStart,
    +              embeddedSource,
    +              langHandlerForExtension(lang, embeddedSource),
    +              decorations);
    +          // Decorate the right of the embedded section
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceEnd,
    +              token.substring(embeddedSourceEnd),
    +              decorate, decorations);
    +        }
    +      }
    +      job.decorations = decorations;
    +    };
    +    return decorate;
    +  }
    +
    +  /** returns a function that produces a list of decorations from source text.
    +    *
    +    * This code treats ", ', and ` as string delimiters, and \ as a string
    +    * escape.  It does not recognize perl's qq() style strings.
    +    * It has no special handling for double delimiter escapes as in basic, or
    +    * the tripled delimiters used in python, but should work on those regardless
    +    * although in those cases a single string literal may be broken up into
    +    * multiple adjacent string literals.
    +    *
    +    * It recognizes C, C++, and shell style comments.
    +    *
    +    * @param {Object} options a set of optional parameters.
    +    * @return {function (Object)} a function that examines the source code
    +    *     in the input job and builds the decoration list.
    +    */
    +  function sourceDecorator(options) {
    +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    +    if (options['tripleQuotedStrings']) {
    +      // '''multi-line-string''', 'single-line-string', and double-quoted
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    +           null, '\'"']);
    +    } else if (options['multiLineStrings']) {
    +      // 'multi-line-string', "multi-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    +           null, '\'"`']);
    +    } else {
    +      // 'single-line-string', "single-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,
    +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    +           null, '"\'']);
    +    }
    +    if (options['verbatimStrings']) {
    +      // verbatim-string-literal production from the C# grammar.  See issue 93.
    +      fallthroughStylePatterns.push(
    +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    +    }
    +    if (options['hashComments']) {
    +      if (options['cStyleComments']) {
    +        // Stop C preprocessor declarations at an unclosed open comment
    +        shortcutStylePatterns.push(
    +            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    +             null, '#']);
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    +             null]);
    +      } else {
    +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    +      }
    +    }
    +    if (options['cStyleComments']) {
    +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    +      fallthroughStylePatterns.push(
    +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    +    }
    +    if (options['regexLiterals']) {
    +      var REGEX_LITERAL = (
    +          // A regular expression literal starts with a slash that is
    +          // not followed by * or / so that it is not confused with
    +          // comments.
    +          '/(?=[^/*])'
    +          // and then contains any number of raw characters,
    +          + '(?:[^/\\x5B\\x5C]'
    +          // escape sequences (\x5C),
    +          +    '|\\x5C[\\s\\S]'
    +          // or non-nesting character sets (\x5B\x5D);
    +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    +          // finally closed by a /.
    +          + '/');
    +      fallthroughStylePatterns.push(
    +          ['lang-regex',
    +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    +           ]);
    +    }
    +
    +    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    +    if (keywords.length) {
    +      fallthroughStylePatterns.push(
    +          [PR_KEYWORD,
    +           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    +    }
    +
    +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    +    fallthroughStylePatterns.push(
    +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_LITERAL,
    +         new RegExp(
    +             '^(?:'
    +             // A hex number
    +             + '0x[a-f0-9]+'
    +             // or an octal or decimal number,
    +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    +             // possibly in scientific notation
    +             + '(?:e[+\\-]?\\d+)?'
    +             + ')'
    +             // with an optional modifier like UL for unsigned long
    +             + '[a-z]*', 'i'),
    +         null, '0123456789'],
    +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    +
    +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    +  }
    +
    +  var decorateSource = sourceDecorator({
    +        'keywords': ALL_KEYWORDS,
    +        'hashComments': true,
    +        'cStyleComments': true,
    +        'multiLineStrings': true,
    +        'regexLiterals': true
    +      });
    +
    +  /** Breaks {@code job.source} around style boundaries in
    +    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    +    * and leaves the result in {@code job.prettyPrintedHtml}.
    +    * @param {Object} job like {
    +    *    source: {string} source as plain text,
    +    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    +    *                   html preceded by their position in {@code job.source}
    +    *                   in order
    +    *    decorations: {Array.<number|string} an array of style classes preceded
    +    *                 by the position at which they start in job.source in order
    +    * }
    +    * @private
    +    */
    +  function recombineTagsAndDecorations(job) {
    +    var sourceText = job.source;
    +    var extractedTags = job.extractedTags;
    +    var decorations = job.decorations;
    +
    +    var html = [];
    +    // index past the last char in sourceText written to html
    +    var outputIdx = 0;
    +
    +    var openDecoration = null;
    +    var currentDecoration = null;
    +    var tagPos = 0;  // index into extractedTags
    +    var decPos = 0;  // index into decorations
    +    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    +
    +    var adjacentSpaceRe = /([\r\n ]) /g;
    +    var startOrSpaceRe = /(^| ) /gm;
    +    var newlineRe = /\r\n?|\n/g;
    +    var trailingSpaceRe = /[ \r\n]$/;
    +    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    +
    +    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    +    var isIE678 = window['_pr_isIE6']();
    +    var lineBreakHtml = (
    +        isIE678
    +        ? (job.sourceNode.tagName === 'PRE'
    +           // Use line feeds instead of <br>s so that copying and pasting works
    +           // on IE.
    +           // Doing this on other browsers breaks lots of stuff since \r\n is
    +           // treated as two newlines on Firefox.
    +           ? (isIE678 === 6 ? '&#160;\r\n' :
    +              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
    +           // IE collapses multiple adjacent <br>s into 1 line break.
    +           // Prefix every newline with '&#160;' to prevent such behavior.
    +           // &nbsp; is the same as &#160; but works in XML as well as HTML.
    +           : '&#160;<br />')
    +        : '<br />');
    +
    +    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
    +    // number of the first line.
    +    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
    +    var lineBreaker;
    +    if (numberLines) {
    +      var lineBreaks = [];
    +      for (var i = 0; i < 10; ++i) {
    +        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
    +      }
    +      var lineNum = numberLines[1] && numberLines[1].length 
    +          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
    +      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
    +      if (lineNum) {
    +        html.push(' value="', lineNum + 1, '"');
    +      }
    +      html.push('>');
    +      lineBreaker = function () {
    +        var lb = lineBreaks[++lineNum % 10];
    +        // If a decoration is open, we need to close it before closing a list-item
    +        // and reopen it on the other side of the list item.
    +        return openDecoration
    +            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
    +      };
    +    } else {
    +      lineBreaker = lineBreakHtml;
    +    }
    +
    +    // A helper function that is responsible for opening sections of decoration
    +    // and outputing properly escaped chunks of source
    +    function emitTextUpTo(sourceIdx) {
    +      if (sourceIdx > outputIdx) {
    +        if (openDecoration && openDecoration !== currentDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        if (!openDecoration && currentDecoration) {
    +          openDecoration = currentDecoration;
    +          html.push('<span class="', openDecoration, '">');
    +        }
    +        // This interacts badly with some wikis which introduces paragraph tags
    +        // into pre blocks for some strange reason.
    +        // It's necessary for IE though which seems to lose the preformattedness
    +        // of <pre> tags when their innerHTML is assigned.
    +        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    +        // and it serves to undo the conversion of <br>s to newlines done in
    +        // chunkify.
    +        var htmlChunk = textToHtml(
    +            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    +            .replace(lastWasSpace
    +                     ? startOrSpaceRe
    +                     : adjacentSpaceRe, '$1&#160;');
    +        // Keep track of whether we need to escape space at the beginning of the
    +        // next chunk.
    +        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    +        html.push(htmlChunk.replace(newlineRe, lineBreaker));
    +        outputIdx = sourceIdx;
    +      }
    +    }
    +
    +    while (true) {
    +      // Determine if we're going to consume a tag this time around.  Otherwise
    +      // we consume a decoration or exit.
    +      var outputTag;
    +      if (tagPos < extractedTags.length) {
    +        if (decPos < decorations.length) {
    +          // Pick one giving preference to extractedTags since we shouldn't open
    +          // a new style that we're going to have to immediately close in order
    +          // to output a tag.
    +          outputTag = extractedTags[tagPos] <= decorations[decPos];
    +        } else {
    +          outputTag = true;
    +        }
    +      } else {
    +        outputTag = false;
    +      }
    +      // Consume either a decoration or a tag or exit.
    +      if (outputTag) {
    +        emitTextUpTo(extractedTags[tagPos]);
    +        if (openDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        html.push(extractedTags[tagPos + 1]);
    +        tagPos += 2;
    +      } else if (decPos < decorations.length) {
    +        emitTextUpTo(decorations[decPos]);
    +        currentDecoration = decorations[decPos + 1];
    +        decPos += 2;
    +      } else {
    +        break;
    +      }
    +    }
    +    emitTextUpTo(sourceText.length);
    +    if (openDecoration) {
    +      html.push('</span>');
    +    }
    +    if (numberLines) { html.push('</li></ol>'); }
    +    job.prettyPrintedHtml = html.join('');
    +  }
    +
    +  /** Maps language-specific file extensions to handlers. */
    +  var langHandlerRegistry = {};
    +  /** Register a language handler for the given file extensions.
    +    * @param {function (Object)} handler a function from source code to a list
    +    *      of decorations.  Takes a single argument job which describes the
    +    *      state of the computation.   The single parameter has the form
    +    *      {@code {
    +    *        source: {string} as plain text.
    +    *        decorations: {Array.<number|string>} an array of style classes
    +    *                     preceded by the position at which they start in
    +    *                     job.source in order.
    +    *                     The language handler should assigned this field.
    +    *        basePos: {int} the position of source in the larger source chunk.
    +    *                 All positions in the output decorations array are relative
    +    *                 to the larger source chunk.
    +    *      } }
    +    * @param {Array.<string>} fileExtensions
    +    */
    +  function registerLangHandler(handler, fileExtensions) {
    +    for (var i = fileExtensions.length; --i >= 0;) {
    +      var ext = fileExtensions[i];
    +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    +        langHandlerRegistry[ext] = handler;
    +      } else if ('console' in window) {
    +        console['warn']('cannot override language handler %s', ext);
    +      }
    +    }
    +  }
    +  function langHandlerForExtension(extension, source) {
    +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    +      // Treat it as markup if the first non whitespace character is a < and
    +      // the last non-whitespace character is a >.
    +      extension = /^\s*</.test(source)
    +          ? 'default-markup'
    +          : 'default-code';
    +    }
    +    return langHandlerRegistry[extension];
    +  }
    +  registerLangHandler(decorateSource, ['default-code']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [],
    +          [
    +           [PR_PLAIN,       /^[^<?]+/],
    +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    +           // Unescaped content in an unknown language
    +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    +           // Unescaped content in javascript.  (Or possibly vbscript).
    +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    +           // Contains unescaped stylesheet content
    +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    +          ]),
    +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [
    +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    +           ],
    +          [
    +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    +           [PR_PUNCTUATION,  /^[=<>\/]+/],
    +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    +           ]),
    +      ['in.tag']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CPP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true
    +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': 'null true false'
    +        }), ['json']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CSHARP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'verbatimStrings': true
    +        }), ['cs']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JAVA_KEYWORDS,
    +          'cStyleComments': true
    +        }), ['java']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': SH_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true
    +        }), ['bsh', 'csh', 'sh']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PYTHON_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'tripleQuotedStrings': true
    +        }), ['cv', 'py']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PERL_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['perl', 'pl', 'pm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUBY_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['rb']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JSCRIPT_KEYWORDS,
    +          'cStyleComments': true,
    +          'regexLiterals': true
    +        }), ['js']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    +
    +  function applyDecorator(job) {
    +    var sourceCodeHtml = job.sourceCodeHtml;
    +    var opt_langExtension = job.langExtension;
    +
    +    // Prepopulate output in case processing fails with an exception.
    +    job.prettyPrintedHtml = sourceCodeHtml;
    +
    +    try {
    +      // Extract tags, and convert the source code to plain text.
    +      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    +      /** Plain text. @type {string} */
    +      var source = sourceAndExtractedTags.source;
    +      job.source = source;
    +      job.basePos = 0;
    +
    +      /** Even entries are positions in source in ascending order.  Odd entries
    +        * are tags that were extracted at that position.
    +        * @type {Array.<number|string>}
    +        */
    +      job.extractedTags = sourceAndExtractedTags.tags;
    +
    +      // Apply the appropriate language handler
    +      langHandlerForExtension(opt_langExtension, source)(job);
    +      // Integrate the decorations and tags back into the source code to produce
    +      // a decorated html string which is left in job.prettyPrintedHtml.
    +      recombineTagsAndDecorations(job);
    +    } catch (e) {
    +      if ('console' in window) {
    +        console['log'](e && e['stack'] ? e['stack'] : e);
    +      }
    +    }
    +  }
    +
    +  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    +    var job = {
    +      sourceCodeHtml: sourceCodeHtml,
    +      langExtension: opt_langExtension
    +    };
    +    applyDecorator(job);
    +    return job.prettyPrintedHtml;
    +  }
    +
    +  function prettyPrint(opt_whenDone) {
    +    function byTagName(tn) { return document.getElementsByTagName(tn); }
    +    // fetch a list of nodes to rewrite
    +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    +    var elements = [];
    +    for (var i = 0; i < codeSegments.length; ++i) {
    +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    +        elements.push(codeSegments[i][j]);
    +      }
    +    }
    +    codeSegments = null;
    +
    +    var clock = Date;
    +    if (!clock['now']) {
    +      clock = { 'now': function () { return (new Date).getTime(); } };
    +    }
    +
    +    // The loop is broken into a series of continuations to make sure that we
    +    // don't make the browser unresponsive when rewriting a large page.
    +    var k = 0;
    +    var prettyPrintingJob;
    +
    +    function doWork() {
    +      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    +                     clock.now() + 250 /* ms */ :
    +                     Infinity);
    +      for (; k < elements.length && clock.now() < endTime; k++) {
    +        var cs = elements[k];
    +        // [JACOCO] 'prettyprint' -> 'source' 
    +        if (cs.className && cs.className.indexOf('source') >= 0) {
    +          // If the classes includes a language extensions, use it.
    +          // Language extensions can be specified like
    +          //     <pre class="prettyprint lang-cpp">
    +          // the language extension "cpp" is used to find a language handler as
    +          // passed to PR_registerLangHandler.
    +          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    +          if (langExtension) { langExtension = langExtension[1]; }
    +
    +          // make sure this is not nested in an already prettified element
    +          var nested = false;
    +          for (var p = cs.parentNode; p; p = p.parentNode) {
    +            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    +                 p.tagName === 'xmp') &&
    +                // [JACOCO] 'prettyprint' -> 'source' 
    +                p.className && p.className.indexOf('source') >= 0) {
    +              nested = true;
    +              break;
    +            }
    +          }
    +          if (!nested) {
    +            // fetch the content as a snippet of properly escaped HTML.
    +            // Firefox adds newlines at the end.
    +            var content = getInnerHtml(cs);
    +            content = content.replace(/(?:\r\n?|\n)$/, '');
    +
    +            // do the pretty printing
    +            prettyPrintingJob = {
    +              sourceCodeHtml: content,
    +              langExtension: langExtension,
    +              sourceNode: cs
    +            };
    +            applyDecorator(prettyPrintingJob);
    +            replaceWithPrettyPrintedHtml();
    +          }
    +        }
    +      }
    +      if (k < elements.length) {
    +        // finish up in a continuation
    +        setTimeout(doWork, 250);
    +      } else if (opt_whenDone) {
    +        opt_whenDone();
    +      }
    +    }
    +
    +    function replaceWithPrettyPrintedHtml() {
    +      var newContent = prettyPrintingJob.prettyPrintedHtml;
    +      if (!newContent) { return; }
    +      var cs = prettyPrintingJob.sourceNode;
    +
    +      // push the prettified html back into the tag.
    +      if (!isRawContent(cs)) {
    +        // just replace the old html with the new
    +        cs.innerHTML = newContent;
    +      } else {
    +        // we need to change the tag to a <pre> since <xmp>s do not allow
    +        // embedded tags such as the span tags used to attach styles to
    +        // sections of source code.
    +        var pre = document.createElement('PRE');
    +        for (var i = 0; i < cs.attributes.length; ++i) {
    +          var a = cs.attributes[i];
    +          if (a.specified) {
    +            var aname = a.name.toLowerCase();
    +            if (aname === 'class') {
    +              pre.className = a.value;  // For IE 6
    +            } else {
    +              pre.setAttribute(a.name, a.value);
    +            }
    +          }
    +        }
    +        pre.innerHTML = newContent;
    +
    +        // remove the old
    +        cs.parentNode.replaceChild(pre, cs);
    +        cs = pre;
    +      }
    +    }
    +
    +    doWork();
    +  }
    +
    +  window['PR_normalizedHtml'] = normalizedHtml;
    +  window['prettyPrintOne'] = prettyPrintOne;
    +  window['prettyPrint'] = prettyPrint;
    +  window['PR'] = {
    +        'combinePrefixPatterns': combinePrefixPatterns,
    +        'createSimpleLexer': createSimpleLexer,
    +        'registerLangHandler': registerLangHandler,
    +        'sourceDecorator': sourceDecorator,
    +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    +        'PR_COMMENT': PR_COMMENT,
    +        'PR_DECLARATION': PR_DECLARATION,
    +        'PR_KEYWORD': PR_KEYWORD,
    +        'PR_LITERAL': PR_LITERAL,
    +        'PR_NOCODE': PR_NOCODE,
    +        'PR_PLAIN': PR_PLAIN,
    +        'PR_PUNCTUATION': PR_PUNCTUATION,
    +        'PR_SOURCE': PR_SOURCE,
    +        'PR_STRING': PR_STRING,
    +        'PR_TAG': PR_TAG,
    +        'PR_TYPE': PR_TYPE
    +      };
    +})();
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/redbar.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/redbar.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..c2f71469ba995289439d86ea39b1b33edb03388c
    GIT binary patch
    literal 91
    zcmZ?wbhEHbWMtrCc+AD{pP&D~tn7aso&R25|6^nS*Vg{;>G{84!T)8;{;yfXu$BQ0
    fDgI<(<YM4w&|v@qkQodt90ol_LPjnP91PX~3&9+X
    
    literal 0
    HcmV?d00001
    
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/report.css b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/report.css
    new file mode 100644
    index 0000000000..08eba79299
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/report.css
    @@ -0,0 +1,243 @@
    +body, td {
    +  font-family:sans-serif;
    +  font-size:10pt;
    +}
    +
    +h1 {
    +  font-weight:bold;
    +  font-size:18pt;
    +}
    +
    +.breadcrumb {
    +  border:#d6d3ce 1px solid;
    +  padding:2px 4px 2px 4px;
    +}
    +
    +.breadcrumb .info {
    +  float:right;
    +}
    +
    +.breadcrumb .info a {
    +  margin-left:8px;
    +}
    +
    +.el_report {
    +  padding-left:18px;
    +  background-image:url(report.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_group {
    +  padding-left:18px;
    +  background-image:url(group.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_bundle {
    +  padding-left:18px;
    +  background-image:url(bundle.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_package {
    +  padding-left:18px;
    +  background-image:url(package.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_class {
    +  padding-left:18px;
    +  background-image:url(class.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_source {
    +  padding-left:18px;
    +  background-image:url(source.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_method {
    +  padding-left:18px;
    +  background-image:url(method.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_session {
    +  padding-left:18px;
    +  background-image:url(session.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +pre.source {
    +  border:#d6d3ce 1px solid;
    +  font-family:monospace;
    +}
    +
    +pre.source ol {
    +  margin-bottom: 0px;
    +  margin-top: 0px;
    +}
    +
    +pre.source li {
    +  border-left: 1px solid #D6D3CE;
    +  color: #A0A0A0;
    +  padding-left: 0px;
    +}
    +
    +pre.source span.fc {
    +  background-color:#ccffcc;
    +}
    +
    +pre.source span.nc {
    +  background-color:#ffaaaa;
    +}
    +
    +pre.source span.pc {
    +  background-color:#ffffcc;
    +}
    +
    +pre.source span.bfc {
    +  background-image: url(branchfc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bfc:hover {
    +  background-color:#80ff80;
    +}
    +
    +pre.source span.bnc {
    +  background-image: url(branchnc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bnc:hover {
    +  background-color:#ff8080;
    +}
    +
    +pre.source span.bpc {
    +  background-image: url(branchpc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bpc:hover {
    +  background-color:#ffff80;
    +}
    +
    +table.coverage {
    +  empty-cells:show;
    +  border-collapse:collapse; 
    +}
    +
    +table.coverage thead {
    +  background-color:#e0e0e0;
    +}
    +
    +table.coverage thead td {
    +  white-space:nowrap;
    +  padding:2px 14px 0px 6px;
    +  border-bottom:#b0b0b0 1px solid;
    +}
    +
    +table.coverage thead td.bar {
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr1 {
    +  text-align:right;
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr2 {
    +  text-align:right;
    +  padding-left:2px;
    +}
    +
    +table.coverage thead td.sortable {
    +  cursor:pointer;
    +  background-image:url(sort.gif);
    +  background-position:right center;
    +  background-repeat:no-repeat;
    +}
    +
    +table.coverage thead td.up {
    +  background-image:url(up.gif);
    +}
    +
    +table.coverage thead td.down {
    +  background-image:url(down.gif);
    +}
    +
    +table.coverage tbody td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +  border-bottom:#d6d3ce 1px solid;
    +}
    +
    +table.coverage tbody tr:hover { 
    +  background: #f0f0d0 !important;
    +}
    +
    +table.coverage tbody td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +table.coverage tfoot td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +}
    +
    +table.coverage tfoot td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +.footer {
    +  margin-top:20px;
    +  border-top:#d6d3ce 1px solid;
    +  padding-top:2px;
    +  font-size:8pt;
    +  color:#a0a0a0;
    +}
    +
    +.footer a {
    +  color:#a0a0a0;
    +}
    +
    +.right {
    +  float:right;
    +}
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/report.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/report.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..8547be50bf3e97e725920927b5aa4cdb031f4823
    GIT binary patch
    literal 363
    zcmZ?wbhEHb6krfwSZc{In}J~s1H&!`1_uX+xVSjMb&S>db~X8S)dhAn1$OlXwvB~0
    zO@%hC#Wq5_7&^+V`^qgRRa;E2HJ?*&DsqWoev|2fCetO&CQDmPR<;_iXfs~ZZnVC`
    za8s8-+pK*(^AAm4c5K#~(^ocST-lU)byMc8y)_R`^xu2&{oaco_g{R!|Ki8Pmp>lA
    z{_*VHkC*R%zWMa)!{^_hzyAL8?f2(zzrTL}{q@K1Z$Ey2|M}<VuRs5>0mYvzj9d)%
    z3_1)z0P+(9TgQR<1s*zF)+bahX*_u_??Pbv&V#KE^V2&`bhGjjR;*MxC8EFO_3_}<
    zH?w9WrJ7AX`tJM8r525X{~8+WorLsRL^?W{nR=L*odosT`KItOGtTI963}JgV_m??
    z%&>&9-=1G*^3>@wm-A|~FmK+nbvd`DhNhP0UUhXIS1vYAPL5-o?Ce}VXI&i`tO1G(
    BvdRDe
    
    literal 0
    HcmV?d00001
    
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/session.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/session.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..0151bad8a001e5cc5cc7723a608185f746b7f8c1
    GIT binary patch
    literal 213
    zcmZ?wbhEHb6krfwXc1xPS$gU4xw~t2pG#?5#^Be>V3WrXI-S9<hrzA(|Nr^_@5k?-
    zZ~y=IhyVNSXZ04}pKqV%t9oe5k~tY+Ar=Pzi2#Z}Sr{1@<Qa4rfB<AC18dL&^}dwM
    zX_r*ys<8N;e6mS?i^dP8jVmAd@U^}&$uv>xc~m$hYN?d{@xrG~CzZCfhpBIRC}Q>I
    kiQ?_Ai=3VZEOFW9fBwaksdwMK(Err)E%VcVRYeAC06w^MK>z>%
    
    literal 0
    HcmV?d00001
    
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/sort.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/sort.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..6757c2c32b57d768f3c12c4ae99a28bc32c9cbd7
    GIT binary patch
    literal 58
    zcmZ?wbhEHb<YC}qXkcX6uwldh|Nj+#vM_QnFf!;c00|xjP6h@h!JfpGjC*fB>i!bx
    N`t(%z_h<$NYXI&b5{m!;
    
    literal 0
    HcmV?d00001
    
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/sort.js b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/sort.js
    new file mode 100644
    index 0000000000..511e47cf73
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/sort.js
    @@ -0,0 +1,147 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2015 Mountainminds GmbH & Co. KG and Contributors
    + * All rights reserved. This program and the accompanying materials
    + * are made available under the terms of the Eclipse Public License v1.0
    + * which accompanies this distribution, and is available at
    + * http://www.eclipse.org/legal/epl-v10.html
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *    
    + *******************************************************************************/
    +
    +(function () {
    +
    +  /**
    +   * Sets the initial sorting derived from the hash.
    +   *
    +   * @param linkelementids
    +   *          list of element ids to search for links to add sort inidcator
    +   *          hash links   
    +   */  
    +  function initialSort(linkelementids) {
    +    window.linkelementids = linkelementids;
    +    var hash = window.location.hash;
    +    if (hash) {
    +      var m = hash.match(/up-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, true);
    +        }
    +        return;
    +      }
    +      var m = hash.match(/dn-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, false);
    +        }
    +        return
    +      }
    +    }
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header dependening on the current sort state.
    +   */  
    +  function toggleSort(header) {
    +    var sortup = header.className.indexOf('down ') == 0;
    +    sortColumn(header, sortup);
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header in the given direction.
    +   */  
    +  function sortColumn(header, sortup) {
    +    var table = header.parentNode.parentNode.parentNode;
    +    var body = table.tBodies[0];
    +    var colidx = getNodePosition(header);
    +    
    +    resetSortedStyle(table);
    +    
    +    var rows = body.rows;
    +    var sortedrows = [];
    +    for (var i = 0; i < rows.length; i++) {
    +      r = rows[i];
    +      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
    +    }
    +    
    +    var hash;
    +    
    +    if (sortup) {
    +      for (var i = sortedrows.length - 1; i >= 0; i--) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'up ' + header.className;
    +      hash = 'up-' + header.id;
    +    } else {
    +      for (var i = 0; i < sortedrows.length; i++) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'down ' + header.className;
    +      hash = 'dn-' + header.id;
    +    }
    +    
    +    setHash(hash);
    +  }
    +
    +  /**
    +   * Adds the sort indicator as a hash to the document URL and all links.
    +   */
    +  function setHash(hash) {
    +    window.document.location.hash = hash;
    +    ids = window.linkelementids;
    +    for (var i = 0; i < ids.length; i++) {
    +        setHashOnAllLinks(document.getElementById(ids[i]), hash);
    +    }
    +  }
    +
    +  /**
    +   * Extend all links within the given tag with the given hash.
    +   */
    +  function setHashOnAllLinks(tag, hash) {
    +    links = tag.getElementsByTagName("a");
    +    for (var i = 0; i < links.length; i++) {
    +        var a = links[i];
    +        var href = a.href;
    +        var hashpos = href.indexOf("#");
    +        if (hashpos != -1) {
    +            href = href.substring(0, hashpos);
    +        } 
    +        a.href = href + "#" + hash;
    +    }
    +  }
    +
    +  /**
    +   * Calculates the position of a element within its parent.
    +   */  
    +  function getNodePosition(element) {
    +    var pos = -1;
    +    while (element) {
    +      element = element.previousSibling;
    +      pos++;
    +    }
    +    return pos;
    +  }
    +
    +  /**
    +   * Remove the sorting indicator style from all headers.
    +   */
    +  function resetSortedStyle(table) {
    +    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
    +      if (c.className) {
    +        if (c.className.indexOf('down ') == 0) {
    +          c.className = c.className.slice(5);
    +        }
    +        if (c.className.indexOf('up ') == 0) {
    +          c.className = c.className.slice(3);
    +        }
    +      }
    +    }
    +  }
    +  
    +  window['initialSort'] = initialSort;
    +  window['toggleSort'] = toggleSort;
    +
    +})();
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/source.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/source.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..b226e41c5276581db33d71525298ef572cc5d7ce
    GIT binary patch
    literal 354
    zcmZ?wbhEHb6krfwxXQrr`Rnf=KmWY@^y|~t-#>r-`SJ62+pK*(^ACOa@_X{KW3$$r
    zUbOlAiXE5N?74dH#gDtszu$lH{mGl3&)@xg`{~!`Z@=#VMPB~6_u~7*S3h2T`1$R}
    z?`Q9Re)#(P)3@JWfBgRb^LKTLe^s%6bxA;7sb4jaQ5?`-<<ng5TVLWgvEHM%)~l!1
    zYi_IS^d`3r{dQ}59F})EE$?<()ZzT#ME{lvwpTV~T-lU)Yj4ffO_~4y|7XAeia%Kx
    z85k@XbU-p7KQXY?ADC0%p(B)eLgkXi62W-^(!DQ#v2a~Gz-z9%&!+3h!38t#X02Ds
    zad;WPFvUVOY)YY2k84HG1kp%gVW!3wVI5ap$%?8ZHc4GqO=+PiQzvV>Y72H(vk7Xs
    us!1$fvP8{QU92ZrK%7tARasP&f6JDw8m_8J3W|I7DyXXX9C3DJum%7=h^`F)
    
    literal 0
    HcmV?d00001
    
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/up.gif b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.resources/up.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..58ed21660ec467736a4d2af17d91341f7cfb556c
    GIT binary patch
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ=;nroA^G
    Ub$^Kz-Nct)ygK&ScM%3_0PmU?SpWb4
    
    literal 0
    HcmV?d00001
    
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/.sessions.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.sessions.html
    new file mode 100644
    index 0000000000..ef70b7c5c2
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/.sessions.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href=".resources/report.css" type="text/css"/><link rel="shortcut icon" href=".resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href=".sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:25 PM</td><td>Jul 27, 2016 8:24:25 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateWireMockFromStubsDirectory</span></td><td>Jul 27, 2016 8:24:25 PM</td><td>Jul 27, 2016 8:24:30 PM</td></tr><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:30 PM</td><td>Jul 27, 2016 8:24:30 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateStubsWithMappingsOnly</span></td><td>Jul 27, 2016 8:24:30 PM</td><td>Jul 27, 2016 8:24:31 PM</td></tr><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:31 PM</td><td>Jul 27, 2016 8:24:31 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateWireMockStubsInDefaultLocation</span></td><td>Jul 27, 2016 8:24:31 PM</td><td>Jul 27, 2016 8:24:31 PM</td></tr><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:31 PM</td><td>Jul 27, 2016 8:24:31 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateStubsWithCustomClassifier</span></td><td>Jul 27, 2016 8:24:31 PM</td><td>Jul 27, 2016 8:24:31 PM</td></tr><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:31 PM</td><td>Jul 27, 2016 8:24:31 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateWireMockStubsInSelectedLocation</span></td><td>Jul 27, 2016 8:24:31 PM</td><td>Jul 27, 2016 8:24:32 PM</td></tr><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:32 PM</td><td>Jul 27, 2016 8:24:32 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateContractTestsWithCustomImports</span></td><td>Jul 27, 2016 8:24:32 PM</td><td>Jul 27, 2016 8:24:32 PM</td></tr><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:32 PM</td><td>Jul 27, 2016 8:24:32 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateStubs</span></td><td>Jul 27, 2016 8:24:32 PM</td><td>Jul 27, 2016 8:24:33 PM</td></tr><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:33 PM</td><td>Jul 27, 2016 8:24:33 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldCopyContracts</span></td><td>Jul 27, 2016 8:24:33 PM</td><td>Jul 27, 2016 8:24:33 PM</td></tr><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:33 PM</td><td>Jul 27, 2016 8:24:33 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateContractSpecificationInDefaultLocation</span></td><td>Jul 27, 2016 8:24:33 PM</td><td>Jul 27, 2016 8:24:33 PM</td></tr><tr><td><span class="el_session"></span></td><td>Jul 27, 2016 8:24:33 PM</td><td>Jul 27, 2016 8:24:33 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateContractTestsInDefaultLocation</span></td><td>Jul 27, 2016 8:24:33 PM</td><td>Jul 27, 2016 8:24:34 PM</td></tr><tr><td><span class="el_session">org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateContractTestsInDefaultLocation</span></td><td>Jul 27, 2016 8:24:34 PM</td><td>Jul 27, 2016 8:24:34 PM</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">Messaging</span></td><td><code>b499315fd9b690df</code></td></tr><tr><td><span class="el_class">Messaging._run_closure1</span></td><td><code>3bccaadf22529890</code></td></tr><tr><td><span class="el_class">Messaging._run_closure1._closure2</span></td><td><code>45bd14f2a004e4c4</code></td></tr><tr><td><span class="el_class">Messaging._run_closure1._closure2._closure4</span></td><td><code>c665ed90e0cf0737</code></td></tr><tr><td><span class="el_class">Messaging._run_closure1._closure3</span></td><td><code>519e51f7940d5444</code></td></tr><tr><td><span class="el_class">Messaging._run_closure1._closure3._closure5</span></td><td><code>3b92111e9f6412a8</code></td></tr><tr><td><span class="el_class">Sample</span></td><td><code>43c425de0537acb5</code></td></tr><tr><td><span class="el_class">Sample._run_closure1</span></td><td><code>29a783d30ea13b87</code></td></tr><tr><td><span class="el_class">Sample._run_closure1._closure2</span></td><td><code>40c449e69f5dee97</code></td></tr><tr><td><span class="el_class">Sample._run_closure1._closure2._closure4</span></td><td><code>43c02f06dfca3067</code></td></tr><tr><td><span class="el_class">Sample._run_closure1._closure2._closure5</span></td><td><code>76a9db6763c14f02</code></td></tr><tr><td><span class="el_class">Sample._run_closure1._closure3</span></td><td><code>5a73fdfd3729307c</code></td></tr><tr><td><span class="el_class">Sample._run_closure1._closure3._closure6</span></td><td><code>6661d22e7f824bea</code></td></tr><tr><td><span class="el_class">Script1</span></td><td><code>bf4672260a0c5b83</code></td></tr><tr><td><span class="el_class">Script1._run_closure1</span></td><td><code>d8317709a30efdb4</code></td></tr><tr><td><span class="el_class">Script1._run_closure1</span></td><td><code>bd8b46231d59e340</code></td></tr><tr><td><span class="el_class">Script1._run_closure1._closure2</span></td><td><code>829aed9ac1757e38</code></td></tr><tr><td><span class="el_class">Script1._run_closure1._closure2</span></td><td><code>181884f35f7f6661</code></td></tr><tr><td><span class="el_class">Script1._run_closure1._closure2._closure4</span></td><td><code>3fa67c39c8ef60c8</code></td></tr><tr><td><span class="el_class">Script1._run_closure1._closure2._closure4</span></td><td><code>341c2fc0f51e53a3</code></td></tr><tr><td><span class="el_class">Script1._run_closure1._closure2._closure5</span></td><td><code>accbdeb65d7e4733</code></td></tr><tr><td><span class="el_class">Script1._run_closure1._closure3</span></td><td><code>ee6c7cfc590d3fd3</code></td></tr><tr><td><span class="el_class">Script1._run_closure1._closure3</span></td><td><code>a1cd878b4a6a206c</code></td></tr><tr><td><span class="el_class">Script1._run_closure1._closure3._closure5</span></td><td><code>2da14d8fd92dfc54</code></td></tr><tr><td><span class="el_class">Script1._run_closure1._closure3._closure6</span></td><td><code>2b144a23a62eb175</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonAutoDetect.1</span></td><td><code>b176925f5c2a3238</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility</span></td><td><code>cd3984667a2e1610</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonCreator.Mode</span></td><td><code>7e9f12c9749a22dd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Feature</span></td><td><code>bdb87bc8236e653e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Features</span></td><td><code>ba7b44fd6cd4d7be</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Shape</span></td><td><code>32a76722c2d132a0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Value</span></td><td><code>fe25fd2d5c02fa46</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonInclude.Include</span></td><td><code>f4141981d9fcc4ae</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonInclude.Value</span></td><td><code>d41428361eecafa9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonProperty.Access</span></td><td><code>b0c9173cafce0ad3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonTypeInfo.As</span></td><td><code>5326a6c44d023f43</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonTypeInfo.Id</span></td><td><code>226511839388200a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Base64Variant</span></td><td><code>0959fc15d91359e2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Base64Variants</span></td><td><code>6db7b53522975d53</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonFactory</span></td><td><code>e3d3855617ab24f7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonFactory.Feature</span></td><td><code>5ae3c2cc264d5a9c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonGenerator</span></td><td><code>ed1990e927cb356a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonGenerator.Feature</span></td><td><code>e420cde3114baa7a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser.Feature</span></td><td><code>b6a81f5f0e5182f4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser.NumberType</span></td><td><code>76de6d99f3caa302</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonStreamContext</span></td><td><code>5bc77315bbf6e638</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.ObjectCodec</span></td><td><code>b7d0edab549779d4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.TreeCodec</span></td><td><code>5c6baba1964782c4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.base.GeneratorBase</span></td><td><code>510074088e5a8f80</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.CharTypes</span></td><td><code>a02666331fde95a0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.IOContext</span></td><td><code>882c14c3672753d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.JsonStringEncoder</span></td><td><code>31b9a5875c0e5809</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.NumberOutput</span></td><td><code>c670a0a841baa0f4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.SegmentedStringWriter</span></td><td><code>a15f1c6cb61929da</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.SerializedString</span></td><td><code>bd4908f7387a7a3a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonGeneratorImpl</span></td><td><code>1a30ef244406acc6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonWriteContext</span></td><td><code>fd5bef944fe3d206</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.WriterBasedJsonGenerator</span></td><td><code>dc3d4558f8ff79bc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer</span></td><td><code>ad6c88406ecef1fb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.TableInfo</span></td><td><code>ad70540735a36f2f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer</span></td><td><code>25c250b17c3906e7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.type.ResolvedType</span></td><td><code>7a88a566c49ef7eb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.BufferRecycler</span></td><td><code>6d3cde0e154bb6ca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultIndenter</span></td><td><code>1cf9f971d125421f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultPrettyPrinter</span></td><td><code>aa08eb4bb01bf400</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultPrettyPrinter.FixedSpaceIndenter</span></td><td><code>c1affb244ffd2ff0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultPrettyPrinter.NopIndenter</span></td><td><code>a5f6b804b4a3cca4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.InternCache</span></td><td><code>5cff7c635f084486</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.MinimalPrettyPrinter</span></td><td><code>41f44746b94df776</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.TextBuffer</span></td><td><code>978a9a16f18572ba</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.AnnotationIntrospector</span></td><td><code>b5d16d7433a1ce47</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.BeanDescription</span></td><td><code>280761e450c9228e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.BeanProperty.Std</span></td><td><code>04f464c1951fe677</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DatabindContext</span></td><td><code>9e15c8daf177b9da</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DeserializationConfig</span></td><td><code>90b01442e2bf1448</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DeserializationContext</span></td><td><code>746c6ead9db7a8db</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DeserializationFeature</span></td><td><code>585e78f8215377d0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JavaType</span></td><td><code>533a3223591c69fe</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonSerializer</span></td><td><code>1676d26026913307</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.MapperFeature</span></td><td><code>c5f680d336c71d86</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.MappingJsonFactory</span></td><td><code>d4fd6a63787fdded</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectMapper</span></td><td><code>2b7b52055cd0579d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectWriter</span></td><td><code>3b9bc6c232afcde3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectWriter.GeneratorSettings</span></td><td><code>a72f40ec6a630d57</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectWriter.Prefetch</span></td><td><code>3c4c02275486c82e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.PropertyMetadata</span></td><td><code>3cfab0bac3f37c1e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.PropertyName</span></td><td><code>001152587844659d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.SerializationConfig</span></td><td><code>fc7acf659992bfad</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.SerializationFeature</span></td><td><code>f08471977133f166</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.SerializerProvider</span></td><td><code>ee339c9c8fdd74d2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion</span></td><td><code>a4244a73b0ddd370</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.annotation.JsonSerialize.Typing</span></td><td><code>26acf92f2ff31a58</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.BaseSettings</span></td><td><code>2cd3d7aa7831cd76</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ContextAttributes</span></td><td><code>476e98ef21d36443</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ContextAttributes.Impl</span></td><td><code>9529621d09404516</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.DeserializerFactoryConfig</span></td><td><code>529e3a9905393795</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.MapperConfig</span></td><td><code>4b6ee0165f06d013</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.MapperConfigBase</span></td><td><code>f0dc3048e59d3fd8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.SerializerFactoryConfig</span></td><td><code>8ccf64cb9282fefa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BasicDeserializerFactory</span></td><td><code>cdc5b580d105c88a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializerFactory</span></td><td><code>8475392f77eead97</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DefaultDeserializationContext</span></td><td><code>994fa89f9916bd28</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.Impl</span></td><td><code>61ed1e2ff3bc556c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DeserializerCache</span></td><td><code>5504798e6a0b6b7b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DeserializerFactory</span></td><td><code>738c8de672dad894</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StdKeyDeserializers</span></td><td><code>1bd96b8bfcc12766</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.OptionalHandlerFactory</span></td><td><code>67a2a9b6aae021b9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.Annotated</span></td><td><code>f98e45ba3141489a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedClass</span></td><td><code>475afb36e2621142</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedConstructor</span></td><td><code>0d1aec478d33b159</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedField</span></td><td><code>a7c50e98c9c2a870</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMember</span></td><td><code>b8d2f57d11ad0599</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethod</span></td><td><code>90cde668beffc628</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethodMap</span></td><td><code>3b6c2faffc98d848</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedParameter</span></td><td><code>4f1f4600592799d2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedWithParams</span></td><td><code>9a1c84e00784ae5f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationMap</span></td><td><code>298cab9ad1bf0364</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.BasicBeanDescription</span></td><td><code>2aa600cd17b2cf35</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.BasicClassIntrospector</span></td><td><code>dfeffb9def72d464</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition</span></td><td><code>c16aa6789cc710be</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.ClassIntrospector</span></td><td><code>11a567f4f7d10020</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase</span></td><td><code>58bd067355efca2a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector</span></td><td><code>1d8215962b7900cf</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector.Java7Support</span></td><td><code>e936d4d3287e5b62</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.MemberKey</span></td><td><code>9eb3680f67ddab3e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector</span></td><td><code>fa22e79c820ac894</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder</span></td><td><code>f0e3223ee6113347</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.1</span></td><td><code>bfadf29628aed37a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.10</span></td><td><code>2137bffb3b77624b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.2</span></td><td><code>787dda915c43efc4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.3</span></td><td><code>a20fe2730d276acc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.4</span></td><td><code>85c540faff012130</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.5</span></td><td><code>9f29b6b7e3383aac</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.6</span></td><td><code>f2a253991b5f0f7f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.7</span></td><td><code>64c82c1100c1a831</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.9</span></td><td><code>e366148d5b53f1b3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.Linked</span></td><td><code>e8e84464fef397c0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.SimpleMixInResolver</span></td><td><code>c9ca0fa1716d69c4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.TypeResolutionContext.Basic</span></td><td><code>8559b48a767ae63e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.VisibilityChecker.Std</span></td><td><code>77c2f653cdcf2e62</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.NamedType</span></td><td><code>dbda7f08e416d231</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.SubtypeResolver</span></td><td><code>704d41d1a1b4d7da</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.TypeSerializer</span></td><td><code>c3cdeb44c2d409f8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.AsArrayTypeSerializer</span></td><td><code>2145cda791846275</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeSerializer</span></td><td><code>c1b81056047384b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver</span></td><td><code>d02d94f48ba50cec</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder</span></td><td><code>9806dd06c3d86bda</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder.1</span></td><td><code>b91ba6d103157266</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase</span></td><td><code>b6126c8c00138073</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.TypeNameIdResolver</span></td><td><code>0021c56a505b89cc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.TypeSerializerBase</span></td><td><code>80efd78e6c1183d5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.JsonNodeFactory</span></td><td><code>30398f165ccd1536</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BasicSerializerFactory</span></td><td><code>72731dbff91e091a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BasicSerializerFactory.1</span></td><td><code>69b03ed72a65c83a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanPropertyWriter</span></td><td><code>cc469da563d6700b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializer</span></td><td><code>37c23dc975798682</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializerBuilder</span></td><td><code>f6db049e85570020</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializerFactory</span></td><td><code>17c496c94bdaf2ac</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.ContainerSerializer</span></td><td><code>8f104fb1bc93003e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.DefaultSerializerProvider</span></td><td><code>1b36702fb1a29c8b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl</span></td><td><code>f86d51b7424f3552</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.PropertyBuilder</span></td><td><code>ceadd04c63d91649</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.PropertyBuilder.1</span></td><td><code>48f666244c656b69</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.PropertyWriter</span></td><td><code>fd7fbc6a276daeaf</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.SerializerCache</span></td><td><code>636a742aff0a0f91</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.SerializerFactory</span></td><td><code>f3f5cf81f2267519</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.FailingSerializer</span></td><td><code>22ec32a2b2a696f3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer</span></td><td><code>e6e17f79a91eacfa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap</span></td><td><code>3607d33dc3294c61</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Empty</span></td><td><code>c160b84d8997058f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.SerializerAndMapResult</span></td><td><code>55383d9ed83eee53</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Single</span></td><td><code>8314d257bab58def</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.ReadOnlyClassToSerializerMap</span></td><td><code>a47f8ae64928948e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.ReadOnlyClassToSerializerMap.Bucket</span></td><td><code>9a7648b88798b5f5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.UnknownSerializer</span></td><td><code>e997148777466e1f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase</span></td><td><code>b1167cbe22a03429</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.BeanSerializerBase</span></td><td><code>e599d227e92d311e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.BooleanSerializer</span></td><td><code>adbb3ca010605a3b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.CalendarSerializer</span></td><td><code>813f7978dc4128da</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.DateSerializer</span></td><td><code>d1e641c4eef34e68</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.DateTimeSerializerBase</span></td><td><code>e1e538aeb9c47599</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.JsonValueSerializer</span></td><td><code>1d49c517f33d3f1b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.MapSerializer</span></td><td><code>08a535dc2055d7eb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NonTypedScalarSerializerBase</span></td><td><code>ff686295f47092ac</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NullSerializer</span></td><td><code>d0b61a55ae5629d8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializer</span></td><td><code>232af5aa9c55ad00</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers</span></td><td><code>aa027372e00db270</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.Base</span></td><td><code>488a4ac31166ef1d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.DoubleSerializer</span></td><td><code>aa958af1cd7c4634</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.FloatSerializer</span></td><td><code>acde5571a7d83391</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.IntLikeSerializer</span></td><td><code>c65581cff4416a99</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.IntegerSerializer</span></td><td><code>ade1a9553b2ba3d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.LongSerializer</span></td><td><code>ac5847b48bf674a1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.ShortSerializer</span></td><td><code>ea806da73db2fb1e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdJdkSerializers</span></td><td><code>0f5194a6f7075774</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializer</span></td><td><code>7048c8743b69c417</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializers</span></td><td><code>0af9a59055cbe215</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializers.StringKeySerializer</span></td><td><code>2295d6a7e009a913</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdScalarSerializer</span></td><td><code>aade94e4edb64d90</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdSerializer</span></td><td><code>5b47174bcfc35809</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StringSerializer</span></td><td><code>ba509e266df8900b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ToStringSerializer</span></td><td><code>cd216cd509f083e0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.UUIDSerializer</span></td><td><code>8c8f8731888d746d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ArrayType</span></td><td><code>64279a1eb372f76d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ClassStack</span></td><td><code>3990e8002f2e10a4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.CollectionLikeType</span></td><td><code>c12799930fd89485</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.CollectionType</span></td><td><code>5fa523cade2864fa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.MapLikeType</span></td><td><code>a2cff1543c3529d8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.MapType</span></td><td><code>0dc23397b7fc712b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ResolvedRecursiveType</span></td><td><code>8de843c180b7afd7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.SimpleType</span></td><td><code>072c1408bf2a41f7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBase</span></td><td><code>5b1c06f48e34502f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBindings</span></td><td><code>b32103c8a41593f4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBindings.TypeParamStash</span></td><td><code>037704dc1d22ca1f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeFactory</span></td><td><code>dcf9679f3d58717a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeParser</span></td><td><code>3ccac74f9c6e672d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ArrayIterator</span></td><td><code>bd541d45acf30f94</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.BeanUtil</span></td><td><code>11f40cd499bc7b89</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ClassUtil</span></td><td><code>084d51cdcd9f15cf</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ClassUtil.ClassMetadata</span></td><td><code>35f720b3be49e5fd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ClassUtil.Ctor</span></td><td><code>b002cbffb5ec6a94</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ClassUtil.EmptyIterator</span></td><td><code>2c4a219cd335cee9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.LRUMap</span></td><td><code>84d59682f640a462</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.RootNameLookup</span></td><td><code>c87a8a0c71e8f2e8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.StdDateFormat</span></td><td><code>6562c81cbd4d8781</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TypeKey</span></td><td><code>8ab384b02b4e64d9</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder</span></td><td><code>7bac3af16aba1f94</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder.build.0</span></td><td><code>b22300051d73de76</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder.withHeaders</span></td><td><code>6353b42ab16cbfef</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.client.WireMock</span></td><td><code>969be669d0597a9f</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.client.WireMock.1</span></td><td><code>af1ec00a46bdcf2b</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.client.WireMock.equalTo.0</span></td><td><code>83056af348eaefd8</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.client.WireMock.matchingJsonPath.1</span></td><td><code>ca457f054fb8a761</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo</span></td><td><code>0ce43226a7dd17c1</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.common.Encoding</span></td><td><code>7210f5f59fe046bd</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.common.Json</span></td><td><code>37d45b1d48cdc89f</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.extension.Parameters</span></td><td><code>fa5a725becbd0a6e</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.Body</span></td><td><code>b299b5860aaf7d20</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.CaseInsensitiveKey</span></td><td><code>eddfa32359de3be8</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.CaseInsensitiveKey.1</span></td><td><code>6814e253f9b64d08</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.HttpHeader</span></td><td><code>ad864eca30f554c9</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.HttpHeaders</span></td><td><code>4d9314f074885ee5</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.HttpHeadersJsonSerializer</span></td><td><code>935d0e847f3ed0c9</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.MultiValue</span></td><td><code>4dda066d8f1ceb99</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.RequestMethod</span></td><td><code>0ed45d8406fbb517</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.RequestMethod.fromString</span></td><td><code>e143d4590d66e386</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.http.ResponseDefinition</span></td><td><code>7a3be8d01025eb04</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.EqualToPattern</span></td><td><code>f8fd99f6d2092a7b</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.MatchesJsonPathPattern</span></td><td><code>edc730a3cbf559f7</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.MultiValuePattern</span></td><td><code>bd7fb2659feb4a38</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.RequestMatcher</span></td><td><code>423c0e1a02ca0b50</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.RequestPattern</span></td><td><code>a9d661e1ed0ef04a</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.RequestPattern.1</span></td><td><code>fe3e5c1779f2eb6c</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.RequestPatternBuilder</span></td><td><code>5d717c085624c9b7</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.RequestPatternBuilder.build.2</span></td><td><code>992725e1b532b53a</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.RequestPatternBuilder.newRequestPattern</span></td><td><code>585bade15b4512b1</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.RequestPatternBuilder.withHeader.0</span></td><td><code>a5ac9a23446aaa53</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.RequestPatternBuilder.withRequestBody.1</span></td><td><code>9e5f1d0000ccd43b</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.StringValuePattern</span></td><td><code>aec20764fea4269b</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.StringValuePattern.1</span></td><td><code>44308ad68925dcd2</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.matching.UrlPattern</span></td><td><code>1ee1e3ff9104e030</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.stubbing.StubMapping</span></td><td><code>db292265599aee12</code></td></tr><tr><td><span class="el_class">com.github.tomakehurst.wiremock.stubbing.StubMapping.buildJsonStringFor</span></td><td><code>e7a66f34f2fbf141</code></td></tr><tr><td><span class="el_class">com.google.common.base.Equivalence</span></td><td><code>f07c09091655f8e9</code></td></tr><tr><td><span class="el_class">com.google.common.base.Equivalence.Equals</span></td><td><code>412c831f4d773835</code></td></tr><tr><td><span class="el_class">com.google.common.base.Equivalence.Identity</span></td><td><code>647f8ceae872661d</code></td></tr><tr><td><span class="el_class">com.google.common.base.Joiner</span></td><td><code>0bd002a70ee2699d</code></td></tr><tr><td><span class="el_class">com.google.common.base.Joiner.1</span></td><td><code>4a0e8f33b9a034af</code></td></tr><tr><td><span class="el_class">com.google.common.base.Joiner.MapJoiner</span></td><td><code>40bc5fd74db3f8ad</code></td></tr><tr><td><span class="el_class">com.google.common.base.MoreObjects</span></td><td><code>18ea4cd683b53c87</code></td></tr><tr><td><span class="el_class">com.google.common.base.Objects</span></td><td><code>f4a5661ec90f8024</code></td></tr><tr><td><span class="el_class">com.google.common.base.Platform</span></td><td><code>5f9c0deec1877e6b</code></td></tr><tr><td><span class="el_class">com.google.common.base.Preconditions</span></td><td><code>246161908abeef7f</code></td></tr><tr><td><span class="el_class">com.google.common.base.Stopwatch</span></td><td><code>e1e3f95dc6dd86a3</code></td></tr><tr><td><span class="el_class">com.google.common.base.Suppliers</span></td><td><code>8397ed77841636a7</code></td></tr><tr><td><span class="el_class">com.google.common.base.Suppliers.MemoizingSupplier</span></td><td><code>fe3fdb3940841b54</code></td></tr><tr><td><span class="el_class">com.google.common.base.Suppliers.SupplierOfInstance</span></td><td><code>1a7c7185715847f6</code></td></tr><tr><td><span class="el_class">com.google.common.base.Ticker</span></td><td><code>25d75af21f8ca064</code></td></tr><tr><td><span class="el_class">com.google.common.base.Ticker.1</span></td><td><code>5b50ca3853d1c372</code></td></tr><tr><td><span class="el_class">com.google.common.cache.CacheBuilder</span></td><td><code>f1660a9ba59d92d2</code></td></tr><tr><td><span class="el_class">com.google.common.cache.CacheBuilder.1</span></td><td><code>a2adbc974fe4e89e</code></td></tr><tr><td><span class="el_class">com.google.common.cache.CacheBuilder.2</span></td><td><code>ea96fc27e9acf655</code></td></tr><tr><td><span class="el_class">com.google.common.cache.CacheBuilder.3</span></td><td><code>2ad66707bd30eb5b</code></td></tr><tr><td><span class="el_class">com.google.common.cache.CacheBuilder.NullListener</span></td><td><code>8134c452c4b37d0f</code></td></tr><tr><td><span class="el_class">com.google.common.cache.CacheBuilder.OneWeigher</span></td><td><code>67335815a6b56c5a</code></td></tr><tr><td><span class="el_class">com.google.common.cache.CacheLoader</span></td><td><code>9cf1d77aaeecb5bf</code></td></tr><tr><td><span class="el_class">com.google.common.cache.CacheStats</span></td><td><code>94361afc387116f0</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache</span></td><td><code>191f6de5d591ff25</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.1</span></td><td><code>d20f9801fbdfe953</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.2</span></td><td><code>c6bdd5aaf1cadfb1</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.AbstractReferenceEntry</span></td><td><code>3da43ff057fa0bdb</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.EntryFactory</span></td><td><code>1aafee82bf90cd26</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.EntryFactory.1</span></td><td><code>997ae8adc1f4da7f</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.EntryFactory.2</span></td><td><code>d022500cd08b145a</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.EntryFactory.3</span></td><td><code>edc27614a9df2e1a</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.EntryFactory.4</span></td><td><code>906e162de1b8ef07</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.EntryFactory.5</span></td><td><code>81066f3ba4378983</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.EntryFactory.6</span></td><td><code>5a7bcfa9d5fc5f7d</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.EntryFactory.7</span></td><td><code>b6687467a411db85</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.EntryFactory.8</span></td><td><code>d5f3fbdccd1574e5</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.LoadingValueReference</span></td><td><code>ca45a0cbb8854757</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.LocalLoadingCache</span></td><td><code>10376c0f74711e65</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.LocalManualCache</span></td><td><code>670381361b448ea4</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.Segment</span></td><td><code>b75c47fcbc21436b</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.Strength</span></td><td><code>17ce38b85476b4de</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.Strength.1</span></td><td><code>902a24f2d2534b07</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.Strength.2</span></td><td><code>b81dd62f432c3ea1</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.Strength.3</span></td><td><code>a55f8b8a14b71288</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.StrongEntry</span></td><td><code>c583abb3608d08d0</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.StrongValueReference</span></td><td><code>44e770e2ef250b59</code></td></tr><tr><td><span class="el_class">com.google.common.cache.LocalCache.WeakEntry</span></td><td><code>0f73f7d28d0ab82b</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractIndexedListIterator</span></td><td><code>f9e8989cf82a86b6</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractListMultimap</span></td><td><code>2363897e56db87a9</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMapBasedMultimap</span></td><td><code>f87d9ff2fd83e020</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMapBasedMultimap.AsMap</span></td><td><code>326d6747fb7b43d5</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMapBasedMultimap.AsMap.AsMapEntries</span></td><td><code>34ddb1f63f6ed3ba</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMapBasedMultimap.AsMap.AsMapIterator</span></td><td><code>5dec6aacb168ebb8</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMapBasedMultimap.RandomAccessWrappedList</span></td><td><code>df5a45cf05d17a9f</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMapBasedMultimap.WrappedCollection</span></td><td><code>02a87cba20cac43f</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMapBasedMultimap.WrappedCollection.WrappedIterator</span></td><td><code>c95ace5c2d2b86e7</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMapBasedMultimap.WrappedList</span></td><td><code>9f54740d418f72c7</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMapEntry</span></td><td><code>077cc4d433e54ed6</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractMultimap</span></td><td><code>bc7c82dc2e3fa194</code></td></tr><tr><td><span class="el_class">com.google.common.collect.AbstractSetMultimap</span></td><td><code>039aab02ef3cd1e0</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ArrayListMultimap</span></td><td><code>d02164b3da92de06</code></td></tr><tr><td><span class="el_class">com.google.common.collect.CollectPreconditions</span></td><td><code>c288d77ae2b2a2e3</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Collections2</span></td><td><code>f395392763fa15c8</code></td></tr><tr><td><span class="el_class">com.google.common.collect.EmptyImmutableSet</span></td><td><code>962d3458a406b859</code></td></tr><tr><td><span class="el_class">com.google.common.collect.FluentIterable</span></td><td><code>4c979d362325cdfe</code></td></tr><tr><td><span class="el_class">com.google.common.collect.GenericMapMaker</span></td><td><code>b1836e54be006603</code></td></tr><tr><td><span class="el_class">com.google.common.collect.HashMultimap</span></td><td><code>a2102bdd87c1d493</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Hashing</span></td><td><code>a5aad0748d560e9b</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableBiMap</span></td><td><code>086cfaa6be5f409d</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableCollection</span></td><td><code>50c34fd19d86a41a</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableCollection.ArrayBasedBuilder</span></td><td><code>d612332db542d0a0</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableCollection.Builder</span></td><td><code>7d98fbec6e698b0c</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableEntry</span></td><td><code>4755968f33c5dbcc</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableList</span></td><td><code>fe7d6d76a1b46dda</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableList.Builder</span></td><td><code>4773610851157856</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableListMultimap</span></td><td><code>a7be92e1879cd179</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableMap</span></td><td><code>41e9336d3fc93be6</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableMap.Builder</span></td><td><code>06ffa34df04658eb</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableMapEntry</span></td><td><code>b011ffdc7d28a60f</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableMapEntry.TerminalEntry</span></td><td><code>e935b4aaed1e9b22</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableMultimap</span></td><td><code>7ca567e1d598d98e</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableMultimap.Builder</span></td><td><code>5dc376a6adc2dc20</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableMultimap.BuilderMultimap</span></td><td><code>e3523a1f47557e5f</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableSet</span></td><td><code>dec80b4b555693fa</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ImmutableSet.Builder</span></td><td><code>107ef19b899efd4b</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Iterables</span></td><td><code>42aa523df6efa38d</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Iterables.2</span></td><td><code>eeb9ce30fd0e4438</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Iterables.3</span></td><td><code>a810fa6703bb070a</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Iterators</span></td><td><code>098dd219f760d115</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Iterators.1</span></td><td><code>0380884e0a6c97c3</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Iterators.11</span></td><td><code>8a96953dc0a5e1d0</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Iterators.12</span></td><td><code>142a6a00139da565</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Iterators.2</span></td><td><code>db60acb97a0f22ed</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Iterators.5</span></td><td><code>51c6ea7e40c79f70</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ListMultimap.asMap</span></td><td><code>7641fe498ec5007c</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Lists</span></td><td><code>c2dabaaa01948d95</code></td></tr><tr><td><span class="el_class">com.google.common.collect.MapMaker</span></td><td><code>a61a17ead3c41656</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Maps</span></td><td><code>f18a00d4e29f1e95</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Maps.EntrySet</span></td><td><code>b7cec16fa822e215</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Maps.ImprovedAbstractMap</span></td><td><code>37c8d93a5600135f</code></td></tr><tr><td><span class="el_class">com.google.common.collect.ObjectArrays</span></td><td><code>5cfab90c60dac3b6</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Platform</span></td><td><code>e67789390e091788</code></td></tr><tr><td><span class="el_class">com.google.common.collect.RegularImmutableList</span></td><td><code>651459bc8679db41</code></td></tr><tr><td><span class="el_class">com.google.common.collect.RegularImmutableMap</span></td><td><code>aac4a5a18756a0a4</code></td></tr><tr><td><span class="el_class">com.google.common.collect.RegularImmutableMap.NonTerminalMapEntry</span></td><td><code>11cded19acc83320</code></td></tr><tr><td><span class="el_class">com.google.common.collect.RegularImmutableSet</span></td><td><code>d13930495f7cd7e3</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Sets</span></td><td><code>0c87b8bdba277e94</code></td></tr><tr><td><span class="el_class">com.google.common.collect.Sets.ImprovedAbstractSet</span></td><td><code>b23369af6d794cdc</code></td></tr><tr><td><span class="el_class">com.google.common.collect.SingletonImmutableBiMap</span></td><td><code>1616e7be739fed34</code></td></tr><tr><td><span class="el_class">com.google.common.collect.SingletonImmutableList</span></td><td><code>061e007492d55731</code></td></tr><tr><td><span class="el_class">com.google.common.collect.SingletonImmutableSet</span></td><td><code>60fb89970339f5c1</code></td></tr><tr><td><span class="el_class">com.google.common.collect.TransformedIterator</span></td><td><code>720545f5b1349950</code></td></tr><tr><td><span class="el_class">com.google.common.collect.UnmodifiableIterator</span></td><td><code>951e39c223c816e6</code></td></tr><tr><td><span class="el_class">com.google.common.collect.UnmodifiableListIterator</span></td><td><code>9373caaa0fb7ca46</code></td></tr><tr><td><span class="el_class">com.google.common.util.concurrent.AbstractFuture</span></td><td><code>fda5bc45e7aa7164</code></td></tr><tr><td><span class="el_class">com.google.common.util.concurrent.AbstractFuture.Sync</span></td><td><code>8f6950346178a7e9</code></td></tr><tr><td><span class="el_class">com.google.common.util.concurrent.ExecutionList</span></td><td><code>edf0d81fe05f017c</code></td></tr><tr><td><span class="el_class">com.google.common.util.concurrent.SettableFuture</span></td><td><code>0882681f4eb956d2</code></td></tr><tr><td><span class="el_class">com.google.common.util.concurrent.Uninterruptibles</span></td><td><code>87e1f0ea8dd85db0</code></td></tr><tr><td><span class="el_class">com.google.inject.AbstractModule</span></td><td><code>ca3503975a4cac31</code></td></tr><tr><td><span class="el_class">com.google.inject.Guice</span></td><td><code>3b387b0ca6da265f</code></td></tr><tr><td><span class="el_class">com.google.inject.Key</span></td><td><code>d6df2cd909f470a8</code></td></tr><tr><td><span class="el_class">com.google.inject.Key.1</span></td><td><code>9770445645d0e0f0</code></td></tr><tr><td><span class="el_class">com.google.inject.Key.AnnotationInstanceStrategy</span></td><td><code>781bc8a417a7d003</code></td></tr><tr><td><span class="el_class">com.google.inject.Key.AnnotationTypeStrategy</span></td><td><code>aeab8fdb426440e0</code></td></tr><tr><td><span class="el_class">com.google.inject.Key.NullAnnotationStrategy</span></td><td><code>4204fd635b68bc13</code></td></tr><tr><td><span class="el_class">com.google.inject.Scopes</span></td><td><code>dc85c5d7a94e02e8</code></td></tr><tr><td><span class="el_class">com.google.inject.Scopes.1</span></td><td><code>4edd79f5160c9b2a</code></td></tr><tr><td><span class="el_class">com.google.inject.Scopes.1.1</span></td><td><code>80401e419d4b7cb0</code></td></tr><tr><td><span class="el_class">com.google.inject.Scopes.2</span></td><td><code>5c0fe67e8187853f</code></td></tr><tr><td><span class="el_class">com.google.inject.Scopes.3</span></td><td><code>3fb5a9ce9247e79d</code></td></tr><tr><td><span class="el_class">com.google.inject.Stage</span></td><td><code>f2372251e265ea46</code></td></tr><tr><td><span class="el_class">com.google.inject.TypeLiteral</span></td><td><code>0d53252f4a1d3d36</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.AbstractBindingBuilder</span></td><td><code>d33378053db9c07c</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.AbstractBindingProcessor</span></td><td><code>6fe29cd7acf916a8</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.AbstractBindingProcessor.Processor</span></td><td><code>b8fa04d3b6b34bb4</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.AbstractBindingProcessor.Processor.1</span></td><td><code>a106b21aa01e88ea</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.AbstractProcessor</span></td><td><code>222e38faf6f71a8f</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Annotations</span></td><td><code>7477a9fb47fef945</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Annotations.1</span></td><td><code>b7b2977ae1f0e87e</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Annotations.3</span></td><td><code>39ca8d865024c860</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Annotations.AnnotationChecker</span></td><td><code>1253eb7b24b09658</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Annotations.AnnotationChecker.1</span></td><td><code>ae637ae3d0a29fe6</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.BindingBuilder</span></td><td><code>b5e73d452173efcd</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.BindingImpl</span></td><td><code>6387bfdfcac86f44</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.BindingProcessor</span></td><td><code>f5b1f6e6d2ea8c9d</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.BindingProcessor.1</span></td><td><code>50f4ad5ab1d66336</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.BoundProviderFactory</span></td><td><code>7653f92b4b8099ac</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ConstantFactory</span></td><td><code>ce5c82d37cb89c52</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ConstructionContext</span></td><td><code>997e4e66e1b6ad90</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ConstructorBindingImpl</span></td><td><code>6ce459268a7ce071</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ConstructorBindingImpl.Factory</span></td><td><code>57064e4dc7562243</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ConstructorInjector</span></td><td><code>470b2400a982559c</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ConstructorInjector.1</span></td><td><code>e52b4e90711cd4b2</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ConstructorInjectorStore</span></td><td><code>2bb59d99b29b84c6</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ConstructorInjectorStore.1</span></td><td><code>3ecba3a3d5c5cde9</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.DefaultConstructionProxyFactory</span></td><td><code>60c02c3ad8002ca0</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.DefaultConstructionProxyFactory.1</span></td><td><code>366456473bd89416</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.DeferredLookups</span></td><td><code>4fb05040a5055a3d</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.EncounterImpl</span></td><td><code>551bd2bd3cb0cf1a</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Errors</span></td><td><code>1edf18f845b7d36b</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Errors.2</span></td><td><code>ded14295d2c06d00</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Errors.3</span></td><td><code>d82c1f7dbf620b48</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Errors.4</span></td><td><code>4b150a8d1b9e7aff</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Errors.Converter</span></td><td><code>c0be48d65465252a</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.FactoryProxy</span></td><td><code>7e35a0c9401ba3af</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.FailableCache</span></td><td><code>63e97bf82b5f4cff</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.FailableCache.1</span></td><td><code>4319186c32a1255d</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InheritingState</span></td><td><code>514667adc0b39ee4</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Initializables</span></td><td><code>474038060479dbfe</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Initializables.1</span></td><td><code>bdf7d5fe09191017</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Initializer</span></td><td><code>da06c01982d17740</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Initializer.InjectableReference</span></td><td><code>4513782bb065e50e</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectionRequestProcessor</span></td><td><code>052cda46a8db73df</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorImpl</span></td><td><code>8f9e836f77b700d0</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorImpl.1</span></td><td><code>9b8e9b6387e45dff</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorImpl.2</span></td><td><code>c1e8a59b33fa2c53</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorImpl.2.1</span></td><td><code>61b8a95cbc105c42</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorImpl.BindingsMultimap</span></td><td><code>e25770bcd1631962</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorImpl.InjectorOptions</span></td><td><code>2221d3b08a15c339</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorImpl.JitLimitation</span></td><td><code>ffe257fc7afde44d</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorImpl.ProviderBindingImpl</span></td><td><code>22494140e6703f5a</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorImpl.ProviderBindingImpl.1</span></td><td><code>3033d6071c20ce54</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorOptionsProcessor</span></td><td><code>4bc13ae37c60e773</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorShell</span></td><td><code>34af46f45093f0f1</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorShell.Builder</span></td><td><code>40c919d9d2d406cd</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorShell.InjectorFactory</span></td><td><code>a0087b2b78ba50db</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorShell.LoggerFactory</span></td><td><code>f15ce8be73456ec4</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorShell.RootModule</span></td><td><code>84655aef1671d644</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InjectorShell.SLF4JLoggerFactory</span></td><td><code>f00b6376d14f7cd3</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InstanceBindingImpl</span></td><td><code>441b8dd4e4ec6be3</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InternalContext</span></td><td><code>72bfb1e91b666b48</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InternalFactoryToInitializableAdapter</span></td><td><code>276830b2d2ba591e</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InternalFactoryToProviderAdapter</span></td><td><code>db17e85cf2e12641</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InternalFlags</span></td><td><code>c98b79a277c3f354</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InternalFlags.IncludeStackTraceOption</span></td><td><code>8f5186e0f567f92a</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InternalInjectorCreator</span></td><td><code>4b5ea820da9d906f</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.InternalInjectorCreator.1</span></td><td><code>e343fa1b4d89a131</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.LinkedBindingImpl</span></td><td><code>d3063740c1243552</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.LinkedProviderBindingImpl</span></td><td><code>4eb910e633bb5dd6</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ListenerBindingProcessor</span></td><td><code>3240f9991d6ad572</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.LookupProcessor</span></td><td><code>b92a316cbecc98fe</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MembersInjectorImpl</span></td><td><code>87c5173ca241eb20</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MembersInjectorImpl.1</span></td><td><code>09cd34e66ebaa46b</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MembersInjectorImpl.1.1</span></td><td><code>dd953a74815125b0</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MembersInjectorStore</span></td><td><code>d41e48c4b0e0d3f0</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MembersInjectorStore.1</span></td><td><code>e7243b2d094d01b4</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MessageProcessor</span></td><td><code>6b7f0d27e00d728b</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MoreTypes</span></td><td><code>20402d193f1d6146</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MoreTypes.GenericArrayTypeImpl</span></td><td><code>6b0fc939747b6c78</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MoreTypes.ParameterizedTypeImpl</span></td><td><code>bc3a73e34d8beb4d</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.MoreTypes.WildcardTypeImpl</span></td><td><code>bf66aae1f92d2b45</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Nullability</span></td><td><code>6d2c02900761802d</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.PrivateElementProcessor</span></td><td><code>8f2b55be2ac4d30a</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProcessedBindingData</span></td><td><code>b5f2385523fd11d2</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProviderInstanceBindingImpl</span></td><td><code>40a14f4553a03f01</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProviderInternalFactory</span></td><td><code>0308559c2458639b</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProviderInternalFactory.1</span></td><td><code>acbf6469d81943f2</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProviderMethodsModule</span></td><td><code>cc11b54811b89a72</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProviderMethodsModule.Signature</span></td><td><code>864086fdadb903c9</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProviderToInternalFactoryAdapter</span></td><td><code>2baf06d3b9c78290</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProviderToInternalFactoryAdapter.1</span></td><td><code>9f3883d68e056d5d</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProvisionListenerCallbackStore</span></td><td><code>21f80d4718f5db29</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProvisionListenerCallbackStore.1</span></td><td><code>e2efefcc29a8e206</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProvisionListenerCallbackStore.KeyBinding</span></td><td><code>fa2dc35e91e3eb41</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProvisionListenerStackCallback</span></td><td><code>b2f08b4dd40f0284</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ProvisionListenerStackCallback.Provision</span></td><td><code>6072eb42097b4aae</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.ScopeBindingProcessor</span></td><td><code>12cbf39d484ef75c</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Scoping</span></td><td><code>b4ec185403aa3ac8</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Scoping.1</span></td><td><code>91b7d289dc6ba179</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Scoping.2</span></td><td><code>6c96a3a6bd447073</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Scoping.3</span></td><td><code>fad75cc44a07f8af</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Scoping.4</span></td><td><code>14a9aa6a70229b4a</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Scoping.5</span></td><td><code>90eefc428b9902fb</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.Scoping.6</span></td><td><code>e92b4281c35261a9</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.SingleFieldInjector</span></td><td><code>4ede6fdd2d514621</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.SingleMethodInjector</span></td><td><code>0e67018e9763a843</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.SingleMethodInjector.1</span></td><td><code>d7a516def93f0561</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.SingleParameterInjector</span></td><td><code>9665ecd3d35adc3d</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.State</span></td><td><code>c745f0ffe10c7490</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.State.1</span></td><td><code>7b5ae133af31351c</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.TypeConverterBindingProcessor</span></td><td><code>ca1698932593ee5d</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.TypeConverterBindingProcessor.1</span></td><td><code>e7f6178e1893b5bd</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.TypeConverterBindingProcessor.2</span></td><td><code>cfb3471af532ce44</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.TypeConverterBindingProcessor.3</span></td><td><code>83671198dec411c0</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.TypeConverterBindingProcessor.4</span></td><td><code>e6c657bc58dc1dad</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.TypeConverterBindingProcessor.5</span></td><td><code>b072f10504c33b57</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.TypeConverterBindingProcessor.6</span></td><td><code>3d6c329d0da395ae</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.UntargettedBindingImpl</span></td><td><code>5676acea1beeae57</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.UntargettedBindingProcessor</span></td><td><code>a5f32eae2d07bb42</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.UntargettedBindingProcessor.1</span></td><td><code>1928543ccd6929c4</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.WeakKeySet</span></td><td><code>d940537a575989f2</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.WeakKeySet.1</span></td><td><code>10c9d49dff015b09</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.util.Classes</span></td><td><code>23715e7591f1f6ff</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.util.SourceProvider</span></td><td><code>0fcebaf9502bfa7a</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.util.StackTraceElements</span></td><td><code>0ebe540211f26a45</code></td></tr><tr><td><span class="el_class">com.google.inject.internal.util.Stopwatch</span></td><td><code>516206e081f29525</code></td></tr><tr><td><span class="el_class">com.google.inject.matcher.AbstractMatcher</span></td><td><code>1932d985c3857427</code></td></tr><tr><td><span class="el_class">com.google.inject.matcher.Matchers</span></td><td><code>a160c61887827fd4</code></td></tr><tr><td><span class="el_class">com.google.inject.matcher.Matchers.Any</span></td><td><code>7435a6ae33c9641e</code></td></tr><tr><td><span class="el_class">com.google.inject.matcher.Matchers.IdenticalTo</span></td><td><code>ff6e516d3cc09471</code></td></tr><tr><td><span class="el_class">com.google.inject.matcher.Matchers.Only</span></td><td><code>e41b141b45b4a369</code></td></tr><tr><td><span class="el_class">com.google.inject.matcher.Matchers.SubclassesOf</span></td><td><code>653b6a36223d19e8</code></td></tr><tr><td><span class="el_class">com.google.inject.name.NamedImpl</span></td><td><code>54862cd90e77fa29</code></td></tr><tr><td><span class="el_class">com.google.inject.name.Names</span></td><td><code>3067b84218034520</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.DefaultBindingTargetVisitor</span></td><td><code>fe1176b855562ad6</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.DefaultElementVisitor</span></td><td><code>be219d13229c86b2</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.Dependency</span></td><td><code>ee22e1ca189971a0</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.ElementSource</span></td><td><code>79d89bf3930ffbe9</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.Elements</span></td><td><code>80caae85bc53701c</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.Elements.1</span></td><td><code>32bb6aa2821c7ba1</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.Elements.RecordingBinder</span></td><td><code>ffa99f80487d261b</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.InjectionPoint</span></td><td><code>fa7dc8cd8d22e5e2</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.InjectionPoint.InjectableField</span></td><td><code>4cc388fb7047da34</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.InjectionPoint.InjectableMember</span></td><td><code>7a5f33134d17c4cf</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.InjectionPoint.InjectableMembers</span></td><td><code>7295a91d8d2ea5a3</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.InjectionPoint.InjectableMethod</span></td><td><code>016a21434709e3cd</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.InjectionPoint.OverrideIndex</span></td><td><code>7f14e81e6a7073d3</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.InjectionPoint.Position</span></td><td><code>50a79f8daf31f0d6</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.InjectionRequest</span></td><td><code>e58cc4cb659fb422</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.ModuleSource</span></td><td><code>b7b15b3593fd4889</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.ProviderLookup</span></td><td><code>766bbd342466da07</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.ProviderLookup.1</span></td><td><code>e13497401bc5de37</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.ProvisionListener.ProvisionInvocation</span></td><td><code>2a09fbb744f7e500</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.ProvisionListenerBinding</span></td><td><code>a801ae342301a29d</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.ScopeBinding</span></td><td><code>2ff65dbf848e7a34</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.TypeConverterBinding</span></td><td><code>8e2fe98d090189ad</code></td></tr><tr><td><span class="el_class">com.google.inject.spi.TypeListenerBinding</span></td><td><code>d88ddc8c27efefbc</code></td></tr><tr><td><span class="el_class">com.google.inject.util.Modules</span></td><td><code>9b92694da94f309c</code></td></tr><tr><td><span class="el_class">com.google.inject.util.Modules.EmptyModule</span></td><td><code>b9d1d75a30d67bd7</code></td></tr><tr><td><span class="el_class">com.google.inject.util.Providers</span></td><td><code>86125fca53a9b46d</code></td></tr><tr><td><span class="el_class">com.google.inject.util.Providers.ConstantProvider</span></td><td><code>da6b5b3e32e44a41</code></td></tr><tr><td><span class="el_class">com.google.inject.util.Types</span></td><td><code>4c1ebd720c6541ce</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.Configuration</span></td><td><code>fdfdf4c771b2efd4</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.Configuration.ConfigurationBuilder</span></td><td><code>f52b0faae2d1a518</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.JsonPath</span></td><td><code>0f944dab0ef13b0c</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.Option</span></td><td><code>ffceb1749c64578b</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.internal.DefaultsImpl</span></td><td><code>14191ee4a43a8236</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.internal.JsonContext</span></td><td><code>7e9d12faf35b05b8</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.internal.Utils</span></td><td><code>a5127932f36e9ed2</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.json.AbstractJsonProvider</span></td><td><code>bd6a27811f1d2037</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.json.JsonSmartJsonProvider</span></td><td><code>4e7957a27cdf8de4</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider</span></td><td><code>a089160a47ef7f47</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider.1</span></td><td><code>76c11f0860c4c0cd</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider.BigDecimalReader</span></td><td><code>681c051a6111daf0</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider.DateReader</span></td><td><code>53fed090e95d02e1</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider.DoubleReader</span></td><td><code>8d7fe2d3f3b3447f</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider.FloatReader</span></td><td><code>a62d93212df947d8</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider.IntegerReader</span></td><td><code>b59cf6e2b5340bc3</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider.LongReader</span></td><td><code>5f0a725e32cdc25f</code></td></tr><tr><td><span class="el_class">com.jayway.jsonpath.spi.mapper.JsonSmartMappingProvider.StringReader</span></td><td><code>1904e5fcd71d08d1</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.FieldAssertion</span></td><td><code>5e7ee3fb87ce0193</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.IteratingOverArray.isAssertingAValueInArray</span></td><td><code>f6b9e42a17730daf</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.JsonAsserter</span></td><td><code>4f5c9973179a9bf0</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.JsonAsserterConfiguration</span></td><td><code>59b77db03c737a5c</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.JsonAssertion</span></td><td><code>cf1bc5652f4f1c58</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.JsonAssertion.assertThat</span></td><td><code>75a0b20274091e51</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.JsonVerifiable.jsonPath.0</span></td><td><code>4087b6fed6392c95</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.JsonVerifiable.withoutThrowingException</span></td><td><code>4abab5427e06ecc5</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.NamelessArrayHavingFieldAssertion</span></td><td><code>11281d0c5cc7332b</code></td></tr><tr><td><span class="el_class">com.toomuchcoding.jsonassert.ReadyToCheckAsserter</span></td><td><code>9dee44314fd56861</code></td></tr><tr><td><span class="el_class">groovy.grape.GrabAnnotationTransformation</span></td><td><code>07ee91221cd00f7b</code></td></tr><tr><td><span class="el_class">groovy.json.JsonException</span></td><td><code>11182c7a98aaf580</code></td></tr><tr><td><span class="el_class">groovy.json.JsonOutput</span></td><td><code>fb4971688caca005</code></td></tr><tr><td><span class="el_class">groovy.json.JsonOutput.toJson</span></td><td><code>01dfe9ff819ce313</code></td></tr><tr><td><span class="el_class">groovy.json.JsonOutput.toJson.0</span></td><td><code>62c220c409f1c155</code></td></tr><tr><td><span class="el_class">groovy.json.JsonParserType</span></td><td><code>bec0347c677dabb8</code></td></tr><tr><td><span class="el_class">groovy.json.JsonSlurper</span></td><td><code>d5a4d44a5992d420</code></td></tr><tr><td><span class="el_class">groovy.json.JsonSlurper.1</span></td><td><code>315d4c139571d676</code></td></tr><tr><td><span class="el_class">groovy.json.JsonSlurper.parseText</span></td><td><code>98cc488a78a9e2ae</code></td></tr><tr><td><span class="el_class">groovy.json.StringEscapeUtils</span></td><td><code>a0005c57cc4e4359</code></td></tr><tr><td><span class="el_class">groovy.json.StringEscapeUtils.escapeJava.0</span></td><td><code>18e58b6539cac9c0</code></td></tr><tr><td><span class="el_class">groovy.json.StringEscapeUtils.unescapeJavaScript</span></td><td><code>0b21e0db8361d2b9</code></td></tr><tr><td><span class="el_class">groovy.json.internal.BaseJsonParser</span></td><td><code>25077a55021a083e</code></td></tr><tr><td><span class="el_class">groovy.json.internal.CharBuf</span></td><td><code>0769315bf018f217</code></td></tr><tr><td><span class="el_class">groovy.json.internal.CharScanner</span></td><td><code>467e5eb7fd47c1e9</code></td></tr><tr><td><span class="el_class">groovy.json.internal.Chr</span></td><td><code>5e375a20fabcdeb4</code></td></tr><tr><td><span class="el_class">groovy.json.internal.FastStringUtils</span></td><td><code>f8668bd40612c83f</code></td></tr><tr><td><span class="el_class">groovy.json.internal.FastStringUtils.StringImplementation</span></td><td><code>898afc08ec6fc781</code></td></tr><tr><td><span class="el_class">groovy.json.internal.FastStringUtils.StringImplementation.1</span></td><td><code>f5c1e518b2515b79</code></td></tr><tr><td><span class="el_class">groovy.json.internal.FastStringUtils.StringImplementation.2</span></td><td><code>18bc648eef80d2b1</code></td></tr><tr><td><span class="el_class">groovy.json.internal.FastStringUtils.StringImplementation.3</span></td><td><code>7ccd0be5234ef0df</code></td></tr><tr><td><span class="el_class">groovy.json.internal.JsonParserCharArray</span></td><td><code>839614a369d47266</code></td></tr><tr><td><span class="el_class">groovy.json.internal.LazyMap</span></td><td><code>f2058599c6093c13</code></td></tr><tr><td><span class="el_class">groovy.json.internal.Sys</span></td><td><code>c02d13b8e9e8d124</code></td></tr><tr><td><span class="el_class">groovy.lang.Binding</span></td><td><code>d6f13b13d4f1ae9c</code></td></tr><tr><td><span class="el_class">groovy.lang.Closure</span></td><td><code>7f7dc2faff824998</code></td></tr><tr><td><span class="el_class">groovy.lang.Closure.1</span></td><td><code>249dc1ab920c8ffb</code></td></tr><tr><td><span class="el_class">groovy.lang.GString</span></td><td><code>f5c001a55cac3c62</code></td></tr><tr><td><span class="el_class">groovy.lang.GString.1</span></td><td><code>e86c05cea036b648</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyClassLoader</span></td><td><code>d78af0dfcdb67675</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyClassLoader.1</span></td><td><code>5a059d32a1407a40</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyClassLoader.1.1</span></td><td><code>fdd9e7e9eaaa1384</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyClassLoader.4</span></td><td><code>d9b5d3cf0ec797f5</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyClassLoader.5</span></td><td><code>2ad7c35cfcee95d1</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyClassLoader.ClassCollector</span></td><td><code>24d7b23e64de4cb6</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyClassLoader.InnerLoader</span></td><td><code>ccb837b508638080</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyCodeSource</span></td><td><code>f3557b0d03f9f84d</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyCodeSource.1</span></td><td><code>56c16cb3f364438f</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyObjectSupport</span></td><td><code>b152f70aec12bf4e</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyRuntimeException</span></td><td><code>5a4c590ddc11a589</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyShell</span></td><td><code>8f929abb1738358b</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyShell.1</span></td><td><code>7d7852c818ac304d</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovyShell.5</span></td><td><code>d5efcb54dfb65289</code></td></tr><tr><td><span class="el_class">groovy.lang.GroovySystem</span></td><td><code>bec3534da9e1c7c4</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaArrayLengthProperty</span></td><td><code>79fba590cecd3406</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaBeanProperty</span></td><td><code>e88bc07236d9473d</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl</span></td><td><code>5842a02718035870</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.1</span></td><td><code>80e7c7bf37bed984</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.15</span></td><td><code>b0140c7362dbeb58</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.16</span></td><td><code>e0e319b1272cb830</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.17</span></td><td><code>95941c8ea970ea43</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.1MOPIter</span></td><td><code>c712311b69edae24</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.2</span></td><td><code>34a5d7a03dce45af</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.8</span></td><td><code>8304e4a894c7f0af</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.DummyMetaMethod</span></td><td><code>fcc49420d2ee0f24</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.Index</span></td><td><code>488ebf81b0127a4d</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.MethodIndex</span></td><td><code>29bf6914a66b9b2e</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassImpl.MethodIndexAction</span></td><td><code>f573535663c1df31</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaClassRegistry.MetaClassCreationHandle</span></td><td><code>f8531c9d4b28ba8a</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaMethod</span></td><td><code>e8ca809c7030056e</code></td></tr><tr><td><span class="el_class">groovy.lang.MetaProperty</span></td><td><code>52faf21238838205</code></td></tr><tr><td><span class="el_class">groovy.lang.MissingMethodException</span></td><td><code>1fac87807cb4a8c5</code></td></tr><tr><td><span class="el_class">groovy.lang.Reference</span></td><td><code>049e14e4f4c00818</code></td></tr><tr><td><span class="el_class">groovy.lang.Script</span></td><td><code>6e8188b174954617</code></td></tr><tr><td><span class="el_class">groovy.util.CharsetToolkit</span></td><td><code>737109de74334b3a</code></td></tr><tr><td><span class="el_class">groovy.util.MapEntry</span></td><td><code>ea5f99c9f7b7d3e9</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.ANTLRException</span></td><td><code>a51edf06bde19225</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.ANTLRHashString</span></td><td><code>1412a48f82edfb7d</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.ANTLRStringBuffer</span></td><td><code>329947117fbe91be</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.ASTFactory</span></td><td><code>f2aa8c9b867ba79d</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.ASTPair</span></td><td><code>e18b895a4a382824</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.BaseAST</span></td><td><code>e3322e37e72f5d97</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.CharBuffer</span></td><td><code>86cd39478f431d42</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.CharQueue</span></td><td><code>73b5d12d6df09706</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.CharScanner</span></td><td><code>9a13dc582f1f093d</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.CommonAST</span></td><td><code>e4bdf5748d356afa</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.InputBuffer</span></td><td><code>7c67b9e312c4c983</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.LLkParser</span></td><td><code>6bbe6cecf55878a8</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.LexerSharedInputState</span></td><td><code>1592d29f2c01cff7</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.MismatchedCharException</span></td><td><code>5447ab532a5590f8</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.MismatchedTokenException</span></td><td><code>a7d5efd21ff8251c</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.NoViableAltException</span></td><td><code>50813a860469e4f9</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.Parser</span></td><td><code>8933089dad346c11</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.ParserSharedInputState</span></td><td><code>ec40015946c7c665</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.RecognitionException</span></td><td><code>2eea52a7fb9a1ee3</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.SemanticException</span></td><td><code>07d5cbd15485fdbe</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.Token</span></td><td><code>435cd9c6fe653884</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.TokenBuffer</span></td><td><code>e9b670413aefe18d</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.TokenQueue</span></td><td><code>259b51a4f3a41229</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.Utils</span></td><td><code>1b823c7e1e49b51a</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.collections.impl.ASTArray</span></td><td><code>038f1cf34ba644c4</code></td></tr><tr><td><span class="el_class">groovyjarjarantlr.collections.impl.BitSet</span></td><td><code>984fefb0767c8494</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.ByteVector</span></td><td><code>c08173292fa23375</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.ClassVisitor</span></td><td><code>e12cf50f8525ad52</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.ClassWriter</span></td><td><code>a647b18133b85719</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.Edge</span></td><td><code>b729073112db2d6d</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.FieldVisitor</span></td><td><code>ec9e5a6068b55cf3</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.FieldWriter</span></td><td><code>7eea4de7289a9039</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.Frame</span></td><td><code>2b7a2ffca4ef8df0</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.Handler</span></td><td><code>fd3caa71d4c46704</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.Item</span></td><td><code>f374d04cf13143f7</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.Label</span></td><td><code>be8f5d3ebb1192ae</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.MethodVisitor</span></td><td><code>c481ebfea924f98f</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.MethodWriter</span></td><td><code>30dc2e9c651bd3d5</code></td></tr><tr><td><span class="el_class">groovyjarjarasm.asm.Type</span></td><td><code>ef500b1e0aa9349a</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.Maven30xRuntime</span></td><td><code>cbcca12c3a225ff8</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.Maven311Runtime</span></td><td><code>21ad01de2b9378c6</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.Maven321Runtime</span></td><td><code>f8a76447bc6eee31</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.Maven325Runtime</span></td><td><code>d886be29d4835965</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.TestMavenRuntime</span></td><td><code>dab8a1a9084dee20</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.TestMavenRuntime.1</span></td><td><code>c8e9a4f70e00b198</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.TestMavenRuntime.2</span></td><td><code>9b8313e28b094ffd</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.TestMavenRuntime.3</span></td><td><code>8dd1308d39057370</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.TestMavenRuntime.4</span></td><td><code>73f1e6f12ea9888f</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.TestMavenRuntime.5</span></td><td><code>e60325b444af0e31</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.TestMavenRuntime.6</span></td><td><code>db76a20233be5076</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.TestProperties</span></td><td><code>bd8b58cba824344c</code></td></tr><tr><td><span class="el_class">io.takari.maven.testing.TestResources</span></td><td><code>363619e1bcd4c749</code></td></tr><tr><td><span class="el_class">javax.annotation.meta.When</span></td><td><code>7f00808554248c49</code></td></tr><tr><td><span class="el_class">net.minidev.json.JSONStyle</span></td><td><code>279104f8cc80449d</code></td></tr><tr><td><span class="el_class">net.minidev.json.JSONValue</span></td><td><code>a04e442d8109a467</code></td></tr><tr><td><span class="el_class">net.minidev.json.JStylerObj</span></td><td><code>83b32e181f3ac06d</code></td></tr><tr><td><span class="el_class">net.minidev.json.JStylerObj.Escape4Web</span></td><td><code>89c6fd3c4602c3e0</code></td></tr><tr><td><span class="el_class">net.minidev.json.JStylerObj.EscapeLT</span></td><td><code>188425156135a3a0</code></td></tr><tr><td><span class="el_class">net.minidev.json.JStylerObj.MPAgressive</span></td><td><code>6f90410f57f31fb9</code></td></tr><tr><td><span class="el_class">net.minidev.json.JStylerObj.MPSimple</span></td><td><code>9fbda35e8f8a67ea</code></td></tr><tr><td><span class="el_class">net.minidev.json.JStylerObj.MPTrue</span></td><td><code>9d1d4c7c6ee93599</code></td></tr><tr><td><span class="el_class">net.minidev.json.parser.JSONParser</span></td><td><code>0e85b438c73e6848</code></td></tr><tr><td><span class="el_class">net.minidev.json.parser.JSONParserBase</span></td><td><code>4b0f8fc59514f0c7</code></td></tr><tr><td><span class="el_class">net.minidev.json.parser.JSONParserBase.MSB</span></td><td><code>57964e9b0c1c9bd5</code></td></tr><tr><td><span class="el_class">net.minidev.json.parser.JSONParserMemory</span></td><td><code>09df7b32d81814c9</code></td></tr><tr><td><span class="el_class">net.minidev.json.parser.JSONParserString</span></td><td><code>4b904ac9ddc089ac</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.ArrayWriter</span></td><td><code>fe179dde916df724</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.BeansWriter</span></td><td><code>3342849a6d8b02e0</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.BeansWriterASM</span></td><td><code>1d5a0d55fd832bd5</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter</span></td><td><code>4d8d62a6f85dc3b9</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.1</span></td><td><code>c210eb9ed2a6ed71</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.10</span></td><td><code>18d1543370c46d69</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.11</span></td><td><code>e7815053dab7fd22</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.12</span></td><td><code>9902520881197359</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.13</span></td><td><code>271684a4f279d383</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.14</span></td><td><code>8196de3253a85595</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.15</span></td><td><code>6823e6cdbd10ca39</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.16</span></td><td><code>b91f26b23538eb7a</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.17</span></td><td><code>6d74e9a1c403f691</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.18</span></td><td><code>368018bf2da1f005</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.2</span></td><td><code>67385d4af0b7bab3</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.3</span></td><td><code>42eefdf2168eb933</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.4</span></td><td><code>d9d5cbf33bcd511b</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.5</span></td><td><code>6625c035dca61356</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.6</span></td><td><code>ea16d3ef3e8456c0</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.7</span></td><td><code>2ba9ff826ab216dc</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.8</span></td><td><code>11edd09c6ec5ab8e</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.9</span></td><td><code>7f856af21c9d5005</code></td></tr><tr><td><span class="el_class">net.minidev.json.reader.JsonWriter.WriterByInterface</span></td><td><code>dbb9f047dbb05a10</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper</span></td><td><code>b42a8c9b71ffc260</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.1</span></td><td><code>369f05296c2e5970</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.10</span></td><td><code>899ff71c53aa12dc</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.11</span></td><td><code>a19d7f358aea188f</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.12</span></td><td><code>7b04b25d565de082</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.13</span></td><td><code>c780c964ee44d9c0</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.14</span></td><td><code>3ce8032a165e35c5</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.15</span></td><td><code>a95082834a1ac698</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.16</span></td><td><code>d095907ed1c146df</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.2</span></td><td><code>2777dd19164909a6</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.3</span></td><td><code>bb17e1b62817837a</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.4</span></td><td><code>c526f02a0efa461c</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.5</span></td><td><code>86ab8a265baa23a2</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.6</span></td><td><code>32aa1e1e5538719b</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.7</span></td><td><code>185f51401c9c4455</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.8</span></td><td><code>b248a614865c3479</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.ArraysMapper.9</span></td><td><code>24fd81f963dc769a</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.BeansMapper</span></td><td><code>081b1e58bcbee5e8</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.BeansMapper.1</span></td><td><code>b74d5dc3d6be44dc</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.DefaultMapper</span></td><td><code>ed9bffa8278f3b5a</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.DefaultMapperOrdered</span></td><td><code>259add810cc9602f</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.JsonReader</span></td><td><code>575fcae6fdee09f8</code></td></tr><tr><td><span class="el_class">net.minidev.json.writer.JsonReaderI</span></td><td><code>07f56021bbdd2f0e</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.ArchiveOutputStream</span></td><td><code>d2bbb03c29ac405e</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.AbstractUnicodeExtraField</span></td><td><code>6e8511b518f6fd8b</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.AsiExtraField</span></td><td><code>ce11c7a448a9e0d3</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ExtraFieldUtils</span></td><td><code>a8c727cded066fc6</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.FallbackZipEncoding</span></td><td><code>8fd73e0ef9269728</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.GeneralPurposeBit</span></td><td><code>5034f206ce1e19cd</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.JarMarker</span></td><td><code>a167a636ccf6fe38</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator</span></td><td><code>ff87abc0e799ae60</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator.1</span></td><td><code>1c631d6d968eeac8</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator.2</span></td><td><code>cc4b1c8b4ed73def</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ScatterZipOutputStream</span></td><td><code>aab86f3c480c6646</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ScatterZipOutputStream.CompressedEntry</span></td><td><code>ec107021b15fd330</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.StreamCompressor</span></td><td><code>811b29b690d680c2</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.StreamCompressor.OutputStreamCompressor</span></td><td><code>8abaa0f4040998c5</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.StreamCompressor.ScatterGatherBackingStoreCompressor</span></td><td><code>d24cb57339fda4fa</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.UnicodeCommentExtraField</span></td><td><code>2a58701aa0259996</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.UnicodePathExtraField</span></td><td><code>2b835ea2ada6a7f7</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.X5455_ExtendedTimestamp</span></td><td><code>8d2091b732ef9eaa</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.X7875_NewUnix</span></td><td><code>e11adc0e19ced076</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.Zip64ExtendedInformationExtraField</span></td><td><code>8e86195db41a1d67</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.Zip64Mode</span></td><td><code>b3bdf6f142cade9a</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipArchiveEntry</span></td><td><code>dd2e5200a90b9e83</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipArchiveEntryRequest</span></td><td><code>827086b35b009312</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream</span></td><td><code>71b887eb357c9f42</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.CurrentEntry</span></td><td><code>4e96cf033972e3d6</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.UnicodeExtraFieldPolicy</span></td><td><code>5256633abbc40587</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipEncodingHelper</span></td><td><code>d7326c08346dcabe</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipEncodingHelper.SimpleEncodingHolder</span></td><td><code>64de5e0ddf0c7eba</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipLong</span></td><td><code>d7bb1a2cad999445</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipMethod</span></td><td><code>72a2bfa280c45fa1</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipShort</span></td><td><code>ef87ce4c51801eb2</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.archivers.zip.ZipUtil</span></td><td><code>e253187fbde67148</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.utils.BoundedInputStream</span></td><td><code>e94460a0b8577772</code></td></tr><tr><td><span class="el_class">org.apache.commons.compress.utils.Charsets</span></td><td><code>9ddc92ca67cefaaf</code></td></tr><tr><td><span class="el_class">org.apache.commons.io.input.ClosedInputStream</span></td><td><code>a3b5c6039b36b68a</code></td></tr><tr><td><span class="el_class">org.apache.commons.io.output.ThresholdingOutputStream</span></td><td><code>bb1924e574a4ce60</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.ArrayUtils</span></td><td><code>ea0686b852a914a2</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.StringEscapeUtils</span></td><td><code>d44faef39aa1a262</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.StringEscapeUtils.CsvEscaper</span></td><td><code>845495d46b1bc84c</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.StringEscapeUtils.CsvUnescaper</span></td><td><code>ba8586f7ed5b4d11</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.StringUtils</span></td><td><code>0846497e2832e6b1</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.StringUtils.isBlank</span></td><td><code>2806b5460e49620b</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.Validate</span></td><td><code>97a55d1e6b03bde9</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.AggregateTranslator</span></td><td><code>b4c53c10f2a073fc</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.CharSequenceTranslator</span></td><td><code>13de9c2c0165e9d3</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.CodePointTranslator</span></td><td><code>8d0c33a3d30f9e9d</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.EntityArrays</span></td><td><code>3ffbe3de2452b654</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.JavaUnicodeEscaper</span></td><td><code>b2ad5c98d478d64f</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.LookupTranslator</span></td><td><code>8d33e3d91c7599b9</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.NumericEntityEscaper</span></td><td><code>b4729e83590e3824</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.NumericEntityUnescaper</span></td><td><code>32dd73ee0fe81093</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.NumericEntityUnescaper.OPTION</span></td><td><code>687d69402a0775b7</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.OctalUnescaper</span></td><td><code>15de9c51dc777615</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.UnicodeEscaper</span></td><td><code>eadf1241d7d6d1da</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.UnicodeUnescaper</span></td><td><code>8df6b732900822a5</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang3.text.translate.UnicodeUnpairedSurrogateRemover</span></td><td><code>a86c2408cfdd2153</code></td></tr><tr><td><span class="el_class">org.apache.maven.DefaultArtifactFilterManager</span></td><td><code>e215606c23130308</code></td></tr><tr><td><span class="el_class">org.apache.maven.DefaultMaven</span></td><td><code>aa023905b334cdd4</code></td></tr><tr><td><span class="el_class">org.apache.maven.LoggingRepositoryListener</span></td><td><code>33e7a0da10fc56cb</code></td></tr><tr><td><span class="el_class">org.apache.maven.RepositoryUtils</span></td><td><code>f3c936413ff58342</code></td></tr><tr><td><span class="el_class">org.apache.maven.RepositoryUtils.MavenArtifactTypeRegistry</span></td><td><code>7f3f6e0fcdbccc0e</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.Artifact</span></td><td><code>4a85486c84072db1</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.DefaultArtifact</span></td><td><code>406231b7de03b283</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.factory.DefaultArtifactFactory</span></td><td><code>2f8355f6311b2629</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.handler.DefaultArtifactHandler</span></td><td><code>14622be40009fa66</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager</span></td><td><code>2fc6887cf62086d8</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.repository.ArtifactRepositoryPolicy</span></td><td><code>e12465d3c22bab3d</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.repository.LegacyLocalRepositoryManager</span></td><td><code>9e3454a3c796c6d0</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.repository.MavenArtifactRepository</span></td><td><code>7a76c73f15598507</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout</span></td><td><code>fb6c46841de2f685</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager</span></td><td><code>f84a9fef0d9cf1a3</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.repository.metadata.io.DefaultMetadataReader</span></td><td><code>43dc8635efaafd39</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.resolver.DefaultArtifactCollector</span></td><td><code>a61f7de26ea47fbb</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.resolver.DefaultArtifactResolver</span></td><td><code>a622c3c247f30b62</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.resolver.DefaultArtifactResolver.DaemonThreadCreator</span></td><td><code>1bb60c237be05504</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.resolver.DefaultResolutionErrorHandler</span></td><td><code>edf2915c9cc51cd5</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.versioning.ComparableVersion</span></td><td><code>df082ef2533dc24f</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.versioning.ComparableVersion.IntegerItem</span></td><td><code>358a5b11e8c8d173</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.versioning.ComparableVersion.ListItem</span></td><td><code>810c2b27d647a4cc</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.versioning.ComparableVersion.StringItem</span></td><td><code>20a2ddef72a703be</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.versioning.DefaultArtifactVersion</span></td><td><code>c685bd51c411c0f6</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.versioning.Restriction</span></td><td><code>daea81511469e6e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.artifact.versioning.VersionRange</span></td><td><code>9e6152e35058248d</code></td></tr><tr><td><span class="el_class">org.apache.maven.bridge.MavenRepositorySystem</span></td><td><code>b952ea980b9dc4ae</code></td></tr><tr><td><span class="el_class">org.apache.maven.classrealm.DefaultClassRealmManager</span></td><td><code>0ad0839dca18119c</code></td></tr><tr><td><span class="el_class">org.apache.maven.eventspy.internal.EventSpyDispatcher</span></td><td><code>df3a296ef365715c</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.DefaultMavenExecutionRequest</span></td><td><code>53abb44a7d2b5d11</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.DefaultMavenExecutionRequestPopulator</span></td><td><code>f015c599604a4e7f</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.DefaultMavenExecutionResult</span></td><td><code>872af31f35dc9112</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.MavenSession</span></td><td><code>b0eaa2f199210bdb</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.MojoExecutionEvent</span></td><td><code>a27bdcb1c2399f7a</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.SettingsAdapter</span></td><td><code>b407d311efbd62e4</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.scope.internal.MojoExecutionScope</span></td><td><code>324eed7081b2aec3</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.scope.internal.MojoExecutionScope.1</span></td><td><code>caf13dfac1343e7a</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.scope.internal.MojoExecutionScope.2</span></td><td><code>fe2da188847bb601</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.scope.internal.MojoExecutionScope.ScopeState</span></td><td><code>639aebf0e43e695e</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.scope.internal.MojoExecutionScopeCoreModule</span></td><td><code>e52baae6dff20885</code></td></tr><tr><td><span class="el_class">org.apache.maven.execution.scope.internal.MojoExecutionScopeModule</span></td><td><code>dbd4b5de3f010c9b</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.DefaultLifecycles</span></td><td><code>e91fdc5a87902e15</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.Lifecycle</span></td><td><code>d6b29bd07fd94402</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.BuildListCalculator</span></td><td><code>0f34b4243c9d2ed9</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult</span></td><td><code>2275b1f446263f62</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.DefaultLifecyclePluginAnalyzer</span></td><td><code>58f11ee8be9d3991</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.DefaultLifecyclePluginAnalyzer.1</span></td><td><code>282b79432794c360</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.DefaultLifecyclePluginAnalyzer.GoalSpec</span></td><td><code>5fd96dda25a6c056</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator</span></td><td><code>f1e90e76a6313908</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.LifecycleDebugLogger</span></td><td><code>62bd6f87545345ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.LifecyclePluginResolver</span></td><td><code>10ce0b467d83eaf8</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.LifecycleStarter</span></td><td><code>58666d99f828aaae</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.internal.MojoDescriptorCreator</span></td><td><code>cb9559631c390288</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</span></td><td><code>69c83f295cdb6422</code></td></tr><tr><td><span class="el_class">org.apache.maven.lifecycle.mapping.Lifecycle</span></td><td><code>73e7230f329073c3</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.Activation</span></td><td><code>83ddfbf1ac86ca7d</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.ActivationProperty</span></td><td><code>808187c25ce310c2</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.Build</span></td><td><code>e0cf5a570bfbfb3e</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.BuildBase</span></td><td><code>21d9f24fcc359e55</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.ConfigurationContainer</span></td><td><code>4a70cb7771bb8bcd</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.FileSet</span></td><td><code>58b64af0a46091f6</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.InputLocation</span></td><td><code>551b1fa882e18968</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.InputSource</span></td><td><code>1f91e3059a218951</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.Model</span></td><td><code>5c735c4440b47e81</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.ModelBase</span></td><td><code>ddbe736891094dfa</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.PatternSet</span></td><td><code>21897b6b9e66cff4</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.Plugin</span></td><td><code>1877386dcd323e6f</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.PluginConfiguration</span></td><td><code>e340018c607f9ed1</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.PluginContainer</span></td><td><code>94b3ac607db9c889</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.PluginExecution</span></td><td><code>f89dbed63a84918d</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.PluginManagement</span></td><td><code>69d9305595d18ab7</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.Profile</span></td><td><code>bf51d8594db662d1</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.Reporting</span></td><td><code>2acf58775d6c22fe</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.Repository</span></td><td><code>a9054876e2c6698f</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.RepositoryBase</span></td><td><code>09f1ebd01e445526</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.RepositoryPolicy</span></td><td><code>0f2188129ce3dbb3</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.Resource</span></td><td><code>4e368bd08ab0d1eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.AbstractModelBuildingListener</span></td><td><code>e84b1dd773208f18</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.DefaultModelBuilder</span></td><td><code>d92ebec55c6ef638</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.DefaultModelBuildingEvent</span></td><td><code>2eefe43406f273fc</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.DefaultModelBuildingRequest</span></td><td><code>b0dc3770765abb4f</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.DefaultModelBuildingResult</span></td><td><code>e0409430d440e374</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.DefaultModelProblem</span></td><td><code>84141d1ef902db23</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.DefaultModelProblemCollector</span></td><td><code>1799d74cf8ece685</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.DefaultModelProcessor</span></td><td><code>eb454a85a1f406ac</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.FileModelSource</span></td><td><code>829b44ca36716fd7</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.ModelBuildingEventCatapult</span></td><td><code>434b8928ab754a87</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.ModelBuildingEventCatapult.1</span></td><td><code>c2c48df5963dc6d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.ModelData</span></td><td><code>e89c20eabad97187</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.ModelProblem.Severity</span></td><td><code>1b5c5a842b519188</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.ModelProblem.Version</span></td><td><code>131d658f9dc23861</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.ModelProblemCollectorRequest</span></td><td><code>ea39d44202b9cf38</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.building.ModelProblemUtils</span></td><td><code>12296ccf3d1f05dc</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.composition.DefaultDependencyManagementImporter</span></td><td><code>8ee29b3597ca8da3</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.inheritance.DefaultInheritanceAssembler</span></td><td><code>0119c88a7fc09609</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.inheritance.DefaultInheritanceAssembler.InheritanceModelMerger</span></td><td><code>460e70f59024bb47</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator</span></td><td><code>b6a75280e85376a6</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.1</span></td><td><code>44a1df138e6074e9</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.2</span></td><td><code>dea1afae478f1877</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.3</span></td><td><code>f7915e94c69c69a4</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.BuildTimestampValueSource</span></td><td><code>383c0fb77b7f3c54</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.MavenBuildTimestamp</span></td><td><code>adbd99b874a8d1d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.PathTranslatingPostProcessor</span></td><td><code>65021c11808cfdb8</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.ProblemDetectingValueSource</span></td><td><code>5039eb1cc54a08fe</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.StringSearchModelInterpolator</span></td><td><code>1f3dec180ba8ff00</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.StringSearchModelInterpolator.InterpolateObjectAction</span></td><td><code>8876d7e5bd35aaaa</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.StringSearchModelInterpolator.InterpolateObjectAction.CacheField</span></td><td><code>4b9c4627a0140326</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.StringSearchModelInterpolator.InterpolateObjectAction.CacheItem</span></td><td><code>a85ab2a7f3d307e0</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.StringSearchModelInterpolator.InterpolateObjectAction.ListField</span></td><td><code>0bb5ed9c96947441</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.StringSearchModelInterpolator.InterpolateObjectAction.MapField</span></td><td><code>961d01fc2fd4d3ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.StringSearchModelInterpolator.InterpolateObjectAction.ObjectField</span></td><td><code>45d236603b013493</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.StringSearchModelInterpolator.InterpolateObjectAction.StringField</span></td><td><code>c7a7e634e15eb725</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.interpolation.UrlNormalizingPostProcessor</span></td><td><code>4d320070d00099ac</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.io.DefaultModelReader</span></td><td><code>a85afb8cfeb01416</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.io.xpp3.MavenXpp3Reader</span></td><td><code>577a66113492cdde</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx</span></td><td><code>7fd570952336f756</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.locator.DefaultModelLocator</span></td><td><code>90f63444922ae84e</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.management.DefaultDependencyManagementInjector</span></td><td><code>91b724b6b93f9edb</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.management.DefaultDependencyManagementInjector.ManagementModelMerger</span></td><td><code>2809491d3547777d</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.management.DefaultPluginManagementInjector</span></td><td><code>b9e5c000a3399547</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.management.DefaultPluginManagementInjector.ManagementModelMerger</span></td><td><code>2f47fc0364ec454e</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.merge.MavenModelMerger</span></td><td><code>e481fa0d4218769a</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.merge.ModelMerger</span></td><td><code>2d19dba1adcc328a</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.normalization.DefaultModelNormalizer</span></td><td><code>4919b064a2d0ec45</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.normalization.DefaultModelNormalizer.DuplicateMerger</span></td><td><code>e91634dde7c0b52e</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.path.DefaultModelPathTranslator</span></td><td><code>73d1d1b8692ca3da</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.path.DefaultModelUrlNormalizer</span></td><td><code>22bc1f10a802b73b</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.path.DefaultPathTranslator</span></td><td><code>364d69f938a9e9f2</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.path.DefaultUrlNormalizer</span></td><td><code>e0dbffeb2fa9964e</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.plugin.DefaultLifecycleBindingsInjector</span></td><td><code>ba40b1ec1acd14e2</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.plugin.DefaultLifecycleBindingsInjector.LifecycleBindingsMerger</span></td><td><code>3cbeb0f7ca57c8dd</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.plugin.DefaultPluginConfigurationExpander</span></td><td><code>5c76ef8a895bdba2</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.plugin.DefaultReportConfigurationExpander</span></td><td><code>2158301ba4ab710a</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.plugin.DefaultReportingConverter</span></td><td><code>5317c56abe079040</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.profile.DefaultProfileActivationContext</span></td><td><code>86f1c0613c1762d3</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.profile.DefaultProfileInjector</span></td><td><code>ffcde2eb0d83486c</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.profile.DefaultProfileInjector.ProfileModelMerger</span></td><td><code>052889f67cf8ce14</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.profile.DefaultProfileSelector</span></td><td><code>47a9736432166355</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.profile.activation.FileProfileActivator</span></td><td><code>6075630dfca4e183</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.profile.activation.JdkVersionProfileActivator</span></td><td><code>737ee0c655afc7a6</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.profile.activation.OperatingSystemProfileActivator</span></td><td><code>455c222911ca62f2</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.profile.activation.PropertyProfileActivator</span></td><td><code>0e10cf282bc9f0d9</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.superpom.DefaultSuperPomProvider</span></td><td><code>24baf101fd9d64b9</code></td></tr><tr><td><span class="el_class">org.apache.maven.model.validation.DefaultModelValidator</span></td><td><code>159de71ba821586a</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.AbstractMojo</span></td><td><code>e53d7073eeb68542</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.CompoundMojoExecutionListener</span></td><td><code>1599b44b2e382280</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.DefaultBuildPluginManager</span></td><td><code>547cc0db2c956b92</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.DefaultExtensionRealmCache</span></td><td><code>7889a3e36129adfb</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.DefaultPluginArtifactsCache</span></td><td><code>d5a29017f93f0a99</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.DefaultPluginDescriptorCache</span></td><td><code>e49df3c13497244e</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.DefaultPluginRealmCache</span></td><td><code>28e8ba28259047e1</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.Mojo</span></td><td><code>814301918a88e5b5</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.MojoExecution</span></td><td><code>857bf254f9293786</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.MojoExecution.Source</span></td><td><code>5dd911ce66014eec</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.PluginParameterExpressionEvaluator</span></td><td><code>b5609bf3ee9ed1f3</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.descriptor.MojoDescriptor</span></td><td><code>0635d6b2e5a942df</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.descriptor.Parameter</span></td><td><code>0d27cdaf44b1923b</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.descriptor.PluginDescriptor</span></td><td><code>324ab09b2f2b947b</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.descriptor.PluginDescriptorBuilder</span></td><td><code>569c706dae6305f2</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.internal.DefaultLegacySupport</span></td><td><code>f75ce44c5e3ec7e8</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.internal.DefaultMavenPluginManager</span></td><td><code>507f52d7a50975b1</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver</span></td><td><code>0e39c43e0b42c166</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.logging.SystemStreamLog</span></td><td><code>5e292633f8e94b3d</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.prefix.internal.DefaultPluginPrefixResolver</span></td><td><code>efd6bc231e980a93</code></td></tr><tr><td><span class="el_class">org.apache.maven.plugin.version.internal.DefaultPluginVersionResolver</span></td><td><code>759b36762091230b</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.DefaultMavenProjectHelper</span></td><td><code>69e0631223f423a8</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.DefaultModelBuildingListener</span></td><td><code>0a2ae8801f22c961</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.DefaultProjectBuilder</span></td><td><code>67ed808978d208ff</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.DefaultProjectBuilder.InternalConfig</span></td><td><code>eb4bf2979b60f57c</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.DefaultProjectBuildingHelper</span></td><td><code>b34485817f2c6d46</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.DefaultProjectBuildingRequest</span></td><td><code>91cc08ffda0bfa82</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.DefaultProjectBuildingResult</span></td><td><code>1b54e1c34551749c</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.DefaultProjectDependenciesResolver</span></td><td><code>57a4815a38bd0200</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.DefaultProjectRealmCache</span></td><td><code>e3f3dc7b86c70dae</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.ExtensionDescriptorBuilder</span></td><td><code>7c217c16d1808a75</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.MavenProject</span></td><td><code>f14f775b95c63322</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.ProjectBuildingRequest.RepositoryMerging</span></td><td><code>5564337fcb3a8426</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.ProjectModelResolver</span></td><td><code>0c4d084f5588ea9b</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.ProjectModelResolver.1</span></td><td><code>243eac5a7e624449</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.ProjectRealmCache.CacheRecord</span></td><td><code>c26fc1d3551b629f</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.ReactorModelCache</span></td><td><code>8f0bdafcfe8f550a</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.artifact.AttachedArtifact</span></td><td><code>47787c15ef99c737</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.artifact.DefaultMavenMetadataCache</span></td><td><code>6815a4f252065ede</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.artifact.DefaultMetadataSource</span></td><td><code>3ad55364841ef1b6</code></td></tr><tr><td><span class="el_class">org.apache.maven.project.artifact.MavenMetadataSource</span></td><td><code>bdcd579bbe35b6af</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.DefaultMirrorSelector</span></td><td><code>40f516b4fcbca983</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.RepositorySystem</span></td><td><code>edd3e22de68d8f6a</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.internal.ArtifactDescriptorUtils</span></td><td><code>cc6628834531895a</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.internal.DefaultArtifactDescriptorReader</span></td><td><code>7c7a252ede825ca7</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.internal.DefaultVersionRangeResolver</span></td><td><code>02dcb74fc54827b9</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.internal.DefaultVersionResolver</span></td><td><code>c108ea78aea501ea</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.internal.MavenRepositorySystemUtils</span></td><td><code>862de3ca6036f4f3</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.legacy.DefaultUpdateCheckManager</span></td><td><code>65f23c06e365b29d</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.legacy.DefaultWagonManager</span></td><td><code>57d7edbd27214233</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.legacy.LegacyRepositorySystem</span></td><td><code>ef6a0de81db3f1ac</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.legacy.repository.DefaultArtifactRepositoryFactory</span></td><td><code>b974406a93b51401</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.legacy.resolver.DefaultLegacyArtifactCollector</span></td><td><code>2dcb425fb151f411</code></td></tr><tr><td><span class="el_class">org.apache.maven.repository.legacy.resolver.conflict.NearestConflictResolver</span></td><td><code>f2042ec40b34885d</code></td></tr><tr><td><span class="el_class">org.apache.maven.rtinfo.internal.DefaultRuntimeInformation</span></td><td><code>6dfee2b43688f50c</code></td></tr><tr><td><span class="el_class">org.apache.maven.session.scope.internal.SessionScope</span></td><td><code>f0dc6bf9c3a0a2e0</code></td></tr><tr><td><span class="el_class">org.apache.maven.session.scope.internal.SessionScope.1</span></td><td><code>d739e604c7310a44</code></td></tr><tr><td><span class="el_class">org.apache.maven.session.scope.internal.SessionScope.2</span></td><td><code>212ab9db5ee40ad6</code></td></tr><tr><td><span class="el_class">org.apache.maven.session.scope.internal.SessionScope.ScopeState</span></td><td><code>bf3234013ccc059e</code></td></tr><tr><td><span class="el_class">org.apache.maven.session.scope.internal.SessionScopeModule</span></td><td><code>6065547c318148b4</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.Activation</span></td><td><code>7cfa359e8646fa29</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.IdentifiableBase</span></td><td><code>6636e0acf994bb6f</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.Profile</span></td><td><code>dac57f3d0c249999</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.Repository</span></td><td><code>bc606161e3818912</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.RepositoryBase</span></td><td><code>885e8e5de3b6af03</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.RepositoryPolicy</span></td><td><code>e442f29fd9c9becd</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.RuntimeInfo</span></td><td><code>407939fb44173566</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.Server</span></td><td><code>8e4746bc4d5d5a94</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.Settings</span></td><td><code>2d3a5776e0c1b6c6</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.SettingsUtils</span></td><td><code>a3dcf80bd89dc81a</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.TrackableBase</span></td><td><code>82fa25cba5df5d5a</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.building.DefaultSettingsBuilder</span></td><td><code>e8b60126b5715f03</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.building.DefaultSettingsBuilder.1</span></td><td><code>933e342a65898942</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.building.DefaultSettingsBuildingRequest</span></td><td><code>0b0fed55c50c7af2</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.building.DefaultSettingsBuildingResult</span></td><td><code>71e47b65b39abd99</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.building.DefaultSettingsProblemCollector</span></td><td><code>bbd4c9306c66d5d4</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.building.FileSettingsSource</span></td><td><code>5ff3d6b8fc395fb9</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.building.SettingsProblem.Severity</span></td><td><code>4f9a088952539866</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.crypto.DefaultSettingsDecrypter</span></td><td><code>25d59ca9db24d95e</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest</span></td><td><code>f99d0d680d74f976</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.crypto.DefaultSettingsDecryptionResult</span></td><td><code>1e0f87ff6dde6bed</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.io.DefaultSettingsReader</span></td><td><code>c89b1f887c445df8</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.io.DefaultSettingsWriter</span></td><td><code>d5cf88aaebc2282d</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.io.xpp3.SettingsXpp3Reader</span></td><td><code>5b8000c1688b6a89</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.io.xpp3.SettingsXpp3Writer</span></td><td><code>9718a878e1d27f49</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.merge.MavenSettingsMerger</span></td><td><code>061e91b5c24703fc</code></td></tr><tr><td><span class="el_class">org.apache.maven.settings.validation.DefaultSettingsValidator</span></td><td><code>ae7f1531f1af45d6</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.filtering.AbstractMavenFilteringRequest</span></td><td><code>b32b75979e0fe3fe</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.filtering.BaseFilter</span></td><td><code>83e8840ddb9525a9</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.filtering.DefaultMavenFileFilter</span></td><td><code>c19d7e0fa0d881ef</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.filtering.DefaultMavenReaderFilter</span></td><td><code>4558d0e342b89c19</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering</span></td><td><code>d9a07e7630da5921</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.filtering.MavenResourcesExecution</span></td><td><code>84a3595d3f1179a0</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.utils.StringUtils</span></td><td><code>506f253b43045212</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.utils.io.FileUtils</span></td><td><code>9e5d8c1cba800747</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.utils.io.IOUtil</span></td><td><code>d3295c8d108885f9</code></td></tr><tr><td><span class="el_class">org.apache.maven.shared.utils.io.Java7Support</span></td><td><code>26cff34cc54decf8</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.NonAbstractClassFilter</span></td><td><code>1e5a6074e0969c3f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BaseProviderFactory</span></td><td><code>7ba29961dfebc4ba</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.BooterDeserializer</span></td><td><code>442f429c26b69928</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClassLoaderConfiguration</span></td><td><code>6e06a3a75082a947</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.Classpath</span></td><td><code>e71f884825972c25</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ClasspathConfiguration</span></td><td><code>b4f746df2629957b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter</span></td><td><code>812225234cbb3325</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkedBooter.1</span></td><td><code>bdfcde0181550217</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingReporterFactory</span></td><td><code>076c5152b5fb9c11</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ForkingRunListener</span></td><td><code>b96d9f327ffdaaf4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.IsolatedClassLoader</span></td><td><code>ae0066301f45e487</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.JdkReflector</span></td><td><code>d6f5d6728272255a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.PropertiesWrapper</span></td><td><code>e77715f3c27548eb</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderConfiguration</span></td><td><code>d735e73a98b2dd3b</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderFactory</span></td><td><code>10eaa6c74a289a7c</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.ProviderFactory.ProviderProxy</span></td><td><code>7a176b1eaeb3c61e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.StartupConfiguration</span></td><td><code>b4437ea6e48d2360</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SurefireReflector</span></td><td><code>073f35a652554917</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.SystemPropertyManager</span></td><td><code>586f8b734e8457bd</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.booter.TypeEncodedValue</span></td><td><code>520e6294ac61be38</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit3.JUnit3TestChecker</span></td><td><code>7102b454a4fc6b40</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4Reflector</span></td><td><code>6be9a9a787b76734</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4RunListener</span></td><td><code>b6d5ab51bf0a9446</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4RunListenerFactory</span></td><td><code>fc6a4376532e9afe</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.common.junit4.JUnit4TestChecker</span></td><td><code>db394de547f23665</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.junit4.JUnit4Provider</span></td><td><code>bd99b88d79022720</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.providerapi.AbstractProvider</span></td><td><code>41999770f94bdbc3</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture</span></td><td><code>8698f1f1b0d3d1ac</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream</span></td><td><code>07ce062280b3f566</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.ReporterConfiguration</span></td><td><code>af3c1ea7f8012a4f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.report.SimpleReportEntry</span></td><td><code>c4fe7d3fd77a7f9f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.suite.RunResult</span></td><td><code>4f4ef8baf9a9eaed</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.DirectoryScannerParameters</span></td><td><code>dfed7046a1155a37</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.RunOrderParameters</span></td><td><code>0c8e07ddcfeb0d3f</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestArtifactInfo</span></td><td><code>3385503f66e44602</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.testset.TestRequest</span></td><td><code>c341fc8ac6d6267e</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultRunOrderCalculator</span></td><td><code>6eae8682ccf1a30a</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.DefaultScanResult</span></td><td><code>61b36318792d6986</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.ReflectionUtils</span></td><td><code>f3750af81644d0aa</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.RunOrder</span></td><td><code>d922f6bc92e209d9</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.TestsToRun</span></td><td><code>0f98b18d5c7c18ab</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.UrlUtils</span></td><td><code>1ff98da53c689785</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.ByteBuffer</span></td><td><code>ee465046a50e3fa4</code></td></tr><tr><td><span class="el_class">org.apache.maven.surefire.util.internal.StringUtils</span></td><td><code>517a9dd6a335139c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.AntlrASTProcessSnippets</span></td><td><code>d8be1a46f90e3675</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.AntlrParserPlugin</span></td><td><code>85e6cee738d2e74a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.AntlrParserPlugin.1</span></td><td><code>3769d10da023ad0f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.AntlrParserPluginFactory</span></td><td><code>e663489cf89df68d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.GroovySourceAST</span></td><td><code>0ca9f7af1e3db546</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.GroovySourceToken</span></td><td><code>cdb5a6bf1d8a384c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.LineColumn</span></td><td><code>b4558aab1aad64d3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.SourceBuffer</span></td><td><code>469aa74240be9bb3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.UnicodeEscapingReader</span></td><td><code>f8ef44d848526ebd</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.UnicodeEscapingReader.DummyLexer</span></td><td><code>7d7498458a959aee</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.UnicodeLexerSharedInputState</span></td><td><code>bb504c72ae02123a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.parser.GroovyLexer</span></td><td><code>40780a5ffca0d095</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.parser.GroovyLexer.1</span></td><td><code>cedb36db131dd388</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.antlr.parser.GroovyRecognizer</span></td><td><code>52fbda5a7b930f4c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.ASTNode</span></td><td><code>70b6e04ed583b8a5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.AnnotatedNode</span></td><td><code>4d813e73da878e46</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.AnnotationNode</span></td><td><code>107fec29fd7e2028</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.ClassCodeExpressionTransformer</span></td><td><code>20df8f793c2f27fb</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.ClassCodeVisitorSupport</span></td><td><code>7634eaff195dfc49</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.ClassHelper</span></td><td><code>aeb4db047c07a11f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.ClassHelper.ClassHelperCache</span></td><td><code>1d16d8a0ae1b8be8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.ClassNode</span></td><td><code>043b088c03929964</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.ClassNode.MapOfLists</span></td><td><code>3049451d92cc1020</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.CodeVisitorSupport</span></td><td><code>d824c5cf6b09f673</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.CompileUnit</span></td><td><code>9513ba11f85e3603</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.ConstructorNode</span></td><td><code>3d8e5061361e3240</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.DynamicVariable</span></td><td><code>7f7ab2a62958105a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.FieldNode</span></td><td><code>8243eede9556e3b5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.GenericsType</span></td><td><code>d332ed8a17533fd1</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.InnerClassNode</span></td><td><code>d2f7594db7ab1dc8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.MethodNode</span></td><td><code>fb85ac2caca4bfc5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.MixinNode</span></td><td><code>5c2244558ba8fee2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.ModuleNode</span></td><td><code>e25c618c4375f581</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.Parameter</span></td><td><code>cd48f37d683749fe</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.VariableScope</span></td><td><code>82579ce771574572</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.builder.AstBuilderTransformation</span></td><td><code>7f77d18d9d146fb8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.builder.AstBuilderTransformation.AstBuilderInvocationTrap</span></td><td><code>ed088e08005efd05</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.ArgumentListExpression</span></td><td><code>e45eeacbd530427e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.CastExpression</span></td><td><code>2a682410b52740be</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.ClassExpression</span></td><td><code>840387ef74589a77</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.ClosureExpression</span></td><td><code>c2f148c18bdb7379</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.ConstantExpression</span></td><td><code>08c4c312e7f88a9b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.ConstructorCallExpression</span></td><td><code>ab026f6db4bb1980</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.Expression</span></td><td><code>be27d4806fbda942</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.MapEntryExpression</span></td><td><code>128e6e635302a0e2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.MapExpression</span></td><td><code>4ee7b3dc7d4baa09</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.MethodCallExpression</span></td><td><code>e8e6cb82969046dd</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.NamedArgumentListExpression</span></td><td><code>5577df74efd8b5f0</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.PropertyExpression</span></td><td><code>184a5892aa8224ca</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.TupleExpression</span></td><td><code>67fa492b398c20fe</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.expr.VariableExpression</span></td><td><code>b7bea1e9b09e7d5b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.stmt.BlockStatement</span></td><td><code>0f8294ed97e489f3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.stmt.ExpressionStatement</span></td><td><code>7c4f32d9a3255dc7</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.stmt.ReturnStatement</span></td><td><code>beacdb8f0401d162</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.stmt.Statement</span></td><td><code>1cff5e8911814bf3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.tools.ClassNodeUtils</span></td><td><code>25a06c6e59bb411f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.tools.GeneralUtils</span></td><td><code>e8b9a4fd64d41331</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.tools.GenericsUtils</span></td><td><code>0900826d004ab5fd</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.ast.tools.ParameterUtils</span></td><td><code>2d0a558387965cee</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.AsmClassGenerator</span></td><td><code>7504ce3284442a2d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.BytecodeInstruction</span></td><td><code>07051767cd1853b4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.BytecodeSequence</span></td><td><code>af10989ff01c684f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.ClassCompletionVerifier</span></td><td><code>ab011109c58a6e48</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.ClassGenerator</span></td><td><code>1a3e22dff1589211</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.EnumCompletionVisitor</span></td><td><code>9346d7873b6efe85</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.EnumVisitor</span></td><td><code>a9e2d31e0cc1843d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.ExtendedVerifier</span></td><td><code>5dc1cdc04610395b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.GeneratorContext</span></td><td><code>358769c53f48096e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.InnerClassCompletionVisitor</span></td><td><code>691c132f2c0c4537</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.InnerClassVisitor</span></td><td><code>1416ac51e697d091</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.InnerClassVisitorHelper</span></td><td><code>4bc7258d522b5e70</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.ReturnAdder</span></td><td><code>ee4cd8038725497f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.ReturnAdder.1</span></td><td><code>8a85a80aa771809c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.VariableScopeVisitor</span></td><td><code>2f675fd48f64b90e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.VariableScopeVisitor.StateStackElement</span></td><td><code>cecb8f2e78c6c5ba</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.Verifier</span></td><td><code>4069ab8e50b46996</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.Verifier.10</span></td><td><code>608e3b18d313ce4f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.Verifier.11</span></td><td><code>280fc5a8555ef53b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.Verifier.2</span></td><td><code>011ee20d9033a649</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.Verifier.8</span></td><td><code>450d4c6aadcb3836</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.Verifier.9</span></td><td><code>5225d04eb68f6299</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.Verifier.SwapInitStatement</span></td><td><code>df7daa847fc8e1e5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.Verifier.SwapInitStatement.SwapInitInstruction</span></td><td><code>40cb5488c49904c9</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.VerifierCodeVisitor</span></td><td><code>3a859478eb66147f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.AssertionWriter</span></td><td><code>1ff4adfc26e74df5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryBooleanExpressionHelper</span></td><td><code>24d00acf6c19f006</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryDoubleExpressionHelper</span></td><td><code>8ec258a912387e21</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryExpressionHelper</span></td><td><code>0f8007084402b1c9</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher</span></td><td><code>9fccdf45d658092c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher.BinaryByteExpressionHelper</span></td><td><code>a0273242108acf1d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher.BinaryCharExpressionHelper</span></td><td><code>531cf4aa0c8ec854</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher.BinaryShortExpressionHelper</span></td><td><code>cebb66a95cc26c1f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryExpressionWriter</span></td><td><code>b0b03d08dd522f37</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryFloatExpressionHelper</span></td><td><code>bc4b102bcd777303</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryIntExpressionHelper</span></td><td><code>2dca890505695b25</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryLongExpressionHelper</span></td><td><code>490ba012a11534cb</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BinaryObjectExpressionHelper</span></td><td><code>09db9300d9f89ecf</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BytecodeHelper</span></td><td><code>7801664808327b60</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.BytecodeVariable</span></td><td><code>bb052867b5a73e9d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.CallSiteWriter</span></td><td><code>5c34201bb031a512</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.ClosureWriter</span></td><td><code>bd052ef464566205</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.ClosureWriter.1</span></td><td><code>bd0c502e9a27c5a8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.ClosureWriter.2</span></td><td><code>1a9bd84797dcacc2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.CompileStack</span></td><td><code>9050f2051315ddb9</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.CompileStack.StateStackElement</span></td><td><code>1f29464d05674c80</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.InvocationWriter</span></td><td><code>d9b3639478d11cba</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.InvocationWriter.1</span></td><td><code>fd8a7ed4855827e5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.MethodCaller</span></td><td><code>96783df0cb42c930</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.MethodCallerMultiAdapter</span></td><td><code>45b9207d8011b1f6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.MopWriter</span></td><td><code>c1a3879977779856</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.MopWriter.1</span></td><td><code>91231a07c9b05f7a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.MopWriter.MopKey</span></td><td><code>021e2d31c56016d0</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.OperandStack</span></td><td><code>07759e2da50ae99a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.OptimizingStatementWriter</span></td><td><code>bc5e86c319d6af8e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.OptVisitor</span></td><td><code>e45baaad18a1736b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.OptimizeFlagsCollector</span></td><td><code>43ec5f2402cf05ce</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.OptimizeFlagsCollector.OptimizeFlagsEntry</span></td><td><code>099ba3e390be29ed</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.StatementMetaTypeChooser</span></td><td><code>1eb150305ba40578</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.StatementWriter</span></td><td><code>f456eae1ae346eb6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.UnaryExpressionHelper</span></td><td><code>42acb280d0211afa</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.classgen.asm.WriterController</span></td><td><code>4267f7676342f5c6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ASTTransformationsContext</span></td><td><code>c5da32437a8a55f9</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.AnnotationConstantsVisitor</span></td><td><code>daa06292a7528043</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ClassNodeResolver</span></td><td><code>57d050a5b3cb9547</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ClassNodeResolver.1</span></td><td><code>34fcbda83fe531cc</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ClassNodeResolver.LookupResult</span></td><td><code>de0a252a5081308d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit</span></td><td><code>5d0eb8869b2084de</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.1</span></td><td><code>76b088b8e6e72337</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.11</span></td><td><code>b2789b40d20a3610</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.12</span></td><td><code>18e9572393a12391</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.13</span></td><td><code>d3f7589831346002</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.14</span></td><td><code>c24cf2e25eb2dbbe</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.15</span></td><td><code>d6588145f2e05681</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.16</span></td><td><code>c78fe68f668d91b7</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.17</span></td><td><code>1b95169bfd9f495a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.18</span></td><td><code>aa882c80ed65530d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.2</span></td><td><code>dcc71171999d2be6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.3</span></td><td><code>4d53dd96fcf3e5e2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.4</span></td><td><code>4f72cd8383534ae4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.5</span></td><td><code>76c056c7132d6e96</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.6</span></td><td><code>94c928cdeb46a196</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.7</span></td><td><code>e3a1f7108059ed23</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.8</span></td><td><code>699f98719e693cf2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.ClassgenCallback</span></td><td><code>0e44548ca5638f50</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.GroovyClassOperation</span></td><td><code>f87728806abcad33</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.PrimaryClassNodeOperation</span></td><td><code>dda38ff82c68ede3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilationUnit.SourceUnitOperation</span></td><td><code>2c2c82ffd8010775</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilePhase</span></td><td><code>8f4613fbb4c38bf1</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.CompilerConfiguration</span></td><td><code>eecb2ecf95cccdad</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ErrorCollector</span></td><td><code>bd59d49cffbd0c72</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.GenericsVisitor</span></td><td><code>7c38d636897a8bf3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.LabelVerifier</span></td><td><code>0bab7f7231e673e6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.OptimizerVisitor</span></td><td><code>95d4ba0b063ec1ef</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ParserPluginFactory</span></td><td><code>a3d51c14963046d3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ProcessingUnit</span></td><td><code>96beb1f8350ba82a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ResolveVisitor</span></td><td><code>05cfcd67cf43bb32</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ResolveVisitor.ConstructedClassWithPackage</span></td><td><code>478fc84abce69317</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ResolveVisitor.ConstructedNestedClass</span></td><td><code>c6bf15c4319c7a39</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.ResolveVisitor.LowerCaseClass</span></td><td><code>9c73f88d018edfa2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.SourceExtensionHandler</span></td><td><code>bf4ba83b3f779a6b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.SourceUnit</span></td><td><code>b6f3ee69864bdb82</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.SourceUnit.1</span></td><td><code>40ad78536fe9c56a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.StaticImportVisitor</span></td><td><code>fb3afeb242476d73</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.StaticVerifier</span></td><td><code>775f16fe67cb47a9</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.io.AbstractReaderSource</span></td><td><code>10fd2e80d254cec0</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.io.FileReaderSource</span></td><td><code>025e659b84f2e0a2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.io.NullWriter</span></td><td><code>e7765765c380c0cc</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.control.io.StringReaderSource</span></td><td><code>e0659d19ac836b2a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass</span></td><td><code>1e351ef39e79824b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.1</span></td><td><code>b1ac629fb22cb2e6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.1.1</span></td><td><code>4352b8dbea3dfd6f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.2</span></td><td><code>9d99b465723646d0</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.2.1</span></td><td><code>e1f00ae920f88ae6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.3</span></td><td><code>7543e9657d01605f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.3.1</span></td><td><code>43a11ac1d989be55</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.4</span></td><td><code>4b3f335b7a5d186e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.5</span></td><td><code>2f056e960337b677</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.5.1</span></td><td><code>740fb06e06fb7572</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.6</span></td><td><code>2e4565b11e41237d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.7</span></td><td><code>e6a8698a069da116</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.8</span></td><td><code>21681ae145d902f0</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.CachedMethodComparatorByName</span></td><td><code>6f360f336089c98f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedClass.CachedMethodComparatorWithString</span></td><td><code>6ed272c38a10a73d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedConstructor</span></td><td><code>88844eed7f04a2c6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedConstructor.1</span></td><td><code>98bfcaa7bf3c62c4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedField</span></td><td><code>ef88aaeff198346c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedMethod</span></td><td><code>58725d7ebe8fdbe3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.CachedMethod.MyComparator</span></td><td><code>d5fe1f5f39249d99</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassInfo</span></td><td><code>fc1a4fd440faa1cc</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassInfo.1</span></td><td><code>d132f4c89c7baca5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassInfo.ClassInfoCleanup</span></td><td><code>120835b985ab51ad</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassInfo.GlobalClassSet</span></td><td><code>c403a71065e68a36</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassInfo.LazyCachedClassRef</span></td><td><code>1e978c38e534fa1d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassInfo.LazyClassLoaderRef</span></td><td><code>d7cebe9375f7487e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassInfo.LocalMap</span></td><td><code>aab297f20abb0383</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassInfo.ThreadLocalMapHandler</span></td><td><code>2e59f956bb77f8e3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts</span></td><td><code>abe7ce92e9da1f40</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.1</span></td><td><code>eb94fc72a31280b8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.GeneratedMetaMethod</span></td><td><code>4cb34f6b1e251408</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.GeneratedMetaMethod.DgmMethodRecord</span></td><td><code>c537af4764d0efa3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.GeneratedMetaMethod.Proxy</span></td><td><code>57565d93ee8860af</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.GroovyClassValueFactory</span></td><td><code>02a01fd83f5e2d17</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.GroovyClassValuePreJava7</span></td><td><code>0e69434dffdd6e7e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.GroovyClassValuePreJava7.EntryWithValue</span></td><td><code>f6f63a4ca9edc008</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.GroovyClassValuePreJava7.GroovyClassValuePreJava7Map</span></td><td><code>e5986068a38c8d77</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.GroovyClassValuePreJava7.GroovyClassValuePreJava7Segment</span></td><td><code>8b75c9c0ce65c302</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ParameterTypes</span></td><td><code>1b9525da98b8798e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.ReflectionCache</span></td><td><code>ab3e0ac77029a775</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.SunClassLoader</span></td><td><code>b972d39bc67266ff</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.SunClassLoader.1</span></td><td><code>ac0d3dcac7cb6304</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.android.AndroidSupport</span></td><td><code>4be759c7540e7e38</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.ArrayCachedClass</span></td><td><code>9ec3fbeba3a45252</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.BigDecimalCachedClass</span></td><td><code>5eb5af7c0eacd414</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.BigIntegerCachedClass</span></td><td><code>0813eb55f96c1ebb</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.BooleanCachedClass</span></td><td><code>d2f7290fe6002787</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.CachedClosureClass</span></td><td><code>5dee3a3850552c81</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.CachedSAMClass</span></td><td><code>5b6c3e3fb4c874f1</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.CachedSAMClass.1</span></td><td><code>502b45273c8c1ca8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.CharacterCachedClass</span></td><td><code>06335163813c3ee4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.DoubleCachedClass</span></td><td><code>9fbe7005e3f5895d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.FloatCachedClass</span></td><td><code>e49eeffa24d72792</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.IntegerCachedClass</span></td><td><code>e60058d6c47867ce</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.LongCachedClass</span></td><td><code>7a72b3215d495d65</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.NumberCachedClass</span></td><td><code>0fd3a9958a4d8ad1</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.ObjectCachedClass</span></td><td><code>61bb8b896bf9b487</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.reflection.stdclasses.StringCachedClass</span></td><td><code>6cbd1cbfb7d8e8c4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.ArrayUtil</span></td><td><code>d65b75af626da4a0</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.BytecodeInterface8</span></td><td><code>e68ca5f7d6803e15</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.DefaultGroovyMethods</span></td><td><code>438487db7a72c072</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport</span></td><td><code>126dfa79d34a90b3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.GStringImpl</span></td><td><code>71e5cd61bcbcd7ca</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.GroovyCategorySupport</span></td><td><code>7da4a2d9f89a89cb</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.GroovyCategorySupport.MyThreadLocal</span></td><td><code>e0e57eaf31d84a5a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.IOGroovyMethods</span></td><td><code>26b55facd4edf33c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.InvokerHelper</span></td><td><code>afe7210397eab69a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.MetaClassHelper</span></td><td><code>1dff6bc8620263a1</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.NioGroovyMethods</span></td><td><code>452c528ce26c5852</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.NullObject</span></td><td><code>fa879d8219f49ab2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.NullObject.is</span></td><td><code>50552ab36810fa5e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.NumberAwareComparator</span></td><td><code>ba1234da5d1b74e2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.ResourceGroovyMethods</span></td><td><code>6d2bee71893cf38e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.ScriptBytecodeAdapter</span></td><td><code>f07a308aa6646b9e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.StringGroovyMethods</span></td><td><code>4a9dc8dd43be8022</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.AbstractCallSite</span></td><td><code>7718deabab1ac819</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.BooleanClosureWrapper</span></td><td><code>2e366481dd188748</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.BooleanReturningMethodInvoker</span></td><td><code>b914a24363502aa8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.CallSiteArray</span></td><td><code>b2bb7977a0d7ef3c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.CallSiteArray.1</span></td><td><code>6b568591d67d260e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.CallSiteAwareMetaMethod</span></td><td><code>166f7f5fae88a2e5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.CallSiteClassLoader</span></td><td><code>21204fc61dde4a48</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.CallSiteGenerator</span></td><td><code>c1c6b2f9e9c858b1</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.ClassMetaClassGetPropertySite</span></td><td><code>22553f5ec23512e3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.ConstructorSite</span></td><td><code>42fecfe792b92652</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.ConstructorSite.ConstructorSiteNoUnwrapNoCoerce</span></td><td><code>a506cb62470ab351</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.GetEffectivePogoPropertySite</span></td><td><code>c3c466586e759f81</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite</span></td><td><code>d4f4deae5e804c44</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.GroovySunClassLoader</span></td><td><code>088164658bde0fe1</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.GroovySunClassLoader.1</span></td><td><code>2e0ec4bfa5ed3d74</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.MetaClassSite</span></td><td><code>8e2b675632406d31</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.MetaMethodSite</span></td><td><code>d5251e834ae5d7e8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.NullCallSite</span></td><td><code>35c80b011c73f47d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PogoGetPropertySite</span></td><td><code>f54d6ef3f151ef70</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PogoMetaClassSite</span></td><td><code>08bb789a1cd4a7b8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite</span></td><td><code>e76733848a27a4df</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.PogoCachedMethodSite</span></td><td><code>c2b1911672f16a94</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.PogoCachedMethodSiteNoUnwrap</span></td><td><code>34a281dc48dc6eac</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.PogoCachedMethodSiteNoUnwrapNoCoerce</span></td><td><code>ec0147cfa42bdf0f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.PogoMetaMethodSiteNoUnwrapNoCoerce</span></td><td><code>b88609ece27af394</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite</span></td><td><code>6e1c7d04932c7c25</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.PojoCachedMethodSite</span></td><td><code>ff9eeb1897e8d1b2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.PojoCachedMethodSiteNoUnwrap</span></td><td><code>adb7a369799df837</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.PojoCachedMethodSiteNoUnwrapNoCoerce</span></td><td><code>720ecab3552674df</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.PojoMetaMethodSiteNoUnwrapNoCoerce</span></td><td><code>f8cfa462792b4553</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite</span></td><td><code>c60b6519a40af8d0</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.StaticMetaMethodSiteNoUnwrapNoCoerce</span></td><td><code>e7f554c3d87a1474</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.1043</span></td><td><code>b4c204a08e4593b4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.1047</span></td><td><code>9455263e6c4f2db8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.1119</span></td><td><code>3384e7b6cba56794</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.1120</span></td><td><code>91a6b9289581af96</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.1121</span></td><td><code>b3899c147b6fe94e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.12</span></td><td><code>f257e7b30db360e5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.13</span></td><td><code>4237d1a4252a0776</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.163</span></td><td><code>67b161f42923cb13</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.164</span></td><td><code>ad169185c6a03400</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.184</span></td><td><code>f054a4d2f4b72168</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.185</span></td><td><code>b18a5fdda9b8881d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.190</span></td><td><code>5aad82e533dc3fef</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.193</span></td><td><code>6ee433201ecdac64</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.204</span></td><td><code>f1dadd6a8f9dac9c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.205</span></td><td><code>31f8856548dec787</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.221</span></td><td><code>a5cc1eeeeb025fe5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.23</span></td><td><code>d5211f4f547ec5cb</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.28</span></td><td><code>3cdf2c8ccf7bd5a6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.29</span></td><td><code>185a08bd5172e0b0</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.30</span></td><td><code>7ae4e55f709d8496</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.33</span></td><td><code>66fc4ce5013c6b33</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.353</span></td><td><code>031218bfdee821ab</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.354</span></td><td><code>65a7b86d5d6ad338</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.356</span></td><td><code>e2baef6a8fce1c03</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.365</span></td><td><code>1f7a5599c7ef92a4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.378</span></td><td><code>e35391362e45676a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.385</span></td><td><code>ed327a9b46250557</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.388</span></td><td><code>ece83593baa939da</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.462</span></td><td><code>2bb6cb4b016ae4a5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.48</span></td><td><code>e5778dd9a604d9ec</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.50</span></td><td><code>a9e0e38c7bec094e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.51</span></td><td><code>d027b6145857d59b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.52</span></td><td><code>5d9fe6d707c77d73</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.53</span></td><td><code>f9d5c28f74ab704a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.60</span></td><td><code>d6899074e28d4d34</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.61</span></td><td><code>eef8b59e43195949</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.62</span></td><td><code>e4b5c7948909b5ca</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.64</span></td><td><code>1f3c491a155eb806</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.642</span></td><td><code>36fb130afcdb7297</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.65</span></td><td><code>fb66a25eb09383a2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.66</span></td><td><code>dbac744720e7009c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.665</span></td><td><code>776947d6e25138a7</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.69</span></td><td><code>a53bbdb0a55ba4b7</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.722</span></td><td><code>a3cb636d76cc2c2b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.73</span></td><td><code>b4d29c3167d1beb8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.74</span></td><td><code>305cb333f1e50a50</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.77</span></td><td><code>5cba534f78d29960</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.79</span></td><td><code>e51371d1a381d13c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.81</span></td><td><code>6d3bba9cb1e54ede</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgm.962</span></td><td><code>f54eaa1a92f77c9d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.NumberNumberDiv</span></td><td><code>5d289b355eefa5c9</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.NumberNumberMetaMethod</span></td><td><code>5bb4ee1514e30efa</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.NumberNumberMetaMethod.NumberNumberCallSite</span></td><td><code>b18da8c15579fe25</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.NumberNumberMinus</span></td><td><code>260b74378b41071d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.NumberNumberMultiply</span></td><td><code>7a82ac410990c88a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.NumberNumberPlus</span></td><td><code>c6758ab37c52c9a3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.NumberNumberPlus.IntegerInteger</span></td><td><code>28ebacf9c1cc9ec5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.ArrayGetAtMetaMethod</span></td><td><code>f5b2e5a3d903b758</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.ArrayMetaMethod</span></td><td><code>b0cfa65c5bf3fde2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.ArrayPutAtMetaMethod</span></td><td><code>7594f9544707cf0b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.BooleanArrayGetAtMetaMethod</span></td><td><code>f3733901c45727ab</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.BooleanArrayPutAtMetaMethod</span></td><td><code>4d8640003e9673c4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.ByteArrayGetAtMetaMethod</span></td><td><code>a164b46d579ed786</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.ByteArrayPutAtMetaMethod</span></td><td><code>f89483ace22c0ca6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.CharacterArrayGetAtMetaMethod</span></td><td><code>6251d3580703ab75</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.CharacterArrayPutAtMetaMethod</span></td><td><code>58366cda6a7513de</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.DoubleArrayGetAtMetaMethod</span></td><td><code>9b6692209396bc1c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.DoubleArrayPutAtMetaMethod</span></td><td><code>08ab52ca9179ee2b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.FloatArrayGetAtMetaMethod</span></td><td><code>afb731e4d57c86fc</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.FloatArrayPutAtMetaMethod</span></td><td><code>b90f665e94592b44</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.IntegerArrayGetAtMetaMethod</span></td><td><code>8594276d98b09cdd</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.IntegerArrayPutAtMetaMethod</span></td><td><code>17fced924b628614</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.LongArrayGetAtMetaMethod</span></td><td><code>3755c1b9f38bf905</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.LongArrayPutAtMetaMethod</span></td><td><code>6f0b002c8bbcc12a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.ObjectArrayGetAtMetaMethod</span></td><td><code>549c57569e8f58f4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.ObjectArrayPutAtMetaMethod</span></td><td><code>b3075507836d0b5b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.ShortArrayGetAtMetaMethod</span></td><td><code>c8483a0d629e45fe</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.dgmimpl.arrays.ShortArrayPutAtMetaMethod</span></td><td><code>42863ac7d22b9b2d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.m12n.ExtensionModule</span></td><td><code>0ba4d0627fad0767</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.m12n.ExtensionModuleRegistry</span></td><td><code>7292acd28fbb5837</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.m12n.ExtensionModuleScanner</span></td><td><code>433d9425ed376ac6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.m12n.MetaInfExtensionModule</span></td><td><code>e6961d1cbc46915a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.m12n.PropertiesModuleFactory</span></td><td><code>c0500fe3d1f8720c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.m12n.SimpleExtensionModule</span></td><td><code>c5ec53484dc6d791</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.m12n.StandardPropertiesModuleFactory</span></td><td><code>477c9bf38f0570b1</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.ClosureMetaClass</span></td><td><code>5250b2251540f5ed</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.3</span></td><td><code>6863c4b5d249326d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.4</span></td><td><code>7273e1e36fa3ab9e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.6</span></td><td><code>1766c5580c36a20a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.StandardClosureChooser</span></td><td><code>a9f8b480c91d4554</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.DefaultMetaClassInfo</span></td><td><code>c1720cb7263847ca</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.DefaultMetaClassInfo.ConstantMetaClassVersioning</span></td><td><code>0a6a7d3ef54c7894</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl</span></td><td><code>80e7ef0ab912b64a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.1</span></td><td><code>c3ba00a7a86dd4ab</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.DefaultModuleListener</span></td><td><code>f0441d10c87ddb04</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MetaMethodIndex</span></td><td><code>c72567d05bd8add4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MetaMethodIndex.CacheEntry</span></td><td><code>00b4664ea748ed2c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MetaMethodIndex.Entry</span></td><td><code>d1955921d1d1997c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MetaMethodIndex.Header</span></td><td><code>0ed03602960b04fd</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MethodHelper</span></td><td><code>4d4cef1f4f3c0ec6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MethodMetaProperty</span></td><td><code>5f7b36f765420bdf</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MethodMetaProperty.GetBeanMethodMetaProperty</span></td><td><code>cd4d77bb520ee87a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack</span></td><td><code>d6e8fb485b7dd442</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod</span></td><td><code>6b365c39ca1266c9</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.NewMetaMethod</span></td><td><code>c62c41b2c95ebbab</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.NewStaticMetaMethod</span></td><td><code>7d1930f6c25fd654</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod</span></td><td><code>a5552213be7b114d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation</span></td><td><code>c7e0dcdb713ac807</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.typehandling.IntegerMath</span></td><td><code>3a6cca1b35b647cb</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.typehandling.NumberMath</span></td><td><code>80584dccc0297adc</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.typehandling.NumberMathModificationInfo</span></td><td><code>edef9a66a8af21b0</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.typehandling.ShortTypeHandling</span></td><td><code>2cc4f04fe2295752</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.wrappers.PojoWrapper</span></td><td><code>d641133f74441e30</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.runtime.wrappers.Wrapper</span></td><td><code>02c5ba1abcfa5451</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.syntax.ASTHelper</span></td><td><code>ad604c607c5553e4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.syntax.CSTNode</span></td><td><code>084ba66657be5159</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.syntax.Numbers</span></td><td><code>a4e933a48f0bac90</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.syntax.Token</span></td><td><code>73b685fb3407174e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.syntax.Types</span></td><td><code>63ce98f8b8211b8e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.tools.GroovyClass</span></td><td><code>e27885fa1ec3da08</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.ASTTransformationCollectorCodeVisitor</span></td><td><code>7d106b2157efc1fe</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.ASTTransformationVisitor</span></td><td><code>4b0d1b2f70f4cfc4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.ASTTransformationVisitor.1</span></td><td><code>cb271d79408f161a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.ASTTransformationVisitor.2</span></td><td><code>8d2003f75b50f9ae</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.ASTTransformationVisitor.3</span></td><td><code>20d628a85de91873</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.ASTTransformationVisitor.4</span></td><td><code>6aa86ff1af003717</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.AbstractASTTransformation</span></td><td><code>0df1d015d9e4385f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.AnnotationCollectorTransform.ClassChanger</span></td><td><code>665ec5307282465c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.ImmutableASTTransformation</span></td><td><code>958f22afd3770752</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.ImmutableASTTransformation.checkPropNames</span></td><td><code>16faff85dd5d6c06</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.trait.SuperCallTraitTransformer</span></td><td><code>573cc744caa614d6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.trait.TraitComposer</span></td><td><code>c7993a7fce01f3eb</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.transform.trait.Traits</span></td><td><code>d173e202606beb38</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.AbstractConcurrentMap</span></td><td><code>ea55d8bedf501799</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.AbstractConcurrentMap.Segment</span></td><td><code>17dbae917965e8fe</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.AbstractConcurrentMapBase</span></td><td><code>e97b7eee5d0c04f6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.AbstractConcurrentMapBase.Segment</span></td><td><code>28dd9945d327e459</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ComplexKeyHashMap</span></td><td><code>a8580f5ba3ec2bc6</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ComplexKeyHashMap.1</span></td><td><code>61850b98439e62d5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ComplexKeyHashMap.Entry</span></td><td><code>556237b5a19cb7e3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.FastArray</span></td><td><code>86d54a8fb475ddb5</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.HashCodeHelper</span></td><td><code>6f34d00367d31870</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.HashCodeHelper.initHash</span></td><td><code>3d56930835743def</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.HashCodeHelper.updateHash.0</span></td><td><code>6d343f371264d52b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.LazyReference</span></td><td><code>acb47ecc863dccc2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.LazyReference.1</span></td><td><code>f5e601956b5976e2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.LazyReference.2</span></td><td><code>98fb74a735e351ed</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ListHashMap</span></td><td><code>999ee5395140af39</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.LockableObject</span></td><td><code>cb25f02f98d92475</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ManagedConcurrentMap</span></td><td><code>317842cbe6b2d025</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ManagedConcurrentMap.Entry</span></td><td><code>fcb859c4f4410207</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ManagedConcurrentMap.EntryWithValue</span></td><td><code>2468da58fbc3df41</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ManagedConcurrentMap.Segment</span></td><td><code>4dd01f367891c72f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ManagedLinkedList</span></td><td><code>fbca556f5e7d9e60</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ManagedLinkedList.Element</span></td><td><code>c1baf60e1a607a30</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ManagedReference</span></td><td><code>8733ef279c80eb3c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ManagedReference.1</span></td><td><code>f810d8e688adf30c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceBundle</span></td><td><code>96f60e7ec95c456b</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceManager</span></td><td><code>1a7c8145aa94cd72</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceManager.1</span></td><td><code>37202b298159de15</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceManager.CallBackedManager</span></td><td><code>281eba1c16f4a6b4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceType</span></td><td><code>11102d4c64552fd2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceType.1</span></td><td><code>71f8c14e1a0c835a</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceType.2</span></td><td><code>b16b48ddbf1348ce</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceType.3</span></td><td><code>bacfb665bdfdda60</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceType.4</span></td><td><code>f31b91334a723a6e</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceType.HardRef</span></td><td><code>85d4a08b56270b56</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceType.SoftRef</span></td><td><code>ce6df7be9ebc1e3c</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.ReferenceType.WeakRef</span></td><td><code>cdfb9e26342557b4</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.SingleKeyHashMap</span></td><td><code>fdd1b3344ad0659f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.SingleKeyHashMap.Entry</span></td><td><code>70bd68c46a61d8a3</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.util.TripleKeyHashMap</span></td><td><code>18ffc6a3b17428fb</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.vmplugin.VMPluginFactory</span></td><td><code>90aa4abca8fbcb02</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.vmplugin.v5.Java5</span></td><td><code>6c8b847307d0616d</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.vmplugin.v5.PluginDefaultGroovyMethods</span></td><td><code>21932ded3d6af5a8</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.vmplugin.v6.Java6</span></td><td><code>2155f60ea7159b3f</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.vmplugin.v7.Java7</span></td><td><code>66f012e0271625b2</code></td></tr><tr><td><span class="el_class">org.codehaus.groovy.vmplugin.v7.Java7.1</span></td><td><code>177cc5e35452a9f6</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.DefaultContainerConfiguration</span></td><td><code>bb9b283f4b402343</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.DefaultPlexusContainer</span></td><td><code>a7ccd785748d48cd</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.DefaultPlexusContainer.BootModule</span></td><td><code>93237d80345a3ec9</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.DefaultPlexusContainer.ContainerModule</span></td><td><code>fae789b79fc204cb</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.DefaultPlexusContainer.DefaultsModule</span></td><td><code>df2cbc6bfcd43c71</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.DefaultPlexusContainer.LoggerManagerProvider</span></td><td><code>9e0872f9759bd560</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.DefaultPlexusContainer.LoggerProvider</span></td><td><code>8835d4d1e16fff6b</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.DefaultPlexusContainer.SLF4JLoggerFactoryProvider</span></td><td><code>fe50f83fa8d347cc</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.AbstractArchiver</span></td><td><code>1c79b6ca8cdd6814</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.AbstractArchiver.1</span></td><td><code>d594f716fc2ec09b</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.AbstractArchiver.AddedResourceCollection</span></td><td><code>31b4797938690937</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.ArchiveEntry</span></td><td><code>9528526eb0242262</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.jar.JarArchiver</span></td><td><code>1fd8fb59b0c0d83f</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.jar.JdkManifestFactory</span></td><td><code>b4e98281b3748575</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.jar.Manifest</span></td><td><code>a7e2474ca12180fb</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.jar.Manifest.Attribute</span></td><td><code>cc7e9fdef77af7f3</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.jar.Manifest.BaseAttribute</span></td><td><code>507dc64f0fab23ec</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.jar.Manifest.Section</span></td><td><code>8b859ce53ff6afa4</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.manager.ArchiverManager</span></td><td><code>65034b530445a79c</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.manager.DefaultArchiverManager</span></td><td><code>85e29ed19d1fa0e1</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.util.AbstractFileSet</span></td><td><code>cb69c5774b769f8d</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.util.DefaultFileSet</span></td><td><code>7b859b6bde519ee3</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.util.ResourceUtils</span></td><td><code>e3473b36873482e3</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.util.Streams</span></td><td><code>93feb2257aa86322</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.AbstractZipArchiver</span></td><td><code>408691470bccfb49</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.AbstractZipArchiver.1</span></td><td><code>e8339019b6457c7c</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.AbstractZipArchiver.2</span></td><td><code>d71bf7fd5f832ea8</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.AbstractZipArchiver.3</span></td><td><code>b7d0eb557f6a3bd1</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.AddedDirs</span></td><td><code>a8d3b14b4d98c9a6</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.AnonymousResource</span></td><td><code>f9c402d281f58be0</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.ByteArrayOutputStream</span></td><td><code>a4cdbeba230617de</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.ConcurrentJarCreator</span></td><td><code>10eaccc976f00970</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.ConcurrentJarCreator.1</span></td><td><code>527302c78b836f3b</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.ConcurrentJarCreator.DeferredSupplier</span></td><td><code>1544f181fdb22110</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.DeferredScatterOutputStream</span></td><td><code>f34d84f4aa832fcb</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.OffloadingOutputStream</span></td><td><code>7e418a0dd255cd8c</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.archiver.zip.ZipArchiver</span></td><td><code>3e4ce5bdb762b102</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.classworlds.ClassWorld</span></td><td><code>c97a2752cb68c977</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.classworlds.realm.ClassRealm</span></td><td><code>48b5475c3c043faa</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.classworlds.strategy.AbstractStrategy</span></td><td><code>159c03485be975f8</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy</span></td><td><code>d9db2c2f1d73d9ee</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.classworlds.strategy.StrategyFactory</span></td><td><code>a7faa34311de2789</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.AbstractComponentConfigurator</span></td><td><code>fd14b119d8a5b29c</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.BasicComponentConfigurator</span></td><td><code>835e963ec6448d32</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.AbstractConfigurationConverter</span></td><td><code>fedc2c42b748165e</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.AbstractBasicConverter</span></td><td><code>e92fa9f547636435</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.BooleanConverter</span></td><td><code>0d7a2c5587957205</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.ByteConverter</span></td><td><code>047d13fba934ca9d</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.CharConverter</span></td><td><code>0d6745ba8c7876bf</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.DateConverter</span></td><td><code>3e22c057b797fe2e</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.DoubleConverter</span></td><td><code>898aa92fe1dea81a</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.EnumConverter</span></td><td><code>f75a9a74844cdb78</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.FileConverter</span></td><td><code>37ddfea0331ab782</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.FloatConverter</span></td><td><code>c8ce63c767bdd3b2</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.IntConverter</span></td><td><code>c63338aefe4aa953</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.LongConverter</span></td><td><code>dbdc98061444128f</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.ShortConverter</span></td><td><code>c25ff97f7f5f5eab</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.StringBufferConverter</span></td><td><code>1f5b827a921ddcd4</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.StringBuilderConverter</span></td><td><code>c553f644caff7df8</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.StringConverter</span></td><td><code>a7dffdec08f73e92</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.UriConverter</span></td><td><code>a68971cfaa738620</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.basic.UrlConverter</span></td><td><code>9fee54421b1ae29b</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.composite.AbstractCollectionConverter</span></td><td><code>c07ff4bed1d235c7</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.composite.ArrayConverter</span></td><td><code>ab78f07dbb641625</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.composite.CollectionConverter</span></td><td><code>4725edbf063249ff</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.composite.MapConverter</span></td><td><code>d0fe3c00723a7d02</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter</span></td><td><code>dc993339217e53b8</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.composite.PlexusConfigurationConverter</span></td><td><code>952a9ad6bc4d9798</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.composite.PropertiesConverter</span></td><td><code>58b879f25e601573</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.lookup.DefaultConverterLookup</span></td><td><code>672fde4fc2d78a31</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.converters.special.ClassRealmConverter</span></td><td><code>bff7b1ed3c9d85d3</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.configurator.expression.DefaultExpressionEvaluator</span></td><td><code>05447eda7f4c9382</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.repository.ComponentDependency</span></td><td><code>dd718ddccf062881</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.repository.ComponentDescriptor</span></td><td><code>bf902d17aab9221e</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.repository.ComponentRequirement</span></td><td><code>c69ab0fd1eb571fb</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.component.repository.ComponentSetDescriptor</span></td><td><code>711332dd0b07ec30</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.attributes.Java7AttributeUtils</span></td><td><code>0a0f10f37f98c161</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.attributes.Java7FileAttributes</span></td><td><code>4f8d9476805d931b</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.attributes.Java7Reflector</span></td><td><code>ccd6673b4ef9ee1d</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributeUtils</span></td><td><code>27da3ac406aaa8cc</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.attributes.SimpleResourceAttributes</span></td><td><code>6f4bcddf4d1f1b49</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.filemappers.PrefixFileMapper</span></td><td><code>492580fe1e78d674</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.resources.AbstractPlexusIoResource</span></td><td><code>00103fdd35d6a5a6</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.resources.AbstractPlexusIoResourceCollection</span></td><td><code>4534650c14399ef2</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.resources.AbstractPlexusIoResourceCollection.IdentityTransformer</span></td><td><code>8876204f4cb301ee</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.resources.AbstractPlexusIoResourceCollectionWithAttributes</span></td><td><code>ba15c39dc4af5042</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.resources.PlexusIoFileResource</span></td><td><code>5c41c3422dbcf424</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.resources.PlexusIoFileResource.1</span></td><td><code>c1591b44cf665ac7</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.resources.PlexusIoFileResourceCollection</span></td><td><code>f577122c39393a90</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.components.io.resources.ResourceFactory</span></td><td><code>ab577575571faa37</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.configuration.DefaultPlexusConfiguration</span></td><td><code>4732e906b4408c03</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration</span></td><td><code>ec5787b398ab7165</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.context.ContextMapAdapter</span></td><td><code>833c0bfe5c4d8df9</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.context.DefaultContext</span></td><td><code>a584a66128e34d9a</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.AbstractDelegatingValueSource</span></td><td><code>fa905d67fbe1c30c</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.AbstractValueSource</span></td><td><code>1ed2fb132ebe6823</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.EnvarBasedValueSource</span></td><td><code>998ec46bd50d6913</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.MapBasedValueSource</span></td><td><code>7f59e3ef6168035d</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.ObjectBasedValueSource</span></td><td><code>e77101c153cc6dad</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.PrefixAwareRecursionInterceptor</span></td><td><code>d46f8cbd280efd02</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.PrefixedObjectValueSource</span></td><td><code>2bea1951661dad14</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.PrefixedValueSourceWrapper</span></td><td><code>265b1b78921f0550</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.PropertiesBasedValueSource</span></td><td><code>b4a2ab502f384128</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.RegexBasedInterpolator</span></td><td><code>d5a3d34628886cbb</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.SimpleRecursionInterceptor</span></td><td><code>7fca4d1c08095cea</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.StringSearchInterpolator</span></td><td><code>957c270bc053d10e</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.os.OperatingSystemUtils</span></td><td><code>809ae9b52507157a</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.reflection.ClassMap</span></td><td><code>3a570696712bd971</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.reflection.ClassMap.CacheMiss</span></td><td><code>d56cd72bfabb8afd</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.reflection.MethodMap</span></td><td><code>674a0c0a512e82b5</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.reflection.ReflectionValueExtractor</span></td><td><code>3cac48ec61003653</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.util.StringUtils</span></td><td><code>5495fb439a48b4d1</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.interpolation.util.ValueSourceUtils</span></td><td><code>33ab9c6ff0db32e2</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.logging.AbstractLogEnabled</span></td><td><code>df343e62bbff0ec7</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.logging.AbstractLogger</span></td><td><code>a105608a8f0e9b30</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.logging.AbstractLoggerManager</span></td><td><code>168118ddb5fbae76</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.logging.console.ConsoleLogger</span></td><td><code>a3f0bd3bd25bc39d</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.logging.console.ConsoleLoggerManager</span></td><td><code>8efcc8c629d88592</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.AbstractScanner</span></td><td><code>2b17dc2163f86c06</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.DirectoryScanner</span></td><td><code>9d168a6ba0f3d16b</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.FileUtils</span></td><td><code>d2c1c7098289718d</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.IOUtil</span></td><td><code>d487143a06120368</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.InterpolationFilterReader</span></td><td><code>b807d9f75b8410d1</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.Java7Detector</span></td><td><code>af1ebdf25a9b7aa5</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.MatchPattern</span></td><td><code>22cbab774d05504e</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.MatchPatterns</span></td><td><code>699e2ecd3487a8e1</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.NioFiles</span></td><td><code>4eee78fcb54ee4cc</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.Os</span></td><td><code>e86f82a434614ece</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.ReaderFactory</span></td><td><code>bcca7dcb50be1af2</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.SelectorUtils</span></td><td><code>13e934f5a68aa324</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.StringUtils</span></td><td><code>837339467b13c5cf</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.introspection.ClassMap</span></td><td><code>741e1b388185e8c4</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.introspection.ClassMap.CacheMiss</span></td><td><code>e757066c30842ffe</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.introspection.MethodMap</span></td><td><code>85e864038915a2f8</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.introspection.ReflectionValueExtractor</span></td><td><code>79bb9c5cd148ab37</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.introspection.ReflectionValueExtractor.Tokenizer</span></td><td><code>6d7f8fa8dd1977b7</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.xml.XmlReader</span></td><td><code>2ca42681128ebb7d</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.xml.XmlStreamReader</span></td><td><code>54bb454f4a044649</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.xml.Xpp3Dom</span></td><td><code>9546c7ece89e41cc</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.xml.Xpp3DomBuilder</span></td><td><code>93fa3c98c6fa3dda</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.xml.pull.EntityReplacementMap</span></td><td><code>0697dc724c9eafa2</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.xml.pull.MXParser</span></td><td><code>57232b08877675bb</code></td></tr><tr><td><span class="el_class">org.codehaus.plexus.util.xml.pull.MXSerializer</span></td><td><code>b3773308f85294a8</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.AbstractRepositoryListener</span></td><td><code>865655c96bff7534</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.DefaultRepositoryCache</span></td><td><code>246175f5cceb9ef6</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.DefaultRepositorySystemSession</span></td><td><code>27dad69413b3c218</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.DefaultRepositorySystemSession.NullArtifactTypeRegistry</span></td><td><code>9cf2cc28242980f5</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.DefaultRepositorySystemSession.NullAuthenticationSelector</span></td><td><code>57cba481b7d0f15f</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.DefaultRepositorySystemSession.NullMirrorSelector</span></td><td><code>b5ca4cb78e920fdd</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.DefaultRepositorySystemSession.NullProxySelector</span></td><td><code>5b9a550ef6df6434</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.DefaultSessionData</span></td><td><code>88746084f3fa6adf</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.RequestTrace</span></td><td><code>8c951e6520bd66b1</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.artifact.DefaultArtifactType</span></td><td><code>04f8e6f31fa2dd17</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultArtifactResolver</span></td><td><code>180f87f0bf844559</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultChecksumPolicyProvider</span></td><td><code>f97ebe08c4085c92</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultDependencyCollector</span></td><td><code>3481b3729e1c73da</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultDeployer</span></td><td><code>80127f5fcd2a03d9</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultFileProcessor</span></td><td><code>81d349185e61bb46</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultInstaller</span></td><td><code>1ccfd143e402b55e</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider</span></td><td><code>2773aa8770c5785d</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultMetadataResolver</span></td><td><code>dc5ce95399162c3a</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultOfflineController</span></td><td><code>cbdfa8c7076b26b9</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager</span></td><td><code>b131284986e31045</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider</span></td><td><code>1ace03dda377fe1f</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher</span></td><td><code>10f4e6d55c7e0a7d</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultRepositorySystem</span></td><td><code>66e27699ea2b366a</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultSyncContextFactory</span></td><td><code>bb74c9763f8eda34</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultUpdateCheckManager</span></td><td><code>1f1fe7eca4cb4d0d</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.DefaultUpdatePolicyAnalyzer</span></td><td><code>bcb6c512caff2a67</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager</span></td><td><code>88fa9a07832a3438</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory</span></td><td><code>8659341981c6fde4</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.LoggerFactoryProvider</span></td><td><code>fdbb9294ece8688f</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.PrioritizedComponent</span></td><td><code>9ad23b709eb38b2c</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.PrioritizedComponents</span></td><td><code>3388ebe8d7b1d9ae</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.SimpleLocalRepositoryManager</span></td><td><code>50c62f5c0dad346a</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory</span></td><td><code>4b9457653ababf1f</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.TrackingFileManager</span></td><td><code>fc6093a55593cb4d</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory</span></td><td><code>9ea8517c86c2c012</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory.Slf4jLogger</span></td><td><code>2eb3faca39166133</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.repository.LocalRepository</span></td><td><code>3d92bc9b9aca9952</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.repository.RemoteRepository</span></td><td><code>e7feffb7cfb3e04b</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.repository.RemoteRepository.Builder</span></td><td><code>b82ab23ba1f43c7f</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.repository.RepositoryPolicy</span></td><td><code>2e3403c1501f480e</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.repository.WorkspaceRepository</span></td><td><code>2d23d419ac114608</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.spi.log.NullLogger</span></td><td><code>03f2c33a291da54e</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.spi.log.NullLoggerFactory</span></td><td><code>67aefb1f3d3b0727</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.ConfigUtils</span></td><td><code>f520cf8e1832ed41</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.artifact.DefaultArtifactTypeRegistry</span></td><td><code>c295f5e9cf46e401</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.artifact.SimpleArtifactTypeRegistry</span></td><td><code>155ad63e10d00a83</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.manager.ClassicDependencyManager</span></td><td><code>eaf0fdf74f49afa7</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.selector.AndDependencySelector</span></td><td><code>d43757fbcf5e948e</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.selector.ExclusionDependencySelector</span></td><td><code>8a36e2f911e24b06</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.selector.OptionalDependencySelector</span></td><td><code>6a7f7ce8b0b483b0</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.selector.ScopeDependencySelector</span></td><td><code>c18861ad919ffb40</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.ChainedDependencyGraphTransformer</span></td><td><code>89f9ecebc8520167</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.ConflictResolver</span></td><td><code>10e90c9d2ba5402c</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.ConflictResolver.OptionalitySelector</span></td><td><code>976b2303eef69ff8</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.ConflictResolver.ScopeDeriver</span></td><td><code>9fbdb5f342b9ce33</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.ConflictResolver.ScopeSelector</span></td><td><code>ab8da5bd1205d72c</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.ConflictResolver.VersionSelector</span></td><td><code>bcbd1c9a55a799c2</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.JavaDependencyContextRefiner</span></td><td><code>1ac4f01fc49f41e6</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.JavaScopeDeriver</span></td><td><code>74c76258013a51d4</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.JavaScopeSelector</span></td><td><code>fe98703768c7d15e</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.NearestVersionSelector</span></td><td><code>b69faf2113c45979</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector</span></td><td><code>8ed27561cd76fff0</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.graph.traverser.FatArtifactTraverser</span></td><td><code>8b10e589feee70f8</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.repository.AuthenticationBuilder</span></td><td><code>75e861e0246f8be9</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.repository.ChainedAuthentication</span></td><td><code>ff41f3f0ed456713</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.repository.DefaultAuthenticationSelector</span></td><td><code>909cd87e972dae19</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.repository.DefaultMirrorSelector</span></td><td><code>e80305530b08dbf5</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.repository.DefaultProxySelector</span></td><td><code>cfc88f4dc5354a00</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.repository.SecretAuthentication</span></td><td><code>d93284afe84cb346</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy</span></td><td><code>eaae72ac4b598498</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.repository.SimpleResolutionErrorPolicy</span></td><td><code>a17a6113d144cdd8</code></td></tr><tr><td><span class="el_class">org.eclipse.aether.util.repository.StringAuthentication</span></td><td><code>06f5601f3a7a5e71</code></td></tr><tr><td><span class="el_class">org.eclipse.m2e.workspace.internal.Maven31WorkspaceReader</span></td><td><code>ae78d5fc9d2baa7a</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanInjector</span></td><td><code>4bc8c6f86696d787</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanListener</span></td><td><code>79635418e8a1cd7a</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanProperties</span></td><td><code>a885f76f7061e53d</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanPropertyField</span></td><td><code>862f3d6e9734df0d</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanPropertyIterator</span></td><td><code>625f309d7758606b</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanPropertySetter</span></td><td><code>45c642053a69e3f0</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanScheduler</span></td><td><code>ad093030fb50b9b2</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanScheduler.1</span></td><td><code>fd0aaf49510f01ef</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanScheduler.Activator</span></td><td><code>0a9587d1bb00221e</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.BeanScheduler.Pending</span></td><td><code>efb3b5d6882752aa</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.DeclaredMembers</span></td><td><code>3154107bcfbb3683</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.DeclaredMembers.MemberIterator</span></td><td><code>1bd9f1fb9ef7f98b</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.DeclaredMembers.View</span></td><td><code>23e235014e30a0ea</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.DeclaredMembers.View.1</span></td><td><code>3dc74f9b5f33fe56</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.DeclaredMembers.View.2</span></td><td><code>78b4e0ac648fb626</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.DeclaredMembers.View.3</span></td><td><code>30d8103ee57f3206</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.PropertyBinder</span></td><td><code>2e6c3778a5346fcf</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.bean.PropertyBinder.1</span></td><td><code>faaca8d6d27e056f</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.BeanCache</span></td><td><code>765dda39eada6f83</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.DefaultBeanLocator</span></td><td><code>204960afa6a18165</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.DefaultRankingFunction</span></td><td><code>6535e0cfd34f1b16</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.ImplementationVisitor</span></td><td><code>cebfb25274ecedbc</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.ImplicitBindings</span></td><td><code>8c4cdb36be1608f3</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.InjectorPublisher</span></td><td><code>51e834c02ffb23b5</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.LazyBeanEntry</span></td><td><code>8d1a53ff52573513</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.LazyBeanEntry.JsrNamed</span></td><td><code>48e06d1ce5830b9f</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.LocatedBeans</span></td><td><code>543acd0a20399ce4</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.LocatedBeans.Itr</span></td><td><code>8c2d229495aa31aa</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.Logs</span></td><td><code>280420d90507c921</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.Logs.SLF4JSink</span></td><td><code>94447348cbbf2a26</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildConcurrentKeys</span></td><td><code>9d081758db2e3747</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildConcurrentValues</span></td><td><code>31a6861c6a36d676</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildElements</span></td><td><code>c4ea64d7814f934b</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildElements.Itr</span></td><td><code>5eb9352005fee8a4</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildElements.Weak</span></td><td><code>8c7a5b1b751bf791</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildKeys</span></td><td><code>ffd12277d1df6204</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildKeys.Weak</span></td><td><code>1d07f5433de773ab</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildValues</span></td><td><code>c5951a7851feb702</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildValues.1</span></td><td><code>957784becff9f40a</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildValues.ValueItr</span></td><td><code>429de048d26c5a13</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.MildValues.Weak</span></td><td><code>4acbf3fa2ab65da9</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.QualifyingStrategy</span></td><td><code>ad3c41114cb85c76</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.QualifyingStrategy.1</span></td><td><code>ae36e9079516e10c</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.QualifyingStrategy.2</span></td><td><code>cd9366c63d8a3155</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.QualifyingStrategy.3</span></td><td><code>0cca1c06c06128bf</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.QualifyingStrategy.4</span></td><td><code>d190683e58a764f3</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.QualifyingStrategy.5</span></td><td><code>eec51eb9d072252c</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.RankedBindings</span></td><td><code>b34f6469853ccd64</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.RankedBindings.Itr</span></td><td><code>2f615fcab14912de</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.RankedSequence</span></td><td><code>5b700663c1403b6a</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.RankedSequence.Content</span></td><td><code>88f0e0963e8227dc</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.RankedSequence.Itr</span></td><td><code>6c18b3b01bb19271</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.TypeArguments</span></td><td><code>b91c6e6b2d727efd</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.inject.Weak</span></td><td><code>74fa19a1969fe490</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.ClassRealmManager</span></td><td><code>1be68c9f76c32526</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.ComponentDescriptorBeanModule</span></td><td><code>9f84330910a04fd8</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.ComponentDescriptorBeanModule.ComponentMetadata</span></td><td><code>4190a985aea0b7c0</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.ComponentDescriptorBeanModule.PlexusDescriptorBeanSource</span></td><td><code>dc9c883eac9e9f2b</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.ComponentImpl</span></td><td><code>fed6cd7dde1ba9d1</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.CompositeBeanHelper</span></td><td><code>2d413146523b60e5</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.CompositeBeanHelper.1</span></td><td><code>db6057c546dca307</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.ConfigurationImpl</span></td><td><code>17bfe3e1d2bab5d4</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.DefaultPlexusBeanLocator</span></td><td><code>0643f309b66967f9</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.DefaultPlexusBeans</span></td><td><code>c4cfa969918dde97</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.DefaultPlexusBeans.Itr</span></td><td><code>6b8357515019ab24</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.Hints</span></td><td><code>dce4af6bfde9b0a1</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.LazyPlexusBean</span></td><td><code>a6695c4c246d878c</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.OptionalPropertyBinding</span></td><td><code>9cb8c7c9d9eeac81</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusAnnotatedBeanModule</span></td><td><code>c09fda73d1bd2a42</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusAnnotatedBeanModule.1</span></td><td><code>2509f8256afbe846</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusAnnotatedBeanModule.PlexusAnnotatedBeanSource</span></td><td><code>61f98105e6c2da2e</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusAnnotatedMetadata</span></td><td><code>c77aab7cd373c077</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusBeanBinder</span></td><td><code>f7f0284927e2c033</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusBindingModule</span></td><td><code>b08fa16b3100610a</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusConfigurations</span></td><td><code>12d25c0301e6d591</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusConfigurations.ConfigurationProvider</span></td><td><code>775d4c0586849bdf</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusDateTypeConverter</span></td><td><code>6c63f25a3eea9e05</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusLifecycleManager</span></td><td><code>453684bf309b3472</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusLifecycleManager.2</span></td><td><code>6658d504f339e722</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusPropertyBinder</span></td><td><code>258c08174360e0d7</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusRequirements</span></td><td><code>821cbcc95c2a2cf0</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusRequirements.AbstractRequirementProvider</span></td><td><code>870e353d28c4703a</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusRequirements.RequirementListProvider</span></td><td><code>cd9af5bb97de4b1e</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusRequirements.RequirementMapProvider</span></td><td><code>3f49934626e4d958</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusRequirements.RequirementProvider</span></td><td><code>2a87fe8cf5e7f6b3</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusTypeBinder</span></td><td><code>608eeb0602e1282a</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusTypeBinder.PlexusDescribedBinding</span></td><td><code>436e7af47a15d7ca</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusTypeRegistry</span></td><td><code>7a094690b16a3b22</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusTypeVisitor</span></td><td><code>4680eb32bd1570d8</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusTypeVisitor.ComponentAnnotationVisitor</span></td><td><code>ef5279ef5b1e7de3</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusXmlBeanConverter</span></td><td><code>38aed9169e5f674f</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusXmlBeanModule</span></td><td><code>cb2d8e0c48f04d92</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusXmlBeanModule.PlexusXmlBeanSource</span></td><td><code>e2666eed91fd5759</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusXmlMetadata</span></td><td><code>ee3c6eee26e07a44</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.PlexusXmlScanner</span></td><td><code>40b6954d96c867ea</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.ProvidedPropertyBinding</span></td><td><code>fa99a5e0df480d2c</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.RealmFilteredBeans</span></td><td><code>8f7532c880be746f</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.RealmFilteredBeans.FilteredItr</span></td><td><code>52d453290bf6f3cf</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.RequirementImpl</span></td><td><code>70f6aa33737befdf</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.plexus.Roles</span></td><td><code>4b1b139f70be13e5</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.AbstractDeferredClass</span></td><td><code>066334a8a72fbf4e</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.BeanScanning</span></td><td><code>15e97edc137edc49</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.CloningClassSpace</span></td><td><code>68f456888e9fecbb</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.CloningClassSpace.1</span></td><td><code>dba89a04bb10ef11</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.CloningClassSpace.CloningClassLoader</span></td><td><code>d7eacf405135c136</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.DefaultClassFinder</span></td><td><code>a14218ebc928531d</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.IndexedClassFinder</span></td><td><code>4e20f6c2d626b9c1</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.IndexedClassFinder.1</span></td><td><code>05c1d180c1808dd6</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.LoadedClass</span></td><td><code>50ceb73d8b8a6895</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.NamedClass</span></td><td><code>90cdbbff521a1c51</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.QualifiedTypeBinder</span></td><td><code>9e80f20b61fb573a</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.QualifiedTypeVisitor</span></td><td><code>0c4667ccbaa91f4a</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.QualifierCache</span></td><td><code>3c6a316acee89782</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.SpaceModule</span></td><td><code>a56267fab878ce20</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.SpaceModule.Strategy</span></td><td><code>e42e134cdf56eac0</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.SpaceModule.Strategy.1</span></td><td><code>1a242dc354123f7c</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.SpaceScanner</span></td><td><code>cd530f6d29479eda</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.SpaceScanner.1</span></td><td><code>e152f180b26e99eb</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.Streams</span></td><td><code>5067f62019f5c4e0</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.URLClassSpace</span></td><td><code>f6beaf2e99a78cd0</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.WildcardKey</span></td><td><code>a70dd23f259f554e</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.WildcardKey.QualifiedImpl</span></td><td><code>2d4ed3ce46730793</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.asm.ByteVector</span></td><td><code>c7d6ab1c78e8932c</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.asm.ClassReader</span></td><td><code>6985f52087323bc1</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.asm.ClassVisitor</span></td><td><code>082103eebcb2023c</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.asm.ClassWriter</span></td><td><code>b2cb19c194e93e80</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.asm.Context</span></td><td><code>ebbdba2c127ffea7</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.asm.Item</span></td><td><code>3ba9c15025ca723b</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.asm.MethodVisitor</span></td><td><code>af0ec9637ae30792</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.space.asm.MethodWriter</span></td><td><code>c1dccd4e60e76c65</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.AbstractTypeConverter</span></td><td><code>ed2e5350d1f46ab7</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.BeanProviders</span></td><td><code>7f0b5474bb726cc1</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.BeanProviders.1</span></td><td><code>932cfd3329b52be1</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.BeanProviders.4</span></td><td><code>9984661a6e0ad663</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.BeanProviders.7</span></td><td><code>a4d346c592c650ae</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.DependencyAnalyzer</span></td><td><code>44e27f30971301b2</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.ElementAnalyzer</span></td><td><code>d4ddc1442c3b569e</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.ElementAnalyzer.1</span></td><td><code>719aff5ed5c1031f</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.EntryListAdapter</span></td><td><code>47d71ff8fdd4c296</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.EntryListAdapter.ValueIterator</span></td><td><code>5dfc6f2db4edaf17</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.EntryMapAdapter</span></td><td><code>2e3c75d47594d712</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.EntryMapAdapter.EntrySet</span></td><td><code>bc421dd909d0e353</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.EntrySetAdapter</span></td><td><code>6985efaec638c0c6</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.EntrySetAdapter.ValueIterator</span></td><td><code>a9fe6400923af619</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.FileTypeConverter</span></td><td><code>d68a79ca1bf37d7f</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.LocatorWiring</span></td><td><code>a387d66de04ac0a3</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.LocatorWiring.1</span></td><td><code>536a288548f69a70</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.MergedProperties</span></td><td><code>5c6370d932e76fd6</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.ParameterKeys</span></td><td><code>ff64aed48a03d6f5</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.PlaceholderBeanProvider</span></td><td><code>360edd9fecbbe3fc</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.TypeConverterCache</span></td><td><code>e7756797de1907ad</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.URLTypeConverter</span></td><td><code>8e2714b2b86504db</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.WireModule</span></td><td><code>36d8d21bd3a4e33e</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.WireModule.Strategy</span></td><td><code>d11df89a55e81df2</code></td></tr><tr><td><span class="el_class">org.eclipse.sisu.wire.WireModule.Strategy.1</span></td><td><code>707b564e61757fd9</code></td></tr><tr><td><span class="el_class">org.jacoco.agent.rt.RT</span></td><td><code>c284d4db81d58f19</code></td></tr><tr><td><span class="el_class">org.junit.Assert</span></td><td><code>e2bac9fc5ef3a4be</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter</span></td><td><code>e7c1106d3801ff54</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter.1</span></td><td><code>81fdc65e8fe19b52</code></td></tr><tr><td><span class="el_class">org.junit.internal.MethodSorter.2</span></td><td><code>bfe6560dc3722ab0</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.AllDefaultPossibilitiesBuilder</span></td><td><code>84f7fffb8cd30ad9</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.AnnotatedBuilder</span></td><td><code>0faf353d180c9332</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.IgnoredBuilder</span></td><td><code>e152f333c53967a6</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.JUnit3Builder</span></td><td><code>4a2cc8e608e1275e</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.JUnit4Builder</span></td><td><code>5902b7da0403f55c</code></td></tr><tr><td><span class="el_class">org.junit.internal.builders.SuiteMethodBuilder</span></td><td><code>1df136431e07e393</code></td></tr><tr><td><span class="el_class">org.junit.internal.requests.ClassRequest</span></td><td><code>f1e703dd2591ce5c</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.model.EachTestNotifier</span></td><td><code>0cb318e674165ac8</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.model.ReflectiveCallable</span></td><td><code>d591724635588bcb</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator</span></td><td><code>95b5ee2068ec6875</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.Builder</span></td><td><code>f24845fa6fd065af</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.DeclaringClassMustBePublic</span></td><td><code>1de994463c748d89</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.FieldMustBeARule</span></td><td><code>e24e9f59de6fe5b7</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.FieldMustBeATestRule</span></td><td><code>690823bd2992f52e</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBeNonStaticOrAlsoClassRule</span></td><td><code>1e703fb3e7f4e533</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBePublic</span></td><td><code>806c174eb921b478</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBeStatic</span></td><td><code>ac28a03dd36b2b5a</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MethodMustBeARule</span></td><td><code>88ea4a2237de2b8b</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.rules.RuleMemberValidator.MethodMustBeATestRule</span></td><td><code>9f4dd18a26005c18</code></td></tr><tr><td><span class="el_class">org.junit.internal.runners.statements.InvokeMethod</span></td><td><code>05a7aa636afa2c39</code></td></tr><tr><td><span class="el_class">org.junit.rules.RunRules</span></td><td><code>89f6dee1be8fdd02</code></td></tr><tr><td><span class="el_class">org.junit.rules.TestWatcher</span></td><td><code>8f8cbec1c22e7801</code></td></tr><tr><td><span class="el_class">org.junit.rules.TestWatcher.1</span></td><td><code>e12e501819204d5e</code></td></tr><tr><td><span class="el_class">org.junit.runner.Description</span></td><td><code>c7f1b09126c24b2b</code></td></tr><tr><td><span class="el_class">org.junit.runner.Request</span></td><td><code>4f785af929bd628a</code></td></tr><tr><td><span class="el_class">org.junit.runner.Result</span></td><td><code>3a364b299d905039</code></td></tr><tr><td><span class="el_class">org.junit.runner.Result.Listener</span></td><td><code>bbae11d09f5b5a09</code></td></tr><tr><td><span class="el_class">org.junit.runner.Runner</span></td><td><code>f5abacc70e2e08a4</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunListener</span></td><td><code>a740fd873cf92a63</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier</span></td><td><code>ba709a76760379c2</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.1</span></td><td><code>6eb5e06975b1ea02</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.2</span></td><td><code>dc4db4223d160c08</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.3</span></td><td><code>7a903d9d1caf7673</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.7</span></td><td><code>304ecd1b313cb650</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.RunNotifier.SafeNotifier</span></td><td><code>3b3dc2f2fc8cfc56</code></td></tr><tr><td><span class="el_class">org.junit.runner.notification.SynchronizedRunListener</span></td><td><code>0f89c0c6a77088e5</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner</span></td><td><code>673d2df2f68a9490</code></td></tr><tr><td><span class="el_class">org.junit.runners.BlockJUnit4ClassRunner.1</span></td><td><code>b3af68717b17ffc6</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner</span></td><td><code>df303f19df248a10</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.1</span></td><td><code>89f115a2214a3636</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.2</span></td><td><code>0fc04165488ae7c7</code></td></tr><tr><td><span class="el_class">org.junit.runners.ParentRunner.3</span></td><td><code>65f7d637ed11f8f4</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkField</span></td><td><code>d6d3c27befd6f49d</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMember</span></td><td><code>83f9d72bb2731cf1</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMethod</span></td><td><code>b9c1cccbfa624e4a</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.FrameworkMethod.1</span></td><td><code>87d2600c48ade534</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.MultipleFailureException</span></td><td><code>6864935644081f84</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.RunnerBuilder</span></td><td><code>0281d51b4f8328d4</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.Statement</span></td><td><code>9a75aa5de27bf4d5</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass</span></td><td><code>90136128a3e4d163</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass.FieldComparator</span></td><td><code>261449f31a730808</code></td></tr><tr><td><span class="el_class">org.junit.runners.model.TestClass.MethodComparator</span></td><td><code>5a734d8eaadb6011</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationValidatorFactory</span></td><td><code>e736331fde301341</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator</span></td><td><code>51f829810937d72f</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.AnnotatableValidator</span></td><td><code>d211a963f22be103</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.ClassValidator</span></td><td><code>1b463c4e6642e880</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.FieldValidator</span></td><td><code>64068b954dc56a31</code></td></tr><tr><td><span class="el_class">org.junit.validator.AnnotationsValidator.MethodValidator</span></td><td><code>f16b57f17c787036</code></td></tr><tr><td><span class="el_class">org.junit.validator.PublicClassValidator</span></td><td><code>3bac248cf06b18e4</code></td></tr><tr><td><span class="el_class">org.slf4j.Logger.debug</span></td><td><code>ddd5d97290aab1f9</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>e80b3c8ed382a4ff</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory.getLogger</span></td><td><code>27c63b9ef1c9666d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.MarkerIgnoringBase</span></td><td><code>7ebf011a62144edb</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>54f5632bfcb8d8d5</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NamedLoggerBase</span></td><td><code>16ccf5782fede341</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>dc7efc0107a4a62d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>6353f961d998a4b6</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.SimpleLogger</span></td><td><code>7858fc7ab692250d</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.SimpleLogger.1</span></td><td><code>6b48a5cb42d43365</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.SimpleLoggerFactory</span></td><td><code>c636af2845c11235</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.StaticLoggerBinder</span></td><td><code>9266b42a962dc839</code></td></tr><tr><td><span class="el_class">org.sonar.java.jacoco.JUnitListener</span></td><td><code>9ee2fcc1842654ea</code></td></tr><tr><td><span class="el_class">org.sonar.java.jacoco.JacocoController</span></td><td><code>42a9dd6d55b18da1</code></td></tr><tr><td><span class="el_class">org.sonatype.plexus.build.incremental.DefaultBuildContext</span></td><td><code>e25fd564b55e8386</code></td></tr><tr><td><span class="el_class">org.sonatype.plexus.build.incremental.EmptyScanner</span></td><td><code>45b8b1e83669fb98</code></td></tr><tr><td><span class="el_class">org.sonatype.plexus.components.cipher.DefaultPlexusCipher</span></td><td><code>5ddac845843100c4</code></td></tr><tr><td><span class="el_class">org.sonatype.plexus.components.cipher.PBECipher</span></td><td><code>638c060c25cd0952</code></td></tr><tr><td><span class="el_class">org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher</span></td><td><code>ff881dc36da13f0c</code></td></tr><tr><td><a href="org.springframework.cloud.contract.maven.verifier/ConvertMojo.html" class="el_class">org.springframework.cloud.contract.maven.verifier.ConvertMojo</a></td><td><code>b2797aa07cdc0e4a</code></td></tr><tr><td><a href="org.springframework.cloud.contract.maven.verifier/CopyContracts.html" class="el_class">org.springframework.cloud.contract.maven.verifier.CopyContracts</a></td><td><code>913f3a769f9067f4</code></td></tr><tr><td><a href="org.springframework.cloud.contract.maven.verifier/GenerateStubsMojo.html" class="el_class">org.springframework.cloud.contract.maven.verifier.GenerateStubsMojo</a></td><td><code>6fed34a805dcaee8</code></td></tr><tr><td><a href="org.springframework.cloud.contract.maven.verifier/GenerateTestsMojo.html" class="el_class">org.springframework.cloud.contract.maven.verifier.GenerateTestsMojo</a></td><td><code>e28d9a1dd643445f</code></td></tr><tr><td><a href="org.springframework.cloud.contract.maven.verifier/ManifestCreator.html" class="el_class">org.springframework.cloud.contract.maven.verifier.ManifestCreator</a></td><td><code>f8e0a7e96029edc8</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.maven.verifier.PluginUnitTest</span></td><td><code>b1e8e69675db047a</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.Contract</span></td><td><code>d0bcd861ff78c1db</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.Contract.make</span></td><td><code>533601951f80512d</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Body</span></td><td><code>ee6610fe4e0b75c1</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Common</span></td><td><code>dd679d6915fbb590</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.DslProperty</span></td><td><code>a9b1648a7c655e84</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Header</span></td><td><code>3387a17a30d91a61</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Headers</span></td><td><code>51ef1ea0b48394a6</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Headers._executeForEachHeader_closure1</span></td><td><code>1856b4734cd2e63f</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Headers.executeForEachHeader</span></td><td><code>fe1384fd6e354e0c</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Input</span></td><td><code>5fb012fa39572b2b</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Input.BodyType</span></td><td><code>937fd7d1126137fc</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.MatchingStrategy</span></td><td><code>5840ff8dde46e1e5</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.MatchingStrategy.Type</span></td><td><code>29deb28664af0ba2</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.OutputMessage</span></td><td><code>6bd329ca50b01713</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.RegexPatterns</span></td><td><code>830bbe761fdc82ef</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Request</span></td><td><code>f6c900c77dd3d6b4</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Response</span></td><td><code>ade91c3ebbc4316a</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.internal.Url</span></td><td><code>b52e28af10fc3869</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.util.ValidateUtils</span></td><td><code>22e1344860fb406c</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.spec.util.ValidateUtils.validateServerValue</span></td><td><code>e68d8fe7d8d63947</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.FileSaver</span></td><td><code>0361f916307c3415</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.FileSaver.saveClassFile</span></td><td><code>a4819e803493f365</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.TestGenerator</span></td><td><code>cef17d81cf265247</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.TestGenerator._generateTestClasses_closure1</span></td><td><code>197ee9e912dd9491</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.BlockBuilder</span></td><td><code>d6957eff24be71f1</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.BlockBuilder._addIndentation_closure1</span></td><td><code>8e34fcc5b8615fb9</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.ClassBuilder</span></td><td><code>334edf9707184f08</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.ClassBuilder._addField_closure1</span></td><td><code>22fe79cb16ddbcf7</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.ClassBuilder._build_closure2</span></td><td><code>2a1b814dc2107eb6</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.ClassBuilder._build_closure3</span></td><td><code>5e9970f8eb32a280</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.ClassBuilder._build_closure4</span></td><td><code>ebb328d480c3e214</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.ClassBuilder._build_closure5</span></td><td><code>debcb06797c15372</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.ClassBuilder._build_closure6</span></td><td><code>2a636116dab8b7c5</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.ClassBuilder._build_closure7</span></td><td><code>e13e2a0998bded9e</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.JUnitMessagingMethodBodyBuilder</span></td><td><code>6b142c423feb8d2a</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.JUnitMessagingMethodBodyBuilder._getInputString_closure2</span></td><td><code>611fbf421fbb5b32</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.JUnitMessagingMethodBodyBuilder._validateResponseHeadersBlock_closure1</span></td><td><code>3bc6704ba521b9c9</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.JUnitMethodBodyBuilder</span></td><td><code>8014430a37765e05</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MessagingMethodBodyBuilder</span></td><td><code>1ed24738783244be</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MethodBodyBuilder</span></td><td><code>0f1f81157c07bf1a</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MethodBodyBuilder._extractServerValueFromBody_closure3</span></td><td><code>7f9da5a7002eff97</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MethodBodyBuilder._extractServerValueFromBody_closure4</span></td><td><code>ff4b9a37a3054ec5</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MethodBodyBuilder._processBodyElement_closure5</span></td><td><code>d513128fad815d97</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MethodBodyBuilder._validateResponseBodyBlock_closure2</span></td><td><code>bbf47eefe33779ff</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MethodBuilder</span></td><td><code>11829785d3fcd0af</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MockMvcJUnitMethodBodyBuilder</span></td><td><code>5cafa11153efc8c7</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MockMvcJUnitMethodBodyBuilder._validateResponseHeadersBlock_closure1</span></td><td><code>285986b21f419b9c</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MockMvcSpockMethodRequestProcessingBodyBuilder</span></td><td><code>ca327b5a22338350</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.MockMvcSpockMethodRequestProcessingBodyBuilder._validateResponseHeadersBlock_closure1</span></td><td><code>4199eddfb3c28981</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.RequestProcessingMethodBodyBuilder</span></td><td><code>c7ba92ad5813ac6d</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.RequestProcessingMethodBodyBuilder._processInput_closure1</span></td><td><code>25bc052dedb6fc41</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SingleTestGenerator</span></td><td><code>5ea6cab7baa4f526</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SingleTestGenerator.ParsedDsl</span></td><td><code>9998855252691703</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SingleTestGenerator.TestType</span></td><td><code>bf85531349d6ff5f</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SingleTestGenerator._buildClass_closure2</span></td><td><code>03d77b1aae2b8ba9</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SingleTestGenerator._buildClass_closure4</span></td><td><code>410e788cab2ae1d7</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SingleTestGenerator._isScenarioClass_closure6</span></td><td><code>2d73a60055060c77</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SingleTestGenerator._mapContractsToTheirTestTypes_closure5</span></td><td><code>9d6db201981987e4</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SpockMessagingMethodBodyBuilder</span></td><td><code>3888f43a3491f9fb</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SpockMessagingMethodBodyBuilder._getInputString_closure2</span></td><td><code>8822e6abba0df113</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SpockMessagingMethodBodyBuilder._validateResponseHeadersBlock_closure1</span></td><td><code>750a9b10d567befd</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.builder.SpockMethodRequestProcessingBodyBuilder</span></td><td><code>d3f4668d31496417</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.config.ContractVerifierConfigProperties</span></td><td><code>69e02f2939d71b0a</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.config.TestFramework</span></td><td><code>2c5baf35d9e7b55e</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.config.TestMode</span></td><td><code>7b4e99bbe8028165</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.BaseWireMockStubStrategy</span></td><td><code>c1cef86d848487e3</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.BaseWireMockStubStrategy.__clinit__closure3</span></td><td><code>b103232a91039b45</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockRequestStubStrategy</span></td><td><code>5b2e5b6c2cb59c06</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockRequestStubStrategy._appendBody_closure1</span></td><td><code>1ffe975c3cc2cd35</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockRequestStubStrategy._appendBody_closure2</span></td><td><code>66f7b988f3133a9c</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockRequestStubStrategy._appendHeaders_closure5</span></td><td><code>495ac1c8b822dda0</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockRequestStubStrategy._appendQueryParameters_closure7</span></td><td><code>5ed101fd0ef2e11f</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockRequestStubStrategy._getMatchingStrategy_closure8</span></td><td><code>aa57ab6a0fb7327d</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockResponseStubStrategy</span></td><td><code>55a3efb65aec93ef</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockResponseStubStrategy._appendHeaders_closure1</span></td><td><code>39163c67c5885d14</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.dsl.wiremock.WireMockStubStrategy</span></td><td><code>9950ec974fc8d78a</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.file.ContractFileScanner</span></td><td><code>11a70721cfe9438e</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.file.ContractFileScanner._appendRecursively_closure2</span></td><td><code>1427a89c336af9ca</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.file.ContractFileScanner._processPatterns_closure1</span></td><td><code>1305f974aad95836</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.file.ContractFileScanner.findContracts</span></td><td><code>941108d667d27201</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.file.ContractMetadata</span></td><td><code>b5dba38517698348</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentType</span></td><td><code>746b0b29736084fe</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils</span></td><td><code>ff12c6b71a32ae08</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils.__clinit__closure10</span></td><td><code>b8dc6091a62f4b0c</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils.__clinit__closure9</span></td><td><code>2518c26faff8e537</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils._convertAllTemporaryRegexPlaceholdersBackToPatterns_closure5</span></td><td><code>c108df4d05283d37</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils._convertDslPropsToTemporaryRegexPatterns_closure4</span></td><td><code>814ae0ac13a11358</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils._extractValueForJSON_closure2</span></td><td><code>fef7f3e4794f40d0</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils._recognizeContentTypeFromHeader_closure6</span></td><td><code>72f36047b082773c</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils.extractValue.0</span></td><td><code>82357ff5914f7954</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils.extractValue.1</span></td><td><code>b1833ecd479bbff1</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils.getEqualsTypeFromContentType.2</span></td><td><code>f52a0af1619c3be9</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils.recognizeContentTypeFromContent.4</span></td><td><code>09199e19dce51c65</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils.recognizeContentTypeFromHeader</span></td><td><code>72f7b3ea998a052f</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContentUtils.returnParsedObject.3</span></td><td><code>897688ae6371516e</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContractVerifierDslConverter</span></td><td><code>87a3391adefbf4a5</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.ContractVerifierDslConverter.convert</span></td><td><code>1f83f14d10a514f5</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.DelegatingJsonVerifiable</span></td><td><code>89321fa1cebc6f93</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.FinishedDelegatingJsonVerifiable</span></td><td><code>219cb8f1e437375e</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.JsonPaths</span></td><td><code>eff0eef511e64822</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter</span></td><td><code>12c5e41cd6d6c381</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter._convertWithKey_closure9</span></td><td><code>ca0c53fc79ed01b7</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter._isAnEntryWithoutNestedStructures_closure6</span></td><td><code>7f1018e35da8ce42</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter._isAnEntryWithoutNestedStructures_closure6._closure10</span></td><td><code>07f1792e45b9677f</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter._transformToJsonPathWithValues_closure1</span></td><td><code>f056b80be37b1d7a</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter.transformToJsonPathWithStubsSideValues</span></td><td><code>e5d16c2330550416</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.JsonToJsonPathsConverter.transformToJsonPathWithTestsSideValues.0</span></td><td><code>7001751ea6c4f697</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MapConverter</span></td><td><code>ea0fe8fa8857372e</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MapConverter._convert_closure4</span></td><td><code>1ddbf548e16ccc05</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MapConverter._getClientOrServerSideValues_closure5</span></td><td><code>a5f5419ea29b76aa</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MapConverter._transformToClientValues_closure1</span></td><td><code>4e5565787ad7a128</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MapConverter.getClientOrServerSideValues.1</span></td><td><code>0f8d74919cfa3556</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MapConverter.getTestSideValues.2</span></td><td><code>085bf437ce6f442c</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MapConverter.transformToClientValues.0</span></td><td><code>6f1c5810863772df</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MapConverter.transformValues</span></td><td><code>351d0e851b561438</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MethodBufferingJsonVerifiable.assertsSize.1</span></td><td><code>d65558b53a2a0aa6</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MethodBufferingJsonVerifiable.field</span></td><td><code>a03f953f92e11fc0</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.MethodBufferingJsonVerifiable.isEqualTo.0</span></td><td><code>569b903b7786c189</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.NamesUtil</span></td><td><code>4ad921197c3faed8</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.NamesUtil.afterLast</span></td><td><code>3b8d14ad02245795</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.NamesUtil.beforeLast.0</span></td><td><code>146caffc7dbd5efc</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.NamesUtil.capitalize.1</span></td><td><code>af5a12ba41785c15</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.util.NamesUtil.convertIllegalPackageChars.2</span></td><td><code>8d36007d321c02de</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.wiremock.DslToWireMockClientConverter</span></td><td><code>cd8cbc6bf959feda</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.wiremock.DslToWireMockConverter</span></td><td><code>c2f7239c4cbe85d4</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.wiremock.RecursiveFilesConverter</span></td><td><code>8f9261bc1700e147</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.wiremock.RecursiveFilesConverter._processFiles_closure1</span></td><td><code>940eca1a900c7e54</code></td></tr><tr><td><span class="el_class">org.springframework.cloud.contract.verifier.wiremock.RecursiveFilesConverter._processFiles_closure1._closure2</span></td><td><code>05084ebaef103da8</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/index.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/index.html
    new file mode 100644
    index 0000000000..19517106ab
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href=".resources/report.css" type="text/css"/><link rel="shortcut icon" href=".resources/report.gif" type="image/gif"/><title>Spring Cloud Contract Maven Plugin</title><script type="text/javascript" src=".resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href=".sessions.html" class="el_session">Sessions</a></span><span class="el_report">Spring Cloud Contract Maven Plugin</span></div><h1>Spring Cloud Contract Maven Plugin</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">428 of 869</td><td class="ctr2">51%</td><td class="bar">36 of 52</td><td class="ctr2">31%</td><td class="ctr1">44</td><td class="ctr2">58</td><td class="ctr1">102</td><td class="ctr2">197</td><td class="ctr1">19</td><td class="ctr2">32</td><td class="ctr1">4</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a0"><a href="org.springframework.cloud.contract.maven.verifier/index.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a></td><td class="bar" id="b0"><img src=".resources/redbar.gif" width="50" height="10" title="319" alt="319"/><img src=".resources/greenbar.gif" width="69" height="10" title="441" alt="441"/></td><td class="ctr2" id="c0">58%</td><td class="bar" id="d0"><img src=".resources/redbar.gif" width="83" height="10" title="36" alt="36"/><img src=".resources/greenbar.gif" width="36" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">31%</td><td class="ctr1" id="f0">36</td><td class="ctr2" id="g0">50</td><td class="ctr1" id="h0">76</td><td class="ctr2" id="i0">171</td><td class="ctr1" id="j0">11</td><td class="ctr2" id="k0">24</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m0">6</td></tr><tr><td id="a1"><a href="org.springframework.cloud.contract.maven.verifier.stubrunner/index.html" class="el_package">org.springframework.cloud.contract.maven.verifier.stubrunner</a></td><td class="bar" id="b1"><img src=".resources/redbar.gif" width="17" height="10" title="109" alt="109"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">26</td><td class="ctr2" id="i1">26</td><td class="ctr1" id="j1">8</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l0">3</td><td class="ctr2" id="m1">3</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/jacoco.csv b/HEAD/spring-cloud-contract-maven-plugin/jacoco/jacoco.csv
    new file mode 100644
    index 0000000000..7c6debcc1a
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/jacoco.csv
    @@ -0,0 +1,10 @@
    +GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
    +Spring Cloud Contract Maven Plugin,org.springframework.cloud.contract.maven.verifier,ManifestCreator,42,43,11,5,12,10,10,2,2,2
    +Spring Cloud Contract Maven Plugin,org.springframework.cloud.contract.maven.verifier,CopyContracts,8,72,0,0,2,23,0,3,0,3
    +Spring Cloud Contract Maven Plugin,org.springframework.cloud.contract.maven.verifier,ConvertMojo,18,88,3,3,3,17,3,3,0,3
    +Spring Cloud Contract Maven Plugin,org.springframework.cloud.contract.maven.verifier,GenerateTestsMojo,75,130,10,4,14,26,11,2,4,2
    +Spring Cloud Contract Maven Plugin,org.springframework.cloud.contract.maven.verifier,RunMojo,131,0,10,0,39,0,10,0,5,0
    +Spring Cloud Contract Maven Plugin,org.springframework.cloud.contract.maven.verifier,GenerateStubsMojo,45,108,2,4,6,19,2,4,0,3
    +Spring Cloud Contract Maven Plugin,org.springframework.cloud.contract.maven.verifier.stubrunner,RemoteStubRunner,57,0,0,0,14,0,3,0,3,0
    +Spring Cloud Contract Maven Plugin,org.springframework.cloud.contract.maven.verifier.stubrunner,LocalStubRunner,33,0,0,0,6,0,3,0,3,0
    +Spring Cloud Contract Maven Plugin,org.springframework.cloud.contract.maven.verifier.stubrunner,AetherStubDownloaderFactory,19,0,0,0,6,0,2,0,2,0
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/jacoco.xml b/HEAD/spring-cloud-contract-maven-plugin/jacoco/jacoco.xml
    new file mode 100644
    index 0000000000..a55dce2e9f
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/jacoco.xml
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd"><report name="Spring Cloud Contract Maven Plugin"><sessioninfo id="" start="1469651065010" dump="1469651065955"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateWireMockFromStubsDirectory" start="1469651065958" dump="1469651070485"/><sessioninfo id="" start="1469651070521" dump="1469651070522"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateStubsWithMappingsOnly" start="1469651070554" dump="1469651071030"/><sessioninfo id="" start="1469651071063" dump="1469651071064"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateWireMockStubsInDefaultLocation" start="1469651071095" dump="1469651071472"/><sessioninfo id="" start="1469651071504" dump="1469651071505"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateStubsWithCustomClassifier" start="1469651071537" dump="1469651071762"/><sessioninfo id="" start="1469651071793" dump="1469651071794"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateWireMockStubsInSelectedLocation" start="1469651071825" dump="1469651072119"/><sessioninfo id="" start="1469651072150" dump="1469651072151"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateContractTestsWithCustomImports" start="1469651072183" dump="1469651072899"/><sessioninfo id="" start="1469651072933" dump="1469651072933"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateStubs" start="1469651072966" dump="1469651073165"/><sessioninfo id="" start="1469651073198" dump="1469651073199"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldCopyContracts" start="1469651073231" dump="1469651073472"/><sessioninfo id="" start="1469651073505" dump="1469651073505"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateContractSpecificationInDefaultLocation" start="1469651073538" dump="1469651073814"/><sessioninfo id="" start="1469651073847" dump="1469651073848"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateContractTestsInDefaultLocation" start="1469651073880" dump="1469651074117"/><sessioninfo id="org.springframework.cloud.contract.maven.verifier.PluginUnitTest shouldGenerateContractTestsInDefaultLocation" start="1469651074151" dump="1469651074155"/><package name="org/springframework/cloud/contract/maven/verifier"><class name="org/springframework/cloud/contract/maven/verifier/ManifestCreator"><method name="&lt;init&gt;" desc="()V" line="26"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="createManifest" desc="(Lorg/apache/maven/project/MavenProject;)Lorg/codehaus/plexus/archiver/jar/Manifest;" line="28"><counter type="INSTRUCTION" missed="16" covered="26"/><counter type="BRANCH" missed="5" covered="3"/><counter type="LINE" missed="4" covered="7"/><counter type="COMPLEXITY" missed="4" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findMavenPlugin" desc="(Ljava/util/List;)Lorg/apache/maven/model/Plugin;" line="46"><counter type="INSTRUCTION" missed="3" covered="17"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findVerifierDependency" desc="(Ljava/util/List;)Lorg/apache/maven/model/Dependency;" line="55"><counter type="INSTRUCTION" missed="20" covered="0"/><counter type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="42" covered="43"/><counter type="BRANCH" missed="11" covered="5"/><counter type="LINE" missed="12" covered="10"/><counter type="COMPLEXITY" missed="10" covered="2"/><counter type="METHOD" missed="2" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/springframework/cloud/contract/maven/verifier/CopyContracts"><method name="&lt;init&gt;" desc="(Lorg/apache/maven/project/MavenProject;Lorg/apache/maven/execution/MavenSession;Lorg/apache/maven/shared/filtering/MavenResourcesFiltering;)V" line="40"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="copy" desc="(Ljava/io/File;Ljava/io/File;)V" line="48"><counter type="INSTRUCTION" missed="8" covered="55"/><counter type="LINE" missed="2" covered="16"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="72"/><counter type="LINE" missed="2" covered="23"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/springframework/cloud/contract/maven/verifier/ConvertMojo"><method name="&lt;init&gt;" desc="()V" line="41"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="80"><counter type="INSTRUCTION" missed="18" covered="80"/><counter type="BRANCH" missed="3" covered="3"/><counter type="LINE" missed="3" covered="15"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isInsideProject" desc="()Z" line="109"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="18" covered="88"/><counter type="BRANCH" missed="3" covered="3"/><counter type="LINE" missed="3" covered="17"/><counter type="COMPLEXITY" missed="3" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/springframework/cloud/contract/maven/verifier/GenerateTestsMojo"><method name="&lt;init&gt;" desc="()V" line="37"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="101"><counter type="INSTRUCTION" missed="61" covered="127"/><counter type="BRANCH" missed="10" covered="4"/><counter type="LINE" missed="8" covered="25"/><counter type="COMPLEXITY" missed="7" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getExcludedFiles" desc="()Ljava/util/List;" line="143"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setExcludedFiles" desc="(Ljava/util/List;)V" line="147"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getIgnoredFiles" desc="()Ljava/util/List;" line="151"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="setIgnoredFiles" desc="(Ljava/util/List;)V" line="155"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="75" covered="130"/><counter type="BRANCH" missed="10" covered="4"/><counter type="LINE" missed="14" covered="26"/><counter type="COMPLEXITY" missed="11" covered="2"/><counter type="METHOD" missed="4" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="org/springframework/cloud/contract/maven/verifier/RunMojo"><method name="&lt;init&gt;" desc="(Lorg/springframework/cloud/contract/maven/verifier/stubrunner/LocalStubRunner;Lorg/springframework/cloud/contract/maven/verifier/stubrunner/RemoteStubRunner;)V" line="83"><counter type="INSTRUCTION" missed="12" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="execute" desc="()V" line="100"><counter type="INSTRUCTION" missed="95" covered="0"/><counter type="BRANCH" missed="8" covered="0"/><counter type="LINE" missed="25" covered="0"/><counter type="COMPLEXITY" missed="5" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="resolveStubsDirectory" desc="()Ljava/io/File;" line="131"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="BRANCH" missed="2" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="pressAnyKeyToContinue" desc="()V" line="139"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="5" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="isInsideProject" desc="()Z" line="147"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="131" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="10" covered="0"/><counter type="METHOD" missed="5" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/springframework/cloud/contract/maven/verifier/GenerateStubsMojo"><method name="&lt;init&gt;" desc="()V" line="34"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="()V" line="69"><counter type="INSTRUCTION" missed="13" covered="18"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="2" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="createStubJar" desc="(Ljava/io/File;)Ljava/io/File;" line="81"><counter type="INSTRUCTION" missed="32" covered="87"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="4" covered="14"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="45" covered="108"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="6" covered="19"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="GenerateTestsMojo.java"><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="101" mi="0" ci="9" mb="3" cb="3"/><line nr="102" mi="15" ci="0" mb="2" cb="0"/><line nr="103" mi="15" ci="0" mb="2" cb="0"/><line nr="104" mi="15" ci="0" mb="2" cb="0"/><line nr="105" mi="1" ci="0" mb="0" cb="0"/><line nr="107" mi="0" ci="4" mb="0" cb="0"/><line nr="109" mi="0" ci="4" mb="0" cb="0"/><line nr="110" mi="0" ci="4" mb="0" cb="0"/><line nr="111" mi="0" ci="4" mb="0" cb="0"/><line nr="112" mi="0" ci="4" mb="0" cb="0"/><line nr="113" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="4" mb="0" cb="0"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="4" mb="0" cb="0"/><line nr="117" mi="0" ci="4" mb="0" cb="0"/><line nr="118" mi="0" ci="4" mb="0" cb="0"/><line nr="119" mi="0" ci="4" mb="0" cb="0"/><line nr="120" mi="0" ci="4" mb="0" cb="0"/><line nr="121" mi="0" ci="4" mb="0" cb="0"/><line nr="122" mi="0" ci="6" mb="0" cb="0"/><line nr="123" mi="0" ci="4" mb="1" cb="1"/><line nr="124" mi="0" ci="10" mb="0" cb="0"/><line nr="125" mi="0" ci="5" mb="0" cb="0"/><line nr="127" mi="0" ci="14" mb="0" cb="0"/><line nr="131" mi="0" ci="5" mb="0" cb="0"/><line nr="132" mi="0" ci="3" mb="0" cb="0"/><line nr="133" mi="0" ci="13" mb="0" cb="0"/><line nr="135" mi="1" ci="0" mb="0" cb="0"/><line nr="136" mi="8" ci="0" mb="0" cb="0"/><line nr="137" mi="4" ci="0" mb="0" cb="0"/><line nr="138" mi="2" ci="0" mb="0" cb="0"/><line nr="139" mi="0" ci="1" mb="0" cb="0"/><line nr="140" mi="0" ci="1" mb="0" cb="0"/><line nr="143" mi="3" ci="0" mb="0" cb="0"/><line nr="147" mi="3" ci="0" mb="0" cb="0"/><line nr="148" mi="1" ci="0" mb="0" cb="0"/><line nr="151" mi="3" ci="0" mb="0" cb="0"/><line nr="155" mi="3" ci="0" mb="0" cb="0"/><line nr="156" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="75" covered="130"/><counter type="BRANCH" missed="10" covered="4"/><counter type="LINE" missed="14" covered="26"/><counter type="COMPLEXITY" missed="11" covered="2"/><counter type="METHOD" missed="4" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="GenerateStubsMojo.java"><line nr="34" mi="0" ci="3" mb="0" cb="0"/><line nr="69" mi="0" ci="3" mb="1" cb="1"/><line nr="70" mi="12" ci="0" mb="0" cb="0"/><line nr="73" mi="1" ci="0" mb="0" cb="0"/><line nr="75" mi="0" ci="5" mb="0" cb="0"/><line nr="76" mi="0" ci="9" mb="0" cb="0"/><line nr="77" mi="0" ci="1" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="1" cb="1"/><line nr="82" mi="8" ci="0" mb="0" cb="0"/><line nr="83" mi="7" ci="0" mb="0" cb="0"/><line nr="86" mi="0" ci="5" mb="0" cb="0"/><line nr="87" mi="0" ci="12" mb="0" cb="0"/><line nr="88" mi="0" ci="7" mb="0" cb="0"/><line nr="90" mi="0" ci="3" mb="0" cb="2"/><line nr="91" mi="0" ci="17" mb="0" cb="0"/><line nr="96" mi="0" ci="4" mb="0" cb="0"/><line nr="98" mi="0" ci="16" mb="0" cb="0"/><line nr="102" mi="0" ci="4" mb="0" cb="0"/><line nr="103" mi="0" ci="4" mb="0" cb="0"/><line nr="104" mi="0" ci="6" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="1" ci="0" mb="0" cb="0"/><line nr="108" mi="16" ci="0" mb="0" cb="0"/><line nr="110" mi="0" ci="1" mb="0" cb="0"/><line nr="111" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="45" covered="108"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="6" covered="19"/><counter type="COMPLEXITY" missed="2" covered="4"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="CopyContracts.java"><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="2" mb="0" cb="0"/><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="44" mi="0" ci="1" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="4" mb="0" cb="0"/><line nr="50" mi="0" ci="4" mb="0" cb="0"/><line nr="51" mi="0" ci="4" mb="0" cb="0"/><line nr="52" mi="0" ci="4" mb="0" cb="0"/><line nr="53" mi="0" ci="7" mb="0" cb="0"/><line nr="54" mi="0" ci="4" mb="0" cb="0"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="4" mb="0" cb="0"/><line nr="57" mi="0" ci="3" mb="0" cb="0"/><line nr="58" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><line nr="60" mi="0" ci="3" mb="0" cb="0"/><line nr="62" mi="0" ci="4" mb="0" cb="0"/><line nr="64" mi="1" ci="0" mb="0" cb="0"/><line nr="65" mi="7" ci="0" mb="0" cb="0"/><line nr="66" mi="0" ci="1" mb="0" cb="0"/><line nr="68" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="72"/><counter type="LINE" missed="2" covered="23"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RunMojo.java"><line nr="83" mi="3" ci="0" mb="0" cb="0"/><line nr="94" mi="2" ci="0" mb="0" cb="0"/><line nr="95" mi="3" ci="0" mb="0" cb="0"/><line nr="96" mi="3" ci="0" mb="0" cb="0"/><line nr="97" mi="1" ci="0" mb="0" cb="0"/><line nr="100" mi="6" ci="0" mb="4" cb="0"/><line nr="101" mi="13" ci="0" mb="0" cb="0"/><line nr="102" mi="1" ci="0" mb="0" cb="0"/><line nr="104" mi="2" ci="0" mb="0" cb="0"/><line nr="105" mi="5" ci="0" mb="0" cb="0"/><line nr="106" mi="2" ci="0" mb="0" cb="0"/><line nr="107" mi="4" ci="0" mb="2" cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="109" mi="2" ci="0" mb="0" cb="0"/><line nr="110" mi="2" ci="0" mb="0" cb="0"/><line nr="111" mi="8" ci="0" mb="0" cb="0"/><line nr="112" mi="6" ci="0" mb="0" cb="0"/><line nr="113" mi="1" ci="0" mb="0" cb="0"/><line nr="114" mi="8" ci="0" mb="0" cb="0"/><line nr="115" mi="3" ci="0" mb="0" cb="0"/><line nr="116" mi="5" ci="0" mb="0" cb="0"/><line nr="117" mi="2" ci="0" mb="0" cb="0"/><line nr="118" mi="7" ci="0" mb="0" cb="0"/><line nr="120" mi="2" ci="0" mb="0" cb="0"/><line nr="121" mi="2" ci="0" mb="2" cb="0"/><line nr="123" mi="2" ci="0" mb="0" cb="0"/><line nr="124" mi="1" ci="0" mb="0" cb="0"/><line nr="125" mi="6" ci="0" mb="0" cb="0"/><line nr="126" mi="1" ci="0" mb="0" cb="0"/><line nr="128" mi="1" ci="0" mb="0" cb="0"/><line nr="131" mi="3" ci="0" mb="2" cb="0"/><line nr="132" mi="3" ci="0" mb="0" cb="0"/><line nr="134" mi="3" ci="0" mb="0" cb="0"/><line nr="139" mi="4" ci="0" mb="0" cb="0"/><line nr="141" mi="3" ci="0" mb="0" cb="0"/><line nr="142" mi="1" ci="0" mb="0" cb="0"/><line nr="143" mi="1" ci="0" mb="0" cb="0"/><line nr="144" mi="1" ci="0" mb="0" cb="0"/><line nr="147" mi="5" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="131" covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter type="LINE" missed="39" covered="0"/><counter type="COMPLEXITY" missed="10" covered="0"/><counter type="METHOD" missed="5" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="ManifestCreator.java"><line nr="26" mi="3" ci="0" mb="0" cb="0"/><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="29" mi="0" ci="4" mb="0" cb="0"/><line nr="30" mi="0" ci="2" mb="1" cb="1"/><line nr="31" mi="0" ci="6" mb="0" cb="0"/><line nr="32" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="6" mb="2" cb="2"/><line nr="35" mi="4" ci="0" mb="0" cb="0"/><line nr="36" mi="2" ci="0" mb="2" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="7" ci="0" mb="0" cb="0"/><line nr="42" mi="0" ci="2" mb="0" cb="0"/><line nr="46" mi="0" ci="10" mb="1" cb="1"/><line nr="47" mi="0" ci="5" mb="1" cb="1"/><line nr="48" mi="0" ci="2" mb="0" cb="0"/><line nr="50" mi="1" ci="0" mb="0" cb="0"/><line nr="51" mi="2" ci="0" mb="0" cb="0"/><line nr="55" mi="10" ci="0" mb="2" cb="0"/><line nr="56" mi="5" ci="0" mb="2" cb="0"/><line nr="57" mi="2" ci="0" mb="0" cb="0"/><line nr="59" mi="1" ci="0" mb="0" cb="0"/><line nr="60" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="42" covered="43"/><counter type="BRANCH" missed="11" covered="5"/><counter type="LINE" missed="12" covered="10"/><counter type="COMPLEXITY" missed="10" covered="2"/><counter type="METHOD" missed="2" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ConvertMojo.java"><line nr="41" mi="0" ci="3" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="1" cb="1"/><line nr="81" mi="11" ci="0" mb="0" cb="0"/><line nr="83" mi="2" ci="0" mb="0" cb="0"/><line nr="84" mi="1" ci="0" mb="0" cb="0"/><line nr="87" mi="0" ci="13" mb="0" cb="0"/><line nr="88" mi="0" ci="1" mb="0" cb="0"/><line nr="90" mi="0" ci="4" mb="0" cb="0"/><line nr="91" mi="2" ci="8" mb="1" cb="1"/><line nr="92" mi="0" ci="3" mb="0" cb="0"/><line nr="93" mi="2" ci="9" mb="1" cb="1"/><line nr="95" mi="0" ci="4" mb="0" cb="0"/><line nr="97" mi="0" ci="10" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="0"/><line nr="100" mi="0" ci="10" mb="0" cb="0"/><line nr="101" mi="0" ci="2" mb="0" cb="0"/><line nr="103" mi="0" ci="8" mb="0" cb="0"/><line nr="105" mi="0" ci="2" mb="0" cb="0"/><line nr="106" mi="0" ci="1" mb="0" cb="0"/><line nr="109" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="18" covered="88"/><counter type="BRANCH" missed="3" covered="3"/><counter type="LINE" missed="3" covered="17"/><counter type="COMPLEXITY" missed="3" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="319" covered="441"/><counter type="BRANCH" missed="36" covered="16"/><counter type="LINE" missed="76" covered="95"/><counter type="COMPLEXITY" missed="36" covered="14"/><counter type="METHOD" missed="11" covered="13"/><counter type="CLASS" missed="1" covered="5"/></package><package name="org/springframework/cloud/contract/maven/verifier/stubrunner"><class name="org/springframework/cloud/contract/maven/verifier/stubrunner/RemoteStubRunner"><method name="&lt;init&gt;" desc="(Lorg/springframework/cloud/contract/maven/verifier/stubrunner/AetherStubDownloaderFactory;)V" line="37"><counter type="INSTRUCTION" missed="6" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="run" desc="(Lorg/springframework/cloud/contract/stubrunner/StubRunnerOptions;Lorg/eclipse/aether/RepositorySystemSession;)Lorg/springframework/cloud/contract/stubrunner/BatchStubRunner;" line="42"><counter type="INSTRUCTION" missed="46" covered="0"/><counter type="LINE" missed="10" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="57" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/springframework/cloud/contract/maven/verifier/stubrunner/LocalStubRunner"><method name="&lt;init&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="run" desc="(Ljava/lang/String;Lorg/springframework/cloud/contract/stubrunner/StubRunnerOptions;)Lorg/springframework/cloud/contract/stubrunner/StubRunner;" line="32"><counter type="INSTRUCTION" missed="25" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="&lt;clinit&gt;" desc="()V" line="29"><counter type="INSTRUCTION" missed="5" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="org/springframework/cloud/contract/maven/verifier/stubrunner/AetherStubDownloaderFactory"><method name="&lt;init&gt;" desc="(Lorg/eclipse/aether/RepositorySystem;Lorg/apache/maven/project/MavenProject;)V" line="35"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="build" desc="(Lorg/eclipse/aether/RepositorySystemSession;)Lorg/springframework/cloud/contract/stubrunner/AetherStubDownloader;" line="41"><counter type="INSTRUCTION" missed="10" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><sourcefile name="AetherStubDownloaderFactory.java"><line nr="35" mi="2" ci="0" mb="0" cb="0"/><line nr="36" mi="3" ci="0" mb="0" cb="0"/><line nr="37" mi="3" ci="0" mb="0" cb="0"/><line nr="38" mi="1" ci="0" mb="0" cb="0"/><line nr="41" mi="6" ci="0" mb="0" cb="0"/><line nr="42" mi="4" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="19" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="2" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="RemoteStubRunner.java"><line nr="33" mi="5" ci="0" mb="0" cb="0"/><line nr="37" mi="2" ci="0" mb="0" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="39" mi="1" ci="0" mb="0" cb="0"/><line nr="42" mi="5" ci="0" mb="0" cb="0"/><line nr="44" mi="11" ci="0" mb="0" cb="0"/><line nr="45" mi="5" ci="0" mb="0" cb="0"/><line nr="46" mi="2" ci="0" mb="0" cb="0"/><line nr="47" mi="3" ci="0" mb="0" cb="0"/><line nr="48" mi="4" ci="0" mb="0" cb="0"/><line nr="49" mi="2" ci="0" mb="0" cb="0"/><line nr="51" mi="1" ci="0" mb="0" cb="0"/><line nr="52" mi="11" ci="0" mb="0" cb="0"/><line nr="53" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="57" covered="0"/><counter type="LINE" missed="14" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><sourcefile name="LocalStubRunner.java"><line nr="28" mi="3" ci="0" mb="0" cb="0"/><line nr="29" mi="5" ci="0" mb="0" cb="0"/><line nr="32" mi="10" ci="0" mb="0" cb="0"/><line nr="33" mi="10" ci="0" mb="0" cb="0"/><line nr="35" mi="3" ci="0" mb="0" cb="0"/><line nr="36" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="33" covered="0"/><counter type="LINE" missed="6" covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter type="METHOD" missed="3" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="109" covered="0"/><counter type="LINE" missed="26" covered="0"/><counter type="COMPLEXITY" missed="8" covered="0"/><counter type="METHOD" missed="8" covered="0"/><counter type="CLASS" missed="3" covered="0"/></package><counter type="INSTRUCTION" missed="428" covered="441"/><counter type="BRANCH" missed="36" covered="16"/><counter type="LINE" missed="102" covered="95"/><counter type="COMPLEXITY" missed="44" covered="14"/><counter type="METHOD" missed="19" covered="13"/><counter type="CLASS" missed="4" covered="5"/></report>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/AetherStubDownloaderFactory.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/AetherStubDownloaderFactory.html
    new file mode 100644
    index 0000000000..9f11531887
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/AetherStubDownloaderFactory.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>AetherStubDownloaderFactory</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.html" class="el_package">org.springframework.cloud.contract.maven.verifier.stubrunner</a> &gt; <span class="el_class">AetherStubDownloaderFactory</span></div><h1>AetherStubDownloaderFactory</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="AetherStubDownloaderFactory.java.html#L41" class="el_method">build(RepositorySystemSession)</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="AetherStubDownloaderFactory.java.html#L35" class="el_method">AetherStubDownloaderFactory(RepositorySystem, MavenProject)</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="108" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/AetherStubDownloaderFactory.java.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/AetherStubDownloaderFactory.java.html
    new file mode 100644
    index 0000000000..ed44fed02d
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/AetherStubDownloaderFactory.java.html
    @@ -0,0 +1,45 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>AetherStubDownloaderFactory.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.source.html" class="el_package">org.springframework.cloud.contract.maven.verifier.stubrunner</a> &gt; <span class="el_source">AetherStubDownloaderFactory.java</span></div><h1>AetherStubDownloaderFactory.java</h1><pre class="source lang-java linenums">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.springframework.cloud.contract.maven.verifier.stubrunner;
    +
    +import javax.inject.Inject;
    +import javax.inject.Named;
    +import javax.inject.Singleton;
    +
    +import org.apache.maven.project.MavenProject;
    +import org.eclipse.aether.RepositorySystem;
    +import org.eclipse.aether.RepositorySystemSession;
    +import org.springframework.cloud.contract.stubrunner.AetherStubDownloader;
    +
    +@Named
    +@Singleton
    +public class AetherStubDownloaderFactory {
    +	private final MavenProject project;
    +	private final RepositorySystem repoSystem;
    +
    +	@Inject
    +	public AetherStubDownloaderFactory(RepositorySystem repoSystem,
    +<span class="nc" id="L35">			MavenProject project) {</span>
    +<span class="nc" id="L36">		this.repoSystem = repoSystem;</span>
    +<span class="nc" id="L37">		this.project = project;</span>
    +<span class="nc" id="L38">	}</span>
    +
    +	public AetherStubDownloader build(RepositorySystemSession repoSession) {
    +<span class="nc" id="L41">		return new AetherStubDownloader(repoSystem,</span>
    +<span class="nc" id="L42">				project.getRemoteProjectRepositories(), repoSession);</span>
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/LocalStubRunner.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/LocalStubRunner.html
    new file mode 100644
    index 0000000000..fe09cd4eaf
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/LocalStubRunner.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>LocalStubRunner</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.html" class="el_package">org.springframework.cloud.contract.maven.verifier.stubrunner</a> &gt; <span class="el_class">LocalStubRunner</span></div><h1>LocalStubRunner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">33 of 33</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="LocalStubRunner.java.html#L32" class="el_method">run(String, StubRunnerOptions)</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="LocalStubRunner.java.html#L29" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="24" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LocalStubRunner.java.html#L28" class="el_method">LocalStubRunner()</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="14" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/LocalStubRunner.java.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/LocalStubRunner.java.html
    new file mode 100644
    index 0000000000..ef59007a2f
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/LocalStubRunner.java.html
    @@ -0,0 +1,39 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>LocalStubRunner.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.source.html" class="el_package">org.springframework.cloud.contract.maven.verifier.stubrunner</a> &gt; <span class="el_source">LocalStubRunner.java</span></div><h1>LocalStubRunner.java</h1><pre class="source lang-java linenums">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.springframework.cloud.contract.maven.verifier.stubrunner;
    +
    +import java.lang.invoke.MethodHandles;
    +import javax.inject.Named;
    +
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +import org.springframework.cloud.contract.stubrunner.StubConfiguration;
    +import org.springframework.cloud.contract.stubrunner.StubRunner;
    +import org.springframework.cloud.contract.stubrunner.StubRunnerOptions;
    +
    +@Named
    +<span class="nc" id="L28">public class LocalStubRunner {</span>
    +<span class="nc" id="L29">	private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());</span>
    +
    +	public StubRunner run(final String contractsDir, StubRunnerOptions options) {
    +<span class="nc" id="L32">		log.info(&quot;Launching StubRunner with contracts from &quot; + contractsDir);</span>
    +<span class="nc" id="L33">		StubRunner stubRunner = new StubRunner(options, contractsDir,</span>
    +				new StubConfiguration(contractsDir));
    +<span class="nc" id="L35">		stubRunner.runStubs();</span>
    +<span class="nc" id="L36">		return stubRunner;</span>
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/RemoteStubRunner.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/RemoteStubRunner.html
    new file mode 100644
    index 0000000000..3bd2893b0f
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/RemoteStubRunner.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>RemoteStubRunner</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.html" class="el_package">org.springframework.cloud.contract.maven.verifier.stubrunner</a> &gt; <span class="el_class">RemoteStubRunner</span></div><h1>RemoteStubRunner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">57 of 57</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="RemoteStubRunner.java.html#L42" class="el_method">run(StubRunnerOptions, RepositorySystemSession)</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="120" height="10" title="46" alt="46"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RemoteStubRunner.java.html#L37" class="el_method">RemoteStubRunner(AetherStubDownloaderFactory)</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="15" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="RemoteStubRunner.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/RemoteStubRunner.java.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/RemoteStubRunner.java.html
    new file mode 100644
    index 0000000000..d53805f35d
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/RemoteStubRunner.java.html
    @@ -0,0 +1,58 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>RemoteStubRunner.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.source.html" class="el_package">org.springframework.cloud.contract.maven.verifier.stubrunner</a> &gt; <span class="el_source">RemoteStubRunner.java</span></div><h1>RemoteStubRunner.java</h1><pre class="source lang-java linenums">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.springframework.cloud.contract.maven.verifier.stubrunner;
    +
    +import java.lang.invoke.MethodHandles;
    +import javax.inject.Inject;
    +import javax.inject.Named;
    +
    +import org.eclipse.aether.RepositorySystemSession;
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +import org.springframework.cloud.contract.stubrunner.AetherStubDownloader;
    +import org.springframework.cloud.contract.stubrunner.BatchStubRunner;
    +import org.springframework.cloud.contract.stubrunner.BatchStubRunnerFactory;
    +import org.springframework.cloud.contract.stubrunner.RunningStubs;
    +import org.springframework.cloud.contract.stubrunner.StubRunnerOptions;
    +
    +@Named
    +public class RemoteStubRunner {
    +<span class="nc" id="L33">	private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());</span>
    +	private final AetherStubDownloaderFactory aetherStubDownloaderFactory;
    +
    +	@Inject
    +<span class="nc" id="L37">	public RemoteStubRunner(AetherStubDownloaderFactory aetherStubDownloaderFactory) {</span>
    +<span class="nc" id="L38">		this.aetherStubDownloaderFactory = aetherStubDownloaderFactory;</span>
    +<span class="nc" id="L39">	}</span>
    +
    +	public BatchStubRunner run(StubRunnerOptions options, RepositorySystemSession repositorySystemSession) {
    +<span class="nc" id="L42">		AetherStubDownloader stubDownloader = aetherStubDownloaderFactory.build(repositorySystemSession);</span>
    +		try {
    +<span class="nc" id="L44">			log.debug(&quot;Launching StubRunner with args: &quot; + String.valueOf(options));</span>
    +<span class="nc" id="L45">			BatchStubRunner stubRunner = new BatchStubRunnerFactory(options,</span>
    +<span class="nc" id="L46">					stubDownloader).buildBatchStubRunner();</span>
    +<span class="nc" id="L47">			RunningStubs runningCollaborators = stubRunner.runStubs();</span>
    +<span class="nc" id="L48">			log.info(runningCollaborators.toString());</span>
    +<span class="nc" id="L49">			return stubRunner;</span>
    +		}
    +<span class="nc" id="L51">		catch (Exception e) {</span>
    +<span class="nc" id="L52">			log.error(&quot;An exception occurred while trying to execute the stubs: &quot; + e.getMessage());</span>
    +<span class="nc" id="L53">			throw e;</span>
    +		}
    +
    +	}
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/index.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/index.html
    new file mode 100644
    index 0000000000..b7b0e775b8
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>org.springframework.cloud.contract.maven.verifier.stubrunner</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <span class="el_package">org.springframework.cloud.contract.maven.verifier.stubrunner</span></div><h1>org.springframework.cloud.contract.maven.verifier.stubrunner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">26</td><td class="ctr2">26</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="RemoteStubRunner.html" class="el_class">RemoteStubRunner</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="120" height="10" title="57" alt="57"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">14</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="LocalStubRunner.html" class="el_class">LocalStubRunner</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="69" height="10" title="33" alt="33"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="AetherStubDownloaderFactory.html" class="el_class">AetherStubDownloaderFactory</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="40" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/index.source.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/index.source.html
    new file mode 100644
    index 0000000000..3120da1fcf
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier.stubrunner/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>org.springframework.cloud.contract.maven.verifier.stubrunner</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <span class="el_package">org.springframework.cloud.contract.maven.verifier.stubrunner</span></div><h1>org.springframework.cloud.contract.maven.verifier.stubrunner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">26</td><td class="ctr2">26</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="RemoteStubRunner.java.html" class="el_source">RemoteStubRunner.java</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="120" height="10" title="57" alt="57"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">14</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="LocalStubRunner.java.html" class="el_source">LocalStubRunner.java</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="69" height="10" title="33" alt="33"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="AetherStubDownloaderFactory.java.html" class="el_source">AetherStubDownloaderFactory.java</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="40" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ConvertMojo.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ConvertMojo.html
    new file mode 100644
    index 0000000000..8cee7ad0d5
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ConvertMojo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>ConvertMojo</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_class">ConvertMojo</span></div><h1>ConvertMojo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">18 of 106</td><td class="ctr2">83%</td><td class="bar">3 of 6</td><td class="ctr2">50%</td><td class="ctr1">3</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">20</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="ConvertMojo.java.html#L80" class="el_method">execute()</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="22" height="10" title="18" alt="18"/><img src="../.resources/greenbar.gif" width="97" height="10" title="80" alt="80"/></td><td class="ctr2" id="c2">82%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="60" height="10" title="3" alt="3"/><img src="../.resources/greenbar.gif" width="60" height="10" title="3" alt="3"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="ConvertMojo.java.html#L109" class="el_method">isInsideProject()</a></td><td class="bar" id="b1"><img src="../.resources/greenbar.gif" width="6" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="ConvertMojo.java.html#L41" class="el_method">ConvertMojo()</a></td><td class="bar" id="b2"><img src="../.resources/greenbar.gif" width="3" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ConvertMojo.java.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ConvertMojo.java.html
    new file mode 100644
    index 0000000000..49ec08446b
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ConvertMojo.java.html
    @@ -0,0 +1,113 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>ConvertMojo.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.source.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_source">ConvertMojo.java</span></div><h1>ConvertMojo.java</h1><pre class="source lang-java linenums">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.springframework.cloud.contract.maven.verifier;
    +
    +import java.io.File;
    +
    +import org.apache.maven.execution.MavenSession;
    +import org.apache.maven.plugin.AbstractMojo;
    +import org.apache.maven.plugin.MojoExecutionException;
    +import org.apache.maven.plugin.MojoFailureException;
    +import org.apache.maven.plugins.annotations.Component;
    +import org.apache.maven.plugins.annotations.LifecyclePhase;
    +import org.apache.maven.plugins.annotations.Mojo;
    +import org.apache.maven.plugins.annotations.Parameter;
    +import org.apache.maven.project.MavenProject;
    +import org.apache.maven.shared.filtering.MavenResourcesFiltering;
    +import org.springframework.cloud.contract.verifier.config.ContractVerifierConfigProperties;
    +import org.springframework.cloud.contract.verifier.wiremock.DslToWireMockClientConverter;
    +import org.springframework.cloud.contract.verifier.wiremock.RecursiveFilesConverter;
    +
    +/**
    + * Convert Spring Cloud Contract Verifier contracts into WireMock stubs mappings.
    + * &lt;p&gt;
    + * This goal allows you to generate `stubs-jar` or execute `spring-cloud-contract:run` with generated WireMock mappings.
    + */
    +@Mojo(name = &quot;convert&quot;, requiresProject = false,
    +		defaultPhase = LifecyclePhase.PROCESS_TEST_RESOURCES)
    +<span class="fc" id="L41">public class ConvertMojo extends AbstractMojo {</span>
    +
    +	/**
    +	 * Directory containing Spring Cloud Contract Verifier contracts written using the GroovyDSL
    +	 */
    +	@Parameter(defaultValue = &quot;${basedir}/src/test/resources/contracts&quot;)
    +	private File contractsDirectory;
    +
    +	/**
    +	 * Directory where the generated WireMock stubs from Groovy DSL should be placed.
    +	 * You can then mention them in your packaging task to create jar with stubs
    +	 */
    +	@Parameter(defaultValue = &quot;${project.build.directory}/stubs&quot;)
    +	private File outputDirectory;
    +
    +	/**
    +	 * Directory containing contracts written using the GroovyDSL
    +	 * &lt;p&gt;
    +	 * This parameter is only used when goal is executed outside of maven project.
    +	 */
    +	@Parameter(property = &quot;contractsDirectory&quot;, defaultValue = &quot;${basedir}&quot;)
    +	private File source;
    +
    +	@Parameter(property = &quot;stubsDirectory&quot;, defaultValue = &quot;${basedir}&quot;)
    +	private File destination;
    +
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.skip&quot;, defaultValue = &quot;false&quot;)
    +	private boolean skip;
    +
    +	@Parameter(defaultValue = &quot;${session}&quot;, readonly = true)
    +	private MavenSession mavenSession;
    +
    +	@Parameter(defaultValue = &quot;${project}&quot;, readonly = true) private MavenProject project;
    +
    +	@Component(role = MavenResourcesFiltering.class, hint = &quot;default&quot;)
    +	private MavenResourcesFiltering mavenResourcesFiltering;
    +
    +	public void execute() throws MojoExecutionException, MojoFailureException {
    +
    +<span class="pc bpc" id="L80" title="1 of 2 branches missed.">		if (skip) {</span>
    +<span class="nc" id="L81">			getLog().info(String.format(</span>
    +					&quot;Skipping Spring Cloud Contract Verifier execution: spring.cloud.contract.verifier.skip=%s&quot;,
    +<span class="nc" id="L83">					skip));</span>
    +<span class="nc" id="L84">			return;</span>
    +		}
    +
    +<span class="fc" id="L87">		new CopyContracts(project, mavenSession, mavenResourcesFiltering)</span>
    +<span class="fc" id="L88">				.copy(contractsDirectory, outputDirectory);</span>
    +
    +<span class="fc" id="L90">		final ContractVerifierConfigProperties config = new ContractVerifierConfigProperties();</span>
    +<span class="pc bpc" id="L91" title="1 of 2 branches missed.">		config.setContractsDslDir(isInsideProject() ? contractsDirectory : source);</span>
    +<span class="fc" id="L92">		config.setStubsOutputDir(</span>
    +<span class="pc bpc" id="L93" title="1 of 2 branches missed.">				isInsideProject() ? new File(outputDirectory, &quot;mappings&quot;) : destination);</span>
    +
    +<span class="fc" id="L95">		getLog().info(</span>
    +				&quot;Converting from Spring Cloud Contract Verifier contracts to WireMock stubs mappings&quot;);
    +<span class="fc" id="L97">		getLog().info(String.format(</span>
    +				&quot;     Spring Cloud Contract Verifier contracts directory: %s&quot;,
    +<span class="fc" id="L99">				config.getContractsDslDir()));</span>
    +<span class="fc" id="L100">		getLog().info(String.format(&quot;WireMock stubs mappings directory: %s&quot;,</span>
    +<span class="fc" id="L101">				config.getStubsOutputDir()));</span>
    +
    +<span class="fc" id="L103">		RecursiveFilesConverter converter = new RecursiveFilesConverter(</span>
    +				new DslToWireMockClientConverter(), config);
    +<span class="fc" id="L105">		converter.processFiles();</span>
    +<span class="fc" id="L106">	}</span>
    +
    +	private boolean isInsideProject() {
    +<span class="fc" id="L109">		return mavenSession.getRequest().isProjectPresent();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/CopyContracts.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/CopyContracts.html
    new file mode 100644
    index 0000000000..167206dc9c
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/CopyContracts.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>CopyContracts</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_class">CopyContracts</span></div><h1>CopyContracts</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 80</td><td class="ctr2">90%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="CopyContracts.java.html#L48" class="el_method">copy(File, File)</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="15" height="10" title="8" alt="8"/><img src="../.resources/greenbar.gif" width="104" height="10" title="55" alt="55"/></td><td class="ctr2" id="c2">87%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="CopyContracts.java.html#L40" class="el_method">CopyContracts(MavenProject, MavenSession, MavenResourcesFiltering)</a></td><td class="bar" id="b1"><img src="../.resources/greenbar.gif" width="22" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="CopyContracts.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../.resources/greenbar.gif" width="9" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/CopyContracts.java.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/CopyContracts.java.html
    new file mode 100644
    index 0000000000..5c1489df1c
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/CopyContracts.java.html
    @@ -0,0 +1,70 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>CopyContracts.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.source.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_source">CopyContracts.java</span></div><h1>CopyContracts.java</h1><pre class="source lang-java linenums">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.springframework.cloud.contract.maven.verifier;
    +
    +import java.io.File;
    +import java.lang.invoke.MethodHandles;
    +import java.util.Collections;
    +
    +import org.apache.maven.execution.MavenSession;
    +import org.apache.maven.model.Resource;
    +import org.apache.maven.plugin.MojoExecutionException;
    +import org.apache.maven.project.MavenProject;
    +import org.apache.maven.shared.filtering.MavenFilteringException;
    +import org.apache.maven.shared.filtering.MavenResourcesExecution;
    +import org.apache.maven.shared.filtering.MavenResourcesFiltering;
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +
    +class CopyContracts {
    +<span class="fc" id="L33">	private static final Logger log = LoggerFactory</span>
    +<span class="fc" id="L34">			.getLogger(MethodHandles.lookup().lookupClass());</span>
    +	private final MavenProject project;
    +	private final MavenSession mavenSession;
    +	private final MavenResourcesFiltering mavenResourcesFiltering;
    +
    +	public CopyContracts(MavenProject project, MavenSession mavenSession,
    +<span class="fc" id="L40">			MavenResourcesFiltering mavenResourcesFiltering) {</span>
    +<span class="fc" id="L41">		this.project = project;</span>
    +<span class="fc" id="L42">		this.mavenSession = mavenSession;</span>
    +<span class="fc" id="L43">		this.mavenResourcesFiltering = mavenResourcesFiltering;</span>
    +<span class="fc" id="L44">	}</span>
    +
    +	public void copy(File contractsDirectory, File outputDirectory)
    +			throws MojoExecutionException {
    +<span class="fc" id="L48">		log.info(&quot;Copying Spring Cloud Contract Verifier contracts&quot;);</span>
    +<span class="fc" id="L49">		Resource resource = new Resource();</span>
    +<span class="fc" id="L50">		resource.setDirectory(contractsDirectory.getAbsolutePath());</span>
    +<span class="fc" id="L51">		MavenResourcesExecution execution = new MavenResourcesExecution();</span>
    +<span class="fc" id="L52">		execution.setResources(Collections.singletonList(resource));</span>
    +<span class="fc" id="L53">		execution.setOutputDirectory(new File(outputDirectory, &quot;contracts&quot;));</span>
    +<span class="fc" id="L54">		execution.setMavenProject(project);</span>
    +<span class="fc" id="L55">		execution.setEncoding(&quot;UTF-8&quot;);</span>
    +<span class="fc" id="L56">		execution.setMavenSession(mavenSession);</span>
    +<span class="fc" id="L57">		execution.setInjectProjectBuildFilters(false);</span>
    +<span class="fc" id="L58">		execution.setOverwrite(true);</span>
    +<span class="fc" id="L59">		execution.setIncludeEmptyDirs(false);</span>
    +<span class="fc" id="L60">		execution.setFilterFilenames(false);</span>
    +		try {
    +<span class="fc" id="L62">			mavenResourcesFiltering.filterResources(execution);</span>
    +		}
    +<span class="nc" id="L64">		catch (MavenFilteringException e) {</span>
    +<span class="nc" id="L65">			throw new MojoExecutionException(e.getMessage(), e);</span>
    +<span class="fc" id="L66">		}</span>
    +
    +<span class="fc" id="L68">	}</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateStubsMojo.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateStubsMojo.html
    new file mode 100644
    index 0000000000..86e5bfc2c8
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateStubsMojo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>GenerateStubsMojo</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_class">GenerateStubsMojo</span></div><h1>GenerateStubsMojo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 153</td><td class="ctr2">71%</td><td class="bar">2 of 6</td><td class="ctr2">67%</td><td class="ctr1">2</td><td class="ctr2">6</td><td class="ctr1">6</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="GenerateStubsMojo.java.html#L81" class="el_method">createStubJar(File)</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="32" height="10" title="32" alt="32"/><img src="../.resources/greenbar.gif" width="87" height="10" title="87" alt="87"/></td><td class="ctr2" id="c1">73%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="30" height="10" title="1" alt="1"/><img src="../.resources/greenbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="e0">75%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="GenerateStubsMojo.java.html#L69" class="el_method">execute()</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="13" height="10" title="13" alt="13"/><img src="../.resources/greenbar.gif" width="18" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">58%</td><td class="bar" id="d1"><img src="../.resources/redbar.gif" width="30" height="10" title="1" alt="1"/><img src="../.resources/greenbar.gif" width="30" height="10" title="1" alt="1"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="GenerateStubsMojo.java.html#L34" class="el_method">GenerateStubsMojo()</a></td><td class="bar" id="b2"><img src="../.resources/greenbar.gif" width="3" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateStubsMojo.java.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateStubsMojo.java.html
    new file mode 100644
    index 0000000000..7920c158f2
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateStubsMojo.java.html
    @@ -0,0 +1,115 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>GenerateStubsMojo.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.source.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_source">GenerateStubsMojo.java</span></div><h1>GenerateStubsMojo.java</h1><pre class="source lang-java linenums">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.springframework.cloud.contract.maven.verifier;
    +
    +import java.io.File;
    +
    +import org.apache.maven.plugin.AbstractMojo;
    +import org.apache.maven.plugin.MojoExecutionException;
    +import org.apache.maven.plugin.MojoFailureException;
    +import org.apache.maven.plugins.annotations.Component;
    +import org.apache.maven.plugins.annotations.LifecyclePhase;
    +import org.apache.maven.plugins.annotations.Mojo;
    +import org.apache.maven.plugins.annotations.Parameter;
    +import org.apache.maven.project.MavenProject;
    +import org.apache.maven.project.MavenProjectHelper;
    +import org.codehaus.plexus.archiver.Archiver;
    +import org.codehaus.plexus.archiver.jar.JarArchiver;
    +
    +@Mojo(name = &quot;generateStubs&quot;, defaultPhase = LifecyclePhase.PACKAGE,
    +		requiresProject = true)
    +<span class="fc" id="L34">public class GenerateStubsMojo extends AbstractMojo {</span>
    +
    +	private static final String STUB_MAPPING_FILE_PATTERN = &quot;**/*.json&quot;;
    +	private static final String CONTRACT_FILE_PATTERN = &quot;**/*.groovy&quot;;
    +
    +	@Parameter(defaultValue = &quot;${project.build.directory}&quot;, readonly = true,
    +			required = true)
    +	private File projectBuildDirectory;
    +
    +	@Parameter(property = &quot;stubsDirectory&quot;,
    +			defaultValue = &quot;${project.build.directory}/stubs&quot;)
    +	private File outputDirectory;
    +
    +	/**
    +	 * Set this to &quot;true&quot; to bypass Verifier execution..
    +	 */
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.skip&quot;, defaultValue = &quot;false&quot;)
    +	private boolean skip;
    +
    +	@Component
    +	private MavenProjectHelper projectHelper;
    +
    +	@Parameter(defaultValue = &quot;${project}&quot;, readonly = true)
    +	private MavenProject project;
    +
    +	@Component(role = Archiver.class, hint = &quot;jar&quot;)
    +	private JarArchiver archiver;
    +
    +	@Parameter(defaultValue = &quot;true&quot;)
    +	private boolean attachContracts;
    +
    +	@Parameter(defaultValue = &quot;stubs&quot;)
    +	private String classifier;
    +
    +	public void execute() throws MojoExecutionException, MojoFailureException {
    +<span class="pc bpc" id="L69" title="1 of 2 branches missed.">		if (skip) {</span>
    +<span class="nc" id="L70">			getLog().info(</span>
    +					&quot;Skipping Spring Cloud Contract Verifier execution: spring.cloud.contract.verifier.skip=&quot;
    +							+ skip);
    +<span class="nc" id="L73">			return;</span>
    +		}
    +<span class="fc" id="L75">		File stubsJarFile = createStubJar(outputDirectory);</span>
    +<span class="fc" id="L76">		projectHelper.attachArtifact(project, &quot;jar&quot;, classifier, stubsJarFile);</span>
    +<span class="fc" id="L77">	}</span>
    +
    +	private File createStubJar(File stubsOutputDir)
    +			throws MojoFailureException, MojoExecutionException {
    +<span class="pc bpc" id="L81" title="1 of 2 branches missed.">		if (!stubsOutputDir.exists()) {</span>
    +<span class="nc" id="L82">			throw new MojoExecutionException(</span>
    +<span class="nc" id="L83">					&quot;Stubs could not be found: [&quot; + stubsOutputDir.getAbsolutePath()</span>
    +							+ &quot;] .\nPlease make sure that spring-cloud-contract:convert was invoked&quot;);
    +		}
    +<span class="fc" id="L86">		String stubArchiveName =</span>
    +<span class="fc" id="L87">				project.getBuild().getFinalName() + &quot;-&quot; + classifier + &quot;.jar&quot;;</span>
    +<span class="fc" id="L88">		File stubsJarFile = new File(projectBuildDirectory, stubArchiveName);</span>
    +		try {
    +<span class="fc bfc" id="L90" title="All 2 branches covered.">			if (attachContracts) {</span>
    +<span class="fc" id="L91">				archiver.addDirectory(stubsOutputDir,</span>
    +						new String[] { STUB_MAPPING_FILE_PATTERN, CONTRACT_FILE_PATTERN },
    +						new String[0]);
    +			}
    +			else {
    +<span class="fc" id="L96">				getLog().info(</span>
    +						&quot;Skipping attaching Spring Cloud Contract Verifier contracts&quot;);
    +<span class="fc" id="L98">				archiver.addDirectory(stubsOutputDir,</span>
    +						new String[] { STUB_MAPPING_FILE_PATTERN },
    +						new String[] { CONTRACT_FILE_PATTERN });
    +			}
    +<span class="fc" id="L102">			archiver.setCompress(true);</span>
    +<span class="fc" id="L103">			archiver.setDestFile(stubsJarFile);</span>
    +<span class="fc" id="L104">			archiver.addConfiguredManifest(ManifestCreator.createManifest(project));</span>
    +<span class="fc" id="L105">			archiver.createArchive();</span>
    +		}
    +<span class="nc" id="L107">		catch (Exception e) {</span>
    +<span class="nc" id="L108">			throw new MojoFailureException(</span>
    +					&quot;Exception while packaging &quot; + classifier + &quot; jar.&quot;, e);
    +<span class="fc" id="L110">		}</span>
    +<span class="fc" id="L111">		return stubsJarFile;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateTestsMojo.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateTestsMojo.html
    new file mode 100644
    index 0000000000..7c0bd547cc
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateTestsMojo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>GenerateTestsMojo</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_class">GenerateTestsMojo</span></div><h1>GenerateTestsMojo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">75 of 205</td><td class="ctr2">63%</td><td class="bar">10 of 14</td><td class="ctr2">29%</td><td class="ctr1">11</td><td class="ctr2">13</td><td class="ctr1">14</td><td class="ctr2">40</td><td class="ctr1">4</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="GenerateTestsMojo.java.html#L101" class="el_method">execute()</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="38" height="10" title="61" alt="61"/><img src="../.resources/greenbar.gif" width="81" height="10" title="127" alt="127"/></td><td class="ctr2" id="c1">68%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="85" height="10" title="10" alt="10"/><img src="../.resources/greenbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">29%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">33</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="GenerateTestsMojo.java.html#L147" class="el_method">setExcludedFiles(List)</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="GenerateTestsMojo.java.html#L155" class="el_method">setIgnoredFiles(List)</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="GenerateTestsMojo.java.html#L143" class="el_method">getExcludedFiles()</a></td><td class="bar" id="b3"><img src="../.resources/redbar.gif" width="1" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="GenerateTestsMojo.java.html#L151" class="el_method">getIgnoredFiles()</a></td><td class="bar" id="b4"><img src="../.resources/redbar.gif" width="1" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="GenerateTestsMojo.java.html#L37" class="el_method">GenerateTestsMojo()</a></td><td class="bar" id="b5"><img src="../.resources/greenbar.gif" width="1" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateTestsMojo.java.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateTestsMojo.java.html
    new file mode 100644
    index 0000000000..a9b25fd93a
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/GenerateTestsMojo.java.html
    @@ -0,0 +1,159 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>GenerateTestsMojo.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.source.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_source">GenerateTestsMojo.java</span></div><h1>GenerateTestsMojo.java</h1><pre class="source lang-java linenums">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.springframework.cloud.contract.maven.verifier;
    +
    +import java.io.File;
    +import java.util.List;
    +
    +import org.apache.maven.plugin.AbstractMojo;
    +import org.apache.maven.plugin.MojoExecutionException;
    +import org.apache.maven.plugin.MojoFailureException;
    +import org.apache.maven.plugins.annotations.LifecyclePhase;
    +import org.apache.maven.plugins.annotations.Mojo;
    +import org.apache.maven.plugins.annotations.Parameter;
    +import org.apache.maven.plugins.annotations.ResolutionScope;
    +import org.apache.maven.project.MavenProject;
    +import org.springframework.cloud.contract.spec.ContractVerifierException;
    +import org.springframework.cloud.contract.verifier.TestGenerator;
    +import org.springframework.cloud.contract.verifier.config.ContractVerifierConfigProperties;
    +import org.springframework.cloud.contract.verifier.config.TestFramework;
    +import org.springframework.cloud.contract.verifier.config.TestMode;
    +
    +@Mojo(name = &quot;generateTests&quot;, defaultPhase = LifecyclePhase.GENERATE_TEST_SOURCES,
    +		requiresDependencyResolution = ResolutionScope.TEST)
    +<span class="fc" id="L37">public class GenerateTestsMojo extends AbstractMojo {</span>
    +
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.contractsDirectory&quot;,
    +			defaultValue = &quot;${project.basedir}/src/test/resources/contracts&quot;)
    +	private File contractsDirectory;
    +
    +	@Parameter(
    +			defaultValue = &quot;${project.build.directory}/generated-test-sources/contracts&quot;)
    +	private File generatedTestSourcesDir;
    +
    +	@Parameter(defaultValue = &quot;org.springframework.cloud.contract.verifier.tests&quot;)
    +	private String basePackageForTests;
    +
    +	@Parameter
    +	private String baseClassForTests;
    +
    +	@Parameter(defaultValue = &quot;MOCKMVC&quot;)
    +	private TestMode testMode;
    +
    +	@Parameter(defaultValue = &quot;JUNIT&quot;)
    +	private TestFramework testFramework;
    +
    +	@Parameter
    +	private String ruleClassForTests;
    +
    +	@Parameter
    +	private String nameSuffixForTests;
    +
    +	/**
    +	 * Imports that should be added to generated tests
    +	 */
    +	@Parameter
    +	private String[] imports;
    +
    +	/**
    +	 * Static imports that should be added to generated tests
    +	 */
    +	@Parameter
    +	private String[] staticImports;
    +
    +	/**
    +	 * Patterns that should not be taken into account for processing
    +	 */
    +	@Parameter
    +	private List&lt;String&gt; excludedFiles;
    +
    +	/**
    +	 * Patterns for which Spring Cloud Contract Verifier should generate @Ignored tests
    +	 */
    +	@Parameter
    +	private List&lt;String&gt; ignoredFiles;
    +
    +	@Parameter(defaultValue = &quot;${project}&quot;, readonly = true)
    +	private MavenProject project;
    +
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.skip&quot;, defaultValue = &quot;false&quot;)
    +	private boolean skip;
    +
    +	@Parameter(property = &quot;maven.test.skip&quot;, defaultValue = &quot;false&quot;)
    +	private boolean mavenTestSkip;
    +
    +	@Parameter(property = &quot;skipTests&quot;, defaultValue = &quot;false&quot;) private boolean skipTests;
    +
    +	public void execute() throws MojoExecutionException, MojoFailureException {
    +<span class="pc bpc" id="L101" title="3 of 6 branches missed.">		if (skip || mavenTestSkip || skipTests) {</span>
    +<span class="nc bnc" id="L102" title="All 2 branches missed.">			if (skip) getLog().info(&quot;Skipping Spring Cloud Contract Verifier execution: spring.cloud.contract.verifier.skip=&quot; + skip);</span>
    +<span class="nc bnc" id="L103" title="All 2 branches missed.">			if (mavenTestSkip) getLog().info(&quot;Skipping Spring Cloud Contract Verifier execution: maven.test.skip=&quot; + mavenTestSkip);</span>
    +<span class="nc bnc" id="L104" title="All 2 branches missed.">			if (skipTests) getLog().info(&quot;Skipping Spring Cloud Contract Verifier execution: skipTests&quot; + skipTests);</span>
    +<span class="nc" id="L105">			return;</span>
    +		}
    +<span class="fc" id="L107">		getLog().info(</span>
    +				&quot;Generating server tests source code for Spring Cloud Contract Verifier contract verification&quot;);
    +<span class="fc" id="L109">		final ContractVerifierConfigProperties config = new ContractVerifierConfigProperties();</span>
    +<span class="fc" id="L110">		config.setContractsDslDir(contractsDirectory);</span>
    +<span class="fc" id="L111">		config.setGeneratedTestSourcesDir(generatedTestSourcesDir);</span>
    +<span class="fc" id="L112">		config.setTargetFramework(testFramework);</span>
    +<span class="fc" id="L113">		config.setTestMode(testMode);</span>
    +<span class="fc" id="L114">		config.setBasePackageForTests(basePackageForTests);</span>
    +<span class="fc" id="L115">		config.setBaseClassForTests(baseClassForTests);</span>
    +<span class="fc" id="L116">		config.setRuleClassForTests(ruleClassForTests);</span>
    +<span class="fc" id="L117">		config.setNameSuffixForTests(nameSuffixForTests);</span>
    +<span class="fc" id="L118">		config.setImports(imports);</span>
    +<span class="fc" id="L119">		config.setStaticImports(staticImports);</span>
    +<span class="fc" id="L120">		config.setIgnoredFiles(ignoredFiles);</span>
    +<span class="fc" id="L121">		config.setExcludedFiles(excludedFiles);</span>
    +<span class="fc" id="L122">		project.addTestCompileSourceRoot(generatedTestSourcesDir.getAbsolutePath());</span>
    +<span class="pc bpc" id="L123" title="1 of 2 branches missed.">		if (getLog().isInfoEnabled()) {</span>
    +<span class="fc" id="L124">			getLog().info(</span>
    +<span class="fc" id="L125">					&quot;Test Source directory: &quot; + generatedTestSourcesDir.getAbsolutePath()</span>
    +							+ &quot; added.&quot;);
    +<span class="fc" id="L127">			getLog().info(&quot;Using &quot; + config.getBaseClassForTests()</span>
    +					+ &quot; as base class for test classes&quot;);
    +		}
    +		try {
    +<span class="fc" id="L131">			TestGenerator generator = new TestGenerator(config);</span>
    +<span class="fc" id="L132">			int generatedClasses = generator.generate();</span>
    +<span class="fc" id="L133">			getLog().info(&quot;Generated &quot; + generatedClasses + &quot; test classes.&quot;);</span>
    +		}
    +<span class="nc" id="L135">		catch (ContractVerifierException e) {</span>
    +<span class="nc" id="L136">			throw new MojoExecutionException(</span>
    +<span class="nc" id="L137">					String.format(&quot;Spring Cloud Contract Verifier Plugin exception: %s&quot;,</span>
    +<span class="nc" id="L138">							e.getMessage()), e);</span>
    +<span class="fc" id="L139">		}</span>
    +<span class="fc" id="L140">	}</span>
    +
    +	public List&lt;String&gt; getExcludedFiles() {
    +<span class="nc" id="L143">		return excludedFiles;</span>
    +	}
    +
    +	public void setExcludedFiles(List&lt;String&gt; excludedFiles) {
    +<span class="nc" id="L147">		this.excludedFiles = excludedFiles;</span>
    +<span class="nc" id="L148">	}</span>
    +
    +	public List&lt;String&gt; getIgnoredFiles() {
    +<span class="nc" id="L151">		return ignoredFiles;</span>
    +	}
    +
    +	public void setIgnoredFiles(List&lt;String&gt; ignoredFiles) {
    +<span class="nc" id="L155">		this.ignoredFiles = ignoredFiles;</span>
    +<span class="nc" id="L156">	}</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ManifestCreator.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ManifestCreator.html
    new file mode 100644
    index 0000000000..67ed6438e9
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ManifestCreator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>ManifestCreator</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_class">ManifestCreator</span></div><h1>ManifestCreator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 85</td><td class="ctr2">51%</td><td class="bar">11 of 16</td><td class="ctr2">31%</td><td class="ctr1">10</td><td class="ctr2">12</td><td class="ctr1">12</td><td class="ctr2">22</td><td class="ctr1">2</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="ManifestCreator.java.html#L55" class="el_method">findVerifierDependency(List)</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="57" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../.resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ManifestCreator.java.html#L28" class="el_method">createManifest(MavenProject)</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="45" height="10" title="16" alt="16"/><img src="../.resources/greenbar.gif" width="74" height="10" title="26" alt="26"/></td><td class="ctr2" id="c1">62%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="75" height="10" title="5" alt="5"/><img src="../.resources/greenbar.gif" width="45" height="10" title="3" alt="3"/></td><td class="ctr2" id="e1">38%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ManifestCreator.java.html#L46" class="el_method">findMavenPlugin(List)</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="8" height="10" title="3" alt="3"/><img src="../.resources/greenbar.gif" width="48" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">85%</td><td class="bar" id="d2"><img src="../.resources/redbar.gif" width="30" height="10" title="2" alt="2"/><img src="../.resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="ManifestCreator.java.html#L26" class="el_method">ManifestCreator()</a></td><td class="bar" id="b3"><img src="../.resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ManifestCreator.java.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ManifestCreator.java.html
    new file mode 100644
    index 0000000000..c03bedfee8
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/ManifestCreator.java.html
    @@ -0,0 +1,64 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>ManifestCreator.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.source.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_source">ManifestCreator.java</span></div><h1>ManifestCreator.java</h1><pre class="source lang-java linenums">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.springframework.cloud.contract.maven.verifier;
    +
    +import java.util.List;
    +
    +import org.apache.maven.model.Dependency;
    +import org.apache.maven.model.Plugin;
    +import org.apache.maven.project.MavenProject;
    +import org.codehaus.plexus.archiver.jar.Manifest;
    +import org.codehaus.plexus.archiver.jar.ManifestException;
    +
    +<span class="nc" id="L26">class ManifestCreator {</span>
    +	public static Manifest createManifest(MavenProject project) throws ManifestException {
    +<span class="fc" id="L28">		Manifest manifest = new Manifest();</span>
    +<span class="fc" id="L29">		Plugin verifierMavenPlugin = findMavenPlugin(project.getBuildPlugins());</span>
    +<span class="pc bpc" id="L30" title="1 of 2 branches missed.">		if (verifierMavenPlugin != null) {</span>
    +<span class="fc" id="L31">			manifest.addConfiguredAttribute(new Manifest.Attribute(</span>
    +<span class="fc" id="L32">					&quot;Spring-Cloud-Contract-Verifier-Maven-Plugin-Version&quot;, verifierMavenPlugin.getVersion()));</span>
    +		}
    +<span class="pc bpc" id="L34" title="2 of 4 branches missed.">		if (verifierMavenPlugin != null &amp;&amp; !verifierMavenPlugin.getDependencies().isEmpty()) {</span>
    +<span class="nc" id="L35">			Dependency verifierDependency = findVerifierDependency(verifierMavenPlugin.getDependencies());</span>
    +<span class="nc bnc" id="L36" title="All 2 branches missed.">			if (verifierDependency != null) {</span>
    +<span class="nc" id="L37">				String verifierVersion = verifierDependency.getVersion();</span>
    +<span class="nc" id="L38">				manifest.addConfiguredAttribute(new Manifest.Attribute(&quot;Spring-Cloud-Contract-Verifier-Version&quot;,</span>
    +						verifierVersion));
    +			}
    +		}
    +<span class="fc" id="L42">		return manifest;</span>
    +	}
    +
    +	private static Plugin findMavenPlugin(List&lt;Plugin&gt; plugins) {
    +<span class="pc bpc" id="L46" title="1 of 2 branches missed.">		for (Plugin plugin : plugins) {</span>
    +<span class="pc bpc" id="L47" title="1 of 2 branches missed.">			if (&quot;spring-cloud-contract-maven-plugin&quot;.equals(plugin.getArtifactId())) {</span>
    +<span class="fc" id="L48">				return plugin;</span>
    +			}
    +<span class="nc" id="L50">		}</span>
    +<span class="nc" id="L51">		return null;</span>
    +	}
    +
    +	private static Dependency findVerifierDependency(List&lt;Dependency&gt; deps) {
    +<span class="nc bnc" id="L55" title="All 2 branches missed.">		for (Dependency dep : deps) {</span>
    +<span class="nc bnc" id="L56" title="All 2 branches missed.">			if (&quot;spring-cloud-contract-verifier&quot;.equals(dep.getArtifactId())) {</span>
    +<span class="nc" id="L57">				return dep;</span>
    +			}
    +<span class="nc" id="L59">		}</span>
    +<span class="nc" id="L60">		return null;</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/RunMojo.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/RunMojo.html
    new file mode 100644
    index 0000000000..f8cddb2945
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/RunMojo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>RunMojo</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_class">RunMojo</span></div><h1>RunMojo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">131 of 131</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">39</td><td class="ctr2">39</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="RunMojo.java.html#L100" class="el_method">execute()</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="120" height="10" title="95" alt="95"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">25</td><td class="ctr2" id="i0">25</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="RunMojo.java.html#L83" class="el_method">RunMojo(LocalStubRunner, RemoteStubRunner)</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="15" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="RunMojo.java.html#L139" class="el_method">pressAnyKeyToContinue()</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="12" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="RunMojo.java.html#L131" class="el_method">resolveStubsDirectory()</a></td><td class="bar" id="b3"><img src="../.resources/redbar.gif" width="11" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"><img src="../.resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="RunMojo.java.html#L147" class="el_method">isInsideProject()</a></td><td class="bar" id="b4"><img src="../.resources/redbar.gif" width="6" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/RunMojo.java.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/RunMojo.java.html
    new file mode 100644
    index 0000000000..f39faec591
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/RunMojo.java.html
    @@ -0,0 +1,151 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>RunMojo.java</title><link rel="stylesheet" href="../.resources/prettify.css" type="text/css"/><script type="text/javascript" src="../.resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <a href="index.source.html" class="el_package">org.springframework.cloud.contract.maven.verifier</a> &gt; <span class="el_source">RunMojo.java</span></div><h1>RunMojo.java</h1><pre class="source lang-java linenums">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.springframework.cloud.contract.maven.verifier;
    +
    +import java.io.File;
    +import java.io.IOException;
    +import java.util.Collections;
    +import javax.inject.Inject;
    +
    +import org.apache.maven.execution.MavenSession;
    +import org.apache.maven.plugin.AbstractMojo;
    +import org.apache.maven.plugin.MojoExecutionException;
    +import org.apache.maven.plugin.MojoFailureException;
    +import org.apache.maven.plugins.annotations.Mojo;
    +import org.apache.maven.plugins.annotations.Parameter;
    +import org.apache.maven.plugins.annotations.ResolutionScope;
    +import org.eclipse.aether.RepositorySystemSession;
    +import org.springframework.cloud.contract.maven.verifier.stubrunner.LocalStubRunner;
    +import org.springframework.cloud.contract.maven.verifier.stubrunner.RemoteStubRunner;
    +import org.springframework.cloud.contract.stubrunner.BatchStubRunner;
    +import org.springframework.cloud.contract.stubrunner.StubRunner;
    +import org.springframework.cloud.contract.stubrunner.StubRunnerOptions;
    +import org.springframework.cloud.contract.stubrunner.StubRunnerOptionsBuilder;
    +
    +import static com.google.common.base.Strings.isNullOrEmpty;
    +
    +@SuppressWarnings(&quot;FieldCanBeLocal&quot;)
    +@Mojo(name = &quot;run&quot;, requiresProject = false, requiresDependencyResolution = ResolutionScope.RUNTIME)
    +public class RunMojo extends AbstractMojo {
    +
    +	@Parameter(defaultValue = &quot;${repositorySystemSession}&quot;, readonly = true)
    +	private RepositorySystemSession repoSession;
    +
    +	@Parameter(defaultValue = &quot;${project.build.directory}/contracts/mappings&quot;)
    +	private File stubsDirectory;
    +
    +	@Parameter(property = &quot;stubsDirectory&quot;, defaultValue = &quot;${basedir}&quot;)
    +	private File destination;
    +
    +	/**
    +	 * HTTP port for WireMock server
    +	 */
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.http.port&quot;, defaultValue = &quot;8080&quot;)
    +	private int httpPort;
    +
    +	/**
    +	 * Set this to &quot;true&quot; to bypass verifier execution.
    +	 */
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.skip&quot;, defaultValue = &quot;false&quot;)
    +	private boolean skip;
    +
    +	/**
    +	 * Set this to &quot;true&quot; to bypass verifier test generation.
    +	 */
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.skipTestOnly&quot;, defaultValue = &quot;false&quot;)
    +	private boolean skipTestOnly;
    +
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.stubs&quot;)
    +	private String stubs;
    +
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.http.minPort&quot;, defaultValue = &quot;10000&quot;)
    +	private int minPort;
    +
    +	@Parameter(property = &quot;spring.cloud.contract.verifier.http.maxPort&quot;, defaultValue = &quot;15000&quot;)
    +	private int maxPort;
    +
    +	/**
    +	 * Classifier used by stubs artifacts.
    +	 */
    +<span class="nc" id="L83">	@Parameter(defaultValue = &quot;stubs&quot;)</span>
    +	private String stubsClassifier = &quot;stubs&quot;;
    +
    +	@Parameter(defaultValue = &quot;${session}&quot;, readonly = true)
    +	private MavenSession mavenSession;
    +
    +	private final LocalStubRunner localStubRunner;
    +
    +	private final RemoteStubRunner remoteStubRunner;
    +
    +	@Inject
    +<span class="nc" id="L94">	public RunMojo(LocalStubRunner localStubRunner, RemoteStubRunner remoteStubRunner) {</span>
    +<span class="nc" id="L95">		this.localStubRunner = localStubRunner;</span>
    +<span class="nc" id="L96">		this.remoteStubRunner = remoteStubRunner;</span>
    +<span class="nc" id="L97">	}</span>
    +
    +	public void execute() throws MojoExecutionException, MojoFailureException {
    +<span class="nc bnc" id="L100" title="All 4 branches missed.">		if (skip || skipTestOnly) {</span>
    +<span class="nc" id="L101">			getLog().info(&quot;Skipping verifier execution: spring.cloud.contract.verifier.skip=&quot; + String.valueOf(skip));</span>
    +<span class="nc" id="L102">			return;</span>
    +		}
    +<span class="nc" id="L104">		BatchStubRunner batchStubRunner = null;</span>
    +<span class="nc" id="L105">		StubRunnerOptionsBuilder optionsBuilder = new StubRunnerOptionsBuilder()</span>
    +<span class="nc" id="L106">				.withStubsClassifier(stubsClassifier);</span>
    +<span class="nc bnc" id="L107" title="All 2 branches missed.">		if (isNullOrEmpty(stubs)) {</span>
    +<span class="nc" id="L108">			StubRunnerOptions options = optionsBuilder</span>
    +<span class="nc" id="L109">					.withPort(httpPort)</span>
    +<span class="nc" id="L110">					.build();</span>
    +<span class="nc" id="L111">			StubRunner stubRunner = localStubRunner.run(resolveStubsDirectory().getAbsolutePath(), options);</span>
    +<span class="nc" id="L112">			batchStubRunner = new BatchStubRunner(Collections.singleton(stubRunner));</span>
    +<span class="nc" id="L113">		} else {</span>
    +<span class="nc" id="L114">			StubRunnerOptions options = optionsBuilder</span>
    +<span class="nc" id="L115">					.withStubs(stubs)</span>
    +<span class="nc" id="L116">					.withMinMaxPort(minPort, maxPort)</span>
    +<span class="nc" id="L117">					.build();</span>
    +<span class="nc" id="L118">			batchStubRunner = remoteStubRunner.run(options, repoSession);</span>
    +		}
    +<span class="nc" id="L120">		pressAnyKeyToContinue();</span>
    +<span class="nc bnc" id="L121" title="All 2 branches missed.">		if (batchStubRunner != null) {</span>
    +			try {
    +<span class="nc" id="L123">				batchStubRunner.close();</span>
    +<span class="nc" id="L124">			} catch (IOException e) {</span>
    +<span class="nc" id="L125">				throw new MojoExecutionException(&quot;Fail to close batch stub runner&quot;, e);</span>
    +<span class="nc" id="L126">			}</span>
    +		}
    +<span class="nc" id="L128">	}</span>
    +
    +	private File resolveStubsDirectory() {
    +<span class="nc bnc" id="L131" title="All 2 branches missed.">		if (isInsideProject()) {</span>
    +<span class="nc" id="L132">			return stubsDirectory;</span>
    +		} else {
    +<span class="nc" id="L134">			return destination;</span>
    +		}
    +	}
    +
    +	private void pressAnyKeyToContinue() {
    +<span class="nc" id="L139">		getLog().info(&quot;Press ENTER to continue...&quot;);</span>
    +		try {
    +<span class="nc" id="L141">			System.in.read();</span>
    +<span class="nc" id="L142">		} catch (Exception ignored) {</span>
    +<span class="nc" id="L143">		}</span>
    +<span class="nc" id="L144">	}</span>
    +
    +	private boolean isInsideProject() {
    +<span class="nc" id="L147">		return mavenSession.getRequest().isProjectPresent();</span>
    +	}
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/index.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/index.html
    new file mode 100644
    index 0000000000..6c7d157dae
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>org.springframework.cloud.contract.maven.verifier</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <span class="el_package">org.springframework.cloud.contract.maven.verifier</span></div><h1>org.springframework.cloud.contract.maven.verifier</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">319 of 760</td><td class="ctr2">58%</td><td class="bar">36 of 52</td><td class="ctr2">31%</td><td class="ctr1">36</td><td class="ctr2">50</td><td class="ctr1">76</td><td class="ctr2">171</td><td class="ctr1">11</td><td class="ctr2">24</td><td class="ctr1">1</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a5"><a href="RunMojo.html" class="el_class">RunMojo</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="76" height="10" title="131" alt="131"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d2"><img src="../.resources/redbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f1">10</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h0">39</td><td class="ctr2" id="i1">39</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a3"><a href="GenerateTestsMojo.html" class="el_class">GenerateTestsMojo</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="43" height="10" title="75" alt="75"/><img src="../.resources/greenbar.gif" width="76" height="10" title="130" alt="130"/></td><td class="ctr2" id="c3">63%</td><td class="bar" id="d1"><img src="../.resources/redbar.gif" width="75" height="10" title="10" alt="10"/><img src="../.resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">29%</td><td class="ctr1" id="f0">11</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i0">40</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="GenerateStubsMojo.html" class="el_class">GenerateStubsMojo</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="26" height="10" title="45" alt="45"/><img src="../.resources/greenbar.gif" width="63" height="10" title="108" alt="108"/></td><td class="ctr2" id="c2">71%</td><td class="bar" id="d4"><img src="../.resources/redbar.gif" width="15" height="10" title="2" alt="2"/><img src="../.resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">67%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g3">6</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i2">25</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a4"><a href="ManifestCreator.html" class="el_class">ManifestCreator</a></td><td class="bar" id="b3"><img src="../.resources/redbar.gif" width="24" height="10" title="42" alt="42"/><img src="../.resources/greenbar.gif" width="25" height="10" title="43" alt="43"/></td><td class="ctr2" id="c4">51%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="82" height="10" title="11" alt="11"/><img src="../.resources/greenbar.gif" width="37" height="10" title="5" alt="5"/></td><td class="ctr2" id="e2">31%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g1">12</td><td class="ctr1" id="h2">12</td><td class="ctr2" id="i4">22</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="ConvertMojo.html" class="el_class">ConvertMojo</a></td><td class="bar" id="b4"><img src="../.resources/redbar.gif" width="10" height="10" title="18" alt="18"/><img src="../.resources/greenbar.gif" width="51" height="10" title="88" alt="88"/></td><td class="ctr2" id="c1">83%</td><td class="bar" id="d3"><img src="../.resources/redbar.gif" width="22" height="10" title="3" alt="3"/><img src="../.resources/greenbar.gif" width="22" height="10" title="3" alt="3"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g4">6</td><td class="ctr1" id="h4">3</td><td class="ctr2" id="i5">20</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">3</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a1"><a href="CopyContracts.html" class="el_class">CopyContracts</a></td><td class="bar" id="b5"><img src="../.resources/redbar.gif" width="4" height="10" title="8" alt="8"/><img src="../.resources/greenbar.gif" width="42" height="10" title="72" alt="72"/></td><td class="ctr2" id="c0">90%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i3">25</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/index.source.html b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/index.source.html
    new file mode 100644
    index 0000000000..7548dade6f
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/jacoco/org.springframework.cloud.contract.maven.verifier/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../.resources/report.css" type="text/css"/><link rel="shortcut icon" href="../.resources/report.gif" type="image/gif"/><title>org.springframework.cloud.contract.maven.verifier</title><script type="text/javascript" src="../.resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../.sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Spring Cloud Contract Maven Plugin</a> &gt; <span class="el_package">org.springframework.cloud.contract.maven.verifier</span></div><h1>org.springframework.cloud.contract.maven.verifier</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">319 of 760</td><td class="ctr2">58%</td><td class="bar">36 of 52</td><td class="ctr2">31%</td><td class="ctr1">36</td><td class="ctr2">50</td><td class="ctr1">76</td><td class="ctr2">171</td><td class="ctr1">11</td><td class="ctr2">24</td><td class="ctr1">1</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a5"><a href="RunMojo.java.html" class="el_source">RunMojo.java</a></td><td class="bar" id="b0"><img src="../.resources/redbar.gif" width="76" height="10" title="131" alt="131"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d2"><img src="../.resources/redbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f1">10</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h0">39</td><td class="ctr2" id="i1">39</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a3"><a href="GenerateTestsMojo.java.html" class="el_source">GenerateTestsMojo.java</a></td><td class="bar" id="b1"><img src="../.resources/redbar.gif" width="43" height="10" title="75" alt="75"/><img src="../.resources/greenbar.gif" width="76" height="10" title="130" alt="130"/></td><td class="ctr2" id="c3">63%</td><td class="bar" id="d1"><img src="../.resources/redbar.gif" width="75" height="10" title="10" alt="10"/><img src="../.resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">29%</td><td class="ctr1" id="f0">11</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i0">40</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="GenerateStubsMojo.java.html" class="el_source">GenerateStubsMojo.java</a></td><td class="bar" id="b2"><img src="../.resources/redbar.gif" width="26" height="10" title="45" alt="45"/><img src="../.resources/greenbar.gif" width="63" height="10" title="108" alt="108"/></td><td class="ctr2" id="c2">71%</td><td class="bar" id="d4"><img src="../.resources/redbar.gif" width="15" height="10" title="2" alt="2"/><img src="../.resources/greenbar.gif" width="30" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">67%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g3">6</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i2">25</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a4"><a href="ManifestCreator.java.html" class="el_source">ManifestCreator.java</a></td><td class="bar" id="b3"><img src="../.resources/redbar.gif" width="24" height="10" title="42" alt="42"/><img src="../.resources/greenbar.gif" width="25" height="10" title="43" alt="43"/></td><td class="ctr2" id="c4">51%</td><td class="bar" id="d0"><img src="../.resources/redbar.gif" width="82" height="10" title="11" alt="11"/><img src="../.resources/greenbar.gif" width="37" height="10" title="5" alt="5"/></td><td class="ctr2" id="e2">31%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g1">12</td><td class="ctr1" id="h2">12</td><td class="ctr2" id="i4">22</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a0"><a href="ConvertMojo.java.html" class="el_source">ConvertMojo.java</a></td><td class="bar" id="b4"><img src="../.resources/redbar.gif" width="10" height="10" title="18" alt="18"/><img src="../.resources/greenbar.gif" width="51" height="10" title="88" alt="88"/></td><td class="ctr2" id="c1">83%</td><td class="bar" id="d3"><img src="../.resources/redbar.gif" width="22" height="10" title="3" alt="3"/><img src="../.resources/greenbar.gif" width="22" height="10" title="3" alt="3"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g4">6</td><td class="ctr1" id="h4">3</td><td class="ctr2" id="i5">20</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">3</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a1"><a href="CopyContracts.java.html" class="el_source">CopyContracts.java</a></td><td class="bar" id="b5"><img src="../.resources/redbar.gif" width="4" height="10" title="8" alt="8"/><img src="../.resources/greenbar.gif" width="42" height="10" title="72" alt="72"/></td><td class="ctr2" id="c0">90%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i3">25</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">3</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.4.201502262128</span></div></body></html>
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/js/apache-maven-fluido-1.5.min.js b/HEAD/spring-cloud-contract-maven-plugin/js/apache-maven-fluido-1.5.min.js
    new file mode 100644
    index 0000000000..0537c09d69
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/js/apache-maven-fluido-1.5.min.js
    @@ -0,0 +1,25 @@
    +/*!
    + * jQuery JavaScript Library v1.11.2
    + * http://jquery.com/
    + *
    + * Includes Sizzle.js
    + * http://sizzlejs.com/
    + *
    + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
    + * Released under the MIT license
    + * http://jquery.org/license
    + *
    + * Date: 2014-12-17T15:27Z
    + */
    +(function(b,a){if(typeof module==="object"&&typeof module.exports==="object"){module.exports=b.document?a(b,true):function(c){if(!c.document){throw new Error("jQuery requires a window with a document")}return a(c)}}else{a(b)}}(typeof window!=="undefined"?window:this,function(a5,av){var aP=[];var P=aP.slice;var az=aP.concat;var x=aP.push;var bU=aP.indexOf;var ac={};var y=ac.toString;var K=ac.hasOwnProperty;var D={};var ai="1.11.2",bI=function(e,i){return new bI.fn.init(e,i)},E=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bS=/^-ms-/,aW=/-([\da-z])/gi,O=function(e,i){return i.toUpperCase()};bI.fn=bI.prototype={jquery:ai,constructor:bI,selector:"",length:0,toArray:function(){return P.call(this)},get:function(e){return e!=null?(e<0?this[e+this.length]:this[e]):P.call(this)},pushStack:function(e){var i=bI.merge(this.constructor(),e);i.prevObject=this;i.context=this.context;return i},each:function(i,e){return bI.each(this,i,e)},map:function(e){return this.pushStack(bI.map(this,function(b7,b6){return e.call(b7,b6,b7)}))},slice:function(){return this.pushStack(P.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b7){var e=this.length,b6=+b7+(b7<0?e:0);return this.pushStack(b6>=0&&b6<e?[this[b6]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:x,sort:aP.sort,splice:aP.splice};bI.extend=bI.fn.extend=function(){var e,cb,b6,b7,ce,cc,ca=arguments[0]||{},b9=1,b8=arguments.length,cd=false;if(typeof ca==="boolean"){cd=ca;ca=arguments[b9]||{};b9++}if(typeof ca!=="object"&&!bI.isFunction(ca)){ca={}}if(b9===b8){ca=this;b9--}for(;b9<b8;b9++){if((ce=arguments[b9])!=null){for(b7 in ce){e=ca[b7];b6=ce[b7];if(ca===b6){continue}if(cd&&b6&&(bI.isPlainObject(b6)||(cb=bI.isArray(b6)))){if(cb){cb=false;cc=e&&bI.isArray(e)?e:[]}else{cc=e&&bI.isPlainObject(e)?e:{}}ca[b7]=bI.extend(cd,cc,b6)}else{if(b6!==undefined){ca[b7]=b6}}}}}return ca};bI.extend({expando:"jQuery"+(ai+Math.random()).replace(/\D/g,""),isReady:true,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return bI.type(e)==="function"},isArray:Array.isArray||function(e){return bI.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !bI.isArray(e)&&(e-parseFloat(e)+1)>=0},isEmptyObject:function(i){var e;for(e in i){return false}return true},isPlainObject:function(b7){var i;if(!b7||bI.type(b7)!=="object"||b7.nodeType||bI.isWindow(b7)){return false}try{if(b7.constructor&&!K.call(b7,"constructor")&&!K.call(b7.constructor.prototype,"isPrototypeOf")){return false}}catch(b6){return false}if(D.ownLast){for(i in b7){return K.call(b7,i)}}for(i in b7){}return i===undefined||K.call(b7,i)},type:function(e){if(e==null){return e+""}return typeof e==="object"||typeof e==="function"?ac[y.call(e)]||"object":typeof e},globalEval:function(e){if(e&&bI.trim(e)){(a5.execScript||function(i){a5["eval"].call(a5,i)})(e)}},camelCase:function(e){return e.replace(bS,"ms-").replace(aW,O)},nodeName:function(i,e){return i.nodeName&&i.nodeName.toLowerCase()===e.toLowerCase()},each:function(ca,cb,b6){var b9,b7=0,b8=ca.length,e=ad(ca);if(b6){if(e){for(;b7<b8;b7++){b9=cb.apply(ca[b7],b6);if(b9===false){break}}}else{for(b7 in ca){b9=cb.apply(ca[b7],b6);if(b9===false){break}}}}else{if(e){for(;b7<b8;b7++){b9=cb.call(ca[b7],b7,ca[b7]);if(b9===false){break}}}else{for(b7 in ca){b9=cb.call(ca[b7],b7,ca[b7]);if(b9===false){break}}}}return ca},trim:function(e){return e==null?"":(e+"").replace(E,"")},makeArray:function(e,b6){var i=b6||[];if(e!=null){if(ad(Object(e))){bI.merge(i,typeof e==="string"?[e]:e)}else{x.call(i,e)}}return i},inArray:function(b8,b6,b7){var e;if(b6){if(bU){return bU.call(b6,b8,b7)}e=b6.length;b7=b7?b7<0?Math.max(0,e+b7):b7:0;for(;b7<e;b7++){if(b7 in b6&&b6[b7]===b8){return b7}}}return -1},merge:function(b9,b7){var e=+b7.length,b6=0,b8=b9.length;while(b6<e){b9[b8++]=b7[b6++]}if(e!==e){while(b7[b6]!==undefined){b9[b8++]=b7[b6++]}}b9.length=b8;return b9},grep:function(e,cc,b9){var cb,b8=[],b6=0,b7=e.length,ca=!b9;for(;b6<b7;b6++){cb=!cc(e[b6],b6);if(cb!==ca){b8.push(e[b6])}}return b8},map:function(b7,cc,e){var cb,b9=0,ca=b7.length,b6=ad(b7),b8=[];if(b6){for(;b9<ca;b9++){cb=cc(b7[b9],b9,e);if(cb!=null){b8.push(cb)}}}else{for(b9 in b7){cb=cc(b7[b9],b9,e);if(cb!=null){b8.push(cb)}}}return az.apply([],b8)},guid:1,proxy:function(b8,b7){var e,b6,i;if(typeof b7==="string"){i=b8[b7];b7=b8;b8=i}if(!bI.isFunction(b8)){return undefined}e=P.call(arguments,2);b6=function(){return b8.apply(b7||this,e.concat(P.call(arguments)))};b6.guid=b8.guid=b8.guid||bI.guid++;return b6},now:function(){return +(new Date())},support:D});bI.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(b6,e){ac["[object "+e+"]"]=e.toLowerCase()});function ad(b6){var i=b6.length,e=bI.type(b6);if(e==="function"||bI.isWindow(b6)){return false}if(b6.nodeType===1&&i){return true}return e==="array"||i===0||typeof i==="number"&&i>0&&(i-1) in b6}var m=
    +/*!
    + * Sizzle CSS Selector Engine v2.2.0-pre
    + * http://sizzlejs.com/
    + *
    + * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors
    + * Released under the MIT license
    + * http://jquery.org/license
    + *
    + * Date: 2014-12-16
    + */
    +(function(de){var cy,dh,cn,cH,cK,ci,cW,dg,dm,cI,cX,cZ,cC,co,c8,c3,df,ce,cF,da="sizzle"+1*new Date(),cJ=de.document,di=0,c4=0,b9=cA(),c9=cA(),cG=cA(),cE=function(i,e){if(i===e){cX=true}return 0},cQ=1<<31,cO=({}).hasOwnProperty,dc=[],dd=dc.pop,cM=dc.push,b7=dc.push,cm=dc.slice,cd=function(dq,dp){var dn=0,e=dq.length;for(;dn<e;dn++){if(dq[dn]===dp){return dn}}return -1},b8="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",cp="[\\x20\\t\\r\\n\\f]",b6="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",cL=b6.replace("w","w#"),c6="\\["+cp+"*("+b6+")(?:"+cp+"*([*^$|!~]?=)"+cp+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+cL+"))|)"+cp+"*\\]",ck=":("+b6+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+c6+")*)|.*)\\)|)",cu=new RegExp(cp+"+","g"),cr=new RegExp("^"+cp+"+|((?:^|[^\\\\])(?:\\\\.)*)"+cp+"+$","g"),cv=new RegExp("^"+cp+"*,"+cp+"*"),cB=new RegExp("^"+cp+"*([>+~]|"+cp+")"+cp+"*"),ct=new RegExp("="+cp+"*([^\\]'\"]*?)"+cp+"*\\]","g"),cS=new RegExp(ck),cU=new RegExp("^"+cL+"$"),c2={ID:new RegExp("^#("+b6+")"),CLASS:new RegExp("^\\.("+b6+")"),TAG:new RegExp("^("+b6.replace("w","w*")+")"),ATTR:new RegExp("^"+c6),PSEUDO:new RegExp("^"+ck),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+cp+"*(even|odd|(([+-]|)(\\d*)n|)"+cp+"*(?:([+-]|)"+cp+"*(\\d+)|))"+cp+"*\\)|)","i"),bool:new RegExp("^(?:"+b8+")$","i"),needsContext:new RegExp("^"+cp+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+cp+"*((?:-\\d)?\\d*)"+cp+"*\\)|)(?=[^-]|$)","i")},cc=/^(?:input|select|textarea|button)$/i,cl=/^h\d$/i,cP=/^[^{]+\{\s*\[native \w/,cR=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,c1=/[+~]/,cN=/'|\\/g,cs=new RegExp("\\\\([\\da-f]{1,6}"+cp+"?|("+cp+")|.)","ig"),c5=function(e,dp,i){var dn="0x"+dp-65536;return dn!==dn||i?dp:dn<0?String.fromCharCode(dn+65536):String.fromCharCode(dn>>10|55296,dn&1023|56320)},dl=function(){cZ()};try{b7.apply((dc=cm.call(cJ.childNodes)),cJ.childNodes);dc[cJ.childNodes.length].nodeType}catch(cD){b7={apply:dc.length?function(i,e){cM.apply(i,cm.call(e))}:function(dq,dp){var e=dq.length,dn=0;while((dq[e++]=dp[dn++])){}dq.length=e-1}}}function cw(dv,dn,dz,dB){var dA,ds,dt,dx,dy,dr,dq,e,dp,dw;if((dn?dn.ownerDocument||dn:cJ)!==cC){cZ(dn)}dn=dn||cC;dz=dz||[];dx=dn.nodeType;if(typeof dv!=="string"||!dv||dx!==1&&dx!==9&&dx!==11){return dz}if(!dB&&c8){if(dx!==11&&(dA=cR.exec(dv))){if((dt=dA[1])){if(dx===9){ds=dn.getElementById(dt);if(ds&&ds.parentNode){if(ds.id===dt){dz.push(ds);return dz}}else{return dz}}else{if(dn.ownerDocument&&(ds=dn.ownerDocument.getElementById(dt))&&cF(dn,ds)&&ds.id===dt){dz.push(ds);return dz}}}else{if(dA[2]){b7.apply(dz,dn.getElementsByTagName(dv));return dz}else{if((dt=dA[3])&&dh.getElementsByClassName){b7.apply(dz,dn.getElementsByClassName(dt));return dz}}}}if(dh.qsa&&(!c3||!c3.test(dv))){e=dq=da;dp=dn;dw=dx!==1&&dv;if(dx===1&&dn.nodeName.toLowerCase()!=="object"){dr=ci(dv);if((dq=dn.getAttribute("id"))){e=dq.replace(cN,"\\$&")}else{dn.setAttribute("id",e)}e="[id='"+e+"'] ";dy=dr.length;while(dy--){dr[dy]=e+ch(dr[dy])}dp=c1.test(dv)&&cT(dn.parentNode)||dn;dw=dr.join(",")}if(dw){try{b7.apply(dz,dp.querySelectorAll(dw));return dz}catch(du){}finally{if(!dq){dn.removeAttribute("id")}}}}}return dg(dv.replace(cr,"$1"),dn,dz,dB)}function cA(){var i=[];function e(dn,dp){if(i.push(dn+" ")>cn.cacheLength){delete e[i.shift()]}return(e[dn+" "]=dp)}return e}function cj(e){e[da]=true;return e}function cf(i){var dp=cC.createElement("div");try{return !!i(dp)}catch(dn){return false}finally{if(dp.parentNode){dp.parentNode.removeChild(dp)}dp=null}}function dj(dn,dq){var e=dn.split("|"),dp=dn.length;while(dp--){cn.attrHandle[e[dp]]=dq}}function ca(i,e){var dp=e&&i,dn=dp&&i.nodeType===1&&e.nodeType===1&&(~e.sourceIndex||cQ)-(~i.sourceIndex||cQ);if(dn){return dn}if(dp){while((dp=dp.nextSibling)){if(dp===e){return -1}}}return i?1:-1}function cx(e){return function(dn){var i=dn.nodeName.toLowerCase();return i==="input"&&dn.type===e}}function cb(e){return function(dn){var i=dn.nodeName.toLowerCase();return(i==="input"||i==="button")&&dn.type===e}}function c7(e){return cj(function(i){i=+i;return cj(function(dn,ds){var dq,dp=e([],dn.length,i),dr=dp.length;while(dr--){if(dn[(dq=dp[dr])]){dn[dq]=!(ds[dq]=dn[dq])}}})})}function cT(e){return e&&typeof e.getElementsByTagName!=="undefined"&&e}dh=cw.support={};cK=cw.isXML=function(e){var i=e&&(e.ownerDocument||e).documentElement;return i?i.nodeName!=="HTML":false};cZ=cw.setDocument=function(dn){var e,i,dp=dn?dn.ownerDocument||dn:cJ;if(dp===cC||dp.nodeType!==9||!dp.documentElement){return cC}cC=dp;co=dp.documentElement;i=dp.defaultView;if(i&&i!==i.top){if(i.addEventListener){i.addEventListener("unload",dl,false)}else{if(i.attachEvent){i.attachEvent("onunload",dl)}}}c8=!cK(dp);dh.attributes=cf(function(dq){dq.className="i";return !dq.getAttribute("className")});dh.getElementsByTagName=cf(function(dq){dq.appendChild(dp.createComment(""));return !dq.getElementsByTagName("*").length});dh.getElementsByClassName=cP.test(dp.getElementsByClassName);dh.getById=cf(function(dq){co.appendChild(dq).id=da;return !dp.getElementsByName||!dp.getElementsByName(da).length});if(dh.getById){cn.find.ID=function(ds,dr){if(typeof dr.getElementById!=="undefined"&&c8){var dq=dr.getElementById(ds);return dq&&dq.parentNode?[dq]:[]}};cn.filter.ID=function(dr){var dq=dr.replace(cs,c5);return function(ds){return ds.getAttribute("id")===dq}}}else{delete cn.find.ID;cn.filter.ID=function(dr){var dq=dr.replace(cs,c5);return function(dt){var ds=typeof dt.getAttributeNode!=="undefined"&&dt.getAttributeNode("id");return ds&&ds.value===dq}}}cn.find.TAG=dh.getElementsByTagName?function(dq,dr){if(typeof dr.getElementsByTagName!=="undefined"){return dr.getElementsByTagName(dq)}else{if(dh.qsa){return dr.querySelectorAll(dq)}}}:function(dq,du){var dv,dt=[],ds=0,dr=du.getElementsByTagName(dq);if(dq==="*"){while((dv=dr[ds++])){if(dv.nodeType===1){dt.push(dv)}}return dt}return dr};cn.find.CLASS=dh.getElementsByClassName&&function(dr,dq){if(c8){return dq.getElementsByClassName(dr)}};df=[];c3=[];if((dh.qsa=cP.test(dp.querySelectorAll))){cf(function(dq){co.appendChild(dq).innerHTML="<a id='"+da+"'></a><select id='"+da+"-\f]' msallowcapture=''><option selected=''></option></select>";if(dq.querySelectorAll("[msallowcapture^='']").length){c3.push("[*^$]="+cp+"*(?:''|\"\")")}if(!dq.querySelectorAll("[selected]").length){c3.push("\\["+cp+"*(?:value|"+b8+")")}if(!dq.querySelectorAll("[id~="+da+"-]").length){c3.push("~=")}if(!dq.querySelectorAll(":checked").length){c3.push(":checked")}if(!dq.querySelectorAll("a#"+da+"+*").length){c3.push(".#.+[+~]")}});cf(function(dr){var dq=dp.createElement("input");dq.setAttribute("type","hidden");dr.appendChild(dq).setAttribute("name","D");if(dr.querySelectorAll("[name=d]").length){c3.push("name"+cp+"*[*^$|!~]?=")}if(!dr.querySelectorAll(":enabled").length){c3.push(":enabled",":disabled")}dr.querySelectorAll("*,:x");c3.push(",.*:")})}if((dh.matchesSelector=cP.test((ce=co.matches||co.webkitMatchesSelector||co.mozMatchesSelector||co.oMatchesSelector||co.msMatchesSelector)))){cf(function(dq){dh.disconnectedMatch=ce.call(dq,"div");ce.call(dq,"[s!='']:x");df.push("!=",ck)})}c3=c3.length&&new RegExp(c3.join("|"));df=df.length&&new RegExp(df.join("|"));e=cP.test(co.compareDocumentPosition);cF=e||cP.test(co.contains)?function(dr,dq){var dt=dr.nodeType===9?dr.documentElement:dr,ds=dq&&dq.parentNode;return dr===ds||!!(ds&&ds.nodeType===1&&(dt.contains?dt.contains(ds):dr.compareDocumentPosition&&dr.compareDocumentPosition(ds)&16))}:function(dr,dq){if(dq){while((dq=dq.parentNode)){if(dq===dr){return true}}}return false};cE=e?function(dr,dq){if(dr===dq){cX=true;return 0}var ds=!dr.compareDocumentPosition-!dq.compareDocumentPosition;if(ds){return ds}ds=(dr.ownerDocument||dr)===(dq.ownerDocument||dq)?dr.compareDocumentPosition(dq):1;if(ds&1||(!dh.sortDetached&&dq.compareDocumentPosition(dr)===ds)){if(dr===dp||dr.ownerDocument===cJ&&cF(cJ,dr)){return -1}if(dq===dp||dq.ownerDocument===cJ&&cF(cJ,dq)){return 1}return cI?(cd(cI,dr)-cd(cI,dq)):0}return ds&4?-1:1}:function(dr,dq){if(dr===dq){cX=true;return 0}var dx,du=0,dw=dr.parentNode,dt=dq.parentNode,ds=[dr],dv=[dq];if(!dw||!dt){return dr===dp?-1:dq===dp?1:dw?-1:dt?1:cI?(cd(cI,dr)-cd(cI,dq)):0}else{if(dw===dt){return ca(dr,dq)}}dx=dr;while((dx=dx.parentNode)){ds.unshift(dx)}dx=dq;while((dx=dx.parentNode)){dv.unshift(dx)}while(ds[du]===dv[du]){du++}return du?ca(ds[du],dv[du]):ds[du]===cJ?-1:dv[du]===cJ?1:0};return dp};cw.matches=function(i,e){return cw(i,null,null,e)};cw.matchesSelector=function(dn,dq){if((dn.ownerDocument||dn)!==cC){cZ(dn)}dq=dq.replace(ct,"='$1']");if(dh.matchesSelector&&c8&&(!df||!df.test(dq))&&(!c3||!c3.test(dq))){try{var i=ce.call(dn,dq);if(i||dh.disconnectedMatch||dn.document&&dn.document.nodeType!==11){return i}}catch(dp){}}return cw(dq,cC,null,[dn]).length>0};cw.contains=function(e,i){if((e.ownerDocument||e)!==cC){cZ(e)}return cF(e,i)};cw.attr=function(dn,e){if((dn.ownerDocument||dn)!==cC){cZ(dn)}var i=cn.attrHandle[e.toLowerCase()],dp=i&&cO.call(cn.attrHandle,e.toLowerCase())?i(dn,e,!c8):undefined;return dp!==undefined?dp:dh.attributes||!c8?dn.getAttribute(e):(dp=dn.getAttributeNode(e))&&dp.specified?dp.value:null};cw.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};cw.uniqueSort=function(dp){var dq,dr=[],e=0,dn=0;cX=!dh.detectDuplicates;cI=!dh.sortStable&&dp.slice(0);dp.sort(cE);if(cX){while((dq=dp[dn++])){if(dq===dp[dn]){e=dr.push(dn)}}while(e--){dp.splice(dr[e],1)}}cI=null;return dp};cH=cw.getText=function(dr){var dq,dn="",dp=0,e=dr.nodeType;if(!e){while((dq=dr[dp++])){dn+=cH(dq)}}else{if(e===1||e===9||e===11){if(typeof dr.textContent==="string"){return dr.textContent}else{for(dr=dr.firstChild;dr;dr=dr.nextSibling){dn+=cH(dr)}}}else{if(e===3||e===4){return dr.nodeValue}}}return dn};cn=cw.selectors={cacheLength:50,createPseudo:cj,match:c2,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(cs,c5);e[3]=(e[3]||e[4]||e[5]||"").replace(cs,c5);if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)==="nth"){if(!e[3]){cw.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd"));e[5]=+((e[7]+e[8])||e[3]==="odd")}else{if(e[3]){cw.error(e[0])}}return e},PSEUDO:function(i){var e,dn=!i[6]&&i[2];if(c2.CHILD.test(i[0])){return null}if(i[3]){i[2]=i[4]||i[5]||""}else{if(dn&&cS.test(dn)&&(e=ci(dn,true))&&(e=dn.indexOf(")",dn.length-e)-dn.length)){i[0]=i[0].slice(0,e);i[2]=dn.slice(0,e)}}return i.slice(0,3)}},filter:{TAG:function(i){var e=i.replace(cs,c5).toLowerCase();return i==="*"?function(){return true}:function(dn){return dn.nodeName&&dn.nodeName.toLowerCase()===e}},CLASS:function(e){var i=b9[e+" "];return i||(i=new RegExp("(^|"+cp+")"+e+"("+cp+"|$)"))&&b9(e,function(dn){return i.test(typeof dn.className==="string"&&dn.className||typeof dn.getAttribute!=="undefined"&&dn.getAttribute("class")||"")})},ATTR:function(dn,i,e){return function(dq){var dp=cw.attr(dq,dn);if(dp==null){return i==="!="}if(!i){return true}dp+="";return i==="="?dp===e:i==="!="?dp!==e:i==="^="?e&&dp.indexOf(e)===0:i==="*="?e&&dp.indexOf(e)>-1:i==="$="?e&&dp.slice(-e.length)===e:i==="~="?(" "+dp.replace(cu," ")+" ").indexOf(e)>-1:i==="|="?dp===e||dp.slice(0,e.length+1)===e+"-":false}},CHILD:function(i,dq,dp,dr,dn){var dt=i.slice(0,3)!=="nth",e=i.slice(-4)!=="last",ds=dq==="of-type";return dr===1&&dn===0?function(du){return !!du.parentNode}:function(dA,dy,dD){var du,dG,dB,dF,dC,dx,dz=dt!==e?"nextSibling":"previousSibling",dE=dA.parentNode,dw=ds&&dA.nodeName.toLowerCase(),dv=!dD&&!ds;if(dE){if(dt){while(dz){dB=dA;while((dB=dB[dz])){if(ds?dB.nodeName.toLowerCase()===dw:dB.nodeType===1){return false}}dx=dz=i==="only"&&!dx&&"nextSibling"}return true}dx=[e?dE.firstChild:dE.lastChild];if(e&&dv){dG=dE[da]||(dE[da]={});du=dG[i]||[];dC=du[0]===di&&du[1];dF=du[0]===di&&du[2];dB=dC&&dE.childNodes[dC];while((dB=++dC&&dB&&dB[dz]||(dF=dC=0)||dx.pop())){if(dB.nodeType===1&&++dF&&dB===dA){dG[i]=[di,dC,dF];break}}}else{if(dv&&(du=(dA[da]||(dA[da]={}))[i])&&du[0]===di){dF=du[1]}else{while((dB=++dC&&dB&&dB[dz]||(dF=dC=0)||dx.pop())){if((ds?dB.nodeName.toLowerCase()===dw:dB.nodeType===1)&&++dF){if(dv){(dB[da]||(dB[da]={}))[i]=[di,dF]}if(dB===dA){break}}}}}dF-=dn;return dF===dr||(dF%dr===0&&dF/dr>=0)}}},PSEUDO:function(dp,dn){var e,i=cn.pseudos[dp]||cn.setFilters[dp.toLowerCase()]||cw.error("unsupported pseudo: "+dp);if(i[da]){return i(dn)}if(i.length>1){e=[dp,dp,"",dn];return cn.setFilters.hasOwnProperty(dp.toLowerCase())?cj(function(ds,du){var dr,dq=i(ds,dn),dt=dq.length;while(dt--){dr=cd(ds,dq[dt]);ds[dr]=!(du[dr]=dq[dt])}}):function(dq){return i(dq,0,e)}}return i}},pseudos:{not:cj(function(e){var i=[],dn=[],dp=cW(e.replace(cr,"$1"));return dp[da]?cj(function(dr,dw,du,ds){var dv,dq=dp(dr,null,ds,[]),dt=dr.length;while(dt--){if((dv=dq[dt])){dr[dt]=!(dw[dt]=dv)}}}):function(ds,dr,dq){i[0]=ds;dp(i,null,dq,dn);i[0]=null;return !dn.pop()}}),has:cj(function(e){return function(i){return cw(e,i).length>0}}),contains:cj(function(e){e=e.replace(cs,c5);return function(i){return(i.textContent||i.innerText||cH(i)).indexOf(e)>-1}}),lang:cj(function(e){if(!cU.test(e||"")){cw.error("unsupported lang: "+e)}e=e.replace(cs,c5).toLowerCase();return function(dn){var i;do{if((i=c8?dn.lang:dn.getAttribute("xml:lang")||dn.getAttribute("lang"))){i=i.toLowerCase();return i===e||i.indexOf(e+"-")===0}}while((dn=dn.parentNode)&&dn.nodeType===1);return false}}),target:function(e){var i=de.location&&de.location.hash;return i&&i.slice(1)===e.id},root:function(e){return e===co},focus:function(e){return e===cC.activeElement&&(!cC.hasFocus||cC.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var i=e.nodeName.toLowerCase();return(i==="input"&&!!e.checked)||(i==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeType<6){return false}}return true},parent:function(e){return !cn.pseudos.empty(e)},header:function(e){return cl.test(e.nodeName)},input:function(e){return cc.test(e.nodeName)},button:function(i){var e=i.nodeName.toLowerCase();return e==="input"&&i.type==="button"||e==="button"},text:function(i){var e;return i.nodeName.toLowerCase()==="input"&&i.type==="text"&&((e=i.getAttribute("type"))==null||e.toLowerCase()==="text")},first:c7(function(){return[0]}),last:c7(function(e,i){return[i-1]}),eq:c7(function(e,dn,i){return[i<0?i+dn:i]}),even:c7(function(e,dp){var dn=0;for(;dn<dp;dn+=2){e.push(dn)}return e}),odd:c7(function(e,dp){var dn=1;for(;dn<dp;dn+=2){e.push(dn)}return e}),lt:c7(function(e,dq,dp){var dn=dp<0?dp+dq:dp;for(;--dn>=0;){e.push(dn)}return e}),gt:c7(function(e,dq,dp){var dn=dp<0?dp+dq:dp;for(;++dn<dq;){e.push(dn)}return e})}};cn.pseudos.nth=cn.pseudos.eq;for(cy in {radio:true,checkbox:true,file:true,password:true,image:true}){cn.pseudos[cy]=cx(cy)}for(cy in {submit:true,reset:true}){cn.pseudos[cy]=cb(cy)}function cV(){}cV.prototype=cn.filters=cn.pseudos;cn.setFilters=new cV();ci=cw.tokenize=function(dq,dv){var i,dr,dt,du,ds,dn,e,dp=c9[dq+" "];if(dp){return dv?0:dp.slice(0)}ds=dq;dn=[];e=cn.preFilter;while(ds){if(!i||(dr=cv.exec(ds))){if(dr){ds=ds.slice(dr[0].length)||ds}dn.push((dt=[]))}i=false;if((dr=cB.exec(ds))){i=dr.shift();dt.push({value:i,type:dr[0].replace(cr," ")});ds=ds.slice(i.length)}for(du in cn.filter){if((dr=c2[du].exec(ds))&&(!e[du]||(dr=e[du](dr)))){i=dr.shift();dt.push({value:i,type:du,matches:dr});ds=ds.slice(i.length)}}if(!i){break}}return dv?ds.length:ds?cw.error(dq):c9(dq,dn).slice(0)};function ch(dq){var dp=0,dn=dq.length,e="";for(;dp<dn;dp++){e+=dq[dp].value}return e}function cq(dq,dn,dp){var e=dn.dir,dr=dp&&e==="parentNode",i=c4++;return dn.first?function(du,dt,ds){while((du=du[e])){if(du.nodeType===1||dr){return dq(du,dt,ds)}}}:function(dw,du,dt){var dx,dv,ds=[di,i];if(dt){while((dw=dw[e])){if(dw.nodeType===1||dr){if(dq(dw,du,dt)){return true}}}}else{while((dw=dw[e])){if(dw.nodeType===1||dr){dv=dw[da]||(dw[da]={});if((dx=dv[e])&&dx[0]===di&&dx[1]===i){return(ds[2]=dx[2])}else{dv[e]=ds;if((ds[2]=dq(dw,du,dt))){return true}}}}}}}function dk(e){return e.length>1?function(dr,dq,dn){var dp=e.length;while(dp--){if(!e[dp](dr,dq,dn)){return false}}return true}:e[0]}function cz(dn,dr,dq){var dp=0,e=dr.length;for(;dp<e;dp++){cw(dn,dr[dp],dq)}return dq}function c0(e,dn,dp,dq,dt){var dr,dw=[],ds=0,du=e.length,dv=dn!=null;for(;ds<du;ds++){if((dr=e[ds])){if(!dp||dp(dr,dq,dt)){dw.push(dr);if(dv){dn.push(ds)}}}}return dw}function cg(dn,i,dq,dp,dr,e){if(dp&&!dp[da]){dp=cg(dp)}if(dr&&!dr[da]){dr=cg(dr,e)}return cj(function(dC,dz,du,dB){var dE,dA,dw,dv=[],dD=[],dt=dz.length,ds=dC||cz(i||"*",du.nodeType?[du]:du,[]),dx=dn&&(dC||!i)?c0(ds,dv,dn,du,dB):ds,dy=dq?dr||(dC?dn:dt||dp)?[]:dz:dx;if(dq){dq(dx,dy,du,dB)}if(dp){dE=c0(dy,dD);dp(dE,[],du,dB);dA=dE.length;while(dA--){if((dw=dE[dA])){dy[dD[dA]]=!(dx[dD[dA]]=dw)}}}if(dC){if(dr||dn){if(dr){dE=[];dA=dy.length;while(dA--){if((dw=dy[dA])){dE.push((dx[dA]=dw))}}dr(null,(dy=[]),dE,dB)}dA=dy.length;while(dA--){if((dw=dy[dA])&&(dE=dr?cd(dC,dw):dv[dA])>-1){dC[dE]=!(dz[dE]=dw)}}}}else{dy=c0(dy===dz?dy.splice(dt,dy.length):dy);if(dr){dr(null,dz,dy,dB)}else{b7.apply(dz,dy)}}})}function db(dt){var dn,dr,dp,ds=dt.length,dw=cn.relative[dt[0].type],dx=dw||cn.relative[" "],dq=dw?1:0,du=cq(function(i){return i===dn},dx,true),dv=cq(function(i){return cd(dn,i)>-1},dx,true),e=[function(dA,dz,dy){var i=(!dw&&(dy||dz!==dm))||((dn=dz).nodeType?du(dA,dz,dy):dv(dA,dz,dy));dn=null;return i}];for(;dq<ds;dq++){if((dr=cn.relative[dt[dq].type])){e=[cq(dk(e),dr)]}else{dr=cn.filter[dt[dq].type].apply(null,dt[dq].matches);if(dr[da]){dp=++dq;for(;dp<ds;dp++){if(cn.relative[dt[dp].type]){break}}return cg(dq>1&&dk(e),dq>1&&ch(dt.slice(0,dq-1).concat({value:dt[dq-2].type===" "?"*":""})).replace(cr,"$1"),dr,dq<dp&&db(dt.slice(dq,dp)),dp<ds&&db((dt=dt.slice(dp))),dp<ds&&ch(dt))}e.push(dr)}}return dk(e)}function cY(dp,dn){var e=dn.length>0,dq=dp.length>0,i=function(dA,du,dz,dy,dD){var dv,dw,dB,dF=0,dx="0",dr=dA&&[],dG=[],dE=dm,dt=dA||dq&&cn.find.TAG("*",dD),ds=(di+=dE==null?1:Math.random()||0.1),dC=dt.length;if(dD){dm=du!==cC&&du}for(;dx!==dC&&(dv=dt[dx])!=null;dx++){if(dq&&dv){dw=0;while((dB=dp[dw++])){if(dB(dv,du,dz)){dy.push(dv);break}}if(dD){di=ds}}if(e){if((dv=!dB&&dv)){dF--}if(dA){dr.push(dv)}}}dF+=dx;if(e&&dx!==dF){dw=0;while((dB=dn[dw++])){dB(dr,dG,du,dz)}if(dA){if(dF>0){while(dx--){if(!(dr[dx]||dG[dx])){dG[dx]=dd.call(dy)}}}dG=c0(dG)}b7.apply(dy,dG);if(dD&&!dA&&dG.length>0&&(dF+dn.length)>1){cw.uniqueSort(dy)}}if(dD){di=ds;dm=dE}return dr};return e?cj(i):i}cW=cw.compile=function(e,dp){var dq,dn=[],ds=[],dr=cG[e+" "];if(!dr){if(!dp){dp=ci(e)}dq=dp.length;while(dq--){dr=db(dp[dq]);if(dr[da]){dn.push(dr)}else{ds.push(dr)}}dr=cG(e,cY(ds,dn));dr.selector=e}return dr};dg=cw.select=function(dp,e,dq,dt){var dr,dw,dn,dx,du,dv=typeof dp==="function"&&dp,ds=!dt&&ci((dp=dv.selector||dp));dq=dq||[];if(ds.length===1){dw=ds[0]=ds[0].slice(0);if(dw.length>2&&(dn=dw[0]).type==="ID"&&dh.getById&&e.nodeType===9&&c8&&cn.relative[dw[1].type]){e=(cn.find.ID(dn.matches[0].replace(cs,c5),e)||[])[0];if(!e){return dq}else{if(dv){e=e.parentNode}}dp=dp.slice(dw.shift().value.length)}dr=c2.needsContext.test(dp)?0:dw.length;while(dr--){dn=dw[dr];if(cn.relative[(dx=dn.type)]){break}if((du=cn.find[dx])){if((dt=du(dn.matches[0].replace(cs,c5),c1.test(dw[0].type)&&cT(e.parentNode)||e))){dw.splice(dr,1);dp=dt.length&&ch(dw);if(!dp){b7.apply(dq,dt);return dq}break}}}}(dv||cW(dp,ds))(dt,e,!c8,dq,c1.test(dp)&&cT(e.parentNode)||e);return dq};dh.sortStable=da.split("").sort(cE).join("")===da;dh.detectDuplicates=!!cX;cZ();dh.sortDetached=cf(function(e){return e.compareDocumentPosition(cC.createElement("div"))&1});if(!cf(function(e){e.innerHTML="<a href='#'></a>";return e.firstChild.getAttribute("href")==="#"})){dj("type|href|height|width",function(i,e,dn){if(!dn){return i.getAttribute(e,e.toLowerCase()==="type"?1:2)}})}if(!dh.attributes||!cf(function(e){e.innerHTML="<input/>";e.firstChild.setAttribute("value","");return e.firstChild.getAttribute("value")===""})){dj("value",function(i,e,dn){if(!dn&&i.nodeName.toLowerCase()==="input"){return i.defaultValue}})}if(!cf(function(e){return e.getAttribute("disabled")==null})){dj(b8,function(i,e,dp){var dn;if(!dp){return i[e]===true?e.toLowerCase():(dn=i.getAttributeNode(e))&&dn.specified?dn.value:null}})}return cw})(a5);bI.find=m;bI.expr=m.selectors;bI.expr[":"]=bI.expr.pseudos;bI.unique=m.uniqueSort;bI.text=m.getText;bI.isXMLDoc=m.isXML;bI.contains=m.contains;var A=bI.expr.match.needsContext;var a=(/^<(\w+)\s*\/?>(?:<\/\1>|)$/);var aL=/^.[^:#\[\.,]*$/;function aR(b6,e,i){if(bI.isFunction(e)){return bI.grep(b6,function(b8,b7){return !!e.call(b8,b7,b8)!==i})}if(e.nodeType){return bI.grep(b6,function(b7){return(b7===e)!==i})}if(typeof e==="string"){if(aL.test(e)){return bI.filter(e,b6,i)}e=bI.filter(e,b6)}return bI.grep(b6,function(b7){return(bI.inArray(b7,e)>=0)!==i})}bI.filter=function(b7,e,b6){var i=e[0];if(b6){b7=":not("+b7+")"}return e.length===1&&i.nodeType===1?bI.find.matchesSelector(i,b7)?[i]:[]:bI.find.matches(b7,bI.grep(e,function(b8){return b8.nodeType===1}))};bI.fn.extend({find:function(b6){var b9,b8=[],b7=this,e=b7.length;if(typeof b6!=="string"){return this.pushStack(bI(b6).filter(function(){for(b9=0;b9<e;b9++){if(bI.contains(b7[b9],this)){return true}}}))}for(b9=0;b9<e;b9++){bI.find(b6,b7[b9],b8)}b8=this.pushStack(e>1?bI.unique(b8):b8);b8.selector=this.selector?this.selector+" "+b6:b6;return b8},filter:function(e){return this.pushStack(aR(this,e||[],false))},not:function(e){return this.pushStack(aR(this,e||[],true))},is:function(e){return !!aR(this,typeof e==="string"&&A.test(e)?bI(e):e||[],false).length}});var z,n=a5.document,bt=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,bV=bI.fn.init=function(e,b6){var i,b7;if(!e){return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){i=[null,e,null]}else{i=bt.exec(e)}if(i&&(i[1]||!b6)){if(i[1]){b6=b6 instanceof bI?b6[0]:b6;bI.merge(this,bI.parseHTML(i[1],b6&&b6.nodeType?b6.ownerDocument||b6:n,true));if(a.test(i[1])&&bI.isPlainObject(b6)){for(i in b6){if(bI.isFunction(this[i])){this[i](b6[i])}else{this.attr(i,b6[i])}}}return this}else{b7=n.getElementById(i[2]);if(b7&&b7.parentNode){if(b7.id!==i[2]){return z.find(e)}this.length=1;this[0]=b7}this.context=n;this.selector=e;return this}}else{if(!b6||b6.jquery){return(b6||z).find(e)}else{return this.constructor(b6).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bI.isFunction(e)){return typeof z.ready!=="undefined"?z.ready(e):e(bI)}}}if(e.selector!==undefined){this.selector=e.selector;this.context=e.context}return bI.makeArray(e,this)};bV.prototype=bI.fn;z=bI(n);var bv=/^(?:parents|prev(?:Until|All))/,bz={children:true,contents:true,next:true,prev:true};bI.extend({dir:function(b6,i,b8){var e=[],b7=b6[i];while(b7&&b7.nodeType!==9&&(b8===undefined||b7.nodeType!==1||!bI(b7).is(b8))){if(b7.nodeType===1){e.push(b7)}b7=b7[i]}return e},sibling:function(b6,i){var e=[];for(;b6;b6=b6.nextSibling){if(b6.nodeType===1&&b6!==i){e.push(b6)}}return e}});bI.fn.extend({has:function(b8){var b7,b6=bI(b8,this),e=b6.length;return this.filter(function(){for(b7=0;b7<e;b7++){if(bI.contains(this,b6[b7])){return true}}})},closest:function(b9,b8){var ca,b7=0,b6=this.length,e=[],cb=A.test(b9)||typeof b9!=="string"?bI(b9,b8||this.context):0;for(;b7<b6;b7++){for(ca=this[b7];ca&&ca!==b8;ca=ca.parentNode){if(ca.nodeType<11&&(cb?cb.index(ca)>-1:ca.nodeType===1&&bI.find.matchesSelector(ca,b9))){e.push(ca);break}}}return this.pushStack(e.length>1?bI.unique(e):e)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e==="string"){return bI.inArray(this[0],bI(e))}return bI.inArray(e.jquery?e[0]:e,this)},add:function(e,i){return this.pushStack(bI.unique(bI.merge(this.get(),bI(e,i))))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});function aY(i,e){do{i=i[e]}while(i&&i.nodeType!==1);return i}bI.each({parent:function(i){var e=i.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bI.dir(e,"parentNode")},parentsUntil:function(b6,e,b7){return bI.dir(b6,"parentNode",b7)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bI.dir(e,"nextSibling")},prevAll:function(e){return bI.dir(e,"previousSibling")},nextUntil:function(b6,e,b7){return bI.dir(b6,"nextSibling",b7)},prevUntil:function(b6,e,b7){return bI.dir(b6,"previousSibling",b7)},siblings:function(e){return bI.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bI.sibling(e.firstChild)},contents:function(e){return bI.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bI.merge([],e.childNodes)}},function(e,i){bI.fn[e]=function(b8,b6){var b7=bI.map(this,i,b8);if(e.slice(-5)!=="Until"){b6=b8}if(b6&&typeof b6==="string"){b7=bI.filter(b6,b7)}if(this.length>1){if(!bz[e]){b7=bI.unique(b7)}if(bv.test(e)){b7=b7.reverse()}}return this.pushStack(b7)}});var aF=(/\S+/g);var b2={};function af(i){var e=b2[i]={};bI.each(i.match(aF)||[],function(b7,b6){e[b6]=true});return e}bI.Callbacks=function(ce){ce=typeof ce==="string"?(b2[ce]||af(ce)):bI.extend({},ce);var b8,b7,e,b9,ca,b6,cb=[],cc=!ce.once&&[],i=function(cf){b7=ce.memory&&cf;e=true;ca=b6||0;b6=0;b9=cb.length;b8=true;for(;cb&&ca<b9;ca++){if(cb[ca].apply(cf[0],cf[1])===false&&ce.stopOnFalse){b7=false;break}}b8=false;if(cb){if(cc){if(cc.length){i(cc.shift())}}else{if(b7){cb=[]}else{cd.disable()}}}},cd={add:function(){if(cb){var cg=cb.length;(function cf(ch){bI.each(ch,function(cj,ci){var ck=bI.type(ci);if(ck==="function"){if(!ce.unique||!cd.has(ci)){cb.push(ci)}}else{if(ci&&ci.length&&ck!=="string"){cf(ci)}}})})(arguments);if(b8){b9=cb.length}else{if(b7){b6=cg;i(b7)}}}return this},remove:function(){if(cb){bI.each(arguments,function(ch,cf){var cg;while((cg=bI.inArray(cf,cb,cg))>-1){cb.splice(cg,1);if(b8){if(cg<=b9){b9--}if(cg<=ca){ca--}}}})}return this},has:function(cf){return cf?bI.inArray(cf,cb)>-1:!!(cb&&cb.length)},empty:function(){cb=[];b9=0;return this},disable:function(){cb=cc=b7=undefined;return this},disabled:function(){return !cb},lock:function(){cc=undefined;if(!b7){cd.disable()}return this},locked:function(){return !cc},fireWith:function(cg,cf){if(cb&&(!e||cc)){cf=cf||[];cf=[cg,cf.slice?cf.slice():cf];if(b8){cc.push(cf)}else{i(cf)}}return this},fire:function(){cd.fireWith(this,arguments);return this},fired:function(){return !!e}};return cd};bI.extend({Deferred:function(b6){var i=[["resolve","done",bI.Callbacks("once memory"),"resolved"],["reject","fail",bI.Callbacks("once memory"),"rejected"],["notify","progress",bI.Callbacks("memory")]],b7="pending",b8={state:function(){return b7},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b9=arguments;return bI.Deferred(function(ca){bI.each(i,function(cc,cb){var cd=bI.isFunction(b9[cc])&&b9[cc];e[cb[1]](function(){var ce=cd&&cd.apply(this,arguments);if(ce&&bI.isFunction(ce.promise)){ce.promise().done(ca.resolve).fail(ca.reject).progress(ca.notify)}else{ca[cb[0]+"With"](this===b8?ca.promise():this,cd?[ce]:arguments)}})});b9=null}).promise()},promise:function(b9){return b9!=null?bI.extend(b9,b8):b8}},e={};b8.pipe=b8.then;bI.each(i,function(ca,b9){var cc=b9[2],cb=b9[3];b8[b9[1]]=cc.add;if(cb){cc.add(function(){b7=cb},i[ca^1][2].disable,i[2][2].lock)}e[b9[0]]=function(){e[b9[0]+"With"](this===e?b8:this,arguments);return this};e[b9[0]+"With"]=cc.fireWith});b8.promise(e);if(b6){b6.call(e,e)}return e},when:function(b9){var b7=0,cb=P.call(arguments),e=cb.length,b6=e!==1||(b9&&bI.isFunction(b9.promise))?e:0,ce=b6===1?b9:bI.Deferred(),b8=function(cg,ch,cf){return function(i){ch[cg]=this;cf[cg]=arguments.length>1?P.call(arguments):i;if(cf===cd){ce.notifyWith(ch,cf)}else{if(!(--b6)){ce.resolveWith(ch,cf)}}}},cd,ca,cc;if(e>1){cd=new Array(e);ca=new Array(e);cc=new Array(e);for(;b7<e;b7++){if(cb[b7]&&bI.isFunction(cb[b7].promise)){cb[b7].promise().done(b8(b7,cc,cb)).fail(ce.reject).progress(b8(b7,ca,cd))}else{--b6}}}if(!b6){ce.resolveWith(cc,cb)}return ce.promise()}});var ak;bI.fn.ready=function(e){bI.ready.promise().done(e);return this};bI.extend({isReady:false,readyWait:1,holdReady:function(e){if(e){bI.readyWait++}else{bI.ready(true)}},ready:function(e){if(e===true?--bI.readyWait:bI.isReady){return}if(!n.body){return setTimeout(bI.ready)}bI.isReady=true;if(e!==true&&--bI.readyWait>0){return}ak.resolveWith(n,[bI]);if(bI.fn.triggerHandler){bI(n).triggerHandler("ready");bI(n).off("ready")}}});function bm(){if(n.addEventListener){n.removeEventListener("DOMContentLoaded",bZ,false);a5.removeEventListener("load",bZ,false)}else{n.detachEvent("onreadystatechange",bZ);a5.detachEvent("onload",bZ)}}function bZ(){if(n.addEventListener||event.type==="load"||n.readyState==="complete"){bm();bI.ready()}}bI.ready.promise=function(b8){if(!ak){ak=bI.Deferred();if(n.readyState==="complete"){setTimeout(bI.ready)}else{if(n.addEventListener){n.addEventListener("DOMContentLoaded",bZ,false);a5.addEventListener("load",bZ,false)}else{n.attachEvent("onreadystatechange",bZ);a5.attachEvent("onload",bZ);var b7=false;try{b7=a5.frameElement==null&&n.documentElement}catch(b6){}if(b7&&b7.doScroll){(function i(){if(!bI.isReady){try{b7.doScroll("left")}catch(b9){return setTimeout(i,50)}bm();bI.ready()}})()}}}}return ak.promise(b8)};var aC=typeof undefined;var bh;for(bh in bI(D)){break}D.ownLast=bh!=="0";D.inlineBlockNeedsLayout=false;bI(function(){var b6,b7,e,i;e=n.getElementsByTagName("body")[0];if(!e||!e.style){return}b7=n.createElement("div");i=n.createElement("div");i.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px";e.appendChild(i).appendChild(b7);if(typeof b7.style.zoom!==aC){b7.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1";D.inlineBlockNeedsLayout=b6=b7.offsetWidth===3;if(b6){e.style.zoom=1}}e.removeChild(i)});(function(){var b6=n.createElement("div");if(D.deleteExpando==null){D.deleteExpando=true;try{delete b6.test}catch(i){D.deleteExpando=false}}b6=null})();bI.acceptData=function(b6){var i=bI.noData[(b6.nodeName+" ").toLowerCase()],e=+b6.nodeType||1;return e!==1&&e!==9?false:!i||i!==true&&b6.getAttribute("classid")===i};var by=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,aQ=/([A-Z])/g;function bA(b7,b6,b8){if(b8===undefined&&b7.nodeType===1){var i="data-"+b6.replace(aQ,"-$1").toLowerCase();b8=b7.getAttribute(i);if(typeof b8==="string"){try{b8=b8==="true"?true:b8==="false"?false:b8==="null"?null:+b8+""===b8?+b8:by.test(b8)?bI.parseJSON(b8):b8}catch(b9){}bI.data(b7,b6,b8)}else{b8=undefined}}return b8}function Q(i){var e;for(e in i){if(e==="data"&&bI.isEmptyObject(i[e])){continue}if(e!=="toJSON"){return false}}return true}function bc(b7,i,b9,b8){if(!bI.acceptData(b7)){return}var cb,ca,cc=bI.expando,cd=b7.nodeType,e=cd?bI.cache:b7,b6=cd?b7[cc]:b7[cc]&&cc;if((!b6||!e[b6]||(!b8&&!e[b6].data))&&b9===undefined&&typeof i==="string"){return}if(!b6){if(cd){b6=b7[cc]=aP.pop()||bI.guid++}else{b6=cc}}if(!e[b6]){e[b6]=cd?{}:{toJSON:bI.noop}}if(typeof i==="object"||typeof i==="function"){if(b8){e[b6]=bI.extend(e[b6],i)}else{e[b6].data=bI.extend(e[b6].data,i)}}ca=e[b6];if(!b8){if(!ca.data){ca.data={}}ca=ca.data}if(b9!==undefined){ca[bI.camelCase(i)]=b9}if(typeof i==="string"){cb=ca[i];if(cb==null){cb=ca[bI.camelCase(i)]}}else{cb=ca}return cb}function ab(b9,b7,e){if(!bI.acceptData(b9)){return}var cb,b8,ca=b9.nodeType,b6=ca?bI.cache:b9,cc=ca?b9[bI.expando]:bI.expando;if(!b6[cc]){return}if(b7){cb=e?b6[cc]:b6[cc].data;if(cb){if(!bI.isArray(b7)){if(b7 in cb){b7=[b7]}else{b7=bI.camelCase(b7);if(b7 in cb){b7=[b7]}else{b7=b7.split(" ")}}}else{b7=b7.concat(bI.map(b7,bI.camelCase))}b8=b7.length;while(b8--){delete cb[b7[b8]]}if(e?!Q(cb):!bI.isEmptyObject(cb)){return}}}if(!e){delete b6[cc].data;if(!Q(b6[cc])){return}}if(ca){bI.cleanData([b9],true)}else{if(D.deleteExpando||b6!=b6.window){delete b6[cc]}else{b6[cc]=null}}}bI.extend({cache:{},noData:{"applet ":true,"embed ":true,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){e=e.nodeType?bI.cache[e[bI.expando]]:e[bI.expando];return !!e&&!Q(e)},data:function(i,e,b6){return bc(i,e,b6)},removeData:function(i,e){return ab(i,e)},_data:function(i,e,b6){return bc(i,e,b6,true)},_removeData:function(i,e){return ab(i,e,true)}});bI.fn.extend({data:function(b8,cb){var b7,b6,ca,b9=this[0],e=b9&&b9.attributes;if(b8===undefined){if(this.length){ca=bI.data(b9);if(b9.nodeType===1&&!bI._data(b9,"parsedAttrs")){b7=e.length;while(b7--){if(e[b7]){b6=e[b7].name;if(b6.indexOf("data-")===0){b6=bI.camelCase(b6.slice(5));bA(b9,b6,ca[b6])}}}bI._data(b9,"parsedAttrs",true)}}return ca}if(typeof b8==="object"){return this.each(function(){bI.data(this,b8)})}return arguments.length>1?this.each(function(){bI.data(this,b8,cb)}):b9?bA(b9,b8,bI.data(b9,b8)):undefined},removeData:function(e){return this.each(function(){bI.removeData(this,e)})}});bI.extend({queue:function(b6,i,b7){var e;if(b6){i=(i||"fx")+"queue";e=bI._data(b6,i);if(b7){if(!e||bI.isArray(b7)){e=bI._data(b6,i,bI.makeArray(b7))}else{e.push(b7)}}return e||[]}},dequeue:function(b9,b8){b8=b8||"fx";var i=bI.queue(b9,b8),ca=i.length,b7=i.shift(),e=bI._queueHooks(b9,b8),b6=function(){bI.dequeue(b9,b8)};if(b7==="inprogress"){b7=i.shift();ca--}if(b7){if(b8==="fx"){i.unshift("inprogress")}delete e.stop;b7.call(b9,b6,e)}if(!ca&&e){e.empty.fire()}},_queueHooks:function(b6,i){var e=i+"queueHooks";return bI._data(b6,e)||bI._data(b6,e,{empty:bI.Callbacks("once memory").add(function(){bI._removeData(b6,i+"queue");bI._removeData(b6,e)})})}});bI.fn.extend({queue:function(e,i){var b6=2;if(typeof e!=="string"){i=e;e="fx";b6--}if(arguments.length<b6){return bI.queue(this[0],e)}return i===undefined?this:this.each(function(){var b7=bI.queue(this,e,i);bI._queueHooks(this,e);if(e==="fx"&&b7[0]!=="inprogress"){bI.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){bI.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(b7,cb){var b6,b8=1,cc=bI.Deferred(),ca=this,e=this.length,b9=function(){if(!(--b8)){cc.resolveWith(ca,[ca])}};if(typeof b7!=="string"){cb=b7;b7=undefined}b7=b7||"fx";while(e--){b6=bI._data(ca[e],b7+"queueHooks");if(b6&&b6.empty){b8++;b6.empty.add(b9)}}b9();return cc.promise(cb)}});var aE=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;var bT=["Top","Right","Bottom","Left"];var S=function(i,e){i=e||i;return bI.css(i,"display")==="none"||!bI.contains(i.ownerDocument,i)};var aB=bI.access=function(e,ca,cc,cb,b8,ce,cd){var b7=0,b6=e.length,b9=cc==null;if(bI.type(cc)==="object"){b8=true;for(b7 in cc){bI.access(e,ca,b7,cc[b7],true,ce,cd)}}else{if(cb!==undefined){b8=true;if(!bI.isFunction(cb)){cd=true}if(b9){if(cd){ca.call(e,cb);ca=null}else{b9=ca;ca=function(cf,i,cg){return b9.call(bI(cf),cg)}}}if(ca){for(;b7<b6;b7++){ca(e[b7],cc,cd?cb:cb.call(e[b7],b7,ca(e[b7],cc)))}}}}return b8?e:b9?ca.call(e):b6?ca(e[0],cc):ce};var aM=(/^(?:checkbox|radio)$/i);(function(){var i=n.createElement("input"),b8=n.createElement("div"),b6=n.createDocumentFragment();b8.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";D.leadingWhitespace=b8.firstChild.nodeType===3;D.tbody=!b8.getElementsByTagName("tbody").length;D.htmlSerialize=!!b8.getElementsByTagName("link").length;D.html5Clone=n.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>";i.type="checkbox";i.checked=true;b6.appendChild(i);D.appendChecked=i.checked;b8.innerHTML="<textarea>x</textarea>";D.noCloneChecked=!!b8.cloneNode(true).lastChild.defaultValue;b6.appendChild(b8);b8.innerHTML="<input type='radio' checked='checked' name='t'/>";D.checkClone=b8.cloneNode(true).cloneNode(true).lastChild.checked;D.noCloneEvent=true;if(b8.attachEvent){b8.attachEvent("onclick",function(){D.noCloneEvent=false});b8.cloneNode(true).click()}if(D.deleteExpando==null){D.deleteExpando=true;try{delete b8.test}catch(b7){D.deleteExpando=false}}})();(function(){var b6,e,b7=n.createElement("div");for(b6 in {submit:true,change:true,focusin:true}){e="on"+b6;if(!(D[b6+"Bubbles"]=e in a5)){b7.setAttribute(e,"t");D[b6+"Bubbles"]=b7.attributes[e].expando===false}}b7=null})();var bG=/^(?:input|select|textarea)$/i,a6=/^key/,bM=/^(?:mouse|pointer|contextmenu)|click/,bC=/^(?:focusinfocus|focusoutblur)$/,bx=/^([^.]*)(?:\.(.+)|)$/;function U(){return true}function Z(){return false}function am(){try{return n.activeElement}catch(e){}}bI.event={global:{},add:function(b8,cd,ci,ca,b9){var cb,cj,ck,b6,cf,cc,ch,b7,cg,e,i,ce=bI._data(b8);if(!ce){return}if(ci.handler){b6=ci;ci=b6.handler;b9=b6.selector}if(!ci.guid){ci.guid=bI.guid++}if(!(cj=ce.events)){cj=ce.events={}}if(!(cc=ce.handle)){cc=ce.handle=function(cl){return typeof bI!==aC&&(!cl||bI.event.triggered!==cl.type)?bI.event.dispatch.apply(cc.elem,arguments):undefined};cc.elem=b8}cd=(cd||"").match(aF)||[""];ck=cd.length;while(ck--){cb=bx.exec(cd[ck])||[];cg=i=cb[1];e=(cb[2]||"").split(".").sort();if(!cg){continue}cf=bI.event.special[cg]||{};cg=(b9?cf.delegateType:cf.bindType)||cg;cf=bI.event.special[cg]||{};ch=bI.extend({type:cg,origType:i,data:ca,handler:ci,guid:ci.guid,selector:b9,needsContext:b9&&bI.expr.match.needsContext.test(b9),namespace:e.join(".")},b6);if(!(b7=cj[cg])){b7=cj[cg]=[];b7.delegateCount=0;if(!cf.setup||cf.setup.call(b8,ca,e,cc)===false){if(b8.addEventListener){b8.addEventListener(cg,cc,false)}else{if(b8.attachEvent){b8.attachEvent("on"+cg,cc)}}}}if(cf.add){cf.add.call(b8,ch);if(!ch.handler.guid){ch.handler.guid=ci.guid}}if(b9){b7.splice(b7.delegateCount++,0,ch)}else{b7.push(ch)}bI.event.global[cg]=true}b8=null},remove:function(b7,cd,ck,b8,cc){var ca,ch,cb,b9,cj,ci,cf,b6,cg,e,i,ce=bI.hasData(b7)&&bI._data(b7);if(!ce||!(ci=ce.events)){return}cd=(cd||"").match(aF)||[""];cj=cd.length;while(cj--){cb=bx.exec(cd[cj])||[];cg=i=cb[1];e=(cb[2]||"").split(".").sort();if(!cg){for(cg in ci){bI.event.remove(b7,cg+cd[cj],ck,b8,true)}continue}cf=bI.event.special[cg]||{};cg=(b8?cf.delegateType:cf.bindType)||cg;b6=ci[cg]||[];cb=cb[2]&&new RegExp("(^|\\.)"+e.join("\\.(?:.*\\.|)")+"(\\.|$)");b9=ca=b6.length;while(ca--){ch=b6[ca];if((cc||i===ch.origType)&&(!ck||ck.guid===ch.guid)&&(!cb||cb.test(ch.namespace))&&(!b8||b8===ch.selector||b8==="**"&&ch.selector)){b6.splice(ca,1);if(ch.selector){b6.delegateCount--}if(cf.remove){cf.remove.call(b7,ch)}}}if(b9&&!b6.length){if(!cf.teardown||cf.teardown.call(b7,e,ce.handle)===false){bI.removeEvent(b7,cg,ce.handle)}delete ci[cg]}}if(bI.isEmptyObject(ci)){delete ce.handle;bI._removeData(b7,"events")}},trigger:function(b6,cd,b9,ck){var ce,b8,ci,cj,cg,cc,cb,ca=[b9||n],ch=K.call(b6,"type")?b6.type:b6,b7=K.call(b6,"namespace")?b6.namespace.split("."):[];ci=cc=b9=b9||n;if(b9.nodeType===3||b9.nodeType===8){return}if(bC.test(ch+bI.event.triggered)){return}if(ch.indexOf(".")>=0){b7=ch.split(".");ch=b7.shift();b7.sort()}b8=ch.indexOf(":")<0&&"on"+ch;b6=b6[bI.expando]?b6:new bI.Event(ch,typeof b6==="object"&&b6);b6.isTrigger=ck?2:3;b6.namespace=b7.join(".");b6.namespace_re=b6.namespace?new RegExp("(^|\\.)"+b7.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b6.result=undefined;if(!b6.target){b6.target=b9}cd=cd==null?[b6]:bI.makeArray(cd,[b6]);cg=bI.event.special[ch]||{};if(!ck&&cg.trigger&&cg.trigger.apply(b9,cd)===false){return}if(!ck&&!cg.noBubble&&!bI.isWindow(b9)){cj=cg.delegateType||ch;if(!bC.test(cj+ch)){ci=ci.parentNode}for(;ci;ci=ci.parentNode){ca.push(ci);cc=ci}if(cc===(b9.ownerDocument||n)){ca.push(cc.defaultView||cc.parentWindow||a5)}}cb=0;while((ci=ca[cb++])&&!b6.isPropagationStopped()){b6.type=cb>1?cj:cg.bindType||ch;ce=(bI._data(ci,"events")||{})[b6.type]&&bI._data(ci,"handle");if(ce){ce.apply(ci,cd)}ce=b8&&ci[b8];if(ce&&ce.apply&&bI.acceptData(ci)){b6.result=ce.apply(ci,cd);if(b6.result===false){b6.preventDefault()}}}b6.type=ch;if(!ck&&!b6.isDefaultPrevented()){if((!cg._default||cg._default.apply(ca.pop(),cd)===false)&&bI.acceptData(b9)){if(b8&&b9[ch]&&!bI.isWindow(b9)){cc=b9[b8];if(cc){b9[b8]=null}bI.event.triggered=ch;try{b9[ch]()}catch(cf){}bI.event.triggered=undefined;if(cc){b9[b8]=cc}}}}return b6.result},dispatch:function(e){e=bI.event.fix(e);var b9,ca,ce,b6,b8,cd=[],cc=P.call(arguments),b7=(bI._data(this,"events")||{})[e.type]||[],cb=bI.event.special[e.type]||{};cc[0]=e;e.delegateTarget=this;if(cb.preDispatch&&cb.preDispatch.call(this,e)===false){return}cd=bI.event.handlers.call(this,e,b7);b9=0;while((b6=cd[b9++])&&!e.isPropagationStopped()){e.currentTarget=b6.elem;b8=0;while((ce=b6.handlers[b8++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(ce.namespace)){e.handleObj=ce;e.data=ce.data;ca=((bI.event.special[ce.origType]||{}).handle||ce.handler).apply(b6.elem,cc);if(ca!==undefined){if((e.result=ca)===false){e.preventDefault();e.stopPropagation()}}}}}if(cb.postDispatch){cb.postDispatch.call(this,e)}return e.result},handlers:function(e,b7){var b6,cc,ca,b9,cb=[],b8=b7.delegateCount,cd=e.target;if(b8&&cd.nodeType&&(!e.button||e.type!=="click")){for(;cd!=this;cd=cd.parentNode||this){if(cd.nodeType===1&&(cd.disabled!==true||e.type!=="click")){ca=[];for(b9=0;b9<b8;b9++){cc=b7[b9];b6=cc.selector+" ";if(ca[b6]===undefined){ca[b6]=cc.needsContext?bI(b6,this).index(cd)>=0:bI.find(b6,this,null,[cd]).length}if(ca[b6]){ca.push(cc)}}if(ca.length){cb.push({elem:cd,handlers:ca})}}}}if(b8<b7.length){cb.push({elem:this,handlers:b7.slice(b8)})}return cb},fix:function(b8){if(b8[bI.expando]){return b8}var b6,cb,ca,b7=b8.type,e=b8,b9=this.fixHooks[b7];if(!b9){this.fixHooks[b7]=b9=bM.test(b7)?this.mouseHooks:a6.test(b7)?this.keyHooks:{}}ca=b9.props?this.props.concat(b9.props):this.props;b8=new bI.Event(e);b6=ca.length;while(b6--){cb=ca[b6];b8[cb]=e[cb]}if(!b8.target){b8.target=e.srcElement||n}if(b8.target.nodeType===3){b8.target=b8.target.parentNode}b8.metaKey=!!b8.metaKey;return b9.filter?b9.filter(b8,e):b8},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(i,e){if(i.which==null){i.which=e.charCode!=null?e.charCode:e.keyCode}return i}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(b7,b6){var e,b8,b9,i=b6.button,ca=b6.fromElement;if(b7.pageX==null&&b6.clientX!=null){b8=b7.target.ownerDocument||n;b9=b8.documentElement;e=b8.body;b7.pageX=b6.clientX+(b9&&b9.scrollLeft||e&&e.scrollLeft||0)-(b9&&b9.clientLeft||e&&e.clientLeft||0);b7.pageY=b6.clientY+(b9&&b9.scrollTop||e&&e.scrollTop||0)-(b9&&b9.clientTop||e&&e.clientTop||0)}if(!b7.relatedTarget&&ca){b7.relatedTarget=ca===b7.target?b6.toElement:ca}if(!b7.which&&i!==undefined){b7.which=(i&1?1:(i&2?3:(i&4?2:0)))}return b7}},special:{load:{noBubble:true},focus:{trigger:function(){if(this!==am()&&this.focus){try{this.focus();return false}catch(i){}}},delegateType:"focusin"},blur:{trigger:function(){if(this===am()&&this.blur){this.blur();return false}},delegateType:"focusout"},click:{trigger:function(){if(bI.nodeName(this,"input")&&this.type==="checkbox"&&this.click){this.click();return false}},_default:function(e){return bI.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){if(e.result!==undefined&&e.originalEvent){e.originalEvent.returnValue=e.result}}}},simulate:function(b6,b8,b7,i){var b9=bI.extend(new bI.Event(),b7,{type:b6,isSimulated:true,originalEvent:{}});if(i){bI.event.trigger(b9,null,b8)}else{bI.event.dispatch.call(b8,b9)}if(b9.isDefaultPrevented()){b7.preventDefault()}}};bI.removeEvent=n.removeEventListener?function(i,e,b6){if(i.removeEventListener){i.removeEventListener(e,b6,false)}}:function(b6,i,b7){var e="on"+i;if(b6.detachEvent){if(typeof b6[e]===aC){b6[e]=null}b6.detachEvent(e,b7)}};bI.Event=function(i,e){if(!(this instanceof bI.Event)){return new bI.Event(i,e)}if(i&&i.type){this.originalEvent=i;this.type=i.type;this.isDefaultPrevented=i.defaultPrevented||i.defaultPrevented===undefined&&i.returnValue===false?U:Z}else{this.type=i}if(e){bI.extend(this,e)}this.timeStamp=i&&i.timeStamp||bI.now();this[bI.expando]=true};bI.Event.prototype={isDefaultPrevented:Z,isPropagationStopped:Z,isImmediatePropagationStopped:Z,preventDefault:function(){var i=this.originalEvent;this.isDefaultPrevented=U;if(!i){return}if(i.preventDefault){i.preventDefault()}else{i.returnValue=false}},stopPropagation:function(){var i=this.originalEvent;this.isPropagationStopped=U;if(!i){return}if(i.stopPropagation){i.stopPropagation()}i.cancelBubble=true},stopImmediatePropagation:function(){var i=this.originalEvent;this.isImmediatePropagationStopped=U;if(i&&i.stopImmediatePropagation){i.stopImmediatePropagation()}this.stopPropagation()}};bI.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(i,e){bI.event.special[i]={delegateType:e,bindType:e,handle:function(b8){var b6,ca=this,b9=b8.relatedTarget,b7=b8.handleObj;if(!b9||(b9!==ca&&!bI.contains(ca,b9))){b8.type=b7.origType;b6=b7.handler.apply(this,arguments);b8.type=e}return b6}}});if(!D.submitBubbles){bI.event.special.submit={setup:function(){if(bI.nodeName(this,"form")){return false}bI.event.add(this,"click._submit keypress._submit",function(b7){var b6=b7.target,i=bI.nodeName(b6,"input")||bI.nodeName(b6,"button")?b6.form:undefined;if(i&&!bI._data(i,"submitBubbles")){bI.event.add(i,"submit._submit",function(e){e._submit_bubble=true});bI._data(i,"submitBubbles",true)}})},postDispatch:function(e){if(e._submit_bubble){delete e._submit_bubble;if(this.parentNode&&!e.isTrigger){bI.event.simulate("submit",this.parentNode,e,true)}}},teardown:function(){if(bI.nodeName(this,"form")){return false}bI.event.remove(this,"._submit")}}}if(!D.changeBubbles){bI.event.special.change={setup:function(){if(bG.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){bI.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});bI.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false}bI.event.simulate("change",this,e,true)})}return false}bI.event.add(this,"beforeactivate._change",function(b6){var i=b6.target;if(bG.test(i.nodeName)&&!bI._data(i,"changeBubbles")){bI.event.add(i,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){bI.event.simulate("change",this.parentNode,e,true)}});bI._data(i,"changeBubbles",true)}})},handle:function(i){var e=i.target;if(this!==e||i.isSimulated||i.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return i.handleObj.handler.apply(this,arguments)}},teardown:function(){bI.event.remove(this,"._change");return !bG.test(this.nodeName)}}}if(!D.focusinBubbles){bI.each({focus:"focusin",blur:"focusout"},function(b6,e){var i=function(b7){bI.event.simulate(e,b7.target,bI.event.fix(b7),true)};bI.event.special[e]={setup:function(){var b8=this.ownerDocument||this,b7=bI._data(b8,e);if(!b7){b8.addEventListener(b6,i,true)}bI._data(b8,e,(b7||0)+1)},teardown:function(){var b8=this.ownerDocument||this,b7=bI._data(b8,e)-1;if(!b7){b8.removeEventListener(b6,i,true);bI._removeData(b8,e)}else{bI._data(b8,e,b7)}}}})}bI.fn.extend({on:function(b6,e,b9,b8,i){var b7,ca;if(typeof b6==="object"){if(typeof e!=="string"){b9=b9||e;e=undefined}for(b7 in b6){this.on(b7,e,b9,b6[b7],i)}return this}if(b9==null&&b8==null){b8=e;b9=e=undefined}else{if(b8==null){if(typeof e==="string"){b8=b9;b9=undefined}else{b8=b9;b9=e;e=undefined}}}if(b8===false){b8=Z}else{if(!b8){return this}}if(i===1){ca=b8;b8=function(cb){bI().off(cb);return ca.apply(this,arguments)};b8.guid=ca.guid||(ca.guid=bI.guid++)}return this.each(function(){bI.event.add(this,b6,b8,b9,e)})},one:function(i,e,b7,b6){return this.on(i,e,b7,b6,1)},off:function(b6,e,b8){var i,b7;if(b6&&b6.preventDefault&&b6.handleObj){i=b6.handleObj;bI(b6.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler);return this}if(typeof b6==="object"){for(b7 in b6){this.off(b7,e,b6[b7])}return this}if(e===false||typeof e==="function"){b8=e;e=undefined}if(b8===false){b8=Z}return this.each(function(){bI.event.remove(this,b6,b8,e)})},trigger:function(e,i){return this.each(function(){bI.event.trigger(e,i,this)})},triggerHandler:function(e,b6){var i=this[0];if(i){return bI.event.trigger(e,b6,i,true)}}});function B(e){var b6=d.split("|"),i=e.createDocumentFragment();if(i.createElement){while(b6.length){i.createElement(b6.pop())}}return i}var d="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aD=/ jQuery\d+="(?:null|\d+)"/g,M=new RegExp("<(?:"+d+")[\\s/>]","i"),b5=/^\s+/,aH=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,o=/<([\w:]+)/,b0=/<tbody/i,L=/<|&#?\w+;/,an=/<(?:script|style|link)/i,bW=/checked\s*(?:[^=]|=\s*.checked.)/i,bB=/^$|\/(?:java|ecma)script/i,ar=/^true\/(.*)/,aO=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,W={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:D.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},aT=B(n),k=aT.appendChild(n.createElement("div"));W.optgroup=W.option;W.tbody=W.tfoot=W.colgroup=W.caption=W.thead;W.th=W.td;function l(b8,e){var b6,b9,b7=0,ca=typeof b8.getElementsByTagName!==aC?b8.getElementsByTagName(e||"*"):typeof b8.querySelectorAll!==aC?b8.querySelectorAll(e||"*"):undefined;if(!ca){for(ca=[],b6=b8.childNodes||b8;(b9=b6[b7])!=null;b7++){if(!e||bI.nodeName(b9,e)){ca.push(b9)}else{bI.merge(ca,l(b9,e))}}}return e===undefined||e&&bI.nodeName(b8,e)?bI.merge([b8],ca):ca}function bY(e){if(aM.test(e.type)){e.defaultChecked=e.checked}}function a3(i,e){return bI.nodeName(i,"table")&&bI.nodeName(e.nodeType!==11?e:e.firstChild,"tr")?i.getElementsByTagName("tbody")[0]||i.appendChild(i.ownerDocument.createElement("tbody")):i}function u(e){e.type=(bI.find.attr(e,"type")!==null)+"/"+e.type;return e}function bf(i){var e=ar.exec(i.type);if(e){i.type=e[1]}else{i.removeAttribute("type")}return i}function bu(e,b7){var b8,b6=0;for(;(b8=e[b6])!=null;b6++){bI._data(b8,"globalEval",!b7||bI._data(b7[b6],"globalEval"))}}function at(cc,b6){if(b6.nodeType!==1||!bI.hasData(cc)){return}var b9,b8,e,cb=bI._data(cc),ca=bI._data(b6,cb),b7=cb.events;if(b7){delete ca.handle;ca.events={};for(b9 in b7){for(b8=0,e=b7[b9].length;b8<e;b8++){bI.event.add(b6,b9,b7[b9][b8])}}}if(ca.data){ca.data=bI.extend({},ca.data)}}function T(b8,i){var b9,b7,b6;if(i.nodeType!==1){return}b9=i.nodeName.toLowerCase();if(!D.noCloneEvent&&i[bI.expando]){b6=bI._data(i);for(b7 in b6.events){bI.removeEvent(i,b7,b6.handle)}i.removeAttribute(bI.expando)}if(b9==="script"&&i.text!==b8.text){u(i).text=b8.text;bf(i)}else{if(b9==="object"){if(i.parentNode){i.outerHTML=b8.outerHTML}if(D.html5Clone&&(b8.innerHTML&&!bI.trim(i.innerHTML))){i.innerHTML=b8.innerHTML}}else{if(b9==="input"&&aM.test(b8.type)){i.defaultChecked=i.checked=b8.checked;if(i.value!==b8.value){i.value=b8.value}}else{if(b9==="option"){i.defaultSelected=i.selected=b8.defaultSelected}else{if(b9==="input"||b9==="textarea"){i.defaultValue=b8.defaultValue}}}}}}bI.extend({clone:function(b6,b8,e){var ca,b7,cd,b9,cb,cc=bI.contains(b6.ownerDocument,b6);if(D.html5Clone||bI.isXMLDoc(b6)||!M.test("<"+b6.nodeName+">")){cd=b6.cloneNode(true)}else{k.innerHTML=b6.outerHTML;k.removeChild(cd=k.firstChild)}if((!D.noCloneEvent||!D.noCloneChecked)&&(b6.nodeType===1||b6.nodeType===11)&&!bI.isXMLDoc(b6)){ca=l(cd);cb=l(b6);for(b9=0;(b7=cb[b9])!=null;++b9){if(ca[b9]){T(b7,ca[b9])}}}if(b8){if(e){cb=cb||l(b6);ca=ca||l(cd);for(b9=0;(b7=cb[b9])!=null;b9++){at(b7,ca[b9])}}else{at(b6,cd)}}ca=l(cd,"script");if(ca.length>0){bu(ca,!cc&&l(b6,"script"))}ca=cb=b7=null;return cd},buildFragment:function(b6,b8,cd,ci){var ce,ca,cc,ch,cj,cg,b7,cb=b6.length,b9=B(b8),e=[],cf=0;for(;cf<cb;cf++){ca=b6[cf];if(ca||ca===0){if(bI.type(ca)==="object"){bI.merge(e,ca.nodeType?[ca]:ca)}else{if(!L.test(ca)){e.push(b8.createTextNode(ca))}else{ch=ch||b9.appendChild(b8.createElement("div"));cj=(o.exec(ca)||["",""])[1].toLowerCase();b7=W[cj]||W._default;ch.innerHTML=b7[1]+ca.replace(aH,"<$1></$2>")+b7[2];ce=b7[0];while(ce--){ch=ch.lastChild}if(!D.leadingWhitespace&&b5.test(ca)){e.push(b8.createTextNode(b5.exec(ca)[0]))}if(!D.tbody){ca=cj==="table"&&!b0.test(ca)?ch.firstChild:b7[1]==="<table>"&&!b0.test(ca)?ch:0;ce=ca&&ca.childNodes.length;while(ce--){if(bI.nodeName((cg=ca.childNodes[ce]),"tbody")&&!cg.childNodes.length){ca.removeChild(cg)}}}bI.merge(e,ch.childNodes);ch.textContent="";while(ch.firstChild){ch.removeChild(ch.firstChild)}ch=b9.lastChild}}}}if(ch){b9.removeChild(ch)}if(!D.appendChecked){bI.grep(l(e,"input"),bY)}cf=0;while((ca=e[cf++])){if(ci&&bI.inArray(ca,ci)!==-1){continue}cc=bI.contains(ca.ownerDocument,ca);ch=l(b9.appendChild(ca),"script");if(cc){bu(ch)}if(cd){ce=0;while((ca=ch[ce++])){if(bB.test(ca.type||"")){cd.push(ca)}}}}ch=null;return b9},cleanData:function(b6,ce){var b8,cd,b7,b9,ca=0,cf=bI.expando,e=bI.cache,cb=D.deleteExpando,cc=bI.event.special;for(;(b8=b6[ca])!=null;ca++){if(ce||bI.acceptData(b8)){b7=b8[cf];b9=b7&&e[b7];if(b9){if(b9.events){for(cd in b9.events){if(cc[cd]){bI.event.remove(b8,cd)}else{bI.removeEvent(b8,cd,b9.handle)}}}if(e[b7]){delete e[b7];if(cb){delete b8[cf]}else{if(typeof b8.removeAttribute!==aC){b8.removeAttribute(cf)}else{b8[cf]=null}}aP.push(b7)}}}}}});bI.fn.extend({text:function(e){return aB(this,function(i){return i===undefined?bI.text(this):this.empty().append((this[0]&&this[0].ownerDocument||n).createTextNode(i))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var i=a3(this,e);i.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var i=a3(this,e);i.insertBefore(e,i.firstChild)}})},before:function(){return this.domManip(arguments,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b9){var b8,b6=e?bI.filter(e,this):this,b7=0;for(;(b8=b6[b7])!=null;b7++){if(!b9&&b8.nodeType===1){bI.cleanData(l(b8))}if(b8.parentNode){if(b9&&bI.contains(b8.ownerDocument,b8)){bu(l(b8,"script"))}b8.parentNode.removeChild(b8)}}return this},empty:function(){var b6,e=0;for(;(b6=this[e])!=null;e++){if(b6.nodeType===1){bI.cleanData(l(b6,false))}while(b6.firstChild){b6.removeChild(b6.firstChild)}if(b6.options&&bI.nodeName(b6,"select")){b6.options.length=0}}return this},clone:function(i,e){i=i==null?false:i;e=e==null?i:e;return this.map(function(){return bI.clone(this,i,e)})},html:function(e){return aB(this,function(b9){var b8=this[0]||{},b7=0,b6=this.length;if(b9===undefined){return b8.nodeType===1?b8.innerHTML.replace(aD,""):undefined}if(typeof b9==="string"&&!an.test(b9)&&(D.htmlSerialize||!M.test(b9))&&(D.leadingWhitespace||!b5.test(b9))&&!W[(o.exec(b9)||["",""])[1].toLowerCase()]){b9=b9.replace(aH,"<$1></$2>");try{for(;b7<b6;b7++){b8=this[b7]||{};if(b8.nodeType===1){bI.cleanData(l(b8,false));b8.innerHTML=b9}}b8=0}catch(ca){}}if(b8){this.empty().append(b9)}},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];this.domManip(arguments,function(i){e=this.parentNode;bI.cleanData(l(this));if(e){e.replaceChild(i,this)}});return e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,true)},domManip:function(cd,ci){cd=az.apply([],cd);var cb,b7,e,b9,cg,cc,ca=0,b8=this.length,cf=this,ch=b8-1,ce=cd[0],b6=bI.isFunction(ce);if(b6||(b8>1&&typeof ce==="string"&&!D.checkClone&&bW.test(ce))){return this.each(function(cj){var i=cf.eq(cj);if(b6){cd[0]=ce.call(this,cj,i.html())}i.domManip(cd,ci)})}if(b8){cc=bI.buildFragment(cd,this[0].ownerDocument,false,this);cb=cc.firstChild;if(cc.childNodes.length===1){cc=cb}if(cb){b9=bI.map(l(cc,"script"),u);e=b9.length;for(;ca<b8;ca++){b7=cc;if(ca!==ch){b7=bI.clone(b7,true,true);if(e){bI.merge(b9,l(b7,"script"))}}ci.call(this[ca],b7,ca)}if(e){cg=b9[b9.length-1].ownerDocument;bI.map(b9,bf);for(ca=0;ca<e;ca++){b7=b9[ca];if(bB.test(b7.type||"")&&!bI._data(b7,"globalEval")&&bI.contains(cg,b7)){if(b7.src){if(bI._evalUrl){bI._evalUrl(b7.src)}}else{bI.globalEval((b7.text||b7.textContent||b7.innerHTML||"").replace(aO,""))}}}}cc=cb=null}}return this}});bI.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,i){bI.fn[e]=function(b6){var b7,b9=0,b8=[],cb=bI(b6),ca=cb.length-1;for(;b9<=ca;b9++){b7=b9===ca?this:this.clone(true);bI(cb[b9])[i](b7);x.apply(b8,b7.get())}return this.pushStack(b8)}});var aI,bl={};function a4(e,b8){var i,b6=bI(b8.createElement(e)).appendTo(b8.body),b7=a5.getDefaultComputedStyle&&(i=a5.getDefaultComputedStyle(b6[0]))?i.display:bI.css(b6[0],"display");b6.detach();return b7}function a0(b6){var i=n,e=bl[b6];if(!e){e=a4(b6,i);if(e==="none"||!e){aI=(aI||bI("<iframe frameborder='0' width='0' height='0'/>")).appendTo(i.documentElement);i=(aI[0].contentWindow||aI[0].contentDocument).document;i.write();i.close();e=a4(b6,i);aI.detach()}bl[b6]=e}return e}(function(){var e;D.shrinkWrapBlocks=function(){if(e!=null){return e}e=false;var b7,i,b6;i=n.getElementsByTagName("body")[0];if(!i||!i.style){return}b7=n.createElement("div");b6=n.createElement("div");b6.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px";i.appendChild(b6).appendChild(b7);if(typeof b7.style.zoom!==aC){b7.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1";b7.appendChild(n.createElement("div")).style.width="5px";e=b7.offsetWidth!==3}i.removeChild(b6);return e}})();var aZ=(/^margin/);var Y=new RegExp("^("+aE+")(?!px)[a-z%]+$","i");var bq,G,bo=/^(top|right|bottom|left)$/;if(a5.getComputedStyle){bq=function(e){if(e.ownerDocument.defaultView.opener){return e.ownerDocument.defaultView.getComputedStyle(e,null)}return a5.getComputedStyle(e,null)};G=function(cb,i,ca){var b8,b7,b9,e,b6=cb.style;ca=ca||bq(cb);e=ca?ca.getPropertyValue(i)||ca[i]:undefined;if(ca){if(e===""&&!bI.contains(cb.ownerDocument,cb)){e=bI.style(cb,i)}if(Y.test(e)&&aZ.test(i)){b8=b6.width;b7=b6.minWidth;b9=b6.maxWidth;b6.minWidth=b6.maxWidth=b6.width=e;e=ca.width;b6.width=b8;b6.minWidth=b7;b6.maxWidth=b9}}return e===undefined?e:e+""}}else{if(n.documentElement.currentStyle){bq=function(e){return e.currentStyle};G=function(ca,b7,b9){var cb,i,e,b6,b8=ca.style;b9=b9||bq(ca);b6=b9?b9[b7]:undefined;if(b6==null&&b8&&b8[b7]){b6=b8[b7]}if(Y.test(b6)&&!bo.test(b7)){cb=b8.left;i=ca.runtimeStyle;e=i&&i.left;if(e){i.left=ca.currentStyle.left}b8.left=b7==="fontSize"?"1em":b6;b6=b8.pixelLeft+"px";b8.left=cb;if(e){i.left=e}}return b6===undefined?b6:b6+""||"auto"}}}function a7(e,i){return{get:function(){var b6=e();if(b6==null){return}if(b6){delete this.get;return}return(this.get=i).apply(this,arguments)}}}(function(){var cb,b9,b7,ca,b6,b8,i;cb=n.createElement("div");cb.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";b7=cb.getElementsByTagName("a")[0];b9=b7&&b7.style;if(!b9){return}b9.cssText="float:left;opacity:.5";D.opacity=b9.opacity==="0.5";D.cssFloat=!!b9.cssFloat;cb.style.backgroundClip="content-box";cb.cloneNode(true).style.backgroundClip="";D.clearCloneStyle=cb.style.backgroundClip==="content-box";D.boxSizing=b9.boxSizing===""||b9.MozBoxSizing===""||b9.WebkitBoxSizing==="";bI.extend(D,{reliableHiddenOffsets:function(){if(b8==null){e()}return b8},boxSizingReliable:function(){if(b6==null){e()}return b6},pixelPosition:function(){if(ca==null){e()}return ca},reliableMarginRight:function(){if(i==null){e()}return i}});function e(){var cf,cc,cd,ce;cc=n.getElementsByTagName("body")[0];if(!cc||!cc.style){return}cf=n.createElement("div");cd=n.createElement("div");cd.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px";cc.appendChild(cd).appendChild(cf);cf.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute";ca=b6=false;i=true;if(a5.getComputedStyle){ca=(a5.getComputedStyle(cf,null)||{}).top!=="1%";b6=(a5.getComputedStyle(cf,null)||{width:"4px"}).width==="4px";ce=cf.appendChild(n.createElement("div"));ce.style.cssText=cf.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0";ce.style.marginRight=ce.style.width="0";cf.style.width="1px";i=!parseFloat((a5.getComputedStyle(ce,null)||{}).marginRight);cf.removeChild(ce)}cf.innerHTML="<table><tr><td></td><td>t</td></tr></table>";ce=cf.getElementsByTagName("td");ce[0].style.cssText="margin:0;border:0;padding:0;display:none";b8=ce[0].offsetHeight===0;if(b8){ce[0].style.display="";ce[1].style.display="none";b8=ce[0].offsetHeight===0}cc.removeChild(cd)}})();bI.swap=function(b9,b8,ca,b7){var b6,i,e={};for(i in b8){e[i]=b9.style[i];b9.style[i]=b8[i]}b6=ca.apply(b9,b7||[]);for(i in b8){b9.style[i]=e[i]}return b6};var bj=/alpha\([^)]*\)/i,aU=/opacity\s*=\s*([^)]*)/,H=/^(none|table(?!-c[ea]).+)/,bb=new RegExp("^("+aE+")(.*)$","i"),V=new RegExp("^([+-])=("+aE+")","i"),be={position:"absolute",visibility:"hidden",display:"block"},bD={letterSpacing:"0",fontWeight:"400"},aw=["Webkit","O","Moz","ms"];function c(b8,b6){if(b6 in b8){return b6}var b9=b6.charAt(0).toUpperCase()+b6.slice(1),e=b6,b7=aw.length;while(b7--){b6=aw[b7]+b9;if(b6 in b8){return b6}}return e}function s(ca,e){var cb,b8,b9,i=[],b6=0,b7=ca.length;for(;b6<b7;b6++){b8=ca[b6];if(!b8.style){continue}i[b6]=bI._data(b8,"olddisplay");cb=b8.style.display;if(e){if(!i[b6]&&cb==="none"){b8.style.display=""}if(b8.style.display===""&&S(b8)){i[b6]=bI._data(b8,"olddisplay",a0(b8.nodeName))}}else{b9=S(b8);if(cb&&cb!=="none"||!b9){bI._data(b8,"olddisplay",b9?cb:bI.css(b8,"display"))}}}for(b6=0;b6<b7;b6++){b8=ca[b6];if(!b8.style){continue}if(!e||b8.style.display==="none"||b8.style.display===""){b8.style.display=e?i[b6]||"":"none"}}return ca}function aN(e,b6,b7){var i=bb.exec(b6);return i?Math.max(0,i[1]-(b7||0))+(i[2]||"px"):b6}function ax(b9,b6,e,cb,b8){var b7=e===(cb?"border":"content")?4:b6==="width"?1:0,ca=0;for(;b7<4;b7+=2){if(e==="margin"){ca+=bI.css(b9,e+bT[b7],true,b8)}if(cb){if(e==="content"){ca-=bI.css(b9,"padding"+bT[b7],true,b8)}if(e!=="margin"){ca-=bI.css(b9,"border"+bT[b7]+"Width",true,b8)}}else{ca+=bI.css(b9,"padding"+bT[b7],true,b8);if(e!=="padding"){ca+=bI.css(b9,"border"+bT[b7]+"Width",true,b8)}}}return ca}function v(b8,i,e){var b7=true,b9=i==="width"?b8.offsetWidth:b8.offsetHeight,b6=bq(b8),ca=D.boxSizing&&bI.css(b8,"boxSizing",false,b6)==="border-box";if(b9<=0||b9==null){b9=G(b8,i,b6);if(b9<0||b9==null){b9=b8.style[i]}if(Y.test(b9)){return b9}b7=ca&&(D.boxSizingReliable()||b9===b8.style[i]);b9=parseFloat(b9)||0}return(b9+ax(b8,i,e||(ca?"border":"content"),b7,b6))+"px"}bI.extend({cssHooks:{opacity:{get:function(b6,i){if(i){var e=G(b6,"opacity");return e===""?"1":e}}}},cssNumber:{columnCount:true,fillOpacity:true,flexGrow:true,flexShrink:true,fontWeight:true,lineHeight:true,opacity:true,order:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":D.cssFloat?"cssFloat":"styleFloat"},style:function(b7,b6,cd,b8){if(!b7||b7.nodeType===3||b7.nodeType===8||!b7.style){return}var cb,cc,ce,b9=bI.camelCase(b6),i=b7.style;b6=bI.cssProps[b9]||(bI.cssProps[b9]=c(i,b9));ce=bI.cssHooks[b6]||bI.cssHooks[b9];if(cd!==undefined){cc=typeof cd;if(cc==="string"&&(cb=V.exec(cd))){cd=(cb[1]+1)*cb[2]+parseFloat(bI.css(b7,b6));cc="number"}if(cd==null||cd!==cd){return}if(cc==="number"&&!bI.cssNumber[b9]){cd+="px"}if(!D.clearCloneStyle&&cd===""&&b6.indexOf("background")===0){i[b6]="inherit"}if(!ce||!("set" in ce)||(cd=ce.set(b7,cd,b8))!==undefined){try{i[b6]=cd}catch(ca){}}}else{if(ce&&"get" in ce&&(cb=ce.get(b7,false,b8))!==undefined){return cb}return i[b6]}},css:function(ca,b8,i,b9){var b7,cb,e,b6=bI.camelCase(b8);b8=bI.cssProps[b6]||(bI.cssProps[b6]=c(ca.style,b6));e=bI.cssHooks[b8]||bI.cssHooks[b6];if(e&&"get" in e){cb=e.get(ca,true,i)}if(cb===undefined){cb=G(ca,b8,b9)}if(cb==="normal"&&b8 in bD){cb=bD[b8]}if(i===""||i){b7=parseFloat(cb);return i===true||bI.isNumeric(b7)?b7||0:cb}return cb}});bI.each(["height","width"],function(b6,e){bI.cssHooks[e]={get:function(b8,b7,i){if(b7){return H.test(bI.css(b8,"display"))&&b8.offsetWidth===0?bI.swap(b8,be,function(){return v(b8,e,i)}):v(b8,e,i)}},set:function(b8,b9,i){var b7=i&&bq(b8);return aN(b8,b9,i?ax(b8,e,i,D.boxSizing&&bI.css(b8,"boxSizing",false,b7)==="border-box",b7):0)}}});if(!D.opacity){bI.cssHooks.opacity={get:function(i,e){return aU.test((e&&i.currentStyle?i.currentStyle.filter:i.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":e?"1":""},set:function(b8,b9){var b7=b8.style,i=b8.currentStyle,e=bI.isNumeric(b9)?"alpha(opacity="+b9*100+")":"",b6=i&&i.filter||b7.filter||"";b7.zoom=1;if((b9>=1||b9==="")&&bI.trim(b6.replace(bj,""))===""&&b7.removeAttribute){b7.removeAttribute("filter");if(b9===""||i&&!i.filter){return}}b7.filter=bj.test(b6)?b6.replace(bj,e):b6+" "+e}}}bI.cssHooks.marginRight=a7(D.reliableMarginRight,function(i,e){if(e){return bI.swap(i,{display:"inline-block"},G,[i,"marginRight"])}});bI.each({margin:"",padding:"",border:"Width"},function(e,i){bI.cssHooks[e+i]={expand:function(b8){var b7=0,b6={},b9=typeof b8==="string"?b8.split(" "):[b8];for(;b7<4;b7++){b6[e+bT[b7]+i]=b9[b7]||b9[b7-2]||b9[0]}return b6}};if(!aZ.test(e)){bI.cssHooks[e+i].set=aN}});bI.fn.extend({css:function(e,i){return aB(this,function(ca,b7,cb){var b9,b6,cc={},b8=0;if(bI.isArray(b7)){b9=bq(ca);b6=b7.length;for(;b8<b6;b8++){cc[b7[b8]]=bI.css(ca,b7[b8],false,b9)}return cc}return cb!==undefined?bI.style(ca,b7,cb):bI.css(ca,b7)},e,i,arguments.length>1)},show:function(){return s(this,true)},hide:function(){return s(this)},toggle:function(e){if(typeof e==="boolean"){return e?this.show():this.hide()}return this.each(function(){if(S(this)){bI(this).show()}else{bI(this).hide()}})}});function J(b6,i,b8,e,b7){return new J.prototype.init(b6,i,b8,e,b7)}bI.Tween=J;J.prototype={constructor:J,init:function(b7,i,b9,e,b8,b6){this.elem=b7;this.prop=b9;this.easing=b8||"swing";this.options=i;this.start=this.now=this.cur();this.end=e;this.unit=b6||(bI.cssNumber[b9]?"":"px")},cur:function(){var e=J.propHooks[this.prop];return e&&e.get?e.get(this):J.propHooks._default.get(this)},run:function(b6){var i,e=J.propHooks[this.prop];if(this.options.duration){this.pos=i=bI.easing[this.easing](b6,this.options.duration*b6,0,1,this.options.duration)}else{this.pos=i=b6}this.now=(this.end-this.start)*i+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(e&&e.set){e.set(this)}else{J.propHooks._default.set(this)}return this}};J.prototype.init.prototype=J.prototype;J.propHooks={_default:{get:function(i){var e;if(i.elem[i.prop]!=null&&(!i.elem.style||i.elem.style[i.prop]==null)){return i.elem[i.prop]}e=bI.css(i.elem,i.prop,"");return !e||e==="auto"?0:e},set:function(e){if(bI.fx.step[e.prop]){bI.fx.step[e.prop](e)}else{if(e.elem.style&&(e.elem.style[bI.cssProps[e.prop]]!=null||bI.cssHooks[e.prop])){bI.style(e.elem,e.prop,e.now+e.unit)}else{e.elem[e.prop]=e.now}}}}};J.propHooks.scrollTop=J.propHooks.scrollLeft={set:function(e){if(e.elem.nodeType&&e.elem.parentNode){e.elem[e.prop]=e.now}}};bI.easing={linear:function(e){return e},swing:function(e){return 0.5-Math.cos(e*Math.PI)/2}};bI.fx=J.prototype.init;bI.fx.step={};var N,ae,bR=/^(?:toggle|show|hide)$/,bJ=new RegExp("^(?:([+-])=|)("+aE+")([a-z%]*)$","i"),bP=/queueHooks$/,aG=[h],a2={"*":[function(e,ca){var cc=this.createTween(e,ca),b8=cc.cur(),b7=bJ.exec(ca),cb=b7&&b7[3]||(bI.cssNumber[e]?"":"px"),i=(bI.cssNumber[e]||cb!=="px"&&+b8)&&bJ.exec(bI.css(cc.elem,e)),b6=1,b9=20;if(i&&i[3]!==cb){cb=cb||i[3];b7=b7||[];i=+b8||1;do{b6=b6||".5";i=i/b6;bI.style(cc.elem,e,i+cb)}while(b6!==(b6=cc.cur()/b8)&&b6!==1&&--b9)}if(b7){i=cc.start=+i||+b8||0;cc.unit=cb;cc.end=b7[1]?i+(b7[1]+1)*b7[2]:+b7[2]}return cc}]};function bn(){setTimeout(function(){N=undefined});return(N=bI.now())}function bH(b7,b9){var b8,e={height:b7},b6=0;b9=b9?1:0;for(;b6<4;b6+=2-b9){b8=bT[b6];e["margin"+b8]=e["padding"+b8]=b7}if(b9){e.opacity=e.width=b7}return e}function bd(b8,ca,b7){var i,b9=(a2[ca]||[]).concat(a2["*"]),e=0,b6=b9.length;for(;e<b6;e++){if((i=b9[e].call(b7,ca,b8))){return i}}}function h(b7,cc,e){var b6,cf,b9,ci,cj,cg,cb,ce,b8=this,cd={},i=b7.style,ca=b7.nodeType&&S(b7),ch=bI._data(b7,"fxshow");if(!e.queue){cj=bI._queueHooks(b7,"fx");if(cj.unqueued==null){cj.unqueued=0;cg=cj.empty.fire;cj.empty.fire=function(){if(!cj.unqueued){cg()}}}cj.unqueued++;b8.always(function(){b8.always(function(){cj.unqueued--;if(!bI.queue(b7,"fx").length){cj.empty.fire()}})})}if(b7.nodeType===1&&("height" in cc||"width" in cc)){e.overflow=[i.overflow,i.overflowX,i.overflowY];cb=bI.css(b7,"display");ce=cb==="none"?bI._data(b7,"olddisplay")||a0(b7.nodeName):cb;if(ce==="inline"&&bI.css(b7,"float")==="none"){if(!D.inlineBlockNeedsLayout||a0(b7.nodeName)==="inline"){i.display="inline-block"}else{i.zoom=1}}}if(e.overflow){i.overflow="hidden";if(!D.shrinkWrapBlocks()){b8.always(function(){i.overflow=e.overflow[0];i.overflowX=e.overflow[1];i.overflowY=e.overflow[2]})}}for(b6 in cc){cf=cc[b6];if(bR.exec(cf)){delete cc[b6];b9=b9||cf==="toggle";if(cf===(ca?"hide":"show")){if(cf==="show"&&ch&&ch[b6]!==undefined){ca=true}else{continue}}cd[b6]=ch&&ch[b6]||bI.style(b7,b6)}else{cb=undefined}}if(!bI.isEmptyObject(cd)){if(ch){if("hidden" in ch){ca=ch.hidden}}else{ch=bI._data(b7,"fxshow",{})}if(b9){ch.hidden=!ca}if(ca){bI(b7).show()}else{b8.done(function(){bI(b7).hide()})}b8.done(function(){var ck;bI._removeData(b7,"fxshow");for(ck in cd){bI.style(b7,ck,cd[ck])}});for(b6 in cd){ci=bd(ca?ch[b6]:0,b6,b8);if(!(b6 in ch)){ch[b6]=ci.start;if(ca){ci.end=ci.start;ci.start=b6==="width"||b6==="height"?1:0}}}}else{if((cb==="none"?a0(b7.nodeName):cb)==="inline"){i.display=cb}}}function ao(b7,b9){var b6,i,ca,b8,e;for(b6 in b7){i=bI.camelCase(b6);ca=b9[i];b8=b7[b6];if(bI.isArray(b8)){ca=b8[1];b8=b7[b6]=b8[0]}if(b6!==i){b7[i]=b8;delete b7[b6]}e=bI.cssHooks[i];if(e&&"expand" in e){b8=e.expand(b8);delete b7[i];for(b6 in b8){if(!(b6 in b7)){b7[b6]=b8[b6];b9[b6]=ca}}}else{b9[i]=ca}}}function f(b6,ca,cd){var ce,e,b9=0,i=aG.length,cc=bI.Deferred().always(function(){delete b8.elem}),b8=function(){if(e){return false}var ck=N||bn(),ch=Math.max(0,b7.startTime+b7.duration-ck),cf=ch/b7.duration||0,cj=1-cf,cg=0,ci=b7.tweens.length;for(;cg<ci;cg++){b7.tweens[cg].run(cj)}cc.notifyWith(b6,[b7,cj,ch]);if(cj<1&&ci){return ch}else{cc.resolveWith(b6,[b7]);return false}},b7=cc.promise({elem:b6,props:bI.extend({},ca),opts:bI.extend(true,{specialEasing:{}},cd),originalProperties:ca,originalOptions:cd,startTime:N||bn(),duration:cd.duration,tweens:[],createTween:function(ch,cf){var cg=bI.Tween(b6,b7.opts,ch,cf,b7.opts.specialEasing[ch]||b7.opts.easing);b7.tweens.push(cg);return cg},stop:function(cg){var cf=0,ch=cg?b7.tweens.length:0;if(e){return this}e=true;for(;cf<ch;cf++){b7.tweens[cf].run(1)}if(cg){cc.resolveWith(b6,[b7,cg])}else{cc.rejectWith(b6,[b7,cg])}return this}}),cb=b7.props;ao(cb,b7.opts.specialEasing);for(;b9<i;b9++){ce=aG[b9].call(b7,b6,cb,b7.opts);if(ce){return ce}}bI.map(cb,bd,b7);if(bI.isFunction(b7.opts.start)){b7.opts.start.call(b6,b7)}bI.fx.timer(bI.extend(b8,{elem:b6,anim:b7,queue:b7.opts.queue}));return b7.progress(b7.opts.progress).done(b7.opts.done,b7.opts.complete).fail(b7.opts.fail).always(b7.opts.always)}bI.Animation=bI.extend(f,{tweener:function(i,b8){if(bI.isFunction(i)){b8=i;i=["*"]}else{i=i.split(" ")}var b7,e=0,b6=i.length;for(;e<b6;e++){b7=i[e];a2[b7]=a2[b7]||[];a2[b7].unshift(b8)}},prefilter:function(i,e){if(e){aG.unshift(i)}else{aG.push(i)}}});bI.speed=function(b6,b7,i){var e=b6&&typeof b6==="object"?bI.extend({},b6):{complete:i||!i&&b7||bI.isFunction(b6)&&b6,duration:b6,easing:i&&b7||b7&&!bI.isFunction(b7)&&b7};e.duration=bI.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in bI.fx.speeds?bI.fx.speeds[e.duration]:bI.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(){if(bI.isFunction(e.old)){e.old.call(this)}if(e.queue){bI.dequeue(this,e.queue)}};return e};bI.fn.extend({fadeTo:function(e,b7,b6,i){return this.filter(S).css("opacity",0).show().end().animate({opacity:b7},e,b6,i)},animate:function(ca,b7,b9,b8){var b6=bI.isEmptyObject(ca),e=bI.speed(b7,b9,b8),i=function(){var cb=f(this,bI.extend({},ca),e);if(b6||bI._data(this,"finish")){cb.stop(true)}};i.finish=i;return b6||e.queue===false?this.each(i):this.queue(e.queue,i)},stop:function(b6,i,e){var b7=function(b8){var b9=b8.stop;delete b8.stop;b9(e)};if(typeof b6!=="string"){e=i;i=b6;b6=undefined}if(i&&b6!==false){this.queue(b6||"fx",[])}return this.each(function(){var cb=true,b8=b6!=null&&b6+"queueHooks",ca=bI.timers,b9=bI._data(this);if(b8){if(b9[b8]&&b9[b8].stop){b7(b9[b8])}}else{for(b8 in b9){if(b9[b8]&&b9[b8].stop&&bP.test(b8)){b7(b9[b8])}}}for(b8=ca.length;b8--;){if(ca[b8].elem===this&&(b6==null||ca[b8].queue===b6)){ca[b8].anim.stop(e);cb=false;ca.splice(b8,1)}}if(cb||!e){bI.dequeue(this,b6)}})},finish:function(e){if(e!==false){e=e||"fx"}return this.each(function(){var b7,ca=bI._data(this),b6=ca[e+"queue"],i=ca[e+"queueHooks"],b9=bI.timers,b8=b6?b6.length:0;ca.finish=true;bI.queue(this,e,[]);if(i&&i.stop){i.stop.call(this,true)}for(b7=b9.length;b7--;){if(b9[b7].elem===this&&b9[b7].queue===e){b9[b7].anim.stop(true);b9.splice(b7,1)}}for(b7=0;b7<b8;b7++){if(b6[b7]&&b6[b7].finish){b6[b7].finish.call(this)}}delete ca.finish})}});bI.each(["toggle","show","hide"],function(b6,e){var b7=bI.fn[e];bI.fn[e]=function(i,b9,b8){return i==null||typeof i==="boolean"?b7.apply(this,arguments):this.animate(bH(e,true),i,b9,b8)}});bI.each({slideDown:bH("show"),slideUp:bH("hide"),slideToggle:bH("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,i){bI.fn[e]=function(b6,b8,b7){return this.animate(i,b6,b8,b7)}});bI.timers=[];bI.fx.tick=function(){var b7,b6=bI.timers,e=0;N=bI.now();for(;e<b6.length;e++){b7=b6[e];if(!b7()&&b6[e]===b7){b6.splice(e--,1)}}if(!b6.length){bI.fx.stop()}N=undefined};bI.fx.timer=function(e){bI.timers.push(e);if(e()){bI.fx.start()}else{bI.timers.pop()}};bI.fx.interval=13;bI.fx.start=function(){if(!ae){ae=setInterval(bI.fx.tick,bI.fx.interval)}};bI.fx.stop=function(){clearInterval(ae);ae=null};bI.fx.speeds={slow:600,fast:200,_default:400};bI.fn.delay=function(i,e){i=bI.fx?bI.fx.speeds[i]||i:i;e=e||"fx";return this.queue(e,function(b7,b6){var b8=setTimeout(b7,i);b6.stop=function(){clearTimeout(b8)}})};(function(){var b6,b8,e,i,b7;b8=n.createElement("div");b8.setAttribute("className","t");b8.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";i=b8.getElementsByTagName("a")[0];e=n.createElement("select");b7=e.appendChild(n.createElement("option"));b6=b8.getElementsByTagName("input")[0];i.style.cssText="top:1px";D.getSetAttribute=b8.className!=="t";D.style=/top/.test(i.getAttribute("style"));D.hrefNormalized=i.getAttribute("href")==="/a";D.checkOn=!!b6.value;D.optSelected=b7.selected;D.enctype=!!n.createElement("form").enctype;e.disabled=true;D.optDisabled=!b7.disabled;b6=n.createElement("input");b6.setAttribute("value","");D.input=b6.getAttribute("value")==="";b6.value="t";b6.setAttribute("type","radio");D.radioValue=b6.value==="t"})();var al=/\r/g;bI.fn.extend({val:function(b7){var e,i,b8,b6=this[0];if(!arguments.length){if(b6){e=bI.valHooks[b6.type]||bI.valHooks[b6.nodeName.toLowerCase()];if(e&&"get" in e&&(i=e.get(b6,"value"))!==undefined){return i}i=b6.value;return typeof i==="string"?i.replace(al,""):i==null?"":i}return}b8=bI.isFunction(b7);return this.each(function(b9){var ca;if(this.nodeType!==1){return}if(b8){ca=b7.call(this,b9,bI(this).val())}else{ca=b7}if(ca==null){ca=""}else{if(typeof ca==="number"){ca+=""}else{if(bI.isArray(ca)){ca=bI.map(ca,function(cb){return cb==null?"":cb+""})}}}e=bI.valHooks[this.type]||bI.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,ca,"value")===undefined){this.value=ca}})}});bI.extend({valHooks:{option:{get:function(e){var i=bI.find.attr(e,"value");return i!=null?i:bI.trim(bI.text(e))}},select:{get:function(e){var cb,b7,cd=e.options,b9=e.selectedIndex,b8=e.type==="select-one"||b9<0,cc=b8?null:[],ca=b8?b9+1:cd.length,b6=b9<0?ca:b8?b9:0;for(;b6<ca;b6++){b7=cd[b6];if((b7.selected||b6===b9)&&(D.optDisabled?!b7.disabled:b7.getAttribute("disabled")===null)&&(!b7.parentNode.disabled||!bI.nodeName(b7.parentNode,"optgroup"))){cb=bI(b7).val();if(b8){return cb}cc.push(cb)}}return cc},set:function(ca,cb){var cc,b9,b7=ca.options,e=bI.makeArray(cb),b8=b7.length;while(b8--){b9=b7[b8];if(bI.inArray(bI.valHooks.option.get(b9),e)>=0){try{b9.selected=cc=true}catch(b6){b9.scrollHeight}}else{b9.selected=false}}if(!cc){ca.selectedIndex=-1}return b7}}}});bI.each(["radio","checkbox"],function(){bI.valHooks[this]={set:function(e,i){if(bI.isArray(i)){return(e.checked=bI.inArray(bI(e).val(),i)>=0)}}};if(!D.checkOn){bI.valHooks[this].get=function(e){return e.getAttribute("value")===null?"on":e.value}}});var ba,b3,bO=bI.expr.attrHandle,aq=/^(?:checked|selected)$/i,bN=D.getSetAttribute,bF=D.input;bI.fn.extend({attr:function(e,i){return aB(this,bI.attr,e,i,arguments.length>1)},removeAttr:function(e){return this.each(function(){bI.removeAttr(this,e)})}});bI.extend({attr:function(b8,b7,b9){var e,b6,i=b8.nodeType;if(!b8||i===3||i===8||i===2){return}if(typeof b8.getAttribute===aC){return bI.prop(b8,b7,b9)}if(i!==1||!bI.isXMLDoc(b8)){b7=b7.toLowerCase();e=bI.attrHooks[b7]||(bI.expr.match.bool.test(b7)?b3:ba)}if(b9!==undefined){if(b9===null){bI.removeAttr(b8,b7)}else{if(e&&"set" in e&&(b6=e.set(b8,b9,b7))!==undefined){return b6}else{b8.setAttribute(b7,b9+"");return b9}}}else{if(e&&"get" in e&&(b6=e.get(b8,b7))!==null){return b6}else{b6=bI.find.attr(b8,b7);return b6==null?undefined:b6}}},removeAttr:function(b7,b9){var e,b8,b6=0,ca=b9&&b9.match(aF);if(ca&&b7.nodeType===1){while((e=ca[b6++])){b8=bI.propFix[e]||e;if(bI.expr.match.bool.test(e)){if(bF&&bN||!aq.test(e)){b7[b8]=false}else{b7[bI.camelCase("default-"+e)]=b7[b8]=false}}else{bI.attr(b7,e,"")}b7.removeAttribute(bN?e:b8)}}},attrHooks:{type:{set:function(e,i){if(!D.radioValue&&i==="radio"&&bI.nodeName(e,"input")){var b6=e.value;e.setAttribute("type",i);if(b6){e.value=b6}return i}}}}});b3={set:function(i,b6,e){if(b6===false){bI.removeAttr(i,e)}else{if(bF&&bN||!aq.test(e)){i.setAttribute(!bN&&bI.propFix[e]||e,e)}else{i[bI.camelCase("default-"+e)]=i[e]=true}}return e}};bI.each(bI.expr.match.bool.source.match(/\w+/g),function(b7,b6){var e=bO[b6]||bI.find.attr;bO[b6]=bF&&bN||!aq.test(b6)?function(b9,b8,cb){var i,ca;if(!cb){ca=bO[b8];bO[b8]=i;i=e(b9,b8,cb)!=null?b8.toLowerCase():null;bO[b8]=ca}return i}:function(b8,i,b9){if(!b9){return b8[bI.camelCase("default-"+i)]?i.toLowerCase():null}}});if(!bF||!bN){bI.attrHooks.value={set:function(i,b6,e){if(bI.nodeName(i,"input")){i.defaultValue=b6}else{return ba&&ba.set(i,b6,e)}}}}if(!bN){ba={set:function(b6,b7,i){var e=b6.getAttributeNode(i);if(!e){b6.setAttributeNode((e=b6.ownerDocument.createAttribute(i)))}e.value=b7+="";if(i==="value"||b7===b6.getAttribute(i)){return b7}}};bO.id=bO.name=bO.coords=function(b6,i,b7){var e;if(!b7){return(e=b6.getAttributeNode(i))&&e.value!==""?e.value:null}};bI.valHooks.button={get:function(b6,i){var e=b6.getAttributeNode(i);if(e&&e.specified){return e.value}},set:ba.set};bI.attrHooks.contenteditable={set:function(i,b6,e){ba.set(i,b6===""?false:b6,e)}};bI.each(["width","height"],function(b6,e){bI.attrHooks[e]={set:function(i,b7){if(b7===""){i.setAttribute(e,"auto");return b7}}}})}if(!D.style){bI.attrHooks.style={get:function(e){return e.style.cssText||undefined},set:function(e,i){return(e.style.cssText=i+"")}}}var aJ=/^(?:input|select|textarea|button|object)$/i,F=/^(?:a|area)$/i;bI.fn.extend({prop:function(e,i){return aB(this,bI.prop,e,i,arguments.length>1)},removeProp:function(e){e=bI.propFix[e]||e;return this.each(function(){try{this[e]=undefined;delete this[e]}catch(i){}})}});bI.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(b9,b7,ca){var b6,e,b8,i=b9.nodeType;if(!b9||i===3||i===8||i===2){return}b8=i!==1||!bI.isXMLDoc(b9);if(b8){b7=bI.propFix[b7]||b7;e=bI.propHooks[b7]}if(ca!==undefined){return e&&"set" in e&&(b6=e.set(b9,ca,b7))!==undefined?b6:(b9[b7]=ca)}else{return e&&"get" in e&&(b6=e.get(b9,b7))!==null?b6:b9[b7]}},propHooks:{tabIndex:{get:function(i){var e=bI.find.attr(i,"tabindex");return e?parseInt(e,10):aJ.test(i.nodeName)||F.test(i.nodeName)&&i.href?0:-1}}}});if(!D.hrefNormalized){bI.each(["href","src"],function(b6,e){bI.propHooks[e]={get:function(i){return i.getAttribute(e,4)}}})}if(!D.optSelected){bI.propHooks.selected={get:function(i){var e=i.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}}}bI.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){bI.propFix[this.toLowerCase()]=this});if(!D.enctype){bI.propFix.enctype="encoding"}var bL=/[\t\r\n\f]/g;bI.fn.extend({addClass:function(cd){var b7,b6,ce,cb,b8,e,b9=0,ca=this.length,cc=typeof cd==="string"&&cd;if(bI.isFunction(cd)){return this.each(function(i){bI(this).addClass(cd.call(this,i,this.className))})}if(cc){b7=(cd||"").match(aF)||[];for(;b9<ca;b9++){b6=this[b9];ce=b6.nodeType===1&&(b6.className?(" "+b6.className+" ").replace(bL," "):" ");if(ce){b8=0;while((cb=b7[b8++])){if(ce.indexOf(" "+cb+" ")<0){ce+=cb+" "}}e=bI.trim(ce);if(b6.className!==e){b6.className=e}}}}return this},removeClass:function(cd){var b7,b6,ce,cb,b8,e,b9=0,ca=this.length,cc=arguments.length===0||typeof cd==="string"&&cd;if(bI.isFunction(cd)){return this.each(function(i){bI(this).removeClass(cd.call(this,i,this.className))})}if(cc){b7=(cd||"").match(aF)||[];for(;b9<ca;b9++){b6=this[b9];ce=b6.nodeType===1&&(b6.className?(" "+b6.className+" ").replace(bL," "):"");if(ce){b8=0;while((cb=b7[b8++])){while(ce.indexOf(" "+cb+" ")>=0){ce=ce.replace(" "+cb+" "," ")}}e=cd?bI.trim(ce):"";if(b6.className!==e){b6.className=e}}}}return this},toggleClass:function(b6,e){var i=typeof b6;if(typeof e==="boolean"&&i==="string"){return e?this.addClass(b6):this.removeClass(b6)}if(bI.isFunction(b6)){return this.each(function(b7){bI(this).toggleClass(b6.call(this,b7,this.className,e),e)})}return this.each(function(){if(i==="string"){var b9,b8=0,b7=bI(this),ca=b6.match(aF)||[];while((b9=ca[b8++])){if(b7.hasClass(b9)){b7.removeClass(b9)}else{b7.addClass(b9)}}}else{if(i===aC||i==="boolean"){if(this.className){bI._data(this,"__className__",this.className)}this.className=this.className||b6===false?"":bI._data(this,"__className__")||""}}})},hasClass:function(e){var b8=" "+e+" ",b7=0,b6=this.length;for(;b7<b6;b7++){if(this[b7].nodeType===1&&(" "+this[b7].className+" ").replace(bL," ").indexOf(b8)>=0){return true}}return false}});bI.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(b6,e){bI.fn[e]=function(b7,i){return arguments.length>0?this.on(e,null,b7,i):this.trigger(e)}});bI.fn.extend({hover:function(e,i){return this.mouseenter(e).mouseleave(i||e)},bind:function(e,b6,i){return this.on(e,null,b6,i)},unbind:function(e,i){return this.off(e,null,i)},delegate:function(e,i,b7,b6){return this.on(i,e,b7,b6)},undelegate:function(e,i,b6){return arguments.length===1?this.off(e,"**"):this.off(i,e||"**",b6)}});var bp=bI.now();var bQ=(/\?/);var a1=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;bI.parseJSON=function(e){if(a5.JSON&&a5.JSON.parse){return a5.JSON.parse(e+"")}var b7,b6=null,i=bI.trim(e+"");return i&&!bI.trim(i.replace(a1,function(ca,b8,b9,cb){if(b7&&b8){b6=0}if(b6===0){return ca}b7=b9||b8;b6+=!cb-!b9;return""}))?(Function("return "+i))():bI.error("Invalid JSON: "+e)};bI.parseXML=function(b7){var i,b6;if(!b7||typeof b7!=="string"){return null}try{if(a5.DOMParser){b6=new DOMParser();i=b6.parseFromString(b7,"text/xml")}else{i=new ActiveXObject("Microsoft.XMLDOM");i.async="false";i.loadXML(b7)}}catch(b8){i=undefined}if(!i||!i.documentElement||i.getElementsByTagName("parsererror").length){bI.error("Invalid XML: "+b7)}return i};var b4,aa,ap=/#.*$/,R=/([?&])_=[^&]*/,ah=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,r=/^(?:GET|HEAD)$/,aK=/^\/\//,aV=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,w={},a9={},aX="*/".concat("*");try{aa=location.href}catch(bi){aa=n.createElement("a");aa.href="";aa=aa.href}b4=aV.exec(aa.toLowerCase())||[];function bK(e){return function(b9,ca){if(typeof b9!=="string"){ca=b9;b9="*"}var b6,b7=0,b8=b9.toLowerCase().match(aF)||[];if(bI.isFunction(ca)){while((b6=b8[b7++])){if(b6.charAt(0)==="+"){b6=b6.slice(1)||"*";(e[b6]=e[b6]||[]).unshift(ca)}else{(e[b6]=e[b6]||[]).push(ca)}}}}}function p(e,b6,ca,b7){var i={},b8=(e===a9);function b9(cb){var cc;i[cb]=true;bI.each(e[cb]||[],function(ce,cd){var cf=cd(b6,ca,b7);if(typeof cf==="string"&&!b8&&!i[cf]){b6.dataTypes.unshift(cf);b9(cf);return false}else{if(b8){return !(cc=cf)}}});return cc}return b9(b6.dataTypes[0])||!i["*"]&&b9("*")}function t(b6,b7){var e,i,b8=bI.ajaxSettings.flatOptions||{};for(i in b7){if(b7[i]!==undefined){(b8[i]?b6:(e||(e={})))[i]=b7[i]}}if(e){bI.extend(true,b6,e)}return b6}function g(cc,cb,b8){var e,b7,b6,b9,i=cc.contents,ca=cc.dataTypes;while(ca[0]==="*"){ca.shift();if(b7===undefined){b7=cc.mimeType||cb.getResponseHeader("Content-Type")}}if(b7){for(b9 in i){if(i[b9]&&i[b9].test(b7)){ca.unshift(b9);break}}}if(ca[0] in b8){b6=ca[0]}else{for(b9 in b8){if(!ca[0]||cc.converters[b9+" "+ca[0]]){b6=b9;break}if(!e){e=b9}}b6=b6||e}if(b6){if(b6!==ca[0]){ca.unshift(b6)}return b8[b6]}}function ag(cg,b8,cd,b6){var i,cb,ce,b9,b7,cf={},cc=cg.dataTypes.slice();if(cc[1]){for(ce in cg.converters){cf[ce.toLowerCase()]=cg.converters[ce]}}cb=cc.shift();while(cb){if(cg.responseFields[cb]){cd[cg.responseFields[cb]]=b8}if(!b7&&b6&&cg.dataFilter){b8=cg.dataFilter(b8,cg.dataType)}b7=cb;cb=cc.shift();if(cb){if(cb==="*"){cb=b7}else{if(b7!=="*"&&b7!==cb){ce=cf[b7+" "+cb]||cf["* "+cb];if(!ce){for(i in cf){b9=i.split(" ");if(b9[1]===cb){ce=cf[b7+" "+b9[0]]||cf["* "+b9[0]];if(ce){if(ce===true){ce=cf[i]}else{if(cf[i]!==true){cb=b9[0];cc.unshift(b9[1])}}break}}}}if(ce!==true){if(ce&&cg["throws"]){b8=ce(b8)}else{try{b8=ce(b8)}catch(ca){return{state:"parsererror",error:ce?ca:"No conversion from "+b7+" to "+cb}}}}}}}}return{state:"success",data:b8}}bI.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:aa,type:"GET",isLocal:C.test(b4[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aX,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":true,"text json":bI.parseJSON,"text xml":bI.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(i,e){return e?t(t(i,bI.ajaxSettings),e):t(bI.ajaxSettings,i)},ajaxPrefilter:bK(w),ajaxTransport:bK(a9),ajax:function(ca,b7){if(typeof ca==="object"){b7=ca;ca=undefined}b7=b7||{};var cj,cl,cb,cq,cf,b6,cm,b8,ce=bI.ajaxSetup({},b7),cs=ce.context||ce,ch=ce.context&&(cs.nodeType||cs.jquery)?bI(cs):bI.event,cr=bI.Deferred(),co=bI.Callbacks("once memory"),cc=ce.statusCode||{},ci={},cp={},b9=0,cd="canceled",ck={readyState:0,getResponseHeader:function(i){var e;if(b9===2){if(!b8){b8={};while((e=ah.exec(cq))){b8[e[1].toLowerCase()]=e[2]}}e=b8[i.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b9===2?cq:null},setRequestHeader:function(i,ct){var e=i.toLowerCase();if(!b9){i=cp[e]=cp[e]||i;ci[i]=ct}return this},overrideMimeType:function(e){if(!b9){ce.mimeType=e}return this},statusCode:function(i){var e;if(i){if(b9<2){for(e in i){cc[e]=[cc[e],i[e]]}}else{ck.always(i[ck.status])}}return this},abort:function(i){var e=i||cd;if(cm){cm.abort(e)}cg(0,e);return this}};cr.promise(ck).complete=co.add;ck.success=ck.done;ck.error=ck.fail;ce.url=((ca||ce.url||aa)+"").replace(ap,"").replace(aK,b4[1]+"//");ce.type=b7.method||b7.type||ce.method||ce.type;ce.dataTypes=bI.trim(ce.dataType||"*").toLowerCase().match(aF)||[""];if(ce.crossDomain==null){cj=aV.exec(ce.url.toLowerCase());ce.crossDomain=!!(cj&&(cj[1]!==b4[1]||cj[2]!==b4[2]||(cj[3]||(cj[1]==="http:"?"80":"443"))!==(b4[3]||(b4[1]==="http:"?"80":"443"))))}if(ce.data&&ce.processData&&typeof ce.data!=="string"){ce.data=bI.param(ce.data,ce.traditional)}p(w,ce,b7,ck);if(b9===2){return ck}b6=bI.event&&ce.global;if(b6&&bI.active++===0){bI.event.trigger("ajaxStart")}ce.type=ce.type.toUpperCase();ce.hasContent=!r.test(ce.type);cb=ce.url;if(!ce.hasContent){if(ce.data){cb=(ce.url+=(bQ.test(cb)?"&":"?")+ce.data);delete ce.data}if(ce.cache===false){ce.url=R.test(cb)?cb.replace(R,"$1_="+bp++):cb+(bQ.test(cb)?"&":"?")+"_="+bp++}}if(ce.ifModified){if(bI.lastModified[cb]){ck.setRequestHeader("If-Modified-Since",bI.lastModified[cb])}if(bI.etag[cb]){ck.setRequestHeader("If-None-Match",bI.etag[cb])}}if(ce.data&&ce.hasContent&&ce.contentType!==false||b7.contentType){ck.setRequestHeader("Content-Type",ce.contentType)}ck.setRequestHeader("Accept",ce.dataTypes[0]&&ce.accepts[ce.dataTypes[0]]?ce.accepts[ce.dataTypes[0]]+(ce.dataTypes[0]!=="*"?", "+aX+"; q=0.01":""):ce.accepts["*"]);for(cl in ce.headers){ck.setRequestHeader(cl,ce.headers[cl])}if(ce.beforeSend&&(ce.beforeSend.call(cs,ck,ce)===false||b9===2)){return ck.abort()}cd="abort";for(cl in {success:1,error:1,complete:1}){ck[cl](ce[cl])}cm=p(a9,ce,b7,ck);if(!cm){cg(-1,"No Transport")}else{ck.readyState=1;if(b6){ch.trigger("ajaxSend",[ck,ce])}if(ce.async&&ce.timeout>0){cf=setTimeout(function(){ck.abort("timeout")},ce.timeout)}try{b9=1;cm.send(ci,cg)}catch(cn){if(b9<2){cg(-1,cn)}else{throw cn}}}function cg(cw,i,cx,cu){var e,cA,cy,cv,cz,ct=i;if(b9===2){return}b9=2;if(cf){clearTimeout(cf)}cm=undefined;cq=cu||"";ck.readyState=cw>0?4:0;e=cw>=200&&cw<300||cw===304;if(cx){cv=g(ce,ck,cx)}cv=ag(ce,cv,ck,e);if(e){if(ce.ifModified){cz=ck.getResponseHeader("Last-Modified");if(cz){bI.lastModified[cb]=cz}cz=ck.getResponseHeader("etag");if(cz){bI.etag[cb]=cz}}if(cw===204||ce.type==="HEAD"){ct="nocontent"}else{if(cw===304){ct="notmodified"}else{ct=cv.state;cA=cv.data;cy=cv.error;e=!cy}}}else{cy=ct;if(cw||!ct){ct="error";if(cw<0){cw=0}}}ck.status=cw;ck.statusText=(i||ct)+"";if(e){cr.resolveWith(cs,[cA,ct,ck])}else{cr.rejectWith(cs,[ck,ct,cy])}ck.statusCode(cc);cc=undefined;if(b6){ch.trigger(e?"ajaxSuccess":"ajaxError",[ck,ce,e?cA:cy])}co.fireWith(cs,[ck,ct]);if(b6){ch.trigger("ajaxComplete",[ck,ce]);if(!(--bI.active)){bI.event.trigger("ajaxStop")}}}return ck},getJSON:function(e,i,b6){return bI.get(e,i,b6,"json")},getScript:function(e,i){return bI.get(e,undefined,i,"script")}});bI.each(["get","post"],function(e,b6){bI[b6]=function(i,b8,b9,b7){if(bI.isFunction(b8)){b7=b7||b9;b9=b8;b8=undefined}return bI.ajax({url:i,type:b6,dataType:b7,data:b8,success:b9})}});bI._evalUrl=function(e){return bI.ajax({url:e,type:"GET",dataType:"script",async:false,global:false,"throws":true})};bI.fn.extend({wrapAll:function(e){if(bI.isFunction(e)){return this.each(function(b6){bI(this).wrapAll(e.call(this,b6))})}if(this[0]){var i=bI(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){i.insertBefore(this[0])}i.map(function(){var b6=this;while(b6.firstChild&&b6.firstChild.nodeType===1){b6=b6.firstChild}return b6}).append(this)}return this},wrapInner:function(e){if(bI.isFunction(e)){return this.each(function(b6){bI(this).wrapInner(e.call(this,b6))})}return this.each(function(){var i=bI(this),b6=i.contents();if(b6.length){b6.wrapAll(e)}else{i.append(e)}})},wrap:function(e){var i=bI.isFunction(e);return this.each(function(b6){bI(this).wrapAll(i?e.call(this,b6):e)})},unwrap:function(){return this.parent().each(function(){if(!bI.nodeName(this,"body")){bI(this).replaceWith(this.childNodes)}}).end()}});bI.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!D.reliableHiddenOffsets()&&((e.style&&e.style.display)||bI.css(e,"display"))==="none")};bI.expr.filters.visible=function(e){return !bI.expr.filters.hidden(e)};var bw=/%20/g,aS=/\[\]$/,X=/\r?\n/g,b=/^(?:submit|button|image|reset|file)$/i,au=/^(?:input|select|textarea|keygen)/i;function j(b6,b8,i,b7){var e;if(bI.isArray(b8)){bI.each(b8,function(ca,b9){if(i||aS.test(b6)){b7(b6,b9)}else{j(b6+"["+(typeof b9==="object"?ca:"")+"]",b9,i,b7)}})}else{if(!i&&bI.type(b8)==="object"){for(e in b8){j(b6+"["+e+"]",b8[e],i,b7)}}else{b7(b6,b8)}}}bI.param=function(e,b6){var b7,i=[],b8=function(b9,ca){ca=bI.isFunction(ca)?ca():(ca==null?"":ca);i[i.length]=encodeURIComponent(b9)+"="+encodeURIComponent(ca)};if(b6===undefined){b6=bI.ajaxSettings&&bI.ajaxSettings.traditional}if(bI.isArray(e)||(e.jquery&&!bI.isPlainObject(e))){bI.each(e,function(){b8(this.name,this.value)})}else{for(b7 in e){j(b7,e[b7],b6,b8)}}return i.join("&").replace(bw,"+")};bI.fn.extend({serialize:function(){return bI.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bI.prop(this,"elements");return e?bI.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bI(this).is(":disabled")&&au.test(this.nodeName)&&!b.test(e)&&(this.checked||!aM.test(e))}).map(function(e,b6){var b7=bI(this).val();return b7==null?null:bI.isArray(b7)?bI.map(b7,function(i){return{name:b6.name,value:i.replace(X,"\r\n")}}):{name:b6.name,value:b7.replace(X,"\r\n")}}).get()}});bI.ajaxSettings.xhr=a5.ActiveXObject!==undefined?function(){return !this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&bE()||bg()}:bE;var aA=0,aj={},ay=bI.ajaxSettings.xhr();if(a5.attachEvent){a5.attachEvent("onunload",function(){for(var e in aj){aj[e](undefined,true)}})}D.cors=!!ay&&("withCredentials" in ay);ay=D.ajax=!!ay;if(ay){bI.ajaxTransport(function(e){if(!e.crossDomain||D.cors){var i;return{send:function(b9,b6){var b7,b8=e.xhr(),ca=++aA;b8.open(e.type,e.url,e.async,e.username,e.password);if(e.xhrFields){for(b7 in e.xhrFields){b8[b7]=e.xhrFields[b7]}}if(e.mimeType&&b8.overrideMimeType){b8.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!b9["X-Requested-With"]){b9["X-Requested-With"]="XMLHttpRequest"}for(b7 in b9){if(b9[b7]!==undefined){b8.setRequestHeader(b7,b9[b7]+"")}}b8.send((e.hasContent&&e.data)||null);i=function(cd,cc){var cb,cg,ce;if(i&&(cc||b8.readyState===4)){delete aj[ca];i=undefined;b8.onreadystatechange=bI.noop;if(cc){if(b8.readyState!==4){b8.abort()}}else{ce={};cb=b8.status;if(typeof b8.responseText==="string"){ce.text=b8.responseText}try{cg=b8.statusText}catch(cf){cg=""}if(!cb&&e.isLocal&&!e.crossDomain){cb=ce.text?200:404}else{if(cb===1223){cb=204}}}}if(ce){b6(cb,cg,ce,b8.getAllResponseHeaders())}};if(!e.async){i()}else{if(b8.readyState===4){setTimeout(i)}else{b8.onreadystatechange=aj[ca]=i}}},abort:function(){if(i){i(undefined,true)}}}}})}function bE(){try{return new a5.XMLHttpRequest()}catch(i){}}function bg(){try{return new a5.ActiveXObject("Microsoft.XMLHTTP")}catch(i){}}bI.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){bI.globalEval(e);return e}}});bI.ajaxPrefilter("script",function(e){if(e.cache===undefined){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});bI.ajaxTransport("script",function(b6){if(b6.crossDomain){var e,i=n.head||bI("head")[0]||n.documentElement;return{send:function(b7,b8){e=n.createElement("script");e.async=true;if(b6.scriptCharset){e.charset=b6.scriptCharset}e.src=b6.url;e.onload=e.onreadystatechange=function(ca,b9){if(b9||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b9){b8(200,"success")}}};i.insertBefore(e,i.firstChild)},abort:function(){if(e){e.onload(undefined,true)}}}}});var bs=[],a8=/(=)\?(?=&|$)|\?\?/;bI.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=bs.pop()||(bI.expando+"_"+(bp++));this[e]=true;return e}});bI.ajaxPrefilter("json jsonp",function(b7,e,b8){var ca,i,b6,b9=b7.jsonp!==false&&(a8.test(b7.url)?"url":typeof b7.data==="string"&&!(b7.contentType||"").indexOf("application/x-www-form-urlencoded")&&a8.test(b7.data)&&"data");if(b9||b7.dataTypes[0]==="jsonp"){ca=b7.jsonpCallback=bI.isFunction(b7.jsonpCallback)?b7.jsonpCallback():b7.jsonpCallback;if(b9){b7[b9]=b7[b9].replace(a8,"$1"+ca)}else{if(b7.jsonp!==false){b7.url+=(bQ.test(b7.url)?"&":"?")+b7.jsonp+"="+ca}}b7.converters["script json"]=function(){if(!b6){bI.error(ca+" was not called")}return b6[0]};b7.dataTypes[0]="json";i=a5[ca];a5[ca]=function(){b6=arguments};b8.always(function(){a5[ca]=i;if(b7[ca]){b7.jsonpCallback=e.jsonpCallback;bs.push(ca)}if(b6&&bI.isFunction(i)){i(b6[0])}b6=i=undefined});return"script"}});bI.parseHTML=function(b8,b6,b7){if(!b8||typeof b8!=="string"){return null}if(typeof b6==="boolean"){b7=b6;b6=false}b6=b6||n;var i=a.exec(b8),e=!b7&&[];if(i){return[b6.createElement(i[1])]}i=bI.buildFragment([b8],b6,e);if(e&&e.length){bI(e).remove()}return bI.merge([],i.childNodes)};var b1=bI.fn.load;bI.fn.load=function(b7,ca,cb){if(typeof b7!=="string"&&b1){return b1.apply(this,arguments)}var e,b6,b8,i=this,b9=b7.indexOf(" ");if(b9>=0){e=bI.trim(b7.slice(b9,b7.length));b7=b7.slice(0,b9)}if(bI.isFunction(ca)){cb=ca;ca=undefined}else{if(ca&&typeof ca==="object"){b8="POST"}}if(i.length>0){bI.ajax({url:b7,type:b8,dataType:"html",data:ca}).done(function(cc){b6=arguments;i.html(e?bI("<div>").append(bI.parseHTML(cc)).find(e):cc)}).complete(cb&&function(cd,cc){i.each(cb,b6||[cd.responseText,cc,cd])})}return this};bI.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,b6){bI.fn[b6]=function(i){return this.on(b6,i)}});bI.expr.filters.animated=function(e){return bI.grep(bI.timers,function(i){return e===i.elem}).length};var bX=a5.document.documentElement;function br(e){return bI.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bI.offset={setOffset:function(b7,ch,cb){var cd,ca,e,b8,b6,cf,cg,cc=bI.css(b7,"position"),b9=bI(b7),ce={};if(cc==="static"){b7.style.position="relative"}b6=b9.offset();e=bI.css(b7,"top");cf=bI.css(b7,"left");cg=(cc==="absolute"||cc==="fixed")&&bI.inArray("auto",[e,cf])>-1;if(cg){cd=b9.position();b8=cd.top;ca=cd.left}else{b8=parseFloat(e)||0;ca=parseFloat(cf)||0}if(bI.isFunction(ch)){ch=ch.call(b7,cb,b6)}if(ch.top!=null){ce.top=(ch.top-b6.top)+b8}if(ch.left!=null){ce.left=(ch.left-b6.left)+ca}if("using" in ch){ch.using.call(b7,ce)}else{b9.css(ce)}}};bI.fn.extend({offset:function(i){if(arguments.length){return i===undefined?this:this.each(function(ca){bI.offset.setOffset(this,i,ca)})}var e,b9,b7={top:0,left:0},b6=this[0],b8=b6&&b6.ownerDocument;if(!b8){return}e=b8.documentElement;if(!bI.contains(e,b6)){return b7}if(typeof b6.getBoundingClientRect!==aC){b7=b6.getBoundingClientRect()}b9=br(b8);return{top:b7.top+(b9.pageYOffset||e.scrollTop)-(e.clientTop||0),left:b7.left+(b9.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}},position:function(){if(!this[0]){return}var b6,b7,e={top:0,left:0},i=this[0];if(bI.css(i,"position")==="fixed"){b7=i.getBoundingClientRect()}else{b6=this.offsetParent();b7=this.offset();if(!bI.nodeName(b6[0],"html")){e=b6.offset()}e.top+=bI.css(b6[0],"borderTopWidth",true);e.left+=bI.css(b6[0],"borderLeftWidth",true)}return{top:b7.top-e.top-bI.css(i,"marginTop",true),left:b7.left-e.left-bI.css(i,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||bX;while(e&&(!bI.nodeName(e,"html")&&bI.css(e,"position")==="static")){e=e.offsetParent}return e||bX})}});bI.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b6,i){var e=/Y/.test(i);bI.fn[b6]=function(b7){return aB(this,function(b8,cb,ca){var b9=br(b8);if(ca===undefined){return b9?(i in b9)?b9[i]:b9.document.documentElement[cb]:b8[cb]}if(b9){b9.scrollTo(!e?ca:bI(b9).scrollLeft(),e?ca:bI(b9).scrollTop())}else{b8[cb]=ca}},b6,b7,arguments.length,null)}});bI.each(["top","left"],function(e,b6){bI.cssHooks[b6]=a7(D.pixelPosition,function(b7,i){if(i){i=G(b7,b6);return Y.test(i)?bI(b7).position()[b6]+"px":i}})});bI.each({Height:"height",Width:"width"},function(e,i){bI.each({padding:"inner"+e,content:i,"":"outer"+e},function(b6,b7){bI.fn[b7]=function(cb,ca){var b9=arguments.length&&(b6||typeof cb!=="boolean"),b8=b6||(cb===true||ca===true?"margin":"border");return aB(this,function(cd,cc,ce){var cf;if(bI.isWindow(cd)){return cd.document.documentElement["client"+e]}if(cd.nodeType===9){cf=cd.documentElement;return Math.max(cd.body["scroll"+e],cf["scroll"+e],cd.body["offset"+e],cf["offset"+e],cf["client"+e])}return ce===undefined?bI.css(cd,cc,b8):bI.style(cd,cc,ce,b8)},i,b9?cb:undefined,b9,null)}})});bI.fn.size=function(){return this.length};bI.fn.andSelf=bI.fn.addBack;if(typeof define==="function"&&define.amd){define("jquery",[],function(){return bI})}var bk=a5.jQuery,I=a5.$;bI.noConflict=function(e){if(a5.$===bI){a5.$=I}if(e&&a5.jQuery===bI){a5.jQuery=bk}return bI};if(typeof av===aC){a5.jQuery=a5.$=bI}return bI}));!function(a){a(function(){a.support.transition=(function(){var b=(function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in d){if(e.style[c]!==undefined){return d[c]}}}());return b&&{end:b}})()})}(window.jQuery);!function(d){var c='[data-dismiss="alert"]',b=function(e){d(e).on("click",c,this.close)};b.prototype.close=function(j){var i=d(this),g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}h=d(g);j&&j.preventDefault();h.length||(h=i.hasClass("alert")?i:i.parent());h.trigger(j=d.Event("close"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.trigger("closed").remove()}d.support.transition&&h.hasClass("fade")?h.on(d.support.transition.end,f):f()};var a=d.fn.alert;d.fn.alert=function(e){return this.each(function(){var g=d(this),f=g.data("alert");if(!f){g.data("alert",(f=new b(this)))}if(typeof e=="string"){f[e].call(g)}})};d.fn.alert.Constructor=b;d.fn.alert.noConflict=function(){d.fn.alert=a;return this};d(document).on("click.alert.data-api",c,b.prototype.close)}(window.jQuery);!function(c){var b=function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.button.defaults,d)};b.prototype.setState=function(g){var i="disabled",e=this.$element,f=e.data(),h=e.is("input")?"val":"html";g=g+"Text";f.resetText||e.data("resetText",e[h]());e[h](f[g]||this.options[g]);setTimeout(function(){g=="loadingText"?e.addClass(i).attr(i,i):e.removeClass(i).removeAttr(i)},0)};b.prototype.toggle=function(){var d=this.$element.closest('[data-toggle="buttons-radio"]');d&&d.find(".active").removeClass("active");this.$element.toggleClass("active")};var a=c.fn.button;c.fn.button=function(d){return this.each(function(){var g=c(this),f=g.data("button"),e=typeof d=="object"&&d;if(!f){g.data("button",(f=new b(this,e)))}if(d=="toggle"){f.toggle()}else{if(d){f.setState(d)}}})};c.fn.button.defaults={loadingText:"loading..."};c.fn.button.Constructor=b;c.fn.button.noConflict=function(){c.fn.button=a;return this};c(document).on("click.button.data-api","[data-toggle^=button]",function(f){var d=c(f.target);if(!d.hasClass("btn")){d=d.closest(".btn")}d.button("toggle")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.$indicators=this.$element.find(".carousel-indicators");this.options=d;this.options.pause=="hover"&&this.$element.on("mouseenter",b.proxy(this.pause,this)).on("mouseleave",b.proxy(this.cycle,this))};c.prototype={cycle:function(d){if(!d){this.paused=false}if(this.interval){clearInterval(this.interval)}this.options.interval&&!this.paused&&(this.interval=setInterval(b.proxy(this.next,this),this.options.interval));return this},getActiveIndex:function(){this.$active=this.$element.find(".item.active");this.$items=this.$active.parent().children();return this.$items.index(this.$active)},to:function(f){var d=this.getActiveIndex(),e=this;if(f>(this.$items.length-1)||f<0){return}if(this.sliding){return this.$element.one("slid",function(){e.to(f)})}if(d==f){return this.pause().cycle()}return this.slide(f>d?"next":"prev",b(this.$items[f]))},pause:function(d){if(!d){this.paused=true}if(this.$element.find(".next, .prev").length&&b.support.transition.end){this.$element.trigger(b.support.transition.end);this.cycle(true)}clearInterval(this.interval);this.interval=null;return this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(k,f){var m=this.$element.find(".item.active"),d=f||m[k](),j=this.interval,l=k=="next"?"left":"right",g=k=="next"?"first":"last",h=this,i;this.sliding=true;j&&this.pause();d=d.length?d:this.$element.find(".item")[g]();i=b.Event("slide",{relatedTarget:d[0],direction:l});if(d.hasClass("active")){return}if(this.$indicators.length){this.$indicators.find(".active").removeClass("active");this.$element.one("slid",function(){var e=b(h.$indicators.children()[h.getActiveIndex()]);e&&e.addClass("active")})}if(b.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(i);if(i.isDefaultPrevented()){return}d.addClass(k);d[0].offsetWidth;m.addClass(l);d.addClass(l);this.$element.one(b.support.transition.end,function(){d.removeClass([k,l].join(" ")).addClass("active");m.removeClass(["active",l].join(" "));h.sliding=false;setTimeout(function(){h.$element.trigger("slid")},0)})}else{this.$element.trigger(i);if(i.isDefaultPrevented()){return}m.removeClass("active");d.addClass("active");this.sliding=false;this.$element.trigger("slid")}j&&this.cycle();return this}};var a=b.fn.carousel;b.fn.carousel=function(d){return this.each(function(){var h=b(this),g=h.data("carousel"),e=b.extend({},b.fn.carousel.defaults,typeof d=="object"&&d),f=typeof d=="string"?d:e.slide;if(!g){h.data("carousel",(g=new c(this,e)))}if(typeof d=="number"){g.to(d)}else{if(f){g[f]()}else{if(e.interval){g.pause().cycle()}}}})};b.fn.carousel.defaults={interval:5000,pause:"hover"};b.fn.carousel.Constructor=c;b.fn.carousel.noConflict=function(){b.fn.carousel=a;return this};b(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(j){var i=b(this),f,d=b(i.attr("data-target")||(f=i.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),g=b.extend({},d.data(),i.data()),h;d.carousel(g);if(h=i.attr("data-slide-to")){d.data("carousel").pause().to(h).cycle()}j.preventDefault()})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.collapse.defaults,d);if(this.options.parent){this.$parent=b(this.options.parent)}this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var d=this.$element.hasClass("width");return d?"width":"height"},show:function(){var g,d,f,e;if(this.transitioning||this.$element.hasClass("in")){return}g=this.dimension();d=b.camelCase(["scroll",g].join("-"));f=this.$parent&&this.$parent.find("> .accordion-group > .in");if(f&&f.length){e=f.data("collapse");if(e&&e.transitioning){return}f.collapse("hide");e||f.data("collapse",null)}this.$element[g](0);this.transition("addClass",b.Event("show"),"shown");b.support.transition&&this.$element[g](this.$element[0][d])},hide:function(){var d;if(this.transitioning||!this.$element.hasClass("in")){return}d=this.dimension();this.reset(this.$element[d]());this.transition("removeClass",b.Event("hide"),"hidden");this.$element[d](0)},reset:function(d){var e=this.dimension();this.$element.removeClass("collapse")[e](d||"auto")[0].offsetWidth;this.$element[d!==null?"addClass":"removeClass"]("collapse");return this},transition:function(h,e,f){var g=this,d=function(){if(e.type=="show"){g.reset()}g.transitioning=0;g.$element.trigger(f)};this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.transitioning=1;this.$element[h]("in");b.support.transition&&this.$element.hasClass("collapse")?this.$element.one(b.support.transition.end,d):d()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var a=b.fn.collapse;b.fn.collapse=function(d){return this.each(function(){var g=b(this),f=g.data("collapse"),e=b.extend({},b.fn.collapse.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("collapse",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.collapse.defaults={toggle:true};b.fn.collapse.Constructor=c;b.fn.collapse.noConflict=function(){b.fn.collapse=a;return this};b(document).on("click.collapse.data-api","[data-toggle=collapse]",function(i){var h=b(this),d,g=h.attr("data-target")||i.preventDefault()||(d=h.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=b(g).data("collapse")?"toggle":h.data();h[b(g).hasClass("in")?"addClass":"removeClass"]("collapsed");b(g).collapse(f)})}(window.jQuery);!function(f){var b="[data-toggle=dropdown]",a=function(h){var g=f(h).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){g.parent().removeClass("open")})};a.prototype={constructor:a,toggle:function(j){var i=f(this),h,g;if(i.is(".disabled, :disabled")){return}h=e(i);g=h.hasClass("open");d();if(!g){if("ontouchstart" in document.documentElement){f('<div class="dropdown-backdrop"/>').insertBefore(f(this)).on("click",d)}h.toggleClass("open")}i.focus();return false},keydown:function(l){var k,m,g,j,i,h;if(!/(38|40|27)/.test(l.keyCode)){return}k=f(this);l.preventDefault();l.stopPropagation();if(k.is(".disabled, :disabled")){return}j=e(k);i=j.hasClass("open");if(!i||(i&&l.keyCode==27)){if(l.which==27){j.find(b).focus()}return k.click()}m=f("[role=menu] li:not(.divider):visible a",j);if(!m.length){return}h=m.index(m.filter(":focus"));if(l.keyCode==38&&h>0){h--}if(l.keyCode==40&&h<m.length-1){h++}if(!~h){h=0}m.eq(h).focus()}};function d(){f(".dropdown-backdrop").remove();f(b).each(function(){e(f(this)).removeClass("open")})}function e(i){var g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&/#/.test(g)&&g.replace(/.*(?=#[^\s]*$)/,"")}h=g&&f(g);if(!h||!h.length){h=i.parent()}return h}var c=f.fn.dropdown;f.fn.dropdown=function(g){return this.each(function(){var i=f(this),h=i.data("dropdown");if(!h){i.data("dropdown",(h=new a(this)))}if(typeof g=="string"){h[g].call(i)}})};f.fn.dropdown.Constructor=a;f.fn.dropdown.noConflict=function(){f.fn.dropdown=c;return this};f(document).on("click.dropdown.data-api",d).on("click.dropdown.data-api",".dropdown form",function(g){g.stopPropagation()}).on("click.dropdown.data-api",b,a.prototype.toggle).on("keydown.dropdown.data-api",b+", [role=menu]",a.prototype.keydown)}(window.jQuery);!function(c){var b=function(e,d){this.options=d;this.$element=c(e).delegate('[data-dismiss="modal"]',"click.dismiss.modal",c.proxy(this.hide,this));this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};b.prototype={constructor:b,toggle:function(){return this[!this.isShown?"show":"hide"]()},show:function(){var d=this,f=c.Event("show");this.$element.trigger(f);if(this.isShown||f.isDefaultPrevented()){return}this.isShown=true;this.escape();this.backdrop(function(){var e=c.support.transition&&d.$element.hasClass("fade");if(!d.$element.parent().length){d.$element.appendTo(document.body)}d.$element.show();if(e){d.$element[0].offsetWidth}d.$element.addClass("in").attr("aria-hidden",false);d.enforceFocus();e?d.$element.one(c.support.transition.end,function(){d.$element.focus().trigger("shown")}):d.$element.focus().trigger("shown")})},hide:function(f){f&&f.preventDefault();var d=this;f=c.Event("hide");this.$element.trigger(f);if(!this.isShown||f.isDefaultPrevented()){return}this.isShown=false;this.escape();c(document).off("focusin.modal");this.$element.removeClass("in").attr("aria-hidden",true);c.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var d=this;c(document).on("focusin.modal",function(f){if(d.$element[0]!==f.target&&!d.$element.has(f.target).length){d.$element.focus()}})},escape:function(){var d=this;if(this.isShown&&this.options.keyboard){this.$element.on("keyup.dismiss.modal",function(f){f.which==27&&d.hide()})}else{if(!this.isShown){this.$element.off("keyup.dismiss.modal")}}},hideWithTransition:function(){var d=this,e=setTimeout(function(){d.$element.off(c.support.transition.end);d.hideModal()},500);this.$element.one(c.support.transition.end,function(){clearTimeout(e);d.hideModal()})},hideModal:function(){var d=this;this.$element.hide();this.backdrop(function(){d.removeBackdrop();d.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove();this.$backdrop=null},backdrop:function(g){var f=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=c.support.transition&&e;this.$backdrop=c('<div class="modal-backdrop '+e+'" />').appendTo(document.body);this.$backdrop.click(this.options.backdrop=="static"?c.proxy(this.$element[0].focus,this.$element[0]):c.proxy(this.hide,this));if(d){this.$backdrop[0].offsetWidth}this.$backdrop.addClass("in");if(!g){return}d?this.$backdrop.one(c.support.transition.end,g):g()}else{if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");c.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(c.support.transition.end,g):g()}else{if(g){g()}}}}};var a=c.fn.modal;c.fn.modal=function(d){return this.each(function(){var g=c(this),f=g.data("modal"),e=c.extend({},c.fn.modal.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("modal",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}else{if(e.show){f.show()}}})};c.fn.modal.defaults={backdrop:true,keyboard:true,show:true};c.fn.modal.Constructor=b;c.fn.modal.noConflict=function(){c.fn.modal=a;return this};c(document).on("click.modal.data-api",'[data-toggle="modal"]',function(i){var h=c(this),f=h.attr("href"),d=c(h.attr("data-target")||(f&&f.replace(/.*(?=#[^\s]+$)/,""))),g=d.data("modal")?"toggle":c.extend({remote:!/#/.test(f)&&f},d.data(),h.data());i.preventDefault();d.modal(g).one("hide",function(){h.focus()})})}(window.jQuery);!function(c){var b=function(e,d){this.init("tooltip",e,d)};b.prototype={constructor:b,init:function(k,h,f){var l,d,j,e,g;this.type=k;this.$element=c(h);this.options=this.getOptions(f);this.enabled=true;j=this.options.trigger.split(" ");for(g=j.length;g--;){e=j[g];if(e=="click"){this.$element.on("click."+this.type,this.options.selector,c.proxy(this.toggle,this))}else{if(e!="manual"){l=e=="hover"?"mouseenter":"focus";d=e=="hover"?"mouseleave":"blur";this.$element.on(l+"."+this.type,this.options.selector,c.proxy(this.enter,this));this.$element.on(d+"."+this.type,this.options.selector,c.proxy(this.leave,this))}}}this.options.selector?(this._options=c.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()},getOptions:function(d){d=c.extend({},c.fn[this.type].defaults,this.$element.data(),d);if(d.delay&&typeof d.delay=="number"){d.delay={show:d.delay,hide:d.delay}}return d},enter:function(h){var g=c.fn[this.type].defaults,f={},d;this._options&&c.each(this._options,function(e,i){if(g[e]!=i){f[e]=i}},this);d=c(h.currentTarget)[this.type](f).data(this.type);if(!d.options.delay||!d.options.delay.show){return d.show()}clearTimeout(this.timeout);d.hoverState="in";this.timeout=setTimeout(function(){if(d.hoverState=="in"){d.show()}},d.options.delay.show)},leave:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(this.timeout){clearTimeout(this.timeout)}if(!d.options.delay||!d.options.delay.hide){return d.hide()}d.hoverState="out";this.timeout=setTimeout(function(){if(d.hoverState=="out"){d.hide()}},d.options.delay.hide)},show:function(){var i,k,g,j,d,h,f=c.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(f);if(f.isDefaultPrevented()){return}i=this.tip();this.setContent();if(this.options.animation){i.addClass("fade")}d=typeof this.options.placement=="function"?this.options.placement.call(this,i[0],this.$element[0]):this.options.placement;i.detach().css({top:0,left:0,display:"block"});this.options.container?i.appendTo(this.options.container):i.insertAfter(this.$element);k=this.getPosition();g=i[0].offsetWidth;j=i[0].offsetHeight;switch(d){case"bottom":h={top:k.top+k.height,left:k.left+k.width/2-g/2};break;case"top":h={top:k.top-j,left:k.left+k.width/2-g/2};break;case"left":h={top:k.top+k.height/2-j/2,left:k.left-g};break;case"right":h={top:k.top+k.height/2-j/2,left:k.left+k.width};break}this.applyPlacement(h,d);this.$element.trigger("shown")}},applyPlacement:function(g,h){var i=this.tip(),e=i[0].offsetWidth,l=i[0].offsetHeight,d,j,k,f;i.offset(g).addClass(h).addClass("in");d=i[0].offsetWidth;j=i[0].offsetHeight;if(h=="top"&&j!=l){g.top=g.top+l-j;f=true}if(h=="bottom"||h=="top"){k=0;if(g.left<0){k=g.left*-2;g.left=0;i.offset(g);d=i[0].offsetWidth;j=i[0].offsetHeight}this.replaceArrow(k-e+d,d,"left")}else{this.replaceArrow(j-l,j,"top")}if(f){i.offset(g)}},replaceArrow:function(f,e,d){this.arrow().css(d,f?(50*(1-f/e)+"%"):"")},setContent:function(){var e=this.tip(),d=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](d);e.removeClass("fade in top bottom left right")},hide:function(){var d=this,g=this.tip(),f=c.Event("hide");this.$element.trigger(f);if(f.isDefaultPrevented()){return}g.removeClass("in");function h(){var e=setTimeout(function(){g.off(c.support.transition.end).detach()},500);g.one(c.support.transition.end,function(){clearTimeout(e);g.detach()})}c.support.transition&&this.$tip.hasClass("fade")?h():g.detach();this.$element.trigger("hidden");return this},fixTitle:function(){var d=this.$element;if(d.attr("title")||typeof(d.attr("data-original-title"))!="string"){d.attr("data-original-title",d.attr("title")||"").attr("title","")}},hasContent:function(){return this.getTitle()},getPosition:function(){var d=this.$element[0];return c.extend({},(typeof d.getBoundingClientRect=="function")?d.getBoundingClientRect():{width:d.offsetWidth,height:d.offsetHeight},this.$element.offset())},getTitle:function(){var f,d=this.$element,e=this.options;f=d.attr("data-original-title")||(typeof e.title=="function"?e.title.call(d[0]):e.title);return f},tip:function(){return this.$tip=this.$tip||c(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(f){var d=f?c(f.currentTarget)[this.type](this._options).data(this.type):this;d.tip().hasClass("in")?d.hide():d.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var a=c.fn.tooltip;c.fn.tooltip=function(d){return this.each(function(){var g=c(this),f=g.data("tooltip"),e=typeof d=="object"&&d;if(!f){g.data("tooltip",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.tooltip.Constructor=b;c.fn.tooltip.defaults={animation:true,placement:"top",selector:false,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:false,container:false};c.fn.tooltip.noConflict=function(){c.fn.tooltip=a;return this}}(window.jQuery);!function(c){var b=function(e,d){this.init("popover",e,d)};b.prototype=c.extend({},c.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var f=this.tip(),e=this.getTitle(),d=this.getContent();f.find(".popover-title")[this.options.html?"html":"text"](e);f.find(".popover-content")[this.options.html?"html":"text"](d);f.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,d=this.$element,f=this.options;e=(typeof f.content=="function"?f.content.call(d[0]):f.content)||d.attr("data-content");return e},tip:function(){if(!this.$tip){this.$tip=c(this.options.template)}return this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var a=c.fn.popover;c.fn.popover=function(d){return this.each(function(){var g=c(this),f=g.data("popover"),e=typeof d=="object"&&d;if(!f){g.data("popover",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.popover.Constructor=b;c.fn.popover.defaults=c.extend({},c.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'});c.fn.popover.noConflict=function(){c.fn.popover=a;return this}}(window.jQuery);!function(c){function b(g,f){var h=c.proxy(this.process,this),d=c(g).is("body")?c(window):c(g),e;this.options=c.extend({},c.fn.scrollspy.defaults,f);this.$scrollElement=d.on("scroll.scroll-spy.data-api",h);this.selector=(this.options.target||((e=c(g).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""))||"")+" .nav li > a";this.$body=c("body");this.refresh();this.process()}b.prototype={constructor:b,refresh:function(){var d=this,e;this.offsets=c([]);this.targets=c([]);e=this.$body.find(this.selector).map(function(){var g=c(this),f=g.data("target")||g.attr("href"),h=/^#\w/.test(f)&&c(f);return(h&&h.length&&[[h.position().top+(!c.isWindow(d.$scrollElement.get(0))&&d.$scrollElement.scrollTop()),f]])||null}).sort(function(g,f){return g[0]-f[0]}).each(function(){d.offsets.push(this[0]);d.targets.push(this[1])})},process:function(){var j=this.$scrollElement.scrollTop()+this.options.offset,f=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,h=f-this.$scrollElement.height(),g=this.offsets,d=this.targets,k=this.activeTarget,e;if(j>=h){return k!=(e=d.last()[0])&&this.activate(e)}for(e=g.length;e--;){k!=d[e]&&j>=g[e]&&(!g[e+1]||j<=g[e+1])&&this.activate(d[e])}},activate:function(f){var e,d;this.activeTarget=f;c(this.selector).parent(".active").removeClass("active");d=this.selector+'[data-target="'+f+'"],'+this.selector+'[href="'+f+'"]';e=c(d).parent("li").addClass("active");if(e.parent(".dropdown-menu").length){e=e.closest("li.dropdown").addClass("active")}e.trigger("activate")}};var a=c.fn.scrollspy;c.fn.scrollspy=function(d){return this.each(function(){var g=c(this),f=g.data("scrollspy"),e=typeof d=="object"&&d;if(!f){g.data("scrollspy",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.scrollspy.Constructor=b;c.fn.scrollspy.defaults={offset:10};c.fn.scrollspy.noConflict=function(){c.fn.scrollspy=a;return this};c(window).on("load",function(){c('[data-spy="scroll"]').each(function(){var d=c(this);d.scrollspy(d.data())})})}(window.jQuery);!function(c){var b=function(d){this.element=c(d)};b.prototype={constructor:b,show:function(){var j=this.element,g=j.closest("ul:not(.dropdown-menu)"),f=j.attr("data-target"),h,d,i;if(!f){f=j.attr("href");f=f&&f.replace(/.*(?=#[^\s]*$)/,"")}if(j.parent("li").hasClass("active")){return}h=g.find(".active:last a")[0];i=c.Event("show",{relatedTarget:h});j.trigger(i);if(i.isDefaultPrevented()){return}d=c(f);this.activate(j.parent("li"),g);this.activate(d,d.parent(),function(){j.trigger({type:"shown",relatedTarget:h})})},activate:function(f,e,i){var d=e.find("> .active"),h=i&&c.support.transition&&d.hasClass("fade");function g(){d.removeClass("active").find("> .dropdown-menu > .active").removeClass("active");f.addClass("active");if(h){f[0].offsetWidth;f.addClass("in")}else{f.removeClass("fade")}if(f.parent(".dropdown-menu")){f.closest("li.dropdown").addClass("active")}i&&i()}h?d.one(c.support.transition.end,g):g();d.removeClass("in")}};var a=c.fn.tab;c.fn.tab=function(d){return this.each(function(){var f=c(this),e=f.data("tab");if(!e){f.data("tab",(e=new b(this)))}if(typeof d=="string"){e[d]()}})};c.fn.tab.Constructor=b;c.fn.tab.noConflict=function(){c.fn.tab=a;return this};c(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(d){d.preventDefault();c(this).tab("show")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.typeahead.defaults,d);this.matcher=this.options.matcher||this.matcher;this.sorter=this.options.sorter||this.sorter;this.highlighter=this.options.highlighter||this.highlighter;this.updater=this.options.updater||this.updater;this.source=this.options.source;this.$menu=b(this.options.menu);this.shown=false;this.listen()};c.prototype={constructor:c,select:function(){var d=this.$menu.find(".active").attr("data-value");this.$element.val(this.updater(d)).change();return this.hide()},updater:function(d){return d},show:function(){var d=b.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});this.$menu.insertAfter(this.$element).css({top:d.top+d.height,left:d.left}).show();this.shown=true;return this},hide:function(){this.$menu.hide();this.shown=false;return this},lookup:function(e){var d;this.query=this.$element.val();if(!this.query||this.query.length<this.options.minLength){return this.shown?this.hide():this}d=b.isFunction(this.source)?this.source(this.query,b.proxy(this.process,this)):this.source;return d?this.process(d):this},process:function(d){var e=this;d=b.grep(d,function(f){return e.matcher(f)});d=this.sorter(d);if(!d.length){return this.shown?this.hide():this}return this.render(d.slice(0,this.options.items)).show()},matcher:function(d){return ~d.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(f){var g=[],e=[],d=[],h;while(h=f.shift()){if(!h.toLowerCase().indexOf(this.query.toLowerCase())){g.push(h)}else{if(~h.indexOf(this.query)){e.push(h)}else{d.push(h)}}}return g.concat(e,d)},highlighter:function(d){var e=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return d.replace(new RegExp("("+e+")","ig"),function(f,g){return"<strong>"+g+"</strong>"})},render:function(d){var e=this;d=b(d).map(function(f,g){f=b(e.options.item).attr("data-value",g);f.find("a").html(e.highlighter(g));return f[0]});d.first().addClass("active");this.$menu.html(d);return this},next:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.next();if(!d.length){d=b(this.$menu.find("li")[0])}d.addClass("active")},prev:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.prev();if(!d.length){d=this.$menu.find("li").last()}d.addClass("active")},listen:function(){this.$element.on("focus",b.proxy(this.focus,this)).on("blur",b.proxy(this.blur,this)).on("keypress",b.proxy(this.keypress,this)).on("keyup",b.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",b.proxy(this.keydown,this))}this.$menu.on("click",b.proxy(this.click,this)).on("mouseenter","li",b.proxy(this.mouseenter,this)).on("mouseleave","li",b.proxy(this.mouseleave,this))},eventSupported:function(d){var e=d in this.$element;if(!e){this.$element.setAttribute(d,"return;");e=typeof this.$element[d]==="function"}return e},move:function(d){if(!this.shown){return}switch(d.keyCode){case 9:case 13:case 27:d.preventDefault();break;case 38:d.preventDefault();this.prev();break;case 40:d.preventDefault();this.next();break}d.stopPropagation()},keydown:function(d){this.suppressKeyPressRepeat=~b.inArray(d.keyCode,[40,38,9,13,27]);this.move(d)},keypress:function(d){if(this.suppressKeyPressRepeat){return}this.move(d)},keyup:function(d){switch(d.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return}this.select();break;case 27:if(!this.shown){return}this.hide();break;default:this.lookup()}d.stopPropagation();d.preventDefault()},focus:function(d){this.focused=true},blur:function(d){this.focused=false;if(!this.mousedover&&this.shown){this.hide()}},click:function(d){d.stopPropagation();d.preventDefault();this.select();this.$element.focus()},mouseenter:function(d){this.mousedover=true;this.$menu.find(".active").removeClass("active");b(d.currentTarget).addClass("active")},mouseleave:function(d){this.mousedover=false;if(!this.focused&&this.shown){this.hide()}}};var a=b.fn.typeahead;b.fn.typeahead=function(d){return this.each(function(){var g=b(this),f=g.data("typeahead"),e=typeof d=="object"&&d;if(!f){g.data("typeahead",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1};b.fn.typeahead.Constructor=c;b.fn.typeahead.noConflict=function(){b.fn.typeahead=a;return this};b(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(f){var d=b(this);if(d.data("typeahead")){return}d.typeahead(d.data())})}(window.jQuery);!function(c){var b=function(e,d){this.options=c.extend({},c.fn.affix.defaults,d);this.$window=c(window).on("scroll.affix.data-api",c.proxy(this.checkPosition,this)).on("click.affix.data-api",c.proxy(function(){setTimeout(c.proxy(this.checkPosition,this),1)},this));this.$element=c(e);this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible")){return}var h=c(document).height(),j=this.$window.scrollTop(),d=this.$element.offset(),k=this.options.offset,f=k.bottom,g=k.top,i="affix affix-top affix-bottom",e;if(typeof k!="object"){f=g=k}if(typeof g=="function"){g=k.top()}if(typeof f=="function"){f=k.bottom()}e=this.unpin!=null&&(j+this.unpin<=d.top)?false:f!=null&&(d.top+this.$element.height()>=h-f)?"bottom":g!=null&&j<=g?"top":false;if(this.affixed===e){return}this.affixed=e;this.unpin=e=="bottom"?d.top-j:null;this.$element.removeClass(i).addClass("affix"+(e?"-"+e:""))};var a=c.fn.affix;c.fn.affix=function(d){return this.each(function(){var g=c(this),f=g.data("affix"),e=typeof d=="object"&&d;if(!f){g.data("affix",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.affix.Constructor=b;c.fn.affix.defaults={offset:0};c.fn.affix.noConflict=function(){c.fn.affix=a;return this};c(window).on("load",function(){c('[data-spy="affix"]').each(function(){var e=c(this),d=e.data();d.offset=d.offset||{};d.offsetBottom&&(d.offset.bottom=d.offsetBottom);d.offsetTop&&(d.offset.top=d.offsetTop);e.affix(d)})})}(window.jQuery);var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function d(F){function w(J){var K=J.charCodeAt(0);if(K!==92){return K}var I=J.charAt(1);return(K=k[I])?K:"0"<=I&&I<="7"?parseInt(J.substring(1),8):I==="u"||I==="x"?parseInt(J.substring(2),16):J.charCodeAt(1)}function C(I){if(I<32){return(I<16?"\\x0":"\\x")+I.toString(16)}I=String.fromCharCode(I);if(I==="\\"||I==="-"||I==="["||I==="]"){I="\\"+I}return I}function A(J){for(var M=J.substring(1,J.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),J=[],I=[],O=M[0]==="^",P=O?1:0,L=M.length;P<L;++P){var K=M[P];if(/\\[bdsw]/i.test(K)){J.push(K)}else{var K=w(K),N;P+2<L&&"-"===M[P+1]?(N=w(M[P+2]),P+=2):N=K;I.push([K,N]);N<65||K>122||(N<65||K>90||I.push([Math.max(65,K)|32,Math.min(N,90)|32]),N<97||K>122||I.push([Math.max(97,K)&-33,Math.min(N,122)&-33]))}}I.sort(function(Q,R){return Q[0]-R[0]||R[1]-Q[1]});M=[];K=[NaN,NaN];for(P=0;P<I.length;++P){L=I[P],L[0]<=K[1]+1?K[1]=Math.max(K[1],L[1]):M.push(K=L)}I=["["];O&&I.push("^");I.push.apply(I,J);for(P=0;P<M.length;++P){L=M[P],I.push(C(L[0])),L[1]>L[0]&&(L[1]+1>L[0]&&I.push("-"),I.push(C(L[1])))}I.push("]");return I.join("")}function E(J){for(var M=J.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),I=M.length,N=[],O=0,L=0;O<I;++O){var K=M[O];K==="("?++L:"\\"===K.charAt(0)&&(K=+K.substring(1))&&K<=L&&(N[K]=-1)}for(O=1;O<N.length;++O){-1===N[O]&&(N[O]=++G)}for(L=O=0;O<I;++O){K=M[O],K==="("?(++L,N[L]===void 0&&(M[O]="(?:")):"\\"===K.charAt(0)&&(K=+K.substring(1))&&K<=L&&(M[O]="\\"+N[L])}for(L=O=0;O<I;++O){"^"===M[O]&&"^"!==M[O+1]&&(M[O]="")}if(J.ignoreCase&&H){for(O=0;O<I;++O){K=M[O],J=K.charAt(0),K.length>=2&&J==="["?M[O]=A(K):J!=="\\"&&(M[O]=K.replace(/[A-Za-z]/g,function(P){P=P.charCodeAt(0);return"["+String.fromCharCode(P&-33,P|32)+"]"}))}}return M.join("")}for(var G=0,H=!1,x=!1,u=0,D=F.length;u<D;++u){var B=F[u];if(B.ignoreCase){x=!0}else{if(/[a-z]/i.test(B.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){H=!0;x=!1;break}}}for(var k={b:8,t:9,n:10,v:11,f:12,r:13},v=[],u=0,D=F.length;u<D;++u){B=F[u];if(B.global||B.multiline){throw Error(""+B)}v.push("(?:"+E(B)+")")}return RegExp(v.join("|"),x?"gi":"g")}function c(B){function u(E){switch(E.nodeType){case 1:if(x.test(E.className)){break}for(var F=E.firstChild;F;F=F.nextSibling){u(F)}F=E.nodeName;if("BR"===F||"LI"===F){w[D]="\n",C[D<<1]=A++,C[D++<<1|1]=E}break;case 3:case 4:F=E.nodeValue,F.length&&(F=k?F.replace(/\r\n?/g,"\n"):F.replace(/[\t\n\r ]+/g," "),w[D]=F,C[D<<1]=A,A+=F.length,C[D++<<1|1]=E)}}var x=/(?:^|\s)nocode(?:\s|$)/,w=[],A=0,C=[],D=0,v;B.currentStyle?v=B.currentStyle.whiteSpace:window.getComputedStyle&&(v=document.defaultView.getComputedStyle(B,q).getPropertyValue("white-space"));var k=v&&"pre"===v.substring(0,3);u(B);return{a:w.join("").replace(/\n$/,""),c:C}}function t(u,k,w,v){k&&(u={a:k,d:u},w(u),v.push.apply(v,u.e))}function h(u,k){function x(P){for(var F=P.d,C=[F,"pln"],L=0,J=P.a.match(A)||[],B={},E=0,N=J.length;E<N;++E){var K=J[E],O=B[K],D=void 0,M;if(typeof O==="string"){M=!1}else{var I=w[K.charAt(0)];if(I){D=K.match(I[1]),O=I[0]}else{for(M=0;M<v;++M){if(I=k[M],D=K.match(I[1])){O=I[0];break}}D||(O="pln")}if((M=O.length>=5&&"lang-"===O.substring(0,5))&&!(D&&typeof D[1]==="string")){M=!1,O="src"}M||(B[K]=O)}I=L;L+=K.length;if(M){M=D[1];var H=K.indexOf(M),G=H+M.length;D[2]&&(G=K.length-D[2].length,H=G-M.length);O=O.substring(5);t(F+I,K.substring(0,H),x,C);t(F+I+H,M,s(O,M),C);t(F+I+G,K.substring(G),x,C)}else{C.push(F+I,O)}}P.e=C}var w={},A;(function(){for(var G=u.concat(k),B=[],F={},H=0,E=G.length;H<E;++H){var D=G[H],I=D[3];if(I){for(var C=I.length;--C>=0;){w[I.charAt(C)]=D}}D=D[1];I=""+D;F.hasOwnProperty(I)||(B.push(D),F[I]=q)}B.push(/[\S\s]/);A=d(B)})();var v=k.length;return x}function o(u){var k=[],w=[];u.tripleQuotedStrings?k.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):u.multiLineStrings?k.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):k.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);u.verbatimStrings&&w.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var v=u.hashComments;v&&(u.cStyleComments?(v>1?k.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):k.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),w.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):k.push(["com",/^#[^\n\r]*/,q,"#"]));u.cStyleComments&&(w.push(["com",/^\/\/[^\n\r]*/,q]),w.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));u.regexLiterals&&w.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(v=u.types)&&w.push(["typ",v]);u=(""+u.keywords).replace(/^ | $/g,"");u.length&&w.push(["kwd",RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),q]);k.push(["pln",/^\s+/,q," \r\n\t\xa0"]);w.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return h(k,w)}function r(H,x){function E(K){switch(K.nodeType){case 1:if(B.test(K.className)){break}if("BR"===K.nodeName){C(K),K.parentNode&&K.parentNode.removeChild(K)}else{for(K=K.firstChild;K;K=K.nextSibling){E(K)}}break;case 3:case 4:if(v){var k=K.nodeValue,L=k.match(I);if(L){var M=k.substring(0,L.index);K.nodeValue=M;(k=k.substring(L.index+L[0].length))&&K.parentNode.insertBefore(J.createTextNode(k),K.nextSibling);C(K);M||K.parentNode.removeChild(K)}}}}function C(K){function k(M,R){var Q=R?M.cloneNode(!1):M,P=M.parentNode;if(P){var P=k(P,1),O=M.nextSibling;P.appendChild(Q);for(var N=O;N;N=O){O=N.nextSibling,P.appendChild(N)}}return Q}for(;!K.nextSibling;){if(K=K.parentNode,!K){return}}for(var K=k(K.nextSibling,0),L;(L=K.parentNode)&&L.nodeType===1;){K=L}F.push(K)}var B=/(?:^|\s)nocode(?:\s|$)/,I=/\r\n?|\n/,J=H.ownerDocument,A;H.currentStyle?A=H.currentStyle.whiteSpace:window.getComputedStyle&&(A=J.defaultView.getComputedStyle(H,q).getPropertyValue("white-space"));var v=A&&"pre"===A.substring(0,3);for(A=J.createElement("LI");H.firstChild;){A.appendChild(H.firstChild)}for(var F=[A],D=0;D<F.length;++D){E(F[D])}x===(x|0)&&F[0].setAttribute("value",x);var u=J.createElement("OL");u.className="linenums";for(var w=Math.max(0,x-1|0)||0,D=0,G=F.length;D<G;++D){A=F[D],A.className="L"+(D+w)%10,A.firstChild||A.appendChild(J.createTextNode("\xa0")),u.appendChild(A)}H.appendChild(u)}function z(u,k){for(var w=k.length;--w>=0;){var v=k[w];y.hasOwnProperty(v)?window.console&&console.warn("cannot override language handler %s",v):y[v]=u}}function s(u,k){if(!u||!y.hasOwnProperty(u)){u=/^\s*</.test(k)?"default-markup":"default-code"}return y[u]}function p(X){var L=X.g;try{var T=c(X.h),Q=T.a;X.a=Q;X.c=T.c;X.d=0;s(L,Q)(X);var N=/\bMSIE\b/.test(navigator.userAgent),L=/\n/g,F=X.a,G=F.length,T=0,M=X.c,I=M.length,Q=0,U=X.e,R=U.length,X=0;U[R]=G;var H,K;for(K=H=0;K<R;){U[K]!==U[K+2]?(U[H++]=U[K++],U[H++]=U[K++]):K+=2}R=H;for(K=H=0;K<R;){for(var A=U[K],S=U[K+1],W=K+2;W+2<=R&&U[W+1]===S;){W+=2}U[H++]=A;U[H++]=S;K=W}for(U.length=H;Q<I;){var J=M[Q+2]||G,V=U[X+2]||G,W=Math.min(J,V),P=M[Q+1],O;if(P.nodeType!==1&&(O=F.substring(T,W))){N&&(O=O.replace(L,"\r"));P.nodeValue=O;var E=P.ownerDocument,D=E.createElement("SPAN");D.className=U[X+1];var B=P.parentNode;B.replaceChild(D,P);D.appendChild(P);T<J&&(M[Q+1]=P=E.createTextNode(F.substring(W,J)),B.insertBefore(P,D.nextSibling))}T=W;T>=J&&(Q+=2);T>=V&&(X+=2)}}catch(C){"console" in window&&console.log(C&&C.stack?C.stack:C)}}var m=["break,continue,do,else,for,if,return,while"],j=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[j,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],l=[j,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],i=[l,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],j=[j,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],g=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],f=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,b=/\S/,a=o({keywords:[n,i,j,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+g,f,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};z(a,["default-code"]);z(h([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);z(h([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);z(h([],[["atv",/^[\S\s]+/]]),["uq.val"]);z(o({keywords:n,hashComments:!0,cStyleComments:!0,types:e}),["c","cc","cpp","cxx","cyc","m"]);z(o({keywords:"null,true,false"}),["json"]);z(o({keywords:i,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:e}),["cs"]);z(o({keywords:l,cStyleComments:!0}),["java"]);z(o({keywords:m,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);z(o({keywords:g,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py"]);z(o({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);z(o({keywords:f,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);z(o({keywords:j,cStyleComments:!0,regexLiterals:!0}),["js"]);z(o({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);z(h([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(u,k,w){var v=document.createElement("PRE");v.innerHTML=u;w&&r(v,w);p({g:k,i:w,h:v});return v.innerHTML};window.prettyPrint=function(E){function v(){for(var L=window.PR_SHOULD_USE_CONTINUATION?w.now()+250:Infinity;u<A.length&&w.now()<L;u++){var O=A[u],I=O.className;if(I.indexOf("prettyprint")>=0){var I=I.match(B),K,H;if(H=!I){H=O;for(var M=void 0,N=H.firstChild;N;N=N.nextSibling){var J=N.nodeType,M=J===1?M?H:N:J===3?b.test(N.nodeValue)?H:M:M}H=(K=M===H?void 0:M)&&"CODE"===K.tagName}H&&(I=K.className.match(B));I&&(I=I[1]);H=!1;for(M=O.parentNode;M;M=M.parentNode){if((M.tagName==="pre"||M.tagName==="code"||M.tagName==="xmp")&&M.className&&M.className.indexOf("prettyprint")>=0){H=!0;break}}H||((H=(H=O.className.match(/\blinenums\b(?::(\d+))?/))?H[1]&&H[1].length?+H[1]:!0:!1)&&r(O,H),D={g:I,h:O,i:H},p(D))}}u<A.length?setTimeout(v,250):E&&E()}for(var C=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],A=[],x=0;x<C.length;++x){for(var F=0,G=C[x].length;F<G;++F){A.push(C[x][F])}}var C=q,w=Date;w.now||(w={now:function(){return +new Date}});var u=0,D,B=/\blang(?:uage)?-([\w.]+)(?!\S)/;v()};window.PR={createSimpleLexer:h,registerLangHandler:z,sourceDecorator:o,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();jQuery(document).ready(function(){$(".topbar").dropdown();prettyPrint()});
    \ No newline at end of file
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/junit.html b/HEAD/spring-cloud-contract-maven-plugin/junit.html
    new file mode 100644
    index 0000000000..77aaee5195
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/junit.html
    @@ -0,0 +1,318 @@
    +<!DOCTYPE html>
    +<!--
    + | Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-07-27 
    + | Rendered using Apache Maven Fluido Skin 1.5
    +-->
    +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    +  <head>
    +    <meta charset="UTF-8" />
    +    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    +    <meta name="Date-Revision-yyyymmdd" content="20160727" />
    +    <meta http-equiv="Content-Language" content="en" />
    +    <title>Spring Cloud Contract Verifier Maven Plugin &#x2013; </title>
    +    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
    +    <link rel="stylesheet" href="./css/site.css" />
    +    <link rel="stylesheet" href="./css/print.css" media="print" />
    +
    +      
    +    <script type="text/javascript" src="./js/apache-maven-fluido-1.5.min.js"></script>
    +
    +                      </head>
    +        <body class="topBarEnabled">
    +          
    +    
    +    
    +            
    +    
    +        
    +    <a href="https://github.com/spring-cloud/spring-cloud-contract">
    +      <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
    +        src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png"
    +        alt="Fork me on GitHub">
    +    </a>
    +  
    +                
    +                    
    +                
    +
    +    <div id="topbar" class="navbar navbar-fixed-top ">
    +      <div class="navbar-inner">
    +                <div class="container-fluid">
    +        <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
    +          <span class="icon-bar"></span>
    +          <span class="icon-bar"></span>
    +          <span class="icon-bar"></span>
    +        </a>
    +                
    +                                <ul class="nav">
    +                          <li class="dropdown">
    +        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Overview <b class="caret"></b></a>
    +        <ul class="dropdown-menu">
    +        
    +                      <li>      <a href="index.html"  title="Introduction">Introduction</a>
    +</li>
    +                  
    +                      <li>      <a href="usage.html"  title="Usage">Usage</a>
    +</li>
    +                  
    +                      <li>      <a href="plugin-info.html"  title="Goals">Goals</a>
    +</li>
    +                  
    +                      <li>      <a href="junit.html"  title="JUnit Configuration">JUnit Configuration</a>
    +</li>
    +                  
    +                      <li>      <a href="spock.html"  title="Spock Configuration">Spock Configuration</a>
    +</li>
    +                  
    +                      <li>      <a href="complex.html"  title="Complex Configuration">Complex Configuration</a>
    +</li>
    +                          </ul>
    +      </li>
    +                <li class="dropdown">
    +        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Related Projects <b class="caret"></b></a>
    +        <ul class="dropdown-menu">
    +        
    +                      <li>      <a href="https://github.com/spring-cloud/spring-cloud-contract"  title="Spring Cloud Contract">Spring Cloud Contract</a>
    +</li>
    +                          </ul>
    +      </li>
    +                  </ul>
    +          
    +          
    +          
    +                   
    +                      </div>
    +          
    +        </div>
    +      </div>
    +    </div>
    +    
    +        <div class="container-fluid">
    +          <div id="banner">
    +        <div class="pull-left">
    +                                <div id="bannerLeft">
    +                <h2>Spring Cloud Contract Maven Plugin</h2>
    +                </div>
    +                      </div>
    +        <div class="pull-right">              <div id="bannerRight">
    +                                                                                                <img src="" />
    +                </div>
    +      </div>
    +        <div class="clear"><hr/></div>
    +      </div>
    +
    +      <div id="breadcrumbs">
    +        <ul class="breadcrumb">
    +              
    +                  <li id="publishDate">Last Published: 2016-07-27
    +                      <span class="divider">|</span>
    +                   </li>
    +                  <li id="projectVersion">Version: 1.0.0.BUILD-SNAPSHOT
    +                      </li>
    +                      
    +              
    +      
    +                            </ul>
    +      </div>
    +
    +            
    +      <div class="row-fluid">
    +        <div id="leftColumn" class="span2">
    +          <div class="well sidebar-nav">
    +              
    +                <ul class="nav nav-list">
    +                    <li class="nav-header">Overview</li>
    +                              
    +      <li>
    +  
    +                          <a href="index.html" title="Introduction">
    +          <span class="none"></span>
    +        Introduction</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="usage.html" title="Usage">
    +          <span class="none"></span>
    +        Usage</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="plugin-info.html" title="Goals">
    +          <span class="none"></span>
    +        Goals</a>
    +            </li>
    +                
    +      <li class="active">
    +  
    +            <a href="#"><span class="none"></span>JUnit Configuration</a>
    +          </li>
    +                
    +      <li>
    +  
    +                          <a href="spock.html" title="Spock Configuration">
    +          <span class="none"></span>
    +        Spock Configuration</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="complex.html" title="Complex Configuration">
    +          <span class="none"></span>
    +        Complex Configuration</a>
    +            </li>
    +                              <li class="nav-header">Related Projects</li>
    +                              
    +      <li>
    +  
    +                          <a href="https://github.com/spring-cloud/spring-cloud-contract" title="Spring Cloud Contract">
    +          <span class="none"></span>
    +        Spring Cloud Contract</a>
    +            </li>
    +            </ul>
    +              
    +                
    +          <hr />
    +
    +           <div id="poweredBy">
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
    +        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
    +      </a>
    +                  </div>
    +          </div>
    +        </div>
    +        
    +                
    +        <div id="bodyColumn"  class="span10" >
    +                                  
    +            <div class="sect1">
    +<h2 id="java_project_with_junit_tests">Java Project with JUnit Tests</h2>
    +<div class="sectionbody">
    +<div class="paragraph">
    +<p>Sample minimal configuration for Java Project with JUnit tests.</p>
    +</div>
    +<div class="sect2">
    +<h3 id="test_dependencies_for_generated_contract_verification_tests">Test dependencies for generated contract verification tests</h3>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="CodeRay highlight"><code data-lang="xml">        <span style="color:#070;font-weight:bold">&lt;dependency&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>com.jayway.restassured<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>rest-assured<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;version&gt;</span>2.9.0<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;scope&gt;</span>test<span style="color:#070;font-weight:bold">&lt;/scope&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;/dependency&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;dependency&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>com.jayway.restassured<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>spring-mock-mvc<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;version&gt;</span>2.9.0<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;scope&gt;</span>test<span style="color:#070;font-weight:bold">&lt;/scope&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;/dependency&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;dependency&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>com.toomuchcoding.jsonassert<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>jsonassert<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;version&gt;</span>0.4.7<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;scope&gt;</span>test<span style="color:#070;font-weight:bold">&lt;/scope&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;/dependency&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;dependency&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>org.assertj<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>assertj-core<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;version&gt;</span>2.4.1<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;scope&gt;</span>test<span style="color:#070;font-weight:bold">&lt;/scope&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;/dependency&gt;</span></code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="project_configuration_for_spring_cloud_contract_verifier_with_junit_tests_and_stub_publishing">Project configuration for Spring Cloud Contract Verifier with JUnit tests and stub publishing</h3>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="CodeRay highlight"><code data-lang="xml">            <span style="color:#070;font-weight:bold">&lt;plugin&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>org.springframework.cloud<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>spring-cloud-contract-maven-plugin<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;version&gt;</span>${spring-cloud-verifier-plugin.version}<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;executions&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;execution&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;goals&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>convert<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>generateStubs<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>generateTests<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;/goals&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;/execution&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;/executions&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;configuration&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;baseClassForTests&gt;</span>hello.BaseAccurest<span style="color:#070;font-weight:bold">&lt;/baseClassForTests&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;/configuration&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;/plugin&gt;</span></code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="base_test_class">Base Test class</h3>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="CodeRay highlight"><code data-lang="java"><span style="color:#777">/**
    + *
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.
    + */</span>
    +<span style="color:#080;font-weight:bold">package</span> <span style="color:#707;font-weight:bold">hello</span>;
    +
    +<span style="color:#080;font-weight:bold">import</span> <span style="color:#B44;font-weight:bold">com.jayway.restassured.module.mockmvc.RestAssuredMockMvc</span>;
    +
    +<span style="color:#080;font-weight:bold">import</span> <span style="color:#B44;font-weight:bold">org.junit.Before</span>;
    +
    +<span style="color:#088;font-weight:bold">public</span> <span style="color:#339;font-weight:bold">class</span> <span style="color:#B06;font-weight:bold">BaseAccurest</span> {
    +
    +    <span style="color:#007">@Before</span>
    +    <span style="color:#088;font-weight:bold">public</span> <span style="color:#339;font-weight:bold">void</span> setup() {
    +        RestAssuredMockMvc.standaloneSetup(<span style="color:#080;font-weight:bold">new</span> GreetingController());
    +    }
    +
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="project_source_code">Project source code</h3>
    +<div class="paragraph">
    +<p><a href="https://github.com/spring-cloud/spring-cloud-contract/tree/master/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java" class="bare">https://github.com/spring-cloud/spring-cloud-contract/tree/master/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java</a></p>
    +</div>
    +</div>
    +</div>
    +</div>
    +                  </div>
    +            </div>
    +          </div>
    +
    +    <hr/>
    +
    +    <footer>
    +            <div class="container-fluid">
    +                      <div class="row-fluid">
    +                                      <p >Copyright &copy;                    2016
    +                        <a href="http://spring.io/">Spring</a>.
    +            All rights reserved.    
    +      </p>
    +                </div>
    +
    +        
    +                </div>
    +    </footer>
    +        </body>
    +</html>
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/sitemap.html b/HEAD/spring-cloud-contract-maven-plugin/sitemap.html
    new file mode 100644
    index 0000000000..5191e97172
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/sitemap.html
    @@ -0,0 +1,243 @@
    +<!DOCTYPE html>
    +<!--
    + | Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-07-27 
    + | Rendered using Apache Maven Fluido Skin 1.5
    +-->
    +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    +  <head>
    +    <meta charset="UTF-8" />
    +    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    +    <meta name="Date-Revision-yyyymmdd" content="20160727" />
    +    <meta http-equiv="Content-Language" content="en" />
    +    <title>Spring Cloud Contract Verifier Maven Plugin &#x2013; Sitemap</title>
    +    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
    +    <link rel="stylesheet" href="./css/site.css" />
    +    <link rel="stylesheet" href="./css/print.css" media="print" />
    +
    +      
    +    <script type="text/javascript" src="./js/apache-maven-fluido-1.5.min.js"></script>
    +
    +                      </head>
    +        <body class="topBarEnabled">
    +          
    +    
    +    
    +            
    +    
    +        
    +    <a href="https://github.com/spring-cloud/spring-cloud-contract">
    +      <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
    +        src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png"
    +        alt="Fork me on GitHub">
    +    </a>
    +  
    +                
    +                    
    +                
    +
    +    <div id="topbar" class="navbar navbar-fixed-top ">
    +      <div class="navbar-inner">
    +                <div class="container-fluid">
    +        <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
    +          <span class="icon-bar"></span>
    +          <span class="icon-bar"></span>
    +          <span class="icon-bar"></span>
    +        </a>
    +                
    +                                <ul class="nav">
    +                          <li class="dropdown">
    +        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Overview <b class="caret"></b></a>
    +        <ul class="dropdown-menu">
    +        
    +                      <li>      <a href="index.html"  title="Introduction">Introduction</a>
    +</li>
    +                  
    +                      <li>      <a href="usage.html"  title="Usage">Usage</a>
    +</li>
    +                  
    +                      <li>      <a href="plugin-info.html"  title="Goals">Goals</a>
    +</li>
    +                  
    +                      <li>      <a href="junit.html"  title="JUnit Configuration">JUnit Configuration</a>
    +</li>
    +                  
    +                      <li>      <a href="spock.html"  title="Spock Configuration">Spock Configuration</a>
    +</li>
    +                  
    +                      <li>      <a href="complex.html"  title="Complex Configuration">Complex Configuration</a>
    +</li>
    +                          </ul>
    +      </li>
    +                <li class="dropdown">
    +        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Related Projects <b class="caret"></b></a>
    +        <ul class="dropdown-menu">
    +        
    +                      <li>      <a href="https://github.com/spring-cloud/spring-cloud-contract"  title="Spring Cloud Contract">Spring Cloud Contract</a>
    +</li>
    +                          </ul>
    +      </li>
    +                  </ul>
    +          
    +          
    +          
    +                   
    +                      </div>
    +          
    +        </div>
    +      </div>
    +    </div>
    +    
    +        <div class="container-fluid">
    +          <div id="banner">
    +        <div class="pull-left">
    +                                <div id="bannerLeft">
    +                <h2>Spring Cloud Contract Maven Plugin</h2>
    +                </div>
    +                      </div>
    +        <div class="pull-right">              <div id="bannerRight">
    +                                                                                                <img src="" />
    +                </div>
    +      </div>
    +        <div class="clear"><hr/></div>
    +      </div>
    +
    +      <div id="breadcrumbs">
    +        <ul class="breadcrumb">
    +              
    +                  <li id="publishDate">Last Published: 2016-07-27
    +                      <span class="divider">|</span>
    +                   </li>
    +                  <li id="projectVersion">Version: 1.0.0.BUILD-SNAPSHOT
    +                      </li>
    +                      
    +              
    +      
    +                            </ul>
    +      </div>
    +
    +            
    +      <div class="row-fluid">
    +        <div id="leftColumn" class="span2">
    +          <div class="well sidebar-nav">
    +              
    +                <ul class="nav nav-list">
    +                    <li class="nav-header">Overview</li>
    +                              
    +      <li>
    +  
    +                          <a href="index.html" title="Introduction">
    +          <span class="none"></span>
    +        Introduction</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="usage.html" title="Usage">
    +          <span class="none"></span>
    +        Usage</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="plugin-info.html" title="Goals">
    +          <span class="none"></span>
    +        Goals</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="junit.html" title="JUnit Configuration">
    +          <span class="none"></span>
    +        JUnit Configuration</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="spock.html" title="Spock Configuration">
    +          <span class="none"></span>
    +        Spock Configuration</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="complex.html" title="Complex Configuration">
    +          <span class="none"></span>
    +        Complex Configuration</a>
    +            </li>
    +                              <li class="nav-header">Related Projects</li>
    +                              
    +      <li>
    +  
    +                          <a href="https://github.com/spring-cloud/spring-cloud-contract" title="Spring Cloud Contract">
    +          <span class="none"></span>
    +        Spring Cloud Contract</a>
    +            </li>
    +            </ul>
    +              
    +                
    +          <hr />
    +
    +           <div id="poweredBy">
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
    +        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
    +      </a>
    +                  </div>
    +          </div>
    +        </div>
    +        
    +                
    +        <div id="bodyColumn"  class="span10" >
    +                                  
    +            <div class="section">
    +<h2><a name="Sitemap"></a>Sitemap</h2>
    +
    +<p>This page lists all entries of the navigation menu in expanded form.</p>
    +
    +<div class="section">
    +<div class="section">
    +<h4><a name="Overview"></a>Overview</h4><hr />
    +
    +<ul>
    +
    +<li><a href="index.html">Introduction</a></li>
    +
    +<li><a href="usage.html">Usage</a></li>
    +
    +<li><a href="plugin-info.html">Goals</a></li>
    +
    +<li><a href="junit.html">JUnit Configuration</a></li>
    +
    +<li><a href="spock.html">Spock Configuration</a></li>
    +
    +<li><a href="complex.html">Complex Configuration</a></li></ul>
    +</div>
    +<div class="section">
    +<h4><a name="Related_Projects"></a>Related Projects</h4><hr />
    +
    +<ul>
    +
    +<li><a class="externalLink" href="https://github.com/spring-cloud/spring-cloud-contract">Spring Cloud Contract</a></li></ul></div></div></div>
    +                  </div>
    +            </div>
    +          </div>
    +
    +    <hr/>
    +
    +    <footer>
    +            <div class="container-fluid">
    +                      <div class="row-fluid">
    +                                      <p >Copyright &copy;                    2016
    +                        <a href="http://spring.io/">Spring</a>.
    +            All rights reserved.    
    +      </p>
    +                </div>
    +
    +        
    +                </div>
    +    </footer>
    +        </body>
    +</html>
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/spock.html b/HEAD/spring-cloud-contract-maven-plugin/spock.html
    new file mode 100644
    index 0000000000..4f1c6cd836
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/spock.html
    @@ -0,0 +1,354 @@
    +<!DOCTYPE html>
    +<!--
    + | Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-07-27 
    + | Rendered using Apache Maven Fluido Skin 1.5
    +-->
    +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    +  <head>
    +    <meta charset="UTF-8" />
    +    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    +    <meta name="Date-Revision-yyyymmdd" content="20160727" />
    +    <meta http-equiv="Content-Language" content="en" />
    +    <title>Spring Cloud Contract Verifier Maven Plugin &#x2013; </title>
    +    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
    +    <link rel="stylesheet" href="./css/site.css" />
    +    <link rel="stylesheet" href="./css/print.css" media="print" />
    +
    +      
    +    <script type="text/javascript" src="./js/apache-maven-fluido-1.5.min.js"></script>
    +
    +                      </head>
    +        <body class="topBarEnabled">
    +          
    +    
    +    
    +            
    +    
    +        
    +    <a href="https://github.com/spring-cloud/spring-cloud-contract">
    +      <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
    +        src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png"
    +        alt="Fork me on GitHub">
    +    </a>
    +  
    +                
    +                    
    +                
    +
    +    <div id="topbar" class="navbar navbar-fixed-top ">
    +      <div class="navbar-inner">
    +                <div class="container-fluid">
    +        <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
    +          <span class="icon-bar"></span>
    +          <span class="icon-bar"></span>
    +          <span class="icon-bar"></span>
    +        </a>
    +                
    +                                <ul class="nav">
    +                          <li class="dropdown">
    +        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Overview <b class="caret"></b></a>
    +        <ul class="dropdown-menu">
    +        
    +                      <li>      <a href="index.html"  title="Introduction">Introduction</a>
    +</li>
    +                  
    +                      <li>      <a href="usage.html"  title="Usage">Usage</a>
    +</li>
    +                  
    +                      <li>      <a href="plugin-info.html"  title="Goals">Goals</a>
    +</li>
    +                  
    +                      <li>      <a href="junit.html"  title="JUnit Configuration">JUnit Configuration</a>
    +</li>
    +                  
    +                      <li>      <a href="spock.html"  title="Spock Configuration">Spock Configuration</a>
    +</li>
    +                  
    +                      <li>      <a href="complex.html"  title="Complex Configuration">Complex Configuration</a>
    +</li>
    +                          </ul>
    +      </li>
    +                <li class="dropdown">
    +        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Related Projects <b class="caret"></b></a>
    +        <ul class="dropdown-menu">
    +        
    +                      <li>      <a href="https://github.com/spring-cloud/spring-cloud-contract"  title="Spring Cloud Contract">Spring Cloud Contract</a>
    +</li>
    +                          </ul>
    +      </li>
    +                  </ul>
    +          
    +          
    +          
    +                   
    +                      </div>
    +          
    +        </div>
    +      </div>
    +    </div>
    +    
    +        <div class="container-fluid">
    +          <div id="banner">
    +        <div class="pull-left">
    +                                <div id="bannerLeft">
    +                <h2>Spring Cloud Contract Maven Plugin</h2>
    +                </div>
    +                      </div>
    +        <div class="pull-right">              <div id="bannerRight">
    +                                                                                                <img src="" />
    +                </div>
    +      </div>
    +        <div class="clear"><hr/></div>
    +      </div>
    +
    +      <div id="breadcrumbs">
    +        <ul class="breadcrumb">
    +              
    +                  <li id="publishDate">Last Published: 2016-07-27
    +                      <span class="divider">|</span>
    +                   </li>
    +                  <li id="projectVersion">Version: 1.0.0.BUILD-SNAPSHOT
    +                      </li>
    +                      
    +              
    +      
    +                            </ul>
    +      </div>
    +
    +            
    +      <div class="row-fluid">
    +        <div id="leftColumn" class="span2">
    +          <div class="well sidebar-nav">
    +              
    +                <ul class="nav nav-list">
    +                    <li class="nav-header">Overview</li>
    +                              
    +      <li>
    +  
    +                          <a href="index.html" title="Introduction">
    +          <span class="none"></span>
    +        Introduction</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="usage.html" title="Usage">
    +          <span class="none"></span>
    +        Usage</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="plugin-info.html" title="Goals">
    +          <span class="none"></span>
    +        Goals</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="junit.html" title="JUnit Configuration">
    +          <span class="none"></span>
    +        JUnit Configuration</a>
    +            </li>
    +                
    +      <li class="active">
    +  
    +            <a href="#"><span class="none"></span>Spock Configuration</a>
    +          </li>
    +                
    +      <li>
    +  
    +                          <a href="complex.html" title="Complex Configuration">
    +          <span class="none"></span>
    +        Complex Configuration</a>
    +            </li>
    +                              <li class="nav-header">Related Projects</li>
    +                              
    +      <li>
    +  
    +                          <a href="https://github.com/spring-cloud/spring-cloud-contract" title="Spring Cloud Contract">
    +          <span class="none"></span>
    +        Spring Cloud Contract</a>
    +            </li>
    +            </ul>
    +              
    +                
    +          <hr />
    +
    +           <div id="poweredBy">
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
    +        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
    +      </a>
    +                  </div>
    +          </div>
    +        </div>
    +        
    +                
    +        <div id="bodyColumn"  class="span10" >
    +                                  
    +            <div class="sect1">
    +<h2 id="groovy_project_with_spock_specifications">Groovy Project with Spock Specifications</h2>
    +<div class="sectionbody">
    +<div class="paragraph">
    +<p>Sample minimal configuration for Groovy Project with Spock Specification</p>
    +</div>
    +<div class="sect2">
    +<h3 id="test_dependencies_for_generated_contract_verification_tests">Test dependencies for generated contract verification tests</h3>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="CodeRay highlight"><code data-lang="xml">        <span style="color:#070;font-weight:bold">&lt;dependency&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>org.spockframework<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>spock-core<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;scope&gt;</span>test<span style="color:#070;font-weight:bold">&lt;/scope&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;/dependency&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;dependency&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>com.jayway.restassured<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>rest-assured<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;version&gt;</span>2.9.0<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;scope&gt;</span>test<span style="color:#070;font-weight:bold">&lt;/scope&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;/dependency&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;dependency&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>com.jayway.restassured<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>spring-mock-mvc<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;version&gt;</span>2.9.0<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;scope&gt;</span>test<span style="color:#070;font-weight:bold">&lt;/scope&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;/dependency&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;dependency&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>com.toomuchcoding.jsonassert<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>jsonassert<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;version&gt;</span>0.4.7<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;scope&gt;</span>test<span style="color:#070;font-weight:bold">&lt;/scope&gt;</span>
    +        <span style="color:#070;font-weight:bold">&lt;/dependency&gt;</span></code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="project_configuration_for_spring_cloud_contract_verifier_groovy_spock_specifications_and_stub_publishing">Project configuration for Spring Cloud Contract Verifier, Groovy, Spock specifications and stub publishing</h3>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="CodeRay highlight"><code data-lang="xml">            <span style="color:#070;font-weight:bold">&lt;plugin&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>org.springframework.cloud<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>spring-cloud-contract-maven-plugin<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;version&gt;</span>${spring-cloud-verifier-plugin.version}<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;executions&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;execution&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;goals&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>convert<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>generateStubs<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>generateTests<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;/goals&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;/execution&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;/executions&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;configuration&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;baseClassForTests&gt;</span>hello.BaseAccurest<span style="color:#070;font-weight:bold">&lt;/baseClassForTests&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;testFramework&gt;</span>SPOCK<span style="color:#070;font-weight:bold">&lt;/testFramework&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;/configuration&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;/plugin&gt;</span>
    +
    +            <span style="color:#070;font-weight:bold">&lt;plugin&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>org.codehaus.gmavenplus<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>gmavenplus-plugin<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;version&gt;</span>1.5<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;executions&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;execution&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;goals&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>testCompile<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;/goals&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;/execution&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;/executions&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;configuration&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;testSources&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;testSource&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;directory&gt;</span>${project.basedir}/src/test/groovy<span style="color:#070;font-weight:bold">&lt;/directory&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;includes&gt;</span>
    +                                <span style="color:#070;font-weight:bold">&lt;include&gt;</span>**/*.groovy<span style="color:#070;font-weight:bold">&lt;/include&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;/includes&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;/testSource&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;testSource&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;directory&gt;</span>${project.build.directory}/generated-test-sources/contracts<span style="color:#070;font-weight:bold">&lt;/directory&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;includes&gt;</span>
    +                                <span style="color:#070;font-weight:bold">&lt;include&gt;</span>**/*.groovy<span style="color:#070;font-weight:bold">&lt;/include&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;/includes&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;/testSource&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;/testSources&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;/configuration&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;/plugin&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;plugin&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>maven-surefire-plugin<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;version&gt;</span>2.19<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;configuration&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;includes&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;include&gt;</span>**/*Spec.java<span style="color:#070;font-weight:bold">&lt;/include&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;/includes&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;/configuration&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;/plugin&gt;</span></code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="base_specification_class">Base Specification class</h3>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="CodeRay highlight"><code data-lang="java"><span style="color:#777">/**
    + *
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
    + *  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 &quot;AS IS&quot; 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.
    + */</span>
    +<span style="color:#080;font-weight:bold">package</span> <span style="color:#707;font-weight:bold">hello</span>
    +
    +<span style="color:#707;font-weight:bold">import</span> <span style="color:#707;font-weight:bold">com.jayway.restassured.module.mockmvc.RestAssuredMockMvc</span>
    +<span style="color:#707;font-weight:bold">import</span> <span style="color:#707;font-weight:bold">spock.lang.Specification</span>
    +
    +<span style="color:#707;font-weight:bold">public</span> <span style="color:#707;font-weight:bold">class</span> <span style="color:#707;font-weight:bold">BaseAccurest</span> <span style="color:#707;font-weight:bold">extends</span> <span style="color:#707;font-weight:bold">Specification</span> {
    +
    +    <span style="color:#707;font-weight:bold">def</span> <span style="color:#707;font-weight:bold">setup</span>() {
    +        <span style="color:#707;font-weight:bold">RestAssuredMockMvc.standaloneSetup</span>(<span style="color:#707;font-weight:bold">new</span> <span style="color:#707;font-weight:bold">GreetingController</span>())
    +    }
    +
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="project_source_code">Project source code</h3>
    +<div class="paragraph">
    +<p><a href="https://github.com/spring-cloud/spring-cloud-contract/tree/master/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy" class="bare">https://github.com/spring-cloud/spring-cloud-contract/tree/master/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy</a></p>
    +</div>
    +</div>
    +</div>
    +</div>
    +                  </div>
    +            </div>
    +          </div>
    +
    +    <hr/>
    +
    +    <footer>
    +            <div class="container-fluid">
    +                      <div class="row-fluid">
    +                                      <p >Copyright &copy;                    2016
    +                        <a href="http://spring.io/">Spring</a>.
    +            All rights reserved.    
    +      </p>
    +                </div>
    +
    +        
    +                </div>
    +    </footer>
    +        </body>
    +</html>
    diff --git a/HEAD/spring-cloud-contract-maven-plugin/usage.html b/HEAD/spring-cloud-contract-maven-plugin/usage.html
    new file mode 100644
    index 0000000000..a268962c96
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract-maven-plugin/usage.html
    @@ -0,0 +1,300 @@
    +<!DOCTYPE html>
    +<!--
    + | Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-07-27 
    + | Rendered using Apache Maven Fluido Skin 1.5
    +-->
    +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    +  <head>
    +    <meta charset="UTF-8" />
    +    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    +    <meta name="Date-Revision-yyyymmdd" content="20160727" />
    +    <meta http-equiv="Content-Language" content="en" />
    +    <title>Spring Cloud Contract Verifier Maven Plugin &#x2013; </title>
    +    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5.min.css" />
    +    <link rel="stylesheet" href="./css/site.css" />
    +    <link rel="stylesheet" href="./css/print.css" media="print" />
    +
    +      
    +    <script type="text/javascript" src="./js/apache-maven-fluido-1.5.min.js"></script>
    +
    +                      </head>
    +        <body class="topBarEnabled">
    +          
    +    
    +    
    +            
    +    
    +        
    +    <a href="https://github.com/spring-cloud/spring-cloud-contract">
    +      <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
    +        src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png"
    +        alt="Fork me on GitHub">
    +    </a>
    +  
    +                
    +                    
    +                
    +
    +    <div id="topbar" class="navbar navbar-fixed-top ">
    +      <div class="navbar-inner">
    +                <div class="container-fluid">
    +        <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
    +          <span class="icon-bar"></span>
    +          <span class="icon-bar"></span>
    +          <span class="icon-bar"></span>
    +        </a>
    +                
    +                                <ul class="nav">
    +                          <li class="dropdown">
    +        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Overview <b class="caret"></b></a>
    +        <ul class="dropdown-menu">
    +        
    +                      <li>      <a href="index.html"  title="Introduction">Introduction</a>
    +</li>
    +                  
    +                      <li>      <a href="usage.html"  title="Usage">Usage</a>
    +</li>
    +                  
    +                      <li>      <a href="plugin-info.html"  title="Goals">Goals</a>
    +</li>
    +                  
    +                      <li>      <a href="junit.html"  title="JUnit Configuration">JUnit Configuration</a>
    +</li>
    +                  
    +                      <li>      <a href="spock.html"  title="Spock Configuration">Spock Configuration</a>
    +</li>
    +                  
    +                      <li>      <a href="complex.html"  title="Complex Configuration">Complex Configuration</a>
    +</li>
    +                          </ul>
    +      </li>
    +                <li class="dropdown">
    +        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Related Projects <b class="caret"></b></a>
    +        <ul class="dropdown-menu">
    +        
    +                      <li>      <a href="https://github.com/spring-cloud/spring-cloud-contract"  title="Spring Cloud Contract">Spring Cloud Contract</a>
    +</li>
    +                          </ul>
    +      </li>
    +                  </ul>
    +          
    +          
    +          
    +                   
    +                      </div>
    +          
    +        </div>
    +      </div>
    +    </div>
    +    
    +        <div class="container-fluid">
    +          <div id="banner">
    +        <div class="pull-left">
    +                                <div id="bannerLeft">
    +                <h2>Spring Cloud Contract Maven Plugin</h2>
    +                </div>
    +                      </div>
    +        <div class="pull-right">              <div id="bannerRight">
    +                                                                                                <img src="" />
    +                </div>
    +      </div>
    +        <div class="clear"><hr/></div>
    +      </div>
    +
    +      <div id="breadcrumbs">
    +        <ul class="breadcrumb">
    +              
    +                  <li id="publishDate">Last Published: 2016-07-27
    +                      <span class="divider">|</span>
    +                   </li>
    +                  <li id="projectVersion">Version: 1.0.0.BUILD-SNAPSHOT
    +                      </li>
    +                      
    +              
    +      
    +                            </ul>
    +      </div>
    +
    +            
    +      <div class="row-fluid">
    +        <div id="leftColumn" class="span2">
    +          <div class="well sidebar-nav">
    +              
    +                <ul class="nav nav-list">
    +                    <li class="nav-header">Overview</li>
    +                              
    +      <li>
    +  
    +                          <a href="index.html" title="Introduction">
    +          <span class="none"></span>
    +        Introduction</a>
    +            </li>
    +                
    +      <li class="active">
    +  
    +            <a href="#"><span class="none"></span>Usage</a>
    +          </li>
    +                
    +      <li>
    +  
    +                          <a href="plugin-info.html" title="Goals">
    +          <span class="none"></span>
    +        Goals</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="junit.html" title="JUnit Configuration">
    +          <span class="none"></span>
    +        JUnit Configuration</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="spock.html" title="Spock Configuration">
    +          <span class="none"></span>
    +        Spock Configuration</a>
    +            </li>
    +                
    +      <li>
    +  
    +                          <a href="complex.html" title="Complex Configuration">
    +          <span class="none"></span>
    +        Complex Configuration</a>
    +            </li>
    +                              <li class="nav-header">Related Projects</li>
    +                              
    +      <li>
    +  
    +                          <a href="https://github.com/spring-cloud/spring-cloud-contract" title="Spring Cloud Contract">
    +          <span class="none"></span>
    +        Spring Cloud Contract</a>
    +            </li>
    +            </ul>
    +              
    +                
    +          <hr />
    +
    +           <div id="poweredBy">
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                            <div class="clear"></div>
    +                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
    +        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
    +      </a>
    +                  </div>
    +          </div>
    +        </div>
    +        
    +                
    +        <div id="bodyColumn"  class="span10" >
    +                                  
    +            <h1>Usage</h1>
    +<div class="sect1">
    +<h2 id="converting_spring_cloud_contract_dsl_into_wiremock_stub_mappings">Converting Spring Cloud Contract DSL into WireMock stub mappings</h2>
    +<div class="sectionbody">
    +<div class="literalblock">
    +<div class="content">
    +<pre>mvn org.springramework.cloud:spring-cloud-contract-maven-plugin:convert</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>or shortly <sup class="footnote" id="_footnote_prefix">[<a id="_footnoteref_1" class="footnote" href="#_footnote_1" title="View footnote.">1</a>]</sup></p>
    +</div>
    +<div class="literalblock">
    +<div class="content">
    +<pre>mvn spring-cloud-contract-verifier:convert</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>For more information please go to the Spring Cloud Contract Wiki or Plugin Documentation Site.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect1">
    +<h2 id="spring_cloud_contract_stub_runner">Spring Cloud Contract Stub Runner</h2>
    +<div class="sectionbody">
    +<div class="paragraph">
    +<p>Run stubs mappings from current directory:</p>
    +</div>
    +<div class="literalblock">
    +<div class="content">
    +<pre>mvn org.springramework.cloud:spring-cloud-contract-maven-plugin:run</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>or shortly <sup class="footnoteref">[<a class="footnote" href="#_footnote_1" title="View footnote.">1</a>]</sup></p>
    +</div>
    +<div class="literalblock">
    +<div class="content">
    +<pre>mvn spring-cloud-contract-verifier:run</pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect1">
    +<h2 id="running_stubs_from_repository">Running stubs from repository</h2>
    +<div class="sectionbody">
    +<div class="literalblock">
    +<div class="content">
    +<pre>mvn spring-cloud-contract-verifier:run -Dstubs="org.springframework:gs-rest-service"</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>where <code>org.springframework:gs-rest-service</code> is artifact with stubs classifier contains WireMock mappings.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect1">
    +<h2 id="project_configuration">Project configuration</h2>
    +<div class="sectionbody">
    +<div class="listingblock">
    +<div class="content">
    +<pre class="CodeRay highlight"><code data-lang="xml">            <span style="color:#070;font-weight:bold">&lt;plugin&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;groupId&gt;</span>org.springframework.cloud<span style="color:#070;font-weight:bold">&lt;/groupId&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;artifactId&gt;</span>spring-cloud-contract-maven-plugin<span style="color:#070;font-weight:bold">&lt;/artifactId&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;version&gt;</span>${spring-cloud-verifier-plugin.version}<span style="color:#070;font-weight:bold">&lt;/version&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;executions&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;execution&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;goals&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>convert<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>generateStubs<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                            <span style="color:#070;font-weight:bold">&lt;goal&gt;</span>generateTests<span style="color:#070;font-weight:bold">&lt;/goal&gt;</span>
    +                        <span style="color:#070;font-weight:bold">&lt;/goals&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;/execution&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;/executions&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;configuration&gt;</span>
    +                    <span style="color:#070;font-weight:bold">&lt;baseClassForTests&gt;</span>hello.BaseAccurest<span style="color:#070;font-weight:bold">&lt;/baseClassForTests&gt;</span>
    +                <span style="color:#070;font-weight:bold">&lt;/configuration&gt;</span>
    +            <span style="color:#070;font-weight:bold">&lt;/plugin&gt;</span></code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div id="footnotes">
    +<hr/>
    +<div class="footnote" id="_footnote_1">
    +<a href="#_footnoteref_1">1</a>. Additional configuration inside <code>~/.m2/settings.xml</code> is required: <code>&lt;pluginGroups&gt;&lt;pluginGroup&gt;io.codearte.Spring Cloud Contract&lt;/pluginGroup&gt;&lt;/pluginGroups&gt;</code>.
    +</div>
    +</div>
    +                  </div>
    +            </div>
    +          </div>
    +
    +    <hr/>
    +
    +    <footer>
    +            <div class="container-fluid">
    +                      <div class="row-fluid">
    +                                      <p >Copyright &copy;                    2016
    +                        <a href="http://spring.io/">Spring</a>.
    +            All rights reserved.    
    +      </p>
    +                </div>
    +
    +        
    +                </div>
    +    </footer>
    +        </body>
    +</html>
    diff --git a/HEAD/spring-cloud-contract.html b/HEAD/spring-cloud-contract.html
    new file mode 100644
    index 0000000000..cc11f4d7ea
    --- /dev/null
    +++ b/HEAD/spring-cloud-contract.html
    @@ -0,0 +1,5162 @@
    +<!DOCTYPE html>
    +<html lang="en">
    +<head>
    +<meta charset="UTF-8">
    +<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
    +<meta name="viewport" content="width=device-width, initial-scale=1.0">
    +<meta name="generator" content="Asciidoctor 1.5.3">
    +<title>Spring Cloud Contract</title>
    +<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
    +<style>
    +/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
    +/* Remove comment around @import statement below when using as a custom stylesheet */
    +/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
    +article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
    +audio,canvas,video{display:inline-block}
    +audio:not([controls]){display:none;height:0}
    +[hidden],template{display:none}
    +script{display:none!important}
    +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
    +body{margin:0}
    +a{background:transparent}
    +a:focus{outline:thin dotted}
    +a:active,a:hover{outline:0}
    +h1{font-size:2em;margin:.67em 0}
    +abbr[title]{border-bottom:1px dotted}
    +b,strong{font-weight:bold}
    +dfn{font-style:italic}
    +hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
    +mark{background:#ff0;color:#000}
    +code,kbd,pre,samp{font-family:monospace;font-size:1em}
    +pre{white-space:pre-wrap}
    +q{quotes:"\201C" "\201D" "\2018" "\2019"}
    +small{font-size:80%}
    +sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
    +sup{top:-.5em}
    +sub{bottom:-.25em}
    +img{border:0}
    +svg:not(:root){overflow:hidden}
    +figure{margin:0}
    +fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
    +legend{border:0;padding:0}
    +button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
    +button,input{line-height:normal}
    +button,select{text-transform:none}
    +button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
    +button[disabled],html input[disabled]{cursor:default}
    +input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
    +input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
    +input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
    +button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
    +textarea{overflow:auto;vertical-align:top}
    +table{border-collapse:collapse;border-spacing:0}
    +*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
    +html,body{font-size:100%}
    +body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
    +a:hover{cursor:pointer}
    +img,object,embed{max-width:100%;height:auto}
    +object,embed{height:100%}
    +img{-ms-interpolation-mode:bicubic}
    +.left{float:left!important}
    +.right{float:right!important}
    +.text-left{text-align:left!important}
    +.text-right{text-align:right!important}
    +.text-center{text-align:center!important}
    +.text-justify{text-align:justify!important}
    +.hide{display:none}
    +body{-webkit-font-smoothing:antialiased}
    +img,object,svg{display:inline-block;vertical-align:middle}
    +textarea{height:auto;min-height:50px}
    +select{width:100%}
    +.center{margin-left:auto;margin-right:auto}
    +.spread{width:100%}
    +p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
    +.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
    +div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
    +a{color:#2156a5;text-decoration:underline;line-height:inherit}
    +a:hover,a:focus{color:#1d4b8f}
    +a img{border:none}
    +p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
    +p aside{font-size:.875em;line-height:1.35;font-style:italic}
    +h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
    +h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
    +h1{font-size:2.125em}
    +h2{font-size:1.6875em}
    +h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
    +h4,h5{font-size:1.125em}
    +h6{font-size:1em}
    +hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
    +em,i{font-style:italic;line-height:inherit}
    +strong,b{font-weight:bold;line-height:inherit}
    +small{font-size:60%;line-height:inherit}
    +code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
    +ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
    +ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
    +ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
    +ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
    +ul.square{list-style-type:square}
    +ul.circle{list-style-type:circle}
    +ul.disc{list-style-type:disc}
    +ul.no-bullet{list-style:none}
    +ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
    +dl dt{margin-bottom:.3125em;font-weight:bold}
    +dl dd{margin-bottom:1.25em}
    +abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
    +abbr{text-transform:none}
    +blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
    +blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
    +blockquote cite:before{content:"\2014 \0020"}
    +blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
    +blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
    +@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
    +h1{font-size:2.75em}
    +h2{font-size:2.3125em}
    +h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
    +h4{font-size:1.4375em}}
    +table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
    +table thead,table tfoot{background:#f7f8f7;font-weight:bold}
    +table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
    +table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
    +table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
    +table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
    +body{tab-size:4}
    +h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
    +h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
    +.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
    +.clearfix:after,.float-group:after{clear:both}
    +*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
    +pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
    +.keyseq{color:rgba(51,51,51,.8)}
    +kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
    +.keyseq kbd:first-child{margin-left:0}
    +.keyseq kbd:last-child{margin-right:0}
    +.menuseq,.menu{color:rgba(0,0,0,.8)}
    +b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
    +b.button:before{content:"[";padding:0 3px 0 2px}
    +b.button:after{content:"]";padding:0 2px 0 3px}
    +p a>code:hover{color:rgba(0,0,0,.9)}
    +#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
    +#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
    +#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
    +#content{margin-top:1.25em}
    +#content:before{content:none}
    +#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
    +#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
    +#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
    +#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
    +#header .details span:first-child{margin-left:-.125em}
    +#header .details span.email a{color:rgba(0,0,0,.85)}
    +#header .details br{display:none}
    +#header .details br+span:before{content:"\00a0\2013\00a0"}
    +#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
    +#header .details br+span#revremark:before{content:"\00a0|\00a0"}
    +#header #revnumber{text-transform:capitalize}
    +#header #revnumber:after{content:"\00a0"}
    +#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
    +#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
    +#toc>ul{margin-left:.125em}
    +#toc ul.sectlevel0>li>a{font-style:italic}
    +#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
    +#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
    +#toc li{line-height:1.3334;margin-top:.3334em}
    +#toc a{text-decoration:none}
    +#toc a:active{text-decoration:underline}
    +#toctitle{color:#7a2518;font-size:1.2em}
    +@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
    +body.toc2{padding-left:15em;padding-right:0}
    +#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
    +#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
    +#toc.toc2>ul{font-size:.9em;margin-bottom:0}
    +#toc.toc2 ul ul{margin-left:0;padding-left:1em}
    +#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
    +body.toc2.toc-right{padding-left:0;padding-right:15em}
    +body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
    +@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
    +#toc.toc2{width:20em}
    +#toc.toc2 #toctitle{font-size:1.375em}
    +#toc.toc2>ul{font-size:.95em}
    +#toc.toc2 ul ul{padding-left:1.25em}
    +body.toc2.toc-right{padding-left:0;padding-right:20em}}
    +#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
    +#content #toc>:first-child{margin-top:0}
    +#content #toc>:last-child{margin-bottom:0}
    +#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
    +#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
    +.sect1{padding-bottom:.625em}
    +@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
    +.sect1+.sect1{border-top:1px solid #efefed}
    +#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
    +#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
    +#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
    +#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
    +#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
    +.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
    +.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
    +table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
    +.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
    +table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
    +.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
    +.admonitionblock>table td.icon{text-align:center;width:80px}
    +.admonitionblock>table td.icon img{max-width:none}
    +.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
    +.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
    +.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
    +.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
    +.exampleblock>.content>:first-child{margin-top:0}
    +.exampleblock>.content>:last-child{margin-bottom:0}
    +.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
    +.sidebarblock>:first-child{margin-top:0}
    +.sidebarblock>:last-child{margin-bottom:0}
    +.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
    +.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
    +.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
    +.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
    +.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
    +.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
    +@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
    +@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
    +.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
    +.listingblock pre.highlightjs{padding:0}
    +.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
    +.listingblock pre.prettyprint{border-width:0}
    +.listingblock>.content{position:relative}
    +.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
    +.listingblock:hover code[data-lang]:before{display:block}
    +.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
    +.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
    +table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
    +table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
    +table.pyhltable td.code{padding-left:.75em;padding-right:0}
    +pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
    +pre.pygments .lineno{display:inline-block;margin-right:.25em}
    +table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
    +.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
    +.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
    +.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
    +.quoteblock blockquote{margin:0;padding:0;border:0}
    +.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
    +.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
    +.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
    +.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
    +.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
    +.quoteblock .quoteblock blockquote:before{display:none}
    +.verseblock{margin:0 1em 1.25em 1em}
    +.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
    +.verseblock pre strong{font-weight:400}
    +.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
    +.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
    +.quoteblock .attribution br,.verseblock .attribution br{display:none}
    +.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
    +.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
    +.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
    +.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
    +table.tableblock{max-width:100%;border-collapse:separate}
    +table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
    +table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
    +table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
    +table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
    +table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
    +table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
    +table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
    +table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
    +table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
    +table.frame-all{border-width:1px}
    +table.frame-sides{border-width:0 1px}
    +table.frame-topbot{border-width:1px 0}
    +th.halign-left,td.halign-left{text-align:left}
    +th.halign-right,td.halign-right{text-align:right}
    +th.halign-center,td.halign-center{text-align:center}
    +th.valign-top,td.valign-top{vertical-align:top}
    +th.valign-bottom,td.valign-bottom{vertical-align:bottom}
    +th.valign-middle,td.valign-middle{vertical-align:middle}
    +table thead th,table tfoot th{font-weight:bold}
    +tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
    +tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
    +p.tableblock>code:only-child{background:none;padding:0}
    +p.tableblock{font-size:1em}
    +td>div.verse{white-space:pre}
    +ol{margin-left:1.75em}
    +ul li ol{margin-left:1.5em}
    +dl dd{margin-left:1.125em}
    +dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
    +ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
    +ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
    +ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
    +ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
    +ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
    +ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
    +ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
    +ul.inline>li>*{display:block}
    +.unstyled dl dt{font-weight:400;font-style:normal}
    +ol.arabic{list-style-type:decimal}
    +ol.decimal{list-style-type:decimal-leading-zero}
    +ol.loweralpha{list-style-type:lower-alpha}
    +ol.upperalpha{list-style-type:upper-alpha}
    +ol.lowerroman{list-style-type:lower-roman}
    +ol.upperroman{list-style-type:upper-roman}
    +ol.lowergreek{list-style-type:lower-greek}
    +.hdlist>table,.colist>table{border:0;background:none}
    +.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
    +td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
    +td.hdlist1{font-weight:bold;padding-bottom:1.25em}
    +.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
    +.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
    +.colist>table tr>td:last-of-type{padding:.25em 0}
    +.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
    +.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
    +.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
    +.imageblock>.title{margin-bottom:0}
    +.imageblock.thumb,.imageblock.th{border-width:6px}
    +.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
    +.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
    +.image.left{margin-right:.625em}
    +.image.right{margin-left:.625em}
    +a.image{text-decoration:none;display:inline-block}
    +a.image object{pointer-events:none}
    +sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
    +sup.footnote a,sup.footnoteref a{text-decoration:none}
    +sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
    +#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
    +#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
    +#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
    +#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
    +#footnotes .footnote:last-of-type{margin-bottom:0}
    +#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
    +.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
    +.gist .file-data>table td.line-data{width:99%}
    +div.unbreakable{page-break-inside:avoid}
    +.big{font-size:larger}
    +.small{font-size:smaller}
    +.underline{text-decoration:underline}
    +.overline{text-decoration:overline}
    +.line-through{text-decoration:line-through}
    +.aqua{color:#00bfbf}
    +.aqua-background{background-color:#00fafa}
    +.black{color:#000}
    +.black-background{background-color:#000}
    +.blue{color:#0000bf}
    +.blue-background{background-color:#0000fa}
    +.fuchsia{color:#bf00bf}
    +.fuchsia-background{background-color:#fa00fa}
    +.gray{color:#606060}
    +.gray-background{background-color:#7d7d7d}
    +.green{color:#006000}
    +.green-background{background-color:#007d00}
    +.lime{color:#00bf00}
    +.lime-background{background-color:#00fa00}
    +.maroon{color:#600000}
    +.maroon-background{background-color:#7d0000}
    +.navy{color:#000060}
    +.navy-background{background-color:#00007d}
    +.olive{color:#606000}
    +.olive-background{background-color:#7d7d00}
    +.purple{color:#600060}
    +.purple-background{background-color:#7d007d}
    +.red{color:#bf0000}
    +.red-background{background-color:#fa0000}
    +.silver{color:#909090}
    +.silver-background{background-color:#bcbcbc}
    +.teal{color:#006060}
    +.teal-background{background-color:#007d7d}
    +.white{color:#bfbfbf}
    +.white-background{background-color:#fafafa}
    +.yellow{color:#bfbf00}
    +.yellow-background{background-color:#fafa00}
    +span.icon>.fa{cursor:default}
    +.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
    +.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
    +.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
    +.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
    +.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
    +.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
    +.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
    +.conum[data-value] *{color:#fff!important}
    +.conum[data-value]+b{display:none}
    +.conum[data-value]:after{content:attr(data-value)}
    +pre .conum[data-value]{position:relative;top:-.125em}
    +b.conum *{color:inherit!important}
    +.conum:not([data-value]):empty{display:none}
    +dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
    +h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
    +p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
    +p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
    +p{margin-bottom:1.25rem}
    +.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
    +.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
    +.print-only{display:none!important}
    +@media print{@page{margin:1.25cm .75cm}
    +*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
    +a{color:inherit!important;text-decoration:underline!important}
    +a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
    +a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
    +abbr[title]:after{content:" (" attr(title) ")"}
    +pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
    +thead{display:table-header-group}
    +svg{max-width:100%}
    +p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
    +h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
    +#toc,.sidebarblock,.exampleblock>.content{background:none!important}
    +#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
    +.sect1{padding-bottom:0!important}
    +.sect1+.sect1{border:0!important}
    +#header>h1:first-child{margin-top:1.25rem}
    +body.book #header{text-align:center}
    +body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
    +body.book #header .details{border:0!important;display:block;padding:0!important}
    +body.book #header .details span:first-child{margin-left:0!important}
    +body.book #header .details br{display:block}
    +body.book #header .details br+span:before{content:none!important}
    +body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
    +body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
    +.listingblock code[data-lang]:before{display:block}
    +#footer{background:none!important;padding:0 .9375em}
    +#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
    +.hide-on-print{display:none!important}
    +.print-only{display:block!important}
    +.hide-for-print{display:none!important}
    +.show-for-print{display:inherit!important}}
    +</style>
    +</head>
    +<body class="article toc2 toc-left">
    +<div id="header">
    +<h1>Spring Cloud Contract</h1>
    +<div id="toc" class="toc2">
    +<div id="toctitle">Table of Contents</div>
    +<ul class="sectlevel1">
    +<li><a href="#_spring_cloud_contract">Spring Cloud Contract</a></li>
    +<li><a href="#_spring_cloud_contract_verifier">Spring Cloud Contract Verifier</a>
    +<ul class="sectlevel2">
    +<li><a href="#_introduction">Introduction</a>
    +<ul class="sectlevel3">
    +<li><a href="#_why">Why?</a>
    +<ul class="sectlevel4">
    +<li><a href="#_testing_issues">Testing issues</a></li>
    +</ul>
    +</li>
    +<li><a href="#_purposes">Purposes</a></li>
    +<li><a href="#_client_side">Client Side</a></li>
    +<li><a href="#_server_side">Server Side</a></li>
    +<li><a href="#_step_by_step_guide_to_cdc">Step by step guide to CDC</a>
    +<ul class="sectlevel4">
    +<li><a href="#_consumer_side_loan_issuance">Consumer side (Loan Issuance)</a></li>
    +<li><a href="#_producer_side_fraud_detection_server">Producer side (Fraud Detection server)</a></li>
    +</ul>
    +</li>
    +<li><a href="#_dependencies">Dependencies</a></li>
    +<li><a href="#_additional_links">Additional links</a>
    +<ul class="sectlevel4">
    +<li><a href="#_videos">Videos</a></li>
    +<li><a href="#_readings">Readings</a></li>
    +</ul>
    +</li>
    +<li><a href="#_samples">Samples</a></li>
    +<li><a href="#_why_use_spring_cloud_contract_verifier_and_not_x">Why use Spring Cloud Contract Verifier and not X ?</a></li>
    +</ul>
    +</li>
    +<li><a href="#_contract_dsl">Contract DSL</a>
    +<ul class="sectlevel3">
    +<li><a href="#_limitations">Limitations</a></li>
    +<li><a href="#_http_top_level_elements">HTTP Top-Level Elements</a></li>
    +<li><a href="#_request">Request</a></li>
    +<li><a href="#_response">Response</a></li>
    +<li><a href="#_dynamic_properties">Dynamic properties</a></li>
    +<li><a href="#_regular_expressions">Regular expressions</a></li>
    +<li><a href="#_passing_optional_parameters">Passing optional parameters</a></li>
    +<li><a href="#_executing_custom_methods_on_server_side">Executing custom methods on server side</a>
    +<ul class="sectlevel4">
    +<li><a href="#_contract_dsl_2">Contract DSL</a></li>
    +<li><a href="#_base_mock_spec">Base Mock Spec</a></li>
    +</ul>
    +</li>
    +<li><a href="#_jax_rs_support">JAX-RS support</a></li>
    +<li><a href="#_messaging_top_level_elements">Messaging Top-Level Elements</a>
    +<ul class="sectlevel4">
    +<li><a href="#_output_triggered_by_a_method">Output triggered by a method</a></li>
    +<li><a href="#_output_triggered_by_a_message">Output triggered by a message</a></li>
    +<li><a href="#_consumer_producer">Consumer / Producer</a></li>
    +</ul>
    +</li>
    +</ul>
    +</li>
    +<li><a href="#_spring_cloud_contract_verifier_http">Spring Cloud Contract Verifier HTTP</a>
    +<ul class="sectlevel3">
    +<li><a href="#_gradle_project">Gradle Project</a>
    +<ul class="sectlevel4">
    +<li><a href="#_prerequisites">Prerequisites</a>
    +<ul class="sectlevel5">
    +<li><a href="#_add_gradle_plugin_with_dependencies">Add gradle plugin with dependencies</a></li>
    +<li><a href="#_snapshot_versions_for_gradle">Snapshot versions for Gradle</a></li>
    +<li><a href="#_add_maven_plugin_with_dependencies">Add maven plugin with dependencies</a></li>
    +<li><a href="#_add_stubs">Add stubs</a></li>
    +</ul>
    +</li>
    +<li><a href="#_run_plugin">Run plugin</a></li>
    +<li><a href="#_default_setup">Default setup</a></li>
    +<li><a href="#_configure_plugin">Configure plugin</a>
    +<ul class="sectlevel5">
    +<li><a href="#_configuration_options">Configuration options</a></li>
    +<li><a href="#_base_class_for_tests">Base class for tests</a></li>
    +</ul>
    +</li>
    +<li><a href="#_invoking_generated_tests">Invoking generated tests</a></li>
    +<li><a href="#_spring_cloud_contract_verifier_on_consumer_side">Spring Cloud Contract Verifier on consumer side</a></li>
    +</ul>
    +</li>
    +<li><a href="#_using_in_your_maven_project">Using in your Maven project</a>
    +<ul class="sectlevel4">
    +<li><a href="#_add_maven_plugin">Add maven plugin</a>
    +<ul class="sectlevel5">
    +<li><a href="#_snapshot_versions_for_maven">Snapshot versions for Maven</a></li>
    +</ul>
    +</li>
    +<li><a href="#_add_stubs_2">Add stubs</a></li>
    +<li><a href="#_run_plugin_2">Run plugin</a></li>
    +<li><a href="#_configure_plugin_2">Configure plugin</a>
    +<ul class="sectlevel5">
    +<li><a href="#_important_configuration_options">Important configuration options</a></li>
    +<li><a href="#_base_class_for_tests_2">Base class for tests</a></li>
    +</ul>
    +</li>
    +<li><a href="#_invoking_generated_tests_2">Invoking generated tests</a></li>
    +<li><a href="#_spring_cloud_contract_verifier_on_consumer_side_2">Spring Cloud Contract Verifier on consumer side</a></li>
    +</ul>
    +</li>
    +<li><a href="#_scenarios">Scenarios</a></li>
    +</ul>
    +</li>
    +<li><a href="#_spring_cloud_contract_verifier_messaging">Spring Cloud Contract Verifier Messaging</a>
    +<ul class="sectlevel3">
    +<li><a href="#_integrations">Integrations</a></li>
    +<li><a href="#_manual_integration_testing">Manual Integration Testing</a></li>
    +<li><a href="#_publisher_side_test_generation">Publisher side test generation</a>
    +<ul class="sectlevel4">
    +<li><a href="#_scenario_1_no_input_message">Scenario 1 (no input message)</a></li>
    +<li><a href="#_scenario_2_output_triggered_by_input">Scenario 2 (output triggered by input)</a></li>
    +<li><a href="#_scenario_3_no_output_message">Scenario 3 (no output message)</a></li>
    +</ul>
    +</li>
    +<li><a href="#_consumer_stub_side_generation">Consumer Stub Side generation</a>
    +<ul class="sectlevel4">
    +<li><a href="#_gradle_setup">Gradle Setup</a></li>
    +<li><a href="#_maven_setup">Maven Setup</a></li>
    +</ul>
    +</li>
    +</ul>
    +</li>
    +<li><a href="#_spring_cloud_contract_stub_runner">Spring Cloud Contract Stub Runner</a>
    +<ul class="sectlevel3">
    +<li><a href="#_snapshot_versions">Snapshot versions</a></li>
    +<li><a href="#_publishing_stubs_as_jars">Publishing stubs as JARs</a>
    +<ul class="sectlevel4">
    +<li><a href="#_gradle">Gradle</a></li>
    +<li><a href="#_maven">Maven</a></li>
    +</ul>
    +</li>
    +<li><a href="#_modules">Modules</a></li>
    +</ul>
    +</li>
    +<li><a href="#_stub_runner_core">Stub Runner Core</a>
    +<ul class="sectlevel3">
    +<li><a href="#_running_stubs">Running stubs</a>
    +<ul class="sectlevel4">
    +<li><a href="#_running_using_main_app">Running using main app</a></li>
    +<li><a href="#_http_stubs">HTTP Stubs</a></li>
    +<li><a href="#_viewing_registered_mappings">Viewing registered mappings</a></li>
    +<li><a href="#_messaging_stubs">Messaging Stubs</a></li>
    +</ul>
    +</li>
    +</ul>
    +</li>
    +<li><a href="#_stub_runner_junit_rule">Stub Runner JUnit Rule</a>
    +<ul class="sectlevel3">
    +<li><a href="#_providing_fixed_ports">Providing fixed ports</a></li>
    +<li><a href="#_fluent_api">Fluent API</a></li>
    +<li><a href="#_stub_runner_with_spring">Stub Runner with Spring</a></li>
    +</ul>
    +</li>
    +<li><a href="#_stub_runner_spring_cloud">Stub Runner Spring Cloud</a>
    +<ul class="sectlevel3">
    +<li><a href="#_stubbing_service_discovery">Stubbing Service Discovery</a></li>
    +<li><a href="#_additional_configuration">Additional Configuration</a></li>
    +</ul>
    +</li>
    +<li><a href="#_stub_runner_boot_application">Stub Runner Boot Application</a>
    +<ul class="sectlevel3">
    +<li><a href="#_how_to_use_it">How to use it?</a></li>
    +<li><a href="#_endpoints">Endpoints</a>
    +<ul class="sectlevel4">
    +<li><a href="#_http">HTTP</a></li>
    +<li><a href="#_messaging">Messaging</a></li>
    +</ul>
    +</li>
    +<li><a href="#_example">Example</a></li>
    +<li><a href="#_common_properties_for_junit_and_spring">Common properties for JUnit and Spring</a>
    +<ul class="sectlevel4">
    +<li><a href="#_stub_runner_stubs_ids">Stub runner stubs ids</a></li>
    +</ul>
    +</li>
    +</ul>
    +</li>
    +<li><a href="#_stub_runner_for_messaging">Stub Runner for Messaging</a>
    +<ul class="sectlevel3">
    +<li><a href="#_stub_triggering">Stub triggering</a>
    +<ul class="sectlevel4">
    +<li><a href="#_trigger_by_label">Trigger by label</a>
    +<ul class="sectlevel5">
    +<li><a href="#_trigger_by_group_and_artifact_ids">Trigger by group and artifact ids</a></li>
    +<li><a href="#_trigger_by_artifact_ids">Trigger by artifact ids</a></li>
    +</ul>
    +</li>
    +<li><a href="#_trigger_all_messages">Trigger all messages</a></li>
    +</ul>
    +</li>
    +</ul>
    +</li>
    +<li><a href="#_stub_runner_camel">Stub Runner Camel</a>
    +<ul class="sectlevel3">
    +<li><a href="#_adding_it_to_the_project">Adding it to the project</a></li>
    +<li><a href="#_examples">Examples</a>
    +<ul class="sectlevel4">
    +<li><a href="#_stubs_structure">Stubs structure</a></li>
    +<li><a href="#_scenario_1_no_input_message_2">Scenario 1 (no input message)</a></li>
    +<li><a href="#_scenario_2_output_triggered_by_input_2">Scenario 2 (output triggered by input)</a></li>
    +<li><a href="#_scenario_3_input_with_no_output">Scenario 3 (input with no output)</a></li>
    +</ul>
    +</li>
    +</ul>
    +</li>
    +<li><a href="#_stub_runner_integration">Stub Runner Integration</a>
    +<ul class="sectlevel3">
    +<li><a href="#_adding_it_to_the_project_2">Adding it to the project</a></li>
    +<li><a href="#_examples_2">Examples</a>
    +<ul class="sectlevel4">
    +<li><a href="#_stubs_structure_2">Stubs structure</a></li>
    +<li><a href="#_scenario_1_no_input_message_3">Scenario 1 (no input message)</a></li>
    +<li><a href="#_scenario_2_output_triggered_by_input_3">Scenario 2 (output triggered by input)</a></li>
    +<li><a href="#_scenario_3_input_with_no_output_2">Scenario 3 (input with no output)</a></li>
    +</ul>
    +</li>
    +</ul>
    +</li>
    +<li><a href="#_stub_runner_stream">Stub Runner Stream</a>
    +<ul class="sectlevel3">
    +<li><a href="#_adding_it_to_the_project_3">Adding it to the project</a></li>
    +<li><a href="#_examples_3">Examples</a>
    +<ul class="sectlevel4">
    +<li><a href="#_stubs_structure_3">Stubs structure</a></li>
    +<li><a href="#_scenario_1_no_input_message_4">Scenario 1 (no input message)</a></li>
    +<li><a href="#_scenario_2_output_triggered_by_input_4">Scenario 2 (output triggered by input)</a></li>
    +<li><a href="#_scenario_3_input_with_no_output_3">Scenario 3 (input with no output)</a></li>
    +</ul>
    +</li>
    +</ul>
    +</li>
    +<li><a href="#_links">Links</a></li>
    +</ul>
    +</li>
    +<li><a href="#_spring_cloud_contract_wiremock">Spring Cloud Contract WireMock</a>
    +<ul class="sectlevel2">
    +<li><a href="#_registering_stubs_automatically">Registering Stubs Automatically</a></li>
    +<li><a href="#_alternative_using_junit_rules">Alternative: Using JUnit Rules</a></li>
    +</ul>
    +</li>
    +<li><a href="#_wiremock_and_spring_mvc_mocks">WireMock and Spring MVC Mocks</a></li>
    +<li><a href="#_generating_stubs_using_restdocs">Generating Stubs using RestDocs</a></li>
    +</ul>
    +</div>
    +</div>
    +<div id="content">
    +<div id="preamble">
    +<div class="sectionbody">
    +<div class="paragraph">
    +<p><em>Documentation Authors: Adam Dudczak, Marcin Grzejszczak, Jakub Kubryński, Karol Lassak,
    +Olga Maciaszek-Sharma, Mariusz Smykuła, Dave Syer</em></p>
    +</div>
    +</div>
    +</div>
    +<div class="sect1">
    +<h2 id="_spring_cloud_contract">Spring Cloud Contract</h2>
    +<div class="sectionbody">
    +<div class="paragraph">
    +<p>What you always need is confidence in pushing new features into a new application or service in a distributed system.
    +This project provides support for Consumer Driven Contracts and service schemas in Spring applications, covering a
    +range of options for writing tests, publishing them as assets, asserting that a contract is kept by producers
    +and consumers, for HTTP and message-based interactions.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect1">
    +<h2 id="_spring_cloud_contract_verifier">Spring Cloud Contract Verifier</h2>
    +<div class="sectionbody">
    +<div class="sect2">
    +<h3 id="_introduction">Introduction</h3>
    +<div class="admonitionblock important">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Important</div>
    +</td>
    +<td class="content">
    +<a href="http://codearte.github.io/accurest">The documentation to the deprecated Accurest project in version 1.1.0 is available here.</a>
    +</td>
    +</tr>
    +</table>
    +</div>
    +<div class="admonitionblock tip">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Tip</div>
    +</td>
    +<td class="content">
    +The Accurest project was initially started by Marcin Grzejszczak and Jakub Kubrynski (<a href="http://codearte.io">codearte.io</a>)
    +</td>
    +</tr>
    +</table>
    +</div>
    +<div class="paragraph">
    +<p>Just to make long story short - Spring Cloud Contract Verifier is a tool that enables Consumer Driven Contract (CDC) development of JVM-based applications. It is shipped
    +with <em>Contract Definition Language</em> (DSL). Contract definitions are used to produce following resources:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>JSON stub definitions to be used by WireMock when doing integration testing on the client code (<em>client tests</em>).
    +Test code must still be written by hand, test data is produced by Spring Cloud Contract Verifier.</p>
    +</li>
    +<li>
    +<p>Messaging routes if you&#8217;re using one. We&#8217;re integrating with Spring Integration, Spring Cloud Stream and Apache Camel. You can however set your own integrations if you want to</p>
    +</li>
    +<li>
    +<p>Acceptance tests (in JUnit or Spock) used to verify if server-side implementation of the API is compliant with the contract (<em>server tests</em>).
    +Full test is generated by Spring Cloud Contract Verifier.</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier moves TDD to the level of software architecture.</p>
    +</div>
    +<div class="sect3">
    +<h4 id="_why">Why?</h4>
    +<div class="paragraph">
    +<p>Let us assume that we have a system comprising of multiple microservices:</p>
    +</div>
    +<div class="imageblock">
    +<div class="content">
    +<img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/docs/src/main/asciidoc/images/Deps.png" alt="Microservices Architecture">
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_testing_issues">Testing issues</h5>
    +<div class="paragraph">
    +<p>If we wanted to test the application in top left corner if it can communicate with other services then we could do one of two things:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>deploy all microservices and perform end to end tests</p>
    +</li>
    +<li>
    +<p>mock other microservices in unit / integration tests</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>Both have their advantages but also a lot of disadvantages. Let&#8217;s focus on the latter.</p>
    +</div>
    +<div class="paragraph">
    +<p><strong>Deploy all microservices and perform end to end tests</strong></p>
    +</div>
    +<div class="paragraph">
    +<p>Advantages:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>simulates production</p>
    +</li>
    +<li>
    +<p>tests real communication between services</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>Disadvantages:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>to test one microservice we would have to deploy 6 microservices, a couple of databases etc.</p>
    +</li>
    +<li>
    +<p>the environment where the tests would be conducted would be locked for a single suite of tests (i.e. nobody else would be able to run the tests in the meantime).</p>
    +</li>
    +<li>
    +<p>long to run</p>
    +</li>
    +<li>
    +<p>very late feedback</p>
    +</li>
    +<li>
    +<p>extremely hard to debug</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p><strong>Mock other microservices in unit / integration tests</strong></p>
    +</div>
    +<div class="paragraph">
    +<p>Advantages:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>very fast feedback</p>
    +</li>
    +<li>
    +<p>no infrastructure requirements</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>Disadvantages:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>the implementor of the service creates stubs thus they might have nothing to do with the reality</p>
    +</li>
    +<li>
    +<p>you can go to production with passing tests and failing production</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>To solve the aforementioned issues Spring Cloud Contract Verifier with Stub Runner were created. Their main idea is to give you very fast feedback, without the need
    +to set up the whole world of microservices.</p>
    +</div>
    +<div class="imageblock">
    +<div class="content">
    +<img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/docs/src/main/asciidoc/images/Stubs1.png" alt="Stubbed Services">
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>If you work on stubs then the only applications you need are those that your application is using directly.</p>
    +</div>
    +<div class="imageblock">
    +<div class="content">
    +<img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/docs/src/main/asciidoc/images/Stubs2.png" alt="Stubbed Services">
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier gives you the certainty that the stubs that you&#8217;re using were created by the service that you&#8217;re calling. Also if you can use them it means that they were
    +tested against the producer&#8217;s side. In other words - you can trust those stubs.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_purposes">Purposes</h4>
    +<div class="paragraph">
    +<p>The main purposes of Spring Cloud Contract Verifier with Stub Runner are:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>to ensure that WireMock / Messaging stubs (used when developing the client) are doing exactly what actual server-side implementation will do,</p>
    +</li>
    +<li>
    +<p>to promote ATDD method and Microservices architectural style,</p>
    +</li>
    +<li>
    +<p>to provide a way to publish changes in contracts that are immediately visible on both sides,</p>
    +</li>
    +<li>
    +<p>to generate boilerplate test code used on the server side.</p>
    +</li>
    +</ul>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_client_side">Client Side</h4>
    +<div class="paragraph">
    +<p>During the tests you want to have a WireMock instance / Messaging route up and running that simulates the service Y.
    +You would like to feed that instance with a proper stub definition. That stub definition would need
    +to be valid and should also be reusable on the server side.</p>
    +</div>
    +<div class="paragraph">
    +<p><em>Summing it up:</em> On this side, in the stub definition, you can use patterns for request stubbing and you need exact
    +values for responses.</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_server_side">Server Side</h4>
    +<div class="paragraph">
    +<p>Being a service Y since you are developing your stub, you need to be sure that it&#8217;s actually resembling your
    +concrete implementation. You can&#8217;t have a situation where your stub acts in one way and your application on
    +production behaves in a different way.</p>
    +</div>
    +<div class="paragraph">
    +<p>That&#8217;s why from the provided stub acceptance tests will be generated that will ensure
    +that your application behaves in the same way as you define in your stub.</p>
    +</div>
    +<div class="paragraph">
    +<p><em>Summing it up:</em> On this side, in the stub definition, you need exact values as request and can use patterns/methods
    +for response verification.</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_step_by_step_guide_to_cdc">Step by step guide to CDC</h4>
    +<div class="paragraph">
    +<p>Let&#8217;s take an example of Fraud Detection and Loan Issuance process. The business scenario is such that we want to issue loans to people but don&#8217;t want them to steal the money from us. The current implementation of our system grants loans to everybody.</p>
    +</div>
    +<div class="paragraph">
    +<p>Let&#8217;s assume that the <code>Loan Issuance</code> is a client to the
    +<code>Fraud Detection</code> server. In the current sprint we are required to develop a new feature - if a client wants to borrow too much money then we mark him as fraud.</p>
    +</div>
    +<div class="paragraph">
    +<p>Technical remark - Fraud Detection will have artifact id <code>http-server</code>, Loan Issuance <code>http-client</code> and both have group id <code>com.example</code>.</p>
    +</div>
    +<div class="paragraph">
    +<p>Social remark - both client and server development teams need to communicate directly and discuss changes while
    +going through the process. CDC is all about communication.</p>
    +</div>
    +<div class="paragraph">
    +<p>The <a href="https://github.com/spring-cloud/spring-cloud-contract/tree/master/samples/standalone/http-server">server side code is available here</a> and <a href="https://github.com/spring-cloud/spring-cloud-contract/tree/master/samples/standalone/http-client">the client side code here</a>.</p>
    +</div>
    +<div class="sect4">
    +<h5 id="_consumer_side_loan_issuance">Consumer side (Loan Issuance)</h5>
    +<div class="paragraph">
    +<p>As a developer of the Loan Issuance service (a consumer of the Fraud Detection server):</p>
    +</div>
    +<div class="paragraph">
    +<p><strong>start doing TDD by writing a test to your feature</strong></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/src/test/java/com/example/loan/LoanApplicationServiceTests.java[tags=client_tdd,indent=0]</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>We&#8217;ve just written a test of our new feature. If a loan application for a big amount is received we should reject that loan application with some description.</p>
    +</div>
    +<div class="paragraph">
    +<p><strong>write the missing implementation</strong></p>
    +</div>
    +<div class="paragraph">
    +<p>At some point in time you need to send a request to the Fraud Detection service. Let&#8217;s assume that we&#8217;d like to send the request containing the id of the client and the amount he wants to borrow from us. We&#8217;d like to send it to the <code>/fraudcheck</code> url via the <code>PUT</code> method.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/src/main/java/com/example/loan/LoanApplicationService.java[tags=client_call_server,indent=0]</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>For simplicity we&#8217;ve hardcoded the port of the Fraud Detection service at <code>8080</code> and our application is running on <code>8090</code>.</p>
    +</div>
    +<div class="paragraph">
    +<p>If we&#8217;d start the written test it would obviously break since we have no service running on port <code>8080</code>.</p>
    +</div>
    +<div class="paragraph">
    +<p><strong>clone the Fraud Detection service repository locally</strong></p>
    +</div>
    +<div class="paragraph">
    +<p>We&#8217;ll start playing around with the server side contract. That&#8217;s why we need to first clone it.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">git clone https://your-git-server.com/server-side.git local-http-server-repo</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p><strong>define the contract locally in the repo of Fraud Detection service</strong></p>
    +</div>
    +<div class="paragraph">
    +<p>As consumers we need to define what exactly we want to achieve. We need to formulate our expectations. That&#8217;s why we write the following contract.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/test/resources/contracts/shouldMarkClientAsFraud.groovy[]
    +
    +The Contract is written using a statically typed Groovy DSL. You might be wondering what are those
    +`value(client(...), server(...))` parts. By using this notation Spring Cloud Contract allows you to
    +define parts of a JSON / URL / etc. which are dynamic. In case of an identifier or a timestamp you
    +don't want to hardcode a value. You want to allow some different ranges of values. That's why for
    +the consumer side you can set regular expressions matching those values. You can provide the body
    +either by means of a map notation or String with interpolations.
    +https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html#_contract_dsl[Consult the docs
    +for more information.] We highly recommend using the map notation!
    +
    +The aforementioned contract is an agreement between two sides that:
    +
    +- if an HTTP request is sent with
    +** a method `PUT` on an endpoint `/fraudcheck`
    +** JSON body with `clientId` matching the regular expression `[0-9]{10}` and `loanAmount` equal to `99999`
    +** and with a header `Content-Type` equal to `application/vnd.fraud.v1+json`
    +- then an HTTP response would be sent to the consumer that
    +** has status `200`
    +** contains JSON body with the `fraudCheckStatus` field containing a value `FRAUD` and the `rejectionReason` field having value `Amount too high`
    +** and a `Content-Type` header with a value of `application/vnd.fraud.v1+json`
    +
    +Once we're ready to check the API in practice in the integration tests we need to just install the stubs locally
    +
    +*add the Spring Cloud Contract Verifier plugin*
    +
    +We can add either Maven or Gradle plugin - in this example we'll show how to add Maven. First we need to add the `Spring Cloud Contract` BOM.
    +
    +[source,xml,indent=0]</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/pom.xml[tags=contract_bom,indent=0]</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>Next, the `Spring Cloud Contract Verifier` Maven plugin
    +
    +[source,xml,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/pom.xml[tags=contract_maven_plugin,indent=0]</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>Since the plugin was added we get the `Spring Cloud Contract Verifier` features which from the provided contracts:
    +
    +- generate and run tests
    +- produce and install stubs
    +
    +We don't want to generate tests since we, as consumers, want only to play with the stubs. That's why we need to skip the tests generation and execution. When we execute:
    +
    +[source,bash,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>cd local-http-server-repo
    +./mvnw clean install -DskipTests</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>In the logs we'll see something like this:
    +
    +[source,bash,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>[INFO] --- spring-cloud-contract-maven-plugin:1.0.0.BUILD-SNAPSHOT:generateStubs (default-generateStubs) @ http-server ---
    +[INFO] Building jar: /some/path/http-server/target/http-server-0.0.1-SNAPSHOT-stubs.jar</p>
    +</div>
    +<div class="paragraph">
    +<p>[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ http-server ---
    +[INFO] Building jar: /some/path/http-server/target/http-server-0.0.1-SNAPSHOT.jar</p>
    +</div>
    +<div class="paragraph">
    +<p>[INFO] --- spring-boot-maven-plugin:1.4.0.BUILD-SNAPSHOT:repackage (default) @ http-server ---</p>
    +</div>
    +<div class="paragraph">
    +<p>[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ http-server ---
    +[INFO] Installing /some/path/http-server/target/http-server-0.0.1-SNAPSHOT.jar to /path/to/your/.m2/repository/com/example/http-server/0.0.1-SNAPSHOT/http-server-0.0.1-SNAPSHOT.jar
    +[INFO] Installing /some/path/http-server/pom.xml to /path/to/your/.m2/repository/com/example/http-server/0.0.1-SNAPSHOT/http-server-0.0.1-SNAPSHOT.pom
    +[INFO] Installing /some/path/http-server/target/http-server-0.0.1-SNAPSHOT-stubs.jar to /path/to/your/.m2/repository/com/example/http-server/0.0.1-SNAPSHOT/http-server-0.0.1-SNAPSHOT-stubs.jar</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>This line is extremely important
    +
    +[source,bash,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>[INFO] Installing /some/path/http-server/target/http-server-0.0.1-SNAPSHOT-stubs.jar to /path/to/your/.m2/repository/com/example/http-server/0.0.1-SNAPSHOT/http-server-0.0.1-SNAPSHOT-stubs.jar</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>It's confirming that the stubs of the `http-server` have been installed in the local repository.
    +
    +*run the integration tests*
    +
    +In order to profit from the Spring Cloud Contract Stub Runner functionality of automatic stub downloading you have to do the following in our consumer side project (`Loan Application service`).
    +
    +Add the `Spring Cloud Contract` BOM
    +
    +[source,xml,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/pom.xml[tags=contract_bom,indent=0]</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>Add the dependency to `Spring Cloud Contract Stub Runner`
    +
    +[source,xml,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/pom.xml[tags=stub_runner,indent=0]</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>Provide the group id and artifact id for the Stub Runner to download stubs of your collaborators. Also provide the offline work switch since you're playing with the collaborators offline (optional step).
    +
    +[source,yaml,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/src/test/resources/application.yaml[]</p>
    +</div>
    +<div class="paragraph">
    +<p>Annotate your test class with <code>@AutoConfigureStubRunner</code></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/src/test/java/com/example/loan/LoanApplicationServiceTests.java[tags=autoconfigure_stubrunner,indent=0]</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Now if you run your tests you&#8217;ll see sth like this:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">2016-07-19 14:22:25.403  INFO 41050 --- [           main] o.s.c.c.stubrunner.AetherStubDownloader  : Desired version is + - will try to resolve the latest version
    +2016-07-19 14:22:25.438  INFO 41050 --- [           main] o.s.c.c.stubrunner.AetherStubDownloader  : Resolved version is 0.0.1-SNAPSHOT
    +2016-07-19 14:22:25.439  INFO 41050 --- [           main] o.s.c.c.stubrunner.AetherStubDownloader  : Resolving artifact com.example:http-server:jar:stubs:0.0.1-SNAPSHOT using remote repositories []
    +2016-07-19 14:22:25.451  INFO 41050 --- [           main] o.s.c.c.stubrunner.AetherStubDownloader  : Resolved artifact com.example:http-server:jar:stubs:0.0.1-SNAPSHOT to /path/to/your/.m2/repository/com/example/http-server/0.0.1-SNAPSHOT/http-server-0.0.1-SNAPSHOT-stubs.jar
    +2016-07-19 14:22:25.465  INFO 41050 --- [           main] o.s.c.c.stubrunner.AetherStubDownloader  : Unpacking stub from JAR [URI: file:/path/to/your/.m2/repository/com/example/http-server/0.0.1-SNAPSHOT/http-server-0.0.1-SNAPSHOT-stubs.jar]
    +2016-07-19 14:22:25.475  INFO 41050 --- [           main] o.s.c.c.stubrunner.AetherStubDownloader  : Unpacked file to [/var/folders/0p/xwq47sq106x1_g3dtv6qfm940000gq/T/contracts100276532569594265]
    +2016-07-19 14:22:27.737  INFO 41050 --- [           main] o.s.c.c.stubrunner.StubRunnerExecutor    : All stubs are now running RunningStubs [namesAndPorts={com.example:http-server:0.0.1-SNAPSHOT:stubs=8080}]</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Which means that Stub Runner has found your stubs and started a server for app with group id <code>com.example</code>, artifact id <code>http-server</code> with version <code>0.0.1-SNAPSHOT</code> of the stubs and with <code>stubs</code> classifier on port <code>8080</code>.</p>
    +</div>
    +<div class="paragraph">
    +<p><strong>file a PR</strong></p>
    +</div>
    +<div class="paragraph">
    +<p>What we did until now is an iterative process. We can play around with the contract, install it locally and work on the consumer side until we&#8217;re happy with the contract.</p>
    +</div>
    +<div class="paragraph">
    +<p>Once we&#8217;re satisfied with the results and the test passes publish a PR to the server side. Currently the consumer side work is done.</p>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_producer_side_fraud_detection_server">Producer side (Fraud Detection server)</h5>
    +<div class="paragraph">
    +<p>As a developer of the Fraud Detection server (a server to the Loan Issuance service):</p>
    +</div>
    +<div class="paragraph">
    +<p><strong>initial implementation</strong></p>
    +</div>
    +<div class="paragraph">
    +<p>As a reminder here you can see the initial implementation</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=server_api,indent=0]
    +Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=initial_impl,indent=0]
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p><strong>take over the PR</strong></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">git checkout -b contract-change-pr master
    +git pull https://your-git-server.com/server-side-fork.git contract-change-pr</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>You have to add the dependencies needed by the autogenerated tests</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/pom.xml[tags=verifier_test_dependencies,indent=0]</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>In the configuration of the Maven plugin we passed the <code>baseClassForTests</code> property</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/pom.xml[tags=contract_maven_plugin,indent=0]</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>That&#8217;s because all the generated tests will extend that class. Over there you can set up your Spring Context or whatever is necessary. In our case we&#8217;re using <a href="http://rest-assured.io/">Rest Assured MVC</a> to start the server side <code>FraudDetectionController</code>.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/test/java/com/example/fraud/MvcTest.java[]
    +
    +Now, if you run the `./mvnw clean install` you would get sth like this:
    +
    +[source,bash,indent=0]</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Results :</p>
    +</div>
    +<div class="paragraph">
    +<p>Tests in error:
    +  ContractVerifierTest.validate_shouldMarkClientAsFraud:32 » IllegalState Parsed&#8230;&#8203;</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>That's because you have a new contract from which a test was generated and it failed since you haven't implemented the feature. The autogenerated test would look like this:
    +
    +[source,java,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>@Test
    +public void validate_shouldMarkClientAsFraud() throws Exception {
    +    // given:
    +        MockMvcRequestSpecification request = given()
    +                .header("Content-Type", "application/vnd.fraud.v1+json")
    +                .body("{\"clientId\":\"1234567890\",\"loanAmount\":99999}");</p>
    +</div>
    +<div class="literalblock">
    +<div class="content">
    +<pre>// when:
    +    ResponseOptions response = given().spec(request)
    +            .put("/fraudcheck");</pre>
    +</div>
    +</div>
    +<div class="literalblock">
    +<div class="content">
    +<pre>    // then:
    +        assertThat(response.statusCode()).isEqualTo(200);
    +        assertThat(response.header("Content-Type")).matches("application/vnd.fraud.v1.json.*");
    +    // and:
    +        DocumentContext parsedJson = JsonPath.parse(response.getBody().asString());
    +        assertThatJson(parsedJson).field("fraudCheckStatus").matches("[A-Z]{5}");
    +        assertThatJson(parsedJson).field("rejectionReason").isEqualTo("Amount too high");
    +}</pre>
    +</div>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>As you can see all the `producer()` parts of the Contract that were present in the `value(consumer(...), producer(...))` blocks got injected into the test.
    +
    +What's important here to note is that on the producer side we also are doing TDD. We have expectations in form of a test. This test is shooting a request to our own application to an URL, headers and body defined in the contract. It also is expecting very precisely defined values in the response. In other words you have is your `red` part of `red`, `green` and `refactor`. Time to convert the `red` into the `green`.
    +
    +*write the missing implementation*
    +
    +Now since we now what is the expected input and expected output let's write the missing implementation.
    +
    +[source,java,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=server_api,indent=0]
    +Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=new_impl,indent=0]
    +Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-server/src/main/java/com/example/fraud/FraudDetectionController.java[tags=initial_impl,indent=0]
    +}</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>If we execute `./mvnw clean install` again the tests will pass. Since the `Spring Cloud Contract Verifier` plugin adds the tests to the `generated-test-sources` you can actually run those tests from your IDE.
    +
    +*deploy your app*
    +
    +Once you've finished your work it's time to deploy your change. First merge the branch
    +
    +[source,bash,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>git checkout master
    +git merge --no-ff contract-change-pr
    +git push origin master</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>Then we assume that your CI would run sth like `./mvnw clean deploy` which would publish both the application and the stub artifcats.
    +
    +===== Consumer side (Loan Issuance) final step
    +
    +As a developer of the Loan Issuance service (a consumer of the Fraud Detection server):
    +
    +*merge branch to master*
    +
    +[source,bash,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>git checkout master
    +git merge --no-ff contract-change-pr</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>*work online*
    +
    +Now you can disable the offline work for Spring Cloud Contract Stub Runner ad provide where the repository with your stubs is placed. At this moment the stubs of the server side will be automatically downloaded from Nexus / Artifactory.
    +
    +[source,yaml,indent=0]</pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Unresolved directive in verifier/introduction.adoc - include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-contract/master/samples/standalone/http-client/src/test/resources/application-test-repo.yaml[]</p>
    +</div>
    +<div class="paragraph">
    +<p>And that&#8217;s it!</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_dependencies">Dependencies</h4>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier and Stub Runner are using the following libraries</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p><a href="http://wiremock.org/">WireMock</a></p>
    +</li>
    +<li>
    +<p><a href="https://github.com/jayway/JsonPath">Jayway JSONPath</a></p>
    +</li>
    +<li>
    +<p><a href="https://github.com/marcingrzejszczak/jsonassert">JSONAssert from Marcin Grzejszczak</a></p>
    +</li>
    +</ul>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_additional_links">Additional links</h4>
    +<div class="paragraph">
    +<p>Below you can find some resources related to Spring Cloud Contract Verifier and Stub Runner. Note that some can be outdated since the Spring Cloud Contract Verifier project
    +is under constant development.</p>
    +</div>
    +<div class="sect4">
    +<h5 id="_videos">Videos</h5>
    +<div class="paragraph">
    +<p><strong>Marcin Grzejszczak and Jakub Kubryński talking about Spring Cloud Contract Verifier</strong></p>
    +</div>
    +<div class="videoblock">
    +<div class="content">
    +<iframe src="https://www.youtube.com/embed/msRFcQM07-Y?rel=0" frameborder="0" allowfullscreen></iframe>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p><a href="https://www.youtube.com/watch?v=msRFcQM07-Y">click here to see the video</a></p>
    +</div>
    +<div class="paragraph">
    +<p><strong>Olga Maciaszek-Sharma talking about Accurest (Spring Cloud Contract Verifier predecessor)</strong></p>
    +</div>
    +<div class="videoblock">
    +<div class="content">
    +<iframe src="https://www.youtube.com/embed/daafmTYFoDU?rel=0" frameborder="0" allowfullscreen></iframe>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p><a href="https://www.youtube.com/watch?v=daafmTYFoDU">click here to see the video</a></p>
    +</div>
    +<div class="paragraph">
    +<p><strong>Marcin Grzejszczak and Jakub Kubryński talking about Accurest (Spring Cloud Contract Verifier predecessor)</strong></p>
    +</div>
    +<div class="videoblock">
    +<div class="content">
    +<iframe src="https://player.vimeo.com/video/130779882" frameborder="0" allowfullscreen></iframe>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p><a href="https://vimeo.com/130779882">click here to see the video</a></p>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_readings">Readings</h5>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p><a href="http://www.slideshare.net/MarcinGrzejszczak/stick-to-the-rules-consumer-driven-contracts-201507-confitura">Slides from Marcin Grzejszczak&#8217;s talk about Accurest</a></p>
    +</li>
    +<li>
    +<p><a href="http://toomuchcoding.com/blog/categories/accurest/">Accurest related articles from Marcin Grzejszczak&#8217;s blog</a></p>
    +</li>
    +<li>
    +<p><a href="http://toomuchcoding.com/blog/categories/spring-cloud-contract/">Spring Cloud Contract related articles from Marcin Grzejszczak&#8217;s blog</a></p>
    +</li>
    +</ul>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_samples">Samples</h4>
    +<div class="paragraph">
    +<p>Here you can find some <a href="https://github.com/spring-cloud/spring-cloud-contract/tree/master/samples/">samples</a>.</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_why_use_spring_cloud_contract_verifier_and_not_x">Why use Spring Cloud Contract Verifier and not X ?</h4>
    +<div class="paragraph">
    +<p>For the time being Spring Cloud Contract Verifier is a JVM based tool. So it could be your first pick when you&#8217;re already creating
    +software for the JVM. This project has a lot of really interesting features but especially quite a few of them definitely make
    +Spring Cloud Contract Verifier stand out on the "market" of Consumer Driven Contract (CDC) tooling. Out of many the most interesting are:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>Possibility to do CDC with messaging</p>
    +</li>
    +<li>
    +<p>Clear and easy to use, statically typed DSL</p>
    +</li>
    +<li>
    +<p>Possibility to copy paste your current JSON file to the contract and only edit its elements</p>
    +</li>
    +<li>
    +<p>Automatic generation of tests from the defined Contract</p>
    +</li>
    +<li>
    +<p>Stub Runner functionality - the stubs are automatically downloaded at runtime from Nexus / Artifactory</p>
    +</li>
    +<li>
    +<p>Spring Cloud integration - no discovery service is needed for integration tests</p>
    +</li>
    +</ul>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_contract_dsl">Contract DSL</h3>
    +<div class="admonitionblock important">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Important</div>
    +</td>
    +<td class="content">
    +Remember that inside the contract file you have to provide the fully qualified name to
    +the <code>Contract</code> class and the <code>make</code> static import i.e. <code>org.springframework.cloud.spec.Contract.make { &#8230;&#8203; }</code>.
    +You can also provide an import to the <code>Contract</code> class <code>import org.springframework.cloud.spec.Contract</code> and then call
    +  <code>Contract.make { &#8230;&#8203; }</code>
    +</td>
    +</tr>
    +</table>
    +</div>
    +<div class="paragraph">
    +<p>Contract DSL is written in Groovy, but don&#8217;t be alarmed if you didn&#8217;t use Groovy before. Knowledge of the language is not really needed as our DSL uses only
    +a tiny subset of it (namely literals, method calls and closures). What&#8217;s more the DSL is designed to be programmer-readable without any knowledge of the DSL itself -
    + it&#8217;s statically typed.</p>
    +</div>
    +<div class="paragraph">
    +<p>The Contract is present in the <code>spring-cloud-contract-spec</code> module of the Spring Cloud Contract Verifier repository.</p>
    +</div>
    +<div class="paragraph">
    +<p>Let&#8217;s look at full example of a contract definition.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		method 'PUT'
    +		url '/api/12'
    +		headers {
    +			header 'Content-Type': 'application/vnd.org.springframework.cloud.contract.verifier.twitter-places-analyzer.v1+json'
    +		}
    +		body '''\
    +		[{
    +			"created_at": "Sat Jul 26 09:38:57 +0000 2014",
    +			"id": 492967299297845248,
    +			"id_str": "492967299297845248",
    +			"text": "Gonna see you at Warsaw",
    +			"place":
    +			{
    +				"attributes":{},
    +				"bounding_box":
    +				{
    +					"coordinates":
    +						[[
    +							[-77.119759,38.791645],
    +							[-76.909393,38.791645],
    +							[-76.909393,38.995548],
    +							[-77.119759,38.995548]
    +						]],
    +					"type":"Polygon"
    +				},
    +				"country":"United States",
    +				"country_code":"US",
    +				"full_name":"Washington, DC",
    +				"id":"01fbe706f872cb32",
    +				"name":"Washington",
    +				"place_type":"city",
    +				"url": "http://api.twitter.com/1/geo/id/01fbe706f872cb32.json"
    +			}
    +		}]
    +	'''
    +	}
    +	response {
    +		status 200
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Not all features of the DSL are used in example above. If you didn&#8217;t find what you are looking for, please check next paragraphs on this page.</p>
    +</div>
    +<div class="quoteblock">
    +<blockquote>
    +<div class="paragraph">
    +<p>You can easily compile Contracts to WireMock stubs mapping using standalone maven command: <code>mvn org.springframework.cloud:spring-cloud-contract-maven-plugin:convert</code>.</p>
    +</div>
    +</blockquote>
    +</div>
    +<div class="sect3">
    +<h4 id="_limitations">Limitations</h4>
    +<div class="admonitionblock warning">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Warning</div>
    +</td>
    +<td class="content">
    +Spring Cloud Contract Verifier doesn&#8217;t support XML properly. Please use JSON or help us implement this feature.
    +</td>
    +</tr>
    +</table>
    +</div>
    +<div class="admonitionblock warning">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Warning</div>
    +</td>
    +<td class="content">
    +Spring Cloud Contract Verifier supports equality check on text response. Regular expressions are not yet available.
    +</td>
    +</tr>
    +</table>
    +</div>
    +<div class="admonitionblock warning">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Warning</div>
    +</td>
    +<td class="content">
    +The support for the verification of size of JSON arrays is experimental. If you want to turn it on please provide
    +the value of a system property <code>spring.cloud.contract.verifier.assert.size</code> equal to <code>true</code>. By default this feature is set to
    +<code>false</code>. You can also provide the <code>assertJsonSize</code> property in the plugin configuration.
    +</td>
    +</tr>
    +</table>
    +</div>
    +<div class="admonitionblock warning">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Warning</div>
    +</td>
    +<td class="content">
    +Due to the fact that JSON structure can have any form it&#8217;s sometimes impossible to parse it properly when using
    +the <code>value(consumer(&#8230;&#8203;), producer(&#8230;&#8203;))</code> notation when using that in GString. That&#8217;s why we highly recommend using the
    +Groovy Map notation.
    +</td>
    +</tr>
    +</table>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_http_top_level_elements">HTTP Top-Level Elements</h4>
    +<div class="paragraph">
    +<p>Following methods can be called in the top-level closure of a contract definition. Request and response are mandatory, priority is optional.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	// Definition of HTTP request part of the contract
    +	// (this can be a valid request or invalid depending
    +	// on type of contract being specified).
    +	request {
    +		//...
    +	}
    +
    +	// Definition of HTTP response part of the contract
    +	// (a service implementing this contract should respond
    +	// with following response after receiving request
    +	// specified in "request" part above).
    +	response {
    +		//...
    +	}
    +
    +	// Contract priority, which can be used for overriding
    +	// contracts (1 is highest). Priority is optional.
    +	priority 1
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_request">Request</h4>
    +<div class="paragraph">
    +<p>HTTP protocol requires only <strong>method and address</strong> to be specified in a request. The same information is mandatory in request definition of the Contract.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		// HTTP request method (GET/POST/PUT/DELETE).
    +		method 'GET'
    +
    +		// Path component of request URL is specified as follows.
    +		urlPath('/users')
    +	}
    +
    +	response {
    +		//...
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>It is possible to specify whole <code>url</code> instead of just path, but <code>urlPath</code> is the recommended way as it makes the tests <strong>host-independent</strong>.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		method 'GET'
    +
    +		// Specifying `url` and `urlPath` in one contract is illegal.
    +		url('http://localhost:8888/users')
    +	}
    +
    +	response {
    +		//...
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Request may contain <strong>query parameters</strong>, which are specified in a closure nested in a call to <code>urlPath</code> or <code>url</code>.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		//...
    +
    +		urlPath('/users') {
    +
    +			// Each parameter is specified in form
    +			// `'paramName' : paramValue` where parameter value
    +			// may be a simple literal or one of matcher functions,
    +			// all of which are used in this example.
    +			queryParameters {
    +
    +				// If a simple literal is used as value
    +				// default matcher function is used (equalTo)
    +				parameter 'limit': 100
    +
    +				// `equalTo` function simply compares passed value
    +				// using identity operator (==).
    +				parameter 'filter': equalTo("email")
    +
    +				// `containing` function matches strings
    +				// that contains passed substring.
    +				parameter 'gender': value(consumer(containing("[mf]")), producer('mf'))
    +
    +				// `matching` function tests parameter
    +				// against passed regular expression.
    +				parameter 'offset': value(consumer(matching("[0-9]+")), producer(123))
    +
    +				// `notMatching` functions tests if parameter
    +				// does not match passed regular expression.
    +				parameter 'loginStartsWith': value(consumer(notMatching(".{0,2}")), producer(3))
    +			}
    +		}
    +
    +		//...
    +	}
    +
    +	response {
    +		//...
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>It may contain additional <strong>request headers</strong>&#8230;&#8203;</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		//...
    +
    +		// Each header is added in form `'Header-Name' : 'Header-Value'`.
    +		headers {
    +			header 'Content-Type': 'application/json'
    +		}
    +
    +		//...
    +	}
    +
    +	response {
    +		//...
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>&#8230;&#8203;and a <strong>request body</strong>.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		//...
    +
    +		// JSON and XML formats of request body are supported.
    +		// Format will be determined from a header or body's content.
    +		body '''{ "login" : "john", "name": "John The Contract" }'''
    +	}
    +
    +	response {
    +		//...
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p><strong>Body&#8217;s format</strong> can also be specified explicitly by invoking one of format functions.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		//...
    +
    +		// In this case body will be formatted as XML.
    +		body equalToXml(
    +				'''&lt;user&gt;&lt;login&gt;john&lt;/login&gt;&lt;name&gt;John The Contract&lt;/name&gt;&lt;/user&gt;'''
    +		)
    +	}
    +
    +	response {
    +		//...
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_response">Response</h4>
    +<div class="paragraph">
    +<p>Minimal response must contain <strong>HTTP status code</strong>.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		//...
    +	}
    +	response {
    +		// Status code sent by the server
    +		// in response to request specified above.
    +		status 200
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Besides status response may contain <strong>headers</strong> and <strong>body</strong>, which are specified the same way as in the request (see previous paragraph).</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_dynamic_properties">Dynamic properties</h4>
    +<div class="paragraph">
    +<p>The contract can contain some dynamic properties - timestamps / ids etc. You don&#8217;t want to enforce the consumers to stub their
    +clocks to always return the same value of time so that it gets matched by the stub. That&#8217;s why we allow you to provide the dynamic
    +parts in your contracts in the following way</p>
    +</div>
    +<div class="paragraph">
    +<p>either via the <code>value</code> method</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">value(consumer(...), producer(...))
    +value(stub(...), test(...))
    +value(client(...), server(...))</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>or if you&#8217;re using the Groovy map notation for body you can use the <code>$()</code> method</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">$(consumer(...), producer(...))
    +$(stub(...), test(...))
    +$(client(...), server(...))</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>All of the aforementioned approaches are equal. That means that <code>stub</code> and <code>client</code> methods are aliases over the <code>consumer</code>
    +method. Let&#8217;s take a closer look at what we can do with those values in the subsequent sections.</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_regular_expressions">Regular expressions</h4>
    +<div class="paragraph">
    +<p>You can use regular expressions to write your requests in Contract DSL. It is particularly useful when you want to indicate that a given response
    +should be provided for requests that follow a given pattern. Also, you can use it when you need to use patterns and not exact values both
    +for your test and your server side tests.</p>
    +</div>
    +<div class="paragraph">
    +<p>Please see the example below:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		method('GET')
    +		url $(consumer(~/\/[0-9]{2}/), producer('/12'))
    +	}
    +	response {
    +		status 200
    +		body(
    +				id: value(
    +						consumer('123'),
    +						producer(regex('[0-9]+'))
    +				),
    +				surname: $(
    +						consumer('Kowalsky'),
    +						producer(regex('[a-zA-Z]+'))
    +				),
    +				name: 'Jan',
    +				created: $(consumer('2014-02-02 12:23:43'), producer(execute('currentDate(it)'))),
    +				correlationId: value(consumer('5d1f9fef-e0dc-4f3d-a7e4-72d2220dd827'),
    +						producer(regex('[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}'))
    +				)
    +		)
    +		headers {
    +			header 'Content-Type': 'text/plain'
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>You can also provide only one side of the communication using a regular expression. If you do that then automatically we&#8217;ll
    +provide the generated string that matches the provided regular expression. For example:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		method 'PUT'
    +		url value(consumer(regex('/foo/[0-9]{5}')))
    +		body([
    +			requestElement: value(consumer(regex('[0-9]{5}')))
    +		])
    +		headers {
    +			header('header', value(consumer(regex('application\\/vnd\\.fraud\\.v1\\+json;.*'))))
    +		}
    +	}
    +	response {
    +		status 200
    +		body([
    +			responseElement: value(producer(regex('[0-9]{7}')))
    +		])
    +		headers {
    +			header('Content-Type': value(
    +					producer(regex('application/vnd.fraud.v1.json.*')),
    +					consumer('application/vnd.fraud.v1+json'))
    +			)
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>In this example for request and response the opposite side of the communication will have the respective data generated.</p>
    +</div>
    +<div class="paragraph">
    +<p>Spring Cloud Contract comes with a series of predefined regular expressions that you can use in your contracts.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">private static final Pattern TRUE_OR_FALSE = Pattern.compile(/(true|false)/)
    +private static final Pattern ONLY_ALPHA_UNICODE = Pattern.compile(/[\p{L}]*/)
    +private static final Pattern NUMBER = Pattern.compile('-?\\d*(\\.\\d+)?')
    +private static final Pattern IP_ADDRESS = Pattern.compile('([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])');
    +private static final Pattern HOSTNAME_PATTERN = Pattern.compile('((http[s]?|ftp):\\/)\\/?([^:\\/\\s]+)(:[0-9]{1,5})?');
    +private static final Pattern EMAIL = Pattern.compile('[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}');
    +private static final Pattern URL = Pattern.compile('((www\\.|(http|https|ftp|news|file)+\\:\\/\\/)[_.a-z0-9-]+\\.[a-z0-9\\/_:@=.+?,##%&amp;~-]*[^.|\\\'|\\# |!|\\(|?|,| |&gt;|&lt;|;|\\)])')
    +
    +String onlyAlphaUnicode() {
    +	return ONLY_ALPHA_UNICODE.pattern()
    +}
    +
    +String number() {
    +	return NUMBER.pattern()
    +}
    +
    +String anyBoolean() {
    +	return TRUE_OR_FALSE.pattern()
    +}
    +
    +String ipAddress() {
    +	return IP_ADDRESS.pattern()
    +}
    +
    +String hostname() {
    +	return HOSTNAME_PATTERN.pattern()
    +}
    +
    +String email() {
    +	return EMAIL.pattern()
    +}
    +
    +String url() {
    +	return URL.pattern()
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>so in your contract you can use it like this</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Contract dslWithOptionalsInString = Contract.make {
    +	priority 1
    +	request {
    +		method 'POST'
    +		url '/users/password'
    +		headers {
    +			header 'Content-Type': 'application/json'
    +		}
    +		body(
    +				email: $(consumer(optional(regex(email()))), producer('abc@abc.com')),
    +				callback_url: $(consumer(regex(hostname())), producer('http://partners.com'))
    +		)
    +	}
    +	response {
    +		status 404
    +		headers {
    +			header 'Content-Type': 'application/json'
    +		}
    +		body(
    +				code: value(consumer("123123"), producer(optional("123123"))),
    +				message: "User not found by email = [${value(producer(regex(email())), consumer('not.existing@user.com'))}]"
    +		)
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_passing_optional_parameters">Passing optional parameters</h4>
    +<div class="paragraph">
    +<p>It is possible to provide optional parameters in your contract. It&#8217;s only possible to have optional parameter for the:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p><em>STUB</em> side of the Request</p>
    +</li>
    +<li>
    +<p><em>TEST</em> side of the Response</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>Example:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	priority 1
    +	request {
    +		method 'POST'
    +		url '/users/password'
    +		headers {
    +			header 'Content-Type': 'application/json'
    +		}
    +		body(
    +				email: $(consumer(optional(regex(email()))), producer('abc@abc.com')),
    +				callback_url: $(consumer(regex(hostname())), producer('http://partners.com'))
    +		)
    +	}
    +	response {
    +		status 404
    +		headers {
    +			header 'Content-Type': 'application/json'
    +		}
    +		body(
    +				code: value(consumer("123123"), producer(optional("123123")))
    +		)
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>By wrapping a part of the body with the <code>optional()</code> method you are in fact creating a regular expression that should be present 0 or more times.</p>
    +</div>
    +<div class="paragraph">
    +<p>That way for the example above the following test would be generated if you pick Spock:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">"""
    + given:
    +  def request = given()
    +    .header('Content-Type', 'application/json')
    +    .body('''{"email":"abc@abc.com","callback_url":"http://partners.com"}''')
    +
    + when:
    +  def response = given().spec(request)
    +    .post("/users/password")
    +
    + then:
    +  response.statusCode == 404
    +  response.header('Content-Type')  == 'application/json'
    + and:
    +  DocumentContext parsedJson = JsonPath.parse(response.body.asString())
    +  assertThatJson(parsedJson).field("code").matches("(123123)?")
    +"""</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>and the following stub:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-javascript" data-lang="javascript">'''
    +{
    +  "request" : {
    +    "url" : "/users/password",
    +    "method" : "POST",
    +    "bodyPatterns" : [ {
    +      "matchesJsonPath" : "$[?(@.email =~ /([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4})?/)]"
    +    }, {
    +      "matchesJsonPath" : "$[?(@.callback_url =~ /((http[s]?|ftp):\\\\/)\\\\/?([^:\\\\/\\\\s]+)(:[0-9]{1,5})?/)]"
    +    } ],
    +    "headers" : {
    +      "Content-Type" : {
    +        "equalTo" : "application/json"
    +      }
    +    }
    +  },
    +  "response" : {
    +    "status" : 404,
    +    "body" : "{\\"code\\":\\"123123\\",\\"message\\":\\"User not found by email == [not.existing@user.com]\\"}",
    +    "headers" : {
    +      "Content-Type" : "application/json"
    +    }
    +  },
    +  "priority" : 1
    +}
    +'''</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_executing_custom_methods_on_server_side">Executing custom methods on server side</h4>
    +<div class="paragraph">
    +<p>It is also possible to define a method call to be executed on the server side during the test. Such a method can be added to the class defined as "baseClassForTests"
    +in the configuration. Please see the examples below:</p>
    +</div>
    +<div class="sect4">
    +<h5 id="_contract_dsl_2">Contract DSL</h5>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">org.springframework.cloud.contract.spec.Contract.make {
    +	request {
    +		method 'PUT'
    +		url $(consumer(regex('^/api/[0-9]{2}$')), producer('/api/12'))
    +		headers {
    +			header 'Content-Type': 'application/json'
    +		}
    +		body '''\
    +				[{
    +					"text": "Gonna see you at Warsaw"
    +				}]
    +			'''
    +	}
    +	response {
    +		body (
    +				path: $(consumer('/api/12'), producer(regex('^/api/[0-9]{2}$'))),
    +				correlationId: $(consumer('1223456'), producer(execute('isProperCorrelationId($it)')))
    +		)
    +		status 200
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_base_mock_spec">Base Mock Spec</h5>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">abstract class BaseMockMvcSpec extends Specification {
    +
    +	def setup() {
    +		RestAssuredMockMvc.standaloneSetup(new PairIdController())
    +	}
    +
    +	void isProperCorrelationId(Integer correlationId) {
    +		assert correlationId == 123456
    +	}
    +
    +	void isEmpty(String value) {
    +		assert value == null
    +	}
    +
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_jax_rs_support">JAX-RS support</h4>
    +<div class="paragraph">
    +<p>Starting with release 0.8.0 we support JAX-RS 2 Client API. Base class needs to define <code>protected WebTarget webTarget</code> and server initialization, right now the only option how to test JAX-RS API is to start a web server.</p>
    +</div>
    +<div class="paragraph">
    +<p>Request with a body needs to have a content type set otherwise <code>application/octet-stream</code> is going to be used.</p>
    +</div>
    +<div class="paragraph">
    +<p>In order to use JAX-RS mode, use the following settings:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">testMode === 'JAXRSCLIENT'</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Example of a test API generated:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">'''
    + // when:
    +  Response response = webTarget
    +    .path("/users")
    +    .queryParam("limit", "10")
    +    .queryParam("offset", "20")
    +    .queryParam("filter", "email")
    +    .queryParam("sort", "name")
    +    .queryParam("search", "55")
    +    .queryParam("age", "99")
    +    .queryParam("name", "Denis.Stepanov")
    +    .queryParam("email", "bob@email.com")
    +    .request()
    +    .method("GET");
    +
    +  String responseAsString = response.readEntity(String.class);
    +
    + // then:
    +  assertThat(response.getStatus()).isEqualTo(200);
    + // and:
    +  DocumentContext parsedJson = JsonPath.parse(responseAsString);
    +  assertThatJson(parsedJson).field("property1").isEqualTo("a");
    +'''</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_messaging_top_level_elements">Messaging Top-Level Elements</h4>
    +<div class="paragraph">
    +<p>The DSL for messaging looks a little bit different than the one that focuses on HTTP.</p>
    +</div>
    +<div class="sect4">
    +<h5 id="_output_triggered_by_a_method">Output triggered by a method</h5>
    +<div class="paragraph">
    +<p>The output message can be triggered by calling a method (e.g. a Scheduler was started and a message was sent)</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">def dsl = Contract.make {
    +	// Human readable description
    +	description 'Some description'
    +	// Label by means of which the output message can be triggered
    +	label 'some_label'
    +	// input to the contract
    +	input {
    +		// the contract will be triggered by a method
    +		triggeredBy('bookReturnedTriggered()')
    +	}
    +	// output message of the contract
    +	outputMessage {
    +		// destination to which the output message will be sent
    +		sentTo('output')
    +		// the body of the output message
    +		body('''{ "bookName" : "foo" }''')
    +		// the headers of the output message
    +		headers {
    +			header('BOOK-NAME', 'foo')
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>In this case the output message will be sent to <code>output</code> if a method called <code>bookReturnedTriggered</code> will be executed. In the message <strong>publisher&#8217;s</strong> side
    +we will generate a test that will call that method to trigger the message. On the <strong>consumer</strong> side you can use the <code>some_label</code> to trigger the message.</p>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_output_triggered_by_a_message">Output triggered by a message</h5>
    +<div class="paragraph">
    +<p>The output message can be triggered by receiving a message.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">def dsl = Contract.make {
    +	description 'Some Description'
    +	label 'some_label'
    +	// input is a message
    +	input {
    +		// the message was received from this destination
    +		messageFrom('input')
    +		// has the following body
    +		messageBody([
    +		        bookName: 'foo'
    +		])
    +		// and the following headers
    +		messageHeaders {
    +			header('sample', 'header')
    +		}
    +	}
    +	outputMessage {
    +		sentTo('output')
    +		body([
    +		        bookName: 'foo'
    +		])
    +		headers {
    +			header('BOOK-NAME', 'foo')
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>In this case the output message will be sent to <code>output</code> if a proper message will be received on the <code>input</code> destination. In the message <strong>publisher&#8217;s</strong> side
    +we will generate a test that will send the input message to the defined destination. On the <strong>consumer</strong> side you can either send a message to the input
    +destination or use the <code>some_label</code> to trigger the message.</p>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_consumer_producer">Consumer / Producer</h5>
    +<div class="paragraph">
    +<p>In HTTP you have a notion of <code>client</code>/<code>stub and `server</code>/<code>test</code> notation. You can use them also in messaging but we&#8217;re providing also the <code>consumer</code> and <code>produer</code> methods
    +as presented below (note you can use either <code>$</code> or <code>value</code> methods to provide <code>consumer</code> and <code>producer</code> parts)</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Contract.make {
    +	label 'some_label'
    +	input {
    +		messageFrom value(consumer('jms:output'), producer('jms:input'))
    +		messageBody([
    +				bookName: 'foo'
    +		])
    +		messageHeaders {
    +			header('sample', 'header')
    +		}
    +	}
    +	outputMessage {
    +		sentTo $(consumer('jms:input'), producer('jms:output'))
    +		body([
    +				bookName: 'foo'
    +		])
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_spring_cloud_contract_verifier_http">Spring Cloud Contract Verifier HTTP</h3>
    +<div class="sect3">
    +<h4 id="_gradle_project">Gradle Project</h4>
    +<div class="sect4">
    +<h5 id="_prerequisites">Prerequisites</h5>
    +<div class="paragraph">
    +<p>In order to use Spring Cloud Contract Verifier with WireMock you have to use Gradle or Maven plugin.</p>
    +</div>
    +<div class="admonitionblock warning">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Warning</div>
    +</td>
    +<td class="content">
    +If you want to use Spock in your projects you have to add separately
    +the <code>spock-core</code> and <code>spock-spring</code> modules. Check <a href="http://spockframework.github.io/">Spock docs for more information</a>
    +</td>
    +</tr>
    +</table>
    +</div>
    +<div class="sect5">
    +<h6 id="_add_gradle_plugin_with_dependencies">Add gradle plugin with dependencies</h6>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">buildscript {
    +	repositories {
    +		mavenCentral()
    +	}
    +	dependencies {
    +	    classpath "org.springframework.boot:spring-boot-gradle-plugin:${springboot_version}"
    +		classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:${verifier_version}"
    +	}
    +}
    +
    +apply plugin: 'groovy'
    +apply plugin: 'spring-cloud-contract'
    +
    +dependencyManagement {
    +	imports {
    +		mavenBom "org.springframework.cloud:spring-cloud-contract-dependencies:${verifier_version}"
    +	}
    +}
    +
    +dependencies {
    +	testCompile 'org.codehaus.groovy:groovy-all:2.4.6'
    +	// example with adding Spock core and Spock Spring
    +	testCompile 'org.spockframework:spock-core:1.0-groovy-2.4'
    +	testCompile 'org.spockframework:spock-spring:1.0-groovy-2.4'
    +	testCompile 'org.springframework.cloud:spring-cloud-starter-contract-verifier'
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect5">
    +<h6 id="_snapshot_versions_for_gradle">Snapshot versions for Gradle</h6>
    +<div class="paragraph">
    +<p>Add the additional snapshot repository to your build.gradle to use snapshot versions which are automatically uploaded after every successful build:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">buildscript {
    +	repositories {
    +		mavenCentral()
    +		mavenLocal()
    +		maven { url "http://repo.spring.io/snapshot" }
    +		maven { url "http://repo.spring.io/milestone" }
    +		maven { url "http://repo.spring.io/release" }
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect5">
    +<h6 id="_add_maven_plugin_with_dependencies">Add maven plugin with dependencies</h6>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;dependencyManagement&gt;
    +    &lt;dependencies&gt;
    +        &lt;dependency&gt;
    +            &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
    +            &lt;artifactId&gt;spring-cloud-contract-dependencies&lt;/artifactId&gt;
    +            &lt;version&gt;${spring-cloud-contract.version}&lt;/version&gt;
    +            &lt;type&gt;pom&lt;/type&gt;
    +            &lt;scope&gt;import&lt;/scope&gt;
    +        &lt;/dependency&gt;
    +    &lt;/dependencies&gt;
    +&lt;/dependencyManagement&gt;
    +
    +&lt;dependencies&gt;
    +    &lt;dependency&gt;
    +        &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
    +        &lt;artifactId&gt;spring-cloud-starter-contract-verifier&lt;/artifactId&gt;
    +        &lt;scope&gt;test&lt;/scope&gt;
    +    &lt;/dependency&gt;
    +&lt;/dependencies&gt;
    +
    +&lt;plugin&gt;
    +    &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
    +    &lt;artifactId&gt;spring-cloud-contract-maven-plugin&lt;/artifactId&gt;
    +    &lt;executions&gt;
    +        &lt;execution&gt;
    +            &lt;goals&gt;
    +                &lt;goal&gt;convert&lt;/goal&gt;
    +                &lt;goal&gt;generateStubs&lt;/goal&gt;
    +                &lt;goal&gt;generateTests&lt;/goal&gt;
    +            &lt;/goals&gt;
    +        &lt;/execution&gt;
    +    &lt;/executions&gt;
    +&lt;/plugin&gt;</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Read more: <a href="https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract-maven-plugin/">spring-cloud-contract-maven-plugin</a></p>
    +</div>
    +</div>
    +<div class="sect5">
    +<h6 id="_add_stubs">Add stubs</h6>
    +<div class="paragraph">
    +<p>By default Spring Cloud Contract Verifier is looking for stubs in <code>src/test/resources/contracts</code> directory.</p>
    +</div>
    +<div class="paragraph">
    +<p>Directory containing stub definitions is treated as a class name, and each stub definition is treated as a single test.
    +We assume that it contains at least one directory which will be used as test class name. If there is more than one level of nested directories all except the last one will be used as package name.
    +So with following structure</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">src/test/resources/contracts/myservice/shouldCreateUser.groovy
    +src/test/resources/contracts/myservice/shouldReturnUser.groovy</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier will create test class <code>defaultBasePackage.MyService</code> with two methods</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p><code>shouldCreateUser()</code></p>
    +</li>
    +<li>
    +<p><code>shouldReturnUser()</code></p>
    +</li>
    +</ul>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_run_plugin">Run plugin</h5>
    +<div class="paragraph">
    +<p>Plugin registers itself to be invoked before <code>check</code> task. You have nothing to do as long as you want it to be part of your build process. If you just want to generate tests please invoke <code>generateContractTests</code> task.</p>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_default_setup">Default setup</h5>
    +<div class="paragraph">
    +<p>Default Gradle Plugin setup creates the following Gradle part of the build (it&#8217;s a pseudocode)</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">contracts {
    +    targetFramework = 'JUNIT'
    +    testMode = 'MockMvc'
    +    generatedTestSourcesDir = project.file("${project.buildDir}/generated-test-sources/contracts")
    +    contractsDslDir = "${project.rootDir}/src/test/resources/contracts"
    +    basePackageForTests = 'org.springframework.cloud.verifier.tests'
    +    stubsOutputDir = project.file("${project.buildDir}/stubs")
    +}
    +
    +tasks.create(type: Jar, name: 'verifierStubsJar', dependsOn: 'generateWireMockClientStubs') {
    +    baseName = project.name
    +    classifier = contracts.stubsSuffix
    +    from contractVerifier.stubsOutputDir
    +}
    +
    +project.artifacts {
    +    archives task
    +}
    +
    +tasks.create(type: Copy, name: 'copyContracts') {
    +    from contracts.contractsDslDir
    +    into contracts.stubsOutputDir
    +}
    +
    +verifierStubsJar.dependsOn 'copyContracts'
    +
    +publishing {
    +    publications {
    +        stubs(MavenPublication) {
    +            artifactId project.name
    +            artifact verifierStubsJar
    +        }
    +    }
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_configure_plugin">Configure plugin</h5>
    +<div class="paragraph">
    +<p>To change default configuration just add <code>contracts</code> snippet to your Gradle config</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">contracts {
    +	testMode = 'MockMvc'
    +	baseClassForTests = 'org.mycompany.tests'
    +	generatedTestSourcesDir = project.file('src/generatedContract')
    +}</code></pre>
    +</div>
    +</div>
    +<div class="sect5">
    +<h6 id="_configuration_options">Configuration options</h6>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p><strong>testMode</strong> - defines mode for acceptance tests. By default MockMvc which is based on Spring&#8217;s MockMvc. It can also be changed to <strong>JaxRsClient</strong> or to <strong>Explicit</strong> for real HTTP calls.</p>
    +</li>
    +<li>
    +<p><strong>imports</strong> - array with imports that should be included in generated tests (for example ['org.myorg.Matchers']). By default empty array []</p>
    +</li>
    +<li>
    +<p><strong>staticImports</strong> - array with static imports that should be included in generated tests(for example ['org.myorg.Matchers.*']). By default empty array []</p>
    +</li>
    +<li>
    +<p><strong>basePackageForTests</strong> - specifies base package for all generated tests. By default set to org.springframework.cloud.verifier.tests</p>
    +</li>
    +<li>
    +<p><strong>baseClassForTests</strong> - base class for generated tests. By default <code>spock.lang.Specification</code> if using Spock tests.</p>
    +</li>
    +<li>
    +<p><strong>ruleClassForTests</strong> - specifies Rule which should be added to generated test classes.</p>
    +</li>
    +<li>
    +<p><strong>ignoredFiles</strong> - Ant matcher allowing defining stub files for which processing should be skipped. By default empty array []</p>
    +</li>
    +<li>
    +<p><strong>contractsDslDir</strong> - directory containing contracts written using the GroovyDSL. By default <code>$rootDir/src/test/resources/contracts</code></p>
    +</li>
    +<li>
    +<p><strong>generatedTestSourcesDir</strong> - test source directory where tests generated from Groovy DSL should be placed. By default <code>$buildDir/generated-test-sources/contractVerifier</code></p>
    +</li>
    +<li>
    +<p><strong>stubsOutputDir</strong> - dir where the generated WireMock stubs from Groovy DSL should be placed</p>
    +</li>
    +<li>
    +<p><strong>targetFramework</strong> - the target test framework to be used; currently Spock and JUnit are supported with JUnit being the default framework</p>
    +</li>
    +</ul>
    +</div>
    +</div>
    +<div class="sect5">
    +<h6 id="_base_class_for_tests">Base class for tests</h6>
    +<div class="paragraph">
    +<p>When using Spring Cloud Contract Verifier in default MockMvc you need to create a base specification for all generated acceptance tests. In this class you need to point to endpoint which should be verified.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">abstract class BaseMockMvcSpec extends Specification {
    +
    +	def setup() {
    +		RestAssuredMockMvc.standaloneSetup(new PairIdController())
    +	}
    +
    +	void isProperCorrelationId(Integer correlationId) {
    +		assert correlationId == 123456
    +	}
    +
    +	void isEmpty(String value) {
    +		assert value == null
    +	}
    +
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>In case of using <code>Explicit</code> mode, you can use base class to initialize the whole tested app similarly as in regular integration tests. In case of <code>JAXRSCLIENT</code> mode this base class
    +should also contain <code>protected WebTarget webTarget</code> field, right now the only option to test JAX-RS API is to start a web server.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_invoking_generated_tests">Invoking generated tests</h5>
    +<div class="paragraph">
    +<p>To ensure that provider side is complaint with defined contracts, you need to invoke:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">./gradlew generateContractTests test</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_spring_cloud_contract_verifier_on_consumer_side">Spring Cloud Contract Verifier on consumer side</h5>
    +<div class="paragraph">
    +<p>In consumer service you need to configure Spring Cloud Contract Verifier plugin in exactly the same way as in case of provider. If you don&#8217;t want to use Stub Runner then you need to copy contracts stored in
    +<code>src/test/resources/contracts</code> and generate WireMock json stubs using:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">./gradlew generateWireMockClientStubs</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Note that <code>stubsOutputDir</code> option has to be set for stub generation to work.</p>
    +</div>
    +<div class="paragraph">
    +<p>When present, json stubs can be used in consumer automated tests.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">@ContextConfiguration(loader == SpringApplicationContextLoader, classes == Application)
    +class LoanApplicationServiceSpec extends Specification {
    +
    + @ClassRule
    + @Shared
    + WireMockClassRule wireMockRule == new WireMockClassRule()
    +
    + @Autowired
    + LoanApplicationService sut
    +
    + def 'should successfully apply for loan'() {
    +   given:
    + 	LoanApplication application =
    +			new LoanApplication(client: new Client(pesel: '12345678901'), amount: 123.123)
    +   when:
    +	LoanApplicationResult loanApplication == sut.loanApplication(application)
    +   then:
    +	loanApplication.loanApplicationStatus == LoanApplicationStatus.LOAN_APPLIED
    +	loanApplication.rejectionReason == null
    + }
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Underneath LoanApplication makes a call to FraudDetection service. This request is handled by WireMock server configured using stubs generated by Spring Cloud Contract Verifier.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_using_in_your_maven_project">Using in your Maven project</h4>
    +<div class="sect4">
    +<h5 id="_add_maven_plugin">Add maven plugin</h5>
    +<div class="paragraph">
    +<p>Add the Spring Cloud Contract BOM</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;dependencyManagement&gt;
    +	&lt;dependencies&gt;
    +		&lt;dependency&gt;
    +			&lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
    +			&lt;artifactId&gt;spring-cloud-contract-dependencies&lt;/artifactId&gt;
    +			&lt;version&gt;${spring-cloud-contract.version}&lt;/version&gt;
    +			&lt;type&gt;pom&lt;/type&gt;
    +			&lt;scope&gt;import&lt;/scope&gt;
    +		&lt;/dependency&gt;
    +	&lt;/dependencies&gt;
    +&lt;/dependencyManagement&gt;</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Next, the <code>Spring Cloud Contract Verifier</code> Maven plugin</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;plugin&gt;
    +	&lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
    +	&lt;artifactId&gt;spring-cloud-contract-maven-plugin&lt;/artifactId&gt;
    +	&lt;version&gt;${spring-cloud-contract.version}&lt;/version&gt;
    +	&lt;extensions&gt;true&lt;/extensions&gt;
    +	&lt;configuration&gt;
    +		&lt;baseClassForTests&gt;com.example.fraud.MvcTest&lt;/baseClassForTests&gt;
    +	&lt;/configuration&gt;
    +&lt;/plugin&gt;</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>You can read more in the <a href="https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract-maven-plugin/">Spring Cloud Contract Maven Plugin Docs</a></p>
    +</div>
    +<div class="sect5">
    +<h6 id="_snapshot_versions_for_maven">Snapshot versions for Maven</h6>
    +<div class="paragraph">
    +<p>For Snapshot / Milestone versions you have to add the following section to your <code>pom.xml</code></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;repositories&gt;
    +	&lt;repository&gt;
    +		&lt;id&gt;spring-snapshots&lt;/id&gt;
    +		&lt;name&gt;Spring Snapshots&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/snapshot&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;true&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/repository&gt;
    +	&lt;repository&gt;
    +		&lt;id&gt;spring-milestones&lt;/id&gt;
    +		&lt;name&gt;Spring Milestones&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/milestone&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;false&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/repository&gt;
    +	&lt;repository&gt;
    +		&lt;id&gt;spring-releases&lt;/id&gt;
    +		&lt;name&gt;Spring Releases&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/release&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;false&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/repository&gt;
    +&lt;/repositories&gt;
    +&lt;pluginRepositories&gt;
    +	&lt;pluginRepository&gt;
    +		&lt;id&gt;spring-snapshots&lt;/id&gt;
    +		&lt;name&gt;Spring Snapshots&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/snapshot&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;true&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/pluginRepository&gt;
    +	&lt;pluginRepository&gt;
    +		&lt;id&gt;spring-milestones&lt;/id&gt;
    +		&lt;name&gt;Spring Milestones&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/milestone&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;false&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/pluginRepository&gt;
    +	&lt;pluginRepository&gt;
    +		&lt;id&gt;spring-releases&lt;/id&gt;
    +		&lt;name&gt;Spring Releases&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/release&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;false&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/pluginRepository&gt;
    +&lt;/pluginRepositories&gt;</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_add_stubs_2">Add stubs</h5>
    +<div class="paragraph">
    +<p>By default Spring Cloud Contract Verifier is looking for stubs in <code>src/test/resources/contracts</code> directory.
    +Directory containing stub definitions is treated as a class name, and each stub definition is treated as a single test.
    +We assume that it contains at least one directory which will be used as test class name. If there is more than one level of nested directories all except the last one will be used as package name.
    +So with following structure</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">src/test/resources/contracts/myservice/shouldCreateUser.groovy
    +src/test/resources/contracts/myservice/shouldReturnUser.groovy</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier will create test class <code>defaultBasePackage.MyService</code> with two methods
    + - <code>shouldCreateUser()</code>
    + - <code>shouldReturnUser()</code></p>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_run_plugin_2">Run plugin</h5>
    +<div class="paragraph">
    +<p>Plugin goal <code>generateTests</code> is assigned to be invoked in phase <code>generate-test-sources</code>. You have nothing to do as long as you want it to be part of your build process. If you just want to generate tests please invoke <code>generateTests</code> goal.</p>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_configure_plugin_2">Configure plugin</h5>
    +<div class="paragraph">
    +<p>To change default configuration just add <code>configuration</code> section to plugin definition or <code>execution</code> definition.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;plugin&gt;
    +    &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
    +    &lt;artifactId&gt;spring-cloud-contract-maven-plugin&lt;/artifactId&gt;
    +    &lt;executions&gt;
    +        &lt;execution&gt;
    +            &lt;goals&gt;
    +                &lt;goal&gt;convert&lt;/goal&gt;
    +                &lt;goal&gt;generateStubs&lt;/goal&gt;
    +                &lt;goal&gt;generateTests&lt;/goal&gt;
    +            &lt;/goals&gt;
    +        &lt;/execution&gt;
    +    &lt;/executions&gt;
    +    &lt;configuration&gt;
    +        &lt;basePackageForTests&gt;org.springframework.cloud.verifier.twitter.place&lt;/basePackageForTests&gt;
    +        &lt;baseClassForTests&gt;org.springframework.cloud.verifier.twitter.place.BaseMockMvcSpec&lt;/baseClassForTests&gt;
    +    &lt;/configuration&gt;
    +&lt;/plugin&gt;</code></pre>
    +</div>
    +</div>
    +<div class="sect5">
    +<h6 id="_important_configuration_options">Important configuration options</h6>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p><strong>testMode</strong> - defines mode for acceptance tests. By default <code>MockMvc</code> which is based on Spring&#8217;s MockMvc. It can also be changed to <code>JaxRsClient</code> or to <code>Explicit</code> for real HTTP calls.</p>
    +</li>
    +<li>
    +<p><strong>basePackageForTests</strong> - specifies base package for all generated tests. By default set to <code>org.springframework.cloud.verifier.tests</code>.</p>
    +</li>
    +<li>
    +<p><strong>ruleClassForTests</strong> - specifies Rule which should be added to generated test classes.</p>
    +</li>
    +<li>
    +<p><strong>baseClassForTests</strong> - base class for generated tests. By default <code>spock.lang.Specification</code> if using Spock tests.</p>
    +</li>
    +<li>
    +<p><strong>contractsDir</strong> - directory containing contracts written using the GroovyDSL. By default <code>/src/test/resources/contracts</code>.</p>
    +</li>
    +<li>
    +<p><strong>testFramework</strong> - the target test framework to be used; currently Spock and JUnit are supported with JUnit being the default framework</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>For complete information take a look at <a href="https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract-maven-plugin/plugin-info.html">Plugin Documentation</a></p>
    +</div>
    +</div>
    +<div class="sect5">
    +<h6 id="_base_class_for_tests_2">Base class for tests</h6>
    +<div class="paragraph">
    +<p>When using Spring Cloud Contract Verifier in default MockMvc you need to create a base specification for all generated acceptance tests.
    +In this class you need to point to endpoint which should be verified.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">package org.mycompany.tests
    +
    +import org.mycompany.ExampleSpringController
    +import com.jayway.restassured.module.mockmvc.RestAssuredMockMvc
    +import spock.lang.Specification
    +
    +class  MvcSpec extends Specification {
    +  def setup() {
    +   RestAssuredMockMvc.standaloneSetup(new ExampleSpringController())
    +  }
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>In case of using <code>Explicit</code> mode, you can use base class to initialize the whole tested app similarly as in regular integration tests. In case of <code>JAXRSCLIENT</code> mode this base class should also contain <code>protected WebTarget webTarget</code> field, right now the only option to test JAX-RS API is to start a web server.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_invoking_generated_tests_2">Invoking generated tests</h5>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier Maven Plugin generates verification code into directory <code>/generated-test-sources/contractVerifier</code> and attach this directory to <code>testCompile</code> goal.</p>
    +</div>
    +<div class="paragraph">
    +<p>For Groovy Spock code use:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;plugin&gt;
    +	&lt;groupId&gt;org.codehaus.gmavenplus&lt;/groupId&gt;
    +	&lt;artifactId&gt;gmavenplus-plugin&lt;/artifactId&gt;
    +	&lt;version&gt;1.5&lt;/version&gt;
    +	&lt;executions&gt;
    +		&lt;execution&gt;
    +			&lt;goals&gt;
    +				&lt;goal&gt;testCompile&lt;/goal&gt;
    +			&lt;/goals&gt;
    +		&lt;/execution&gt;
    +	&lt;/executions&gt;
    +	&lt;configuration&gt;
    +		&lt;testSources&gt;
    +			&lt;testSource&gt;
    +				&lt;directory&gt;${project.basedir}/src/test/groovy&lt;/directory&gt;
    +				&lt;includes&gt;
    +					&lt;include&gt;**/*.groovy&lt;/include&gt;
    +				&lt;/includes&gt;
    +			&lt;/testSource&gt;
    +			&lt;testSource&gt;
    +				&lt;directory&gt;${project.build.directory}/generated-test-sources/contractVerifier&lt;/directory&gt;
    +				&lt;includes&gt;
    +					&lt;include&gt;**/*.groovy&lt;/include&gt;
    +				&lt;/includes&gt;
    +			&lt;/testSource&gt;
    +		&lt;/testSources&gt;
    +	&lt;/configuration&gt;
    +&lt;/plugin&gt;</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>To ensure that provider side is complaint with defined contracts, you need to invoke <code>mvn generateTest test</code></p>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_spring_cloud_contract_verifier_on_consumer_side_2">Spring Cloud Contract Verifier on consumer side</h5>
    +<div class="paragraph">
    +<p>You can actually use the Spring Cloud Contract Verifier also for the consumer side!
    +You can use the plugin so that it only converts the contracts and generates the stubs.
    +To achieve that you need to configure Spring Cloud Contract Verifier plugin in exactly
    +the same way as in case of provider. You need to copy contracts stored in
    +<code>src/test/resources/contracts</code> and generate WireMock json stubs using:
    +<code>mvn generateStubs</code> command. By default generated WireMock mapping is
    +stored in directory <code>target/mappings</code>. Your project should create from
    +this generated mappings additional artifact with classifier <code>stubs</code> for
    +easy deploy to maven repository.</p>
    +</div>
    +<div class="paragraph">
    +<p>Sample configuration:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;plugin&gt;
    +    &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;
    +    &lt;artifactId&gt;spring-cloud-contract-maven-plugin&lt;/artifactId&gt;
    +    &lt;version&gt;${verifier-plugin.version}&lt;/version&gt;
    +    &lt;executions&gt;
    +        &lt;execution&gt;
    +            &lt;goals&gt;
    +                &lt;goal&gt;convert&lt;/goal&gt;
    +                &lt;goal&gt;generateStubs&lt;/goal&gt;
    +            &lt;/goals&gt;
    +        &lt;/execution&gt;
    +    &lt;/executions&gt;
    +&lt;/plugin&gt;</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>When present, json stubs can be used in consumer automated tests.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">@RunWith(SpringTestRunner.class)
    +@SpringBootTest
    +@AutoConfigureStubRunner
    +public class LoanApplicationServiceTests {
    +
    +  @Autowired
    +  LoanApplicationService service;
    +
    +  @Test
    +  public void shouldSuccessfullyApplyForLoan() {
    +    //given:
    + 	LoanApplication application =
    +			new LoanApplication(new Client("12345678901"), 123.123);
    +    //when:
    +	LoanApplicationResult loanApplication = service.loanApplication(application);
    +    // then:
    +	assertThat(loanApplication.loanApplicationStatus).isEqualTo(LoanApplicationStatus.LOAN_APPLIED);
    +	assertThat(loanApplication.rejectionReason).isNull();
    +  }
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Underneath <code>LoanApplication</code> makes a call to the <code>FraudDetection</code> service. This request is handled by
    +a WireMock server configured using stubs generated by Spring Cloud Contract Verifier.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_scenarios">Scenarios</h4>
    +<div class="paragraph">
    +<p>It&#8217;s possible to handle scenarios with Spring Cloud Contract Verifier. All you need to do is to stick to proper naming convention while creating your contracts. The convention requires to include order number followed by the underscore.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code>my_contracts_dir\
    +  scenario1\
    +    1_login.groovy
    +    2_showCart.groovy
    +    3_logout.groovy</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Such tree will cause Spring Cloud Contract Verifier generating WireMock&#8217;s scenario with name <code>scenario1</code> and three steps:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>login marked as <code>Started</code> pointing to:</p>
    +</li>
    +<li>
    +<p>showCart marked as <code>Step1</code> pointing to:</p>
    +</li>
    +<li>
    +<p>logout marked as <code>Step2</code> which will close the scenario.</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>More details about WireMock scenarios can be found under <a href="http://wiremock.org/stateful-behaviour.html">http://wiremock.org/stateful-behaviour.html</a></p>
    +</div>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier will also generate tests with guaranteed order of execution.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_spring_cloud_contract_verifier_messaging">Spring Cloud Contract Verifier Messaging</h3>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier allows you to verify your application that uses messaging as means of communication.
    +All of our integrations are working with Spring but you can also create one yourself and use it.</p>
    +</div>
    +<div class="sect3">
    +<h4 id="_integrations">Integrations</h4>
    +<div class="paragraph">
    +<p>You can use one of the three integration configurations:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>Apache Camel</p>
    +</li>
    +<li>
    +<p>Spring Integration</p>
    +</li>
    +<li>
    +<p>Spring Cloud Stream</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>Since we&#8217;re using Spring Boot then if you have added one of the aforementioned libraries
    +to the classpath then automatically all the messaging configuration will be set up.</p>
    +</div>
    +<div class="admonitionblock important">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Important</div>
    +</td>
    +<td class="content">
    +Remember to put <code>@AutoConfigureMessageVerifier</code> on the base class of your
    +generated tests. Otherwise messaging part of Spring Cloud Contract Verifier will not work.
    +</td>
    +</tr>
    +</table>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_manual_integration_testing">Manual Integration Testing</h4>
    +<div class="paragraph">
    +<p>The main interface used by the tests is the <code>org.springframework.cloud.contract.verifier.messaging.MessageVerifier</code>.
    +It defines how to send and receive messages. You can create your own implementation to achieve the
    +same goal.</p>
    +</div>
    +<div class="paragraph">
    +<p>In the a test you can inject a <code>ContractVerifierMessageExchange</code> to send and receive messages that follow the contract.
    +Then add <code>@AutoConfigureMessageVerifier</code> to your test, e.g.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@RunWith(SpringTestRunner.class)
    +@SpringBootTest
    +@AutoConfigureMessageVerifier
    +public static class MessagingContractTests {
    +
    +  @Autowired
    +  private MessageVerifier verifier;
    +  ...
    +}</code></pre>
    +</div>
    +</div>
    +<div class="admonitionblock note">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Note</div>
    +</td>
    +<td class="content">
    +If your tests require stubs as well, then
    +<code>@AutoConfigureStubRunner</code> includes the messaging configuration, so
    +you only need the one annotation.
    +</td>
    +</tr>
    +</table>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_publisher_side_test_generation">Publisher side test generation</h4>
    +<div class="paragraph">
    +<p>Having the <code>input</code> or <code>outputMessage</code> sections in your DSL will result in creation of tests on the publisher&#8217;s side. By default
    +JUnit tests will be created, however there is also a possibility to create Spock tests.</p>
    +</div>
    +<div class="paragraph">
    +<p>There are 3 main scenarios that we should take into consideration:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>Scenario 1: there is no input message that produces an output one. The output message is triggered by a component
    +inside the application (e.g. scheduler)</p>
    +</li>
    +<li>
    +<p>Scenario 2: the input message triggers an output message</p>
    +</li>
    +<li>
    +<p>Scenario 3: the input message is consumed and there is no output message</p>
    +</li>
    +</ul>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_1_no_input_message">Scenario 1 (no input message)</h5>
    +<div class="paragraph">
    +<p>For the given contract:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">def contractDsl = Contract.make {
    +	label 'some_label'
    +	input {
    +		triggeredBy('bookReturnedTriggered()')
    +	}
    +	outputMessage {
    +		sentTo('activemq:output')
    +		body('''{ "bookName" : "foo" }''')
    +		headers {
    +			header('BOOK-NAME', 'foo')
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>The following JUnit test will be created:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">'''
    + // when:
    +  bookReturnedTriggered();
    +
    + // then:
    +  ContractVerifierMessage response = contractVerifierMessaging.receive("activemq:output");
    +  assertThat(response).isNotNull();
    +  assertThat(response.getHeader("BOOK-NAME")).isEqualTo("foo");
    + // and:
    +  DocumentContext parsedJson = JsonPath.parse(contractVerifierObjectMapper.writeValueAsString(response.getPayload()));
    +  assertThatJson(parsedJson).field("bookName").isEqualTo("foo");
    +'''</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the following Spock test would be created:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">'''
    + when:
    +  bookReturnedTriggered()
    +
    + then:
    +  ContractVerifierMessage response = contractVerifierMessaging.receive('activemq:output')
    +  assert response != null
    +  response.getHeader('BOOK-NAME')  == 'foo'
    + and:
    +  DocumentContext parsedJson = JsonPath.parse(contractVerifierObjectMapper.writeValueAsString(response.payload))
    +  assertThatJson(parsedJson).field("bookName").isEqualTo("foo")
    +
    +'''</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_2_output_triggered_by_input">Scenario 2 (output triggered by input)</h5>
    +<div class="paragraph">
    +<p>For the given contract:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">def contractDsl = Contract.make {
    +	label 'some_label'
    +	input {
    +		messageFrom('jms:input')
    +		messageBody([
    +				bookName: 'foo'
    +		])
    +		messageHeaders {
    +			header('sample', 'header')
    +		}
    +	}
    +	outputMessage {
    +		sentTo('jms:output')
    +		body([
    +				bookName: 'foo'
    +		])
    +		headers {
    +			header('BOOK-NAME', 'foo')
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>The following JUnit test will be created:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">'''
    +// given:
    + ContractVerifierMessage inputMessage = contractVerifierMessaging.create(
    +  "{\\"bookName\\":\\"foo\\"}"
    +, headers()
    +  .header("sample", "header"));
    +
    +// when:
    + contractVerifierMessaging.send(inputMessage, "jms:input");
    +
    +// then:
    + ContractVerifierMessage response = contractVerifierMessaging.receive("jms:output");
    + assertThat(response).isNotNull();
    + assertThat(response.getHeader("BOOK-NAME")).isEqualTo("foo");
    +// and:
    + DocumentContext parsedJson = JsonPath.parse(contractVerifierObjectMapper.writeValueAsString(response.getPayload()));
    + assertThatJson(parsedJson).field("bookName").isEqualTo("foo");
    +'''</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the following Spock test would be created:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">"""\
    +given:
    +   ContractVerifierMessage inputMessage = contractVerifierMessaging.create(
    +    '''{"bookName":"foo"}''',
    +    ['sample': 'header']
    +  )
    +
    +when:
    +   contractVerifierMessaging.send(inputMessage, 'jms:input')
    +
    +then:
    +   ContractVerifierMessage response = contractVerifierMessaging.receive('jms:output')
    +   assert response !- null
    +   response.getHeader('BOOK-NAME')  == 'foo'
    +and:
    +   DocumentContext parsedJson = JsonPath.parse(contractVerifierObjectMapper.writeValueAsString(response.payload))
    +   assertThatJson(parsedJson).field("bookName").isEqualTo("foo")
    +"""</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_3_no_output_message">Scenario 3 (no output message)</h5>
    +<div class="paragraph">
    +<p>For the given contract:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">def contractDsl = Contract.make {
    +	label 'some_label'
    +	input {
    +		messageFrom('jms:delete')
    +		messageBody([
    +				bookName: 'foo'
    +		])
    +		messageHeaders {
    +			header('sample', 'header')
    +		}
    +		assertThat('bookWasDeleted()')
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>The following JUnit test will be created:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">'''
    +// given:
    + ContractVerifierMessage inputMessage = contractVerifierMessaging.create(
    +	"{\\"bookName\\":\\"foo\\"}"
    +, headers()
    +	.header("sample", "header"));
    +
    +// when:
    + contractVerifierMessaging.send(inputMessage, "jms:delete");
    +
    +// then:
    + bookWasDeleted();
    +'''</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the following Spock test would be created:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">'''
    +given:
    +	 ContractVerifierMessage inputMessage = contractVerifierMessaging.create(
    +		\'\'\'{"bookName":"foo"}\'\'\',
    +		['sample': 'header']
    +	)
    +
    +when:
    +	 contractVerifierMessaging.send(inputMessage, 'jms:delete')
    +
    +then:
    +	 noExceptionThrown()
    +	 bookWasDeleted()
    +'''</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_consumer_stub_side_generation">Consumer Stub Side generation</h4>
    +<div class="paragraph">
    +<p>Unlike the HTTP part - in Messaging we need to publish the Groovy DSL inside the JAR with a stub. Then it&#8217;s parsed on the consumer side
    +and proper stubbed routes are created.</p>
    +</div>
    +<div class="paragraph">
    +<p>For more information please consult the Stub Runner Messaging sections.</p>
    +</div>
    +<div class="sect4">
    +<h5 id="_gradle_setup">Gradle Setup</h5>
    +<div class="paragraph">
    +<p>Example of Spring Cloud Contract Verifier Gradle setup:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">ext {
    +	contractsDir = file("mappings")
    +	stubsOutputDirRoot = file("${project.buildDir}/production/${project.name}-stubs/")
    +}
    +
    +// Automatically added by plugin:
    +// copyContracts - copies contracts to the output folder from which JAR will be created
    +// verifierStubsJar - JAR with a provided stub suffix
    +// the presented publication is also added by the plugin but you can modify it as you wish
    +
    +publishing {
    +	publications {
    +		stubs(MavenPublication) {
    +			artifactId "${project.name}-stubs"
    +			artifact verifierStubsJar
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_maven_setup">Maven Setup</h5>
    +<div class="paragraph">
    +<p>Example of Maven can be found in the <a href="https://github.com/spring-cloud/spring-cloud-contract/tree/master/samples/standalone/stream-sink/pom.xml">Stream Sink sample</a></p>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_spring_cloud_contract_stub_runner">Spring Cloud Contract Stub Runner</h3>
    +<div class="paragraph">
    +<p>One of the issues that you could have encountered while using Spring Cloud Contract Verifier was to pass the generated WireMock JSON stubs from the server side to the client side (or various clients).
    + The same takes place in terms of client side generation for messaging.</p>
    +</div>
    +<div class="paragraph">
    +<p>Copying the JSON files / setting the client side for messaging manually is out of the question.</p>
    +</div>
    +<div class="paragraph">
    +<p>That&#8217;s why we&#8217;ll introduce Spring Cloud Contract Stub Runner that can download and run the stubs
    +automatically for you.</p>
    +</div>
    +<div class="sect3">
    +<h4 id="_snapshot_versions">Snapshot versions</h4>
    +<div class="paragraph">
    +<p>Add the additional snapshot repository to your build.gradle to use snapshot versions which are automatically uploaded after every successful build:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">buildscript {
    +	repositories {
    +		mavenCentral()
    +		mavenLocal()
    +		maven { url "http://repo.spring.io/snapshot" }
    +		maven { url "http://repo.spring.io/milestone" }
    +		maven { url "http://repo.spring.io/release" }
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>for Maven</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;repositories&gt;
    +	&lt;repository&gt;
    +		&lt;id&gt;spring-snapshots&lt;/id&gt;
    +		&lt;name&gt;Spring Snapshots&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/snapshot&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;true&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/repository&gt;
    +	&lt;repository&gt;
    +		&lt;id&gt;spring-milestones&lt;/id&gt;
    +		&lt;name&gt;Spring Milestones&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/milestone&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;false&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/repository&gt;
    +	&lt;repository&gt;
    +		&lt;id&gt;spring-releases&lt;/id&gt;
    +		&lt;name&gt;Spring Releases&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/release&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;false&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/repository&gt;
    +&lt;/repositories&gt;
    +&lt;pluginRepositories&gt;
    +	&lt;pluginRepository&gt;
    +		&lt;id&gt;spring-snapshots&lt;/id&gt;
    +		&lt;name&gt;Spring Snapshots&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/snapshot&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;true&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/pluginRepository&gt;
    +	&lt;pluginRepository&gt;
    +		&lt;id&gt;spring-milestones&lt;/id&gt;
    +		&lt;name&gt;Spring Milestones&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/milestone&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;false&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/pluginRepository&gt;
    +	&lt;pluginRepository&gt;
    +		&lt;id&gt;spring-releases&lt;/id&gt;
    +		&lt;name&gt;Spring Releases&lt;/name&gt;
    +		&lt;url&gt;http://repo.spring.io/release&lt;/url&gt;
    +		&lt;snapshots&gt;
    +			&lt;enabled&gt;false&lt;/enabled&gt;
    +		&lt;/snapshots&gt;
    +	&lt;/pluginRepository&gt;
    +&lt;/pluginRepositories&gt;</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_publishing_stubs_as_jars">Publishing stubs as JARs</h4>
    +<div class="paragraph">
    +<p>The easiest approach would be to centralize the way stubs are kept. For example you can keep them as JARs in a Maven repository.</p>
    +</div>
    +<div class="sect4">
    +<h5 id="_gradle">Gradle</h5>
    +<div class="paragraph">
    +<p>Example of Spring Cloud Contract Verifier Gradle setup:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">ext {
    +	contractsDir = file("mappings")
    +	stubsOutputDirRoot = file("${project.buildDir}/production/${project.name}-stubs/")
    +}
    +
    +// Automatically added by plugin:
    +// copyContracts - copies contracts to the output folder from which JAR will be created
    +// verifierStubsJar - JAR with a provided stub suffix
    +// the presented publication is also added by the plugin but you can modify it as you wish
    +
    +publishing {
    +	publications {
    +		stubs(MavenPublication) {
    +			artifactId "${project.name}-stubs"
    +			artifact verifierStubsJar
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_maven">Maven</h5>
    +<div class="paragraph">
    +<p>Example of Maven can be found in the <a href="https://github.com/spring-cloud/spring-cloud-contract/">Spring Cloud Contract Verifier README</a></p>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_modules">Modules</h4>
    +
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_stub_runner_core">Stub Runner Core</h3>
    +<div class="paragraph">
    +<p>Runs stubs for service collaborators. Treating stubs as contracts of services allows to use stub-runner as an implementation of
    +<a href="http://martinfowler.com/articles/consumerDrivenContracts.html">Consumer Driven Contracts</a>.</p>
    +</div>
    +<div class="paragraph">
    +<p>Stub Runner allows you to automatically download the stubs of the provided dependencies, start WireMock servers for them and feed them with proper stub definitions.
    +For messaging, special stub routes are defined.</p>
    +</div>
    +<div class="sect3">
    +<h4 id="_running_stubs">Running stubs</h4>
    +<div class="sect4">
    +<h5 id="_running_using_main_app">Running using main app</h5>
    +<div class="paragraph">
    +<p>You can set the following options to the main class:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">-maxp (--maxPort) N            : Maximum port value to be assigned to the
    +                                 Wiremock instance. Defaults to 15000
    +                                 (default: 15000)
    +-minp (--minPort) N            : Minimal port value to be assigned to the
    +                                 Wiremock instance. Defaults to 10000
    +                                 (default: 10000)
    +-s (--stubs) VAL               : Comma separated list of Ivy representation of
    +                                 jars with stubs. Eg. groupid:artifactid1,group
    +                                 id2:artifactid2:version:classifier
    +-sr (--stubRepositoryRoot) VAL : Location of a Jar containing server where you
    +                                 keep your stubs (e.g. http://nexus.net/content
    +                                 /repositories/repository)
    +-ss (--stubsSuffix) VAL        : Suffix for the jar containing stubs (e.g.
    +                                 'stubs' if the stub jar would have a 'stubs'
    +                                 classifier for stubs: foobar-stubs ).
    +                                 Defaults to 'stubs' (default: stubs)
    +-wo (--workOffline)            : Switch to work offline. Defaults to 'false'
    +                                 (default: false)</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_http_stubs">HTTP Stubs</h5>
    +<div class="paragraph">
    +<p>Stubs are defined in JSON documents, whose syntax is defined in <a href="http://wiremock.org/stubbing.html">WireMock documentation</a></p>
    +</div>
    +<div class="paragraph">
    +<p>Example:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-javascript" data-lang="javascript">{
    +    "request": {
    +        "method": "GET",
    +        "url": "/ping"
    +    },
    +    "response": {
    +        "status": 200,
    +        "body": "pong",
    +        "headers": {
    +            "Content-Type": "text/plain"
    +        }
    +    }
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_viewing_registered_mappings">Viewing registered mappings</h5>
    +<div class="paragraph">
    +<p>Every stubbed collaborator exposes list of defined mappings under <code>__/admin/</code> endpoint.</p>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_messaging_stubs">Messaging Stubs</h5>
    +<div class="paragraph">
    +<p>Depending on the provided Stub Runner dependency and the DSL the messaging routes are automatically set up.</p>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_stub_runner_junit_rule">Stub Runner JUnit Rule</h3>
    +<div class="paragraph">
    +<p>Stub Runner comes with a JUnit rule thanks to which you can very easily download and run stubs for given group and artifact id:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@ClassRule public static StubRunnerRule rule = new StubRunnerRule()
    +		.repoRoot(repoRoot())
    +		.downloadStub("org.springframework.cloud.contract.verifier.stubs", "loanIssuance")
    +		.downloadStub("org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer");</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>After that rule gets executed Stub Runner connects to your Maven repository and for the given list of dependencies tries to:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>download them</p>
    +</li>
    +<li>
    +<p>cache them locally</p>
    +</li>
    +<li>
    +<p>unzip them to a temporary folder</p>
    +</li>
    +<li>
    +<p>start a WireMock server for each Maven dependency on a random port from the provided range of ports / provided port</p>
    +</li>
    +<li>
    +<p>feed the WireMock server with all JSON files that are valid WireMock definitions</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>Stub Runner uses <a href="https://wiki.eclipse.org/Aether">Eclipse Aether</a> mechanism to download the Maven dependencies.
    +Check their <a href="https://wiki.eclipse.org/Aether">docs</a> for more information.</p>
    +</div>
    +<div class="paragraph">
    +<p>Since the <code>StubRunnerRule</code> implements the <code>StubFinder</code> it allows you to find the started stubs:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the "License");
    + *  you may not use this file except in compliance with the License.
    + *  You may obtain a copy of the License at
    + *
    + *       http://www.apache.org/licenses/LICENSE-2.0
    + *
    + *  Unless required by applicable law or agreed to in writing, software
    + *  distributed under the License is distributed on an "AS IS" BASIS,
    + *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + *  See the License for the specific language governing permissions and
    + *  limitations under the License.
    + */
    +
    +package org.springframework.cloud.contract.stubrunner;
    +
    +import java.net.URL;
    +import java.util.Collection;
    +import java.util.Map;
    +
    +import org.springframework.cloud.contract.spec.Contract;
    +
    +public interface StubFinder extends StubTrigger {
    +	/**
    +	 * For the given groupId and artifactId tries to find the matching
    +	 * URL of the running stub.
    +	 *
    +	 * @param groupId - might be null. In that case a search only via artifactId takes place
    +	 * @return URL of a running stub or null if not found
    +	 */
    +	URL findStubUrl(String groupId, String artifactId);
    +
    +	/**
    +	 * For the given Ivy notation {@code groupId:artifactId} tries to find the matching
    +	 * URL of the running stub. You can also pass only {@code artifactId}.
    +	 *
    +	 * @param ivyNotation - Ivy representation of the Maven artifact
    +	 * @return URL of a running stub or null if not found
    +	 */
    +	URL findStubUrl(String ivyNotation);
    +
    +	/**
    +	 * Returns all running stubs
    +	 */
    +	RunningStubs findAllRunningStubs();
    +
    +	/**
    +	 * Returns the list of Contracts
    +	 */
    +	Map&lt;StubConfiguration, Collection&lt;Contract&gt;&gt; getContracts();
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Example of usage in Spock tests:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">@ClassRule @Shared StubRunnerRule rule = new StubRunnerRule()
    +		.repoRoot(StubRunnerRuleSpec.getResource("/m2repo/repository").toURI().toString())
    +		.downloadStub("org.springframework.cloud.contract.verifier.stubs", "loanIssuance")
    +		.downloadStub("org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer")
    +
    +def 'should start WireMock servers'() {
    +	expect: 'WireMocks are running'
    +		rule.findStubUrl('org.springframework.cloud.contract.verifier.stubs', 'loanIssuance') != null
    +		rule.findStubUrl('loanIssuance') != null
    +		rule.findStubUrl('loanIssuance') == rule.findStubUrl('org.springframework.cloud.contract.verifier.stubs', 'loanIssuance')
    +		rule.findStubUrl('org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer') != null
    +	and:
    +		rule.findAllRunningStubs().isPresent('loanIssuance')
    +		rule.findAllRunningStubs().isPresent('org.springframework.cloud.contract.verifier.stubs', 'fraudDetectionServer')
    +		rule.findAllRunningStubs().isPresent('org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer')
    +	and: 'Stubs were registered'
    +		"${rule.findStubUrl('loanIssuance').toString()}/name".toURL().text == 'loanIssuance'
    +		"${rule.findStubUrl('fraudDetectionServer').toString()}/name".toURL().text == 'fraudDetectionServer'
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Example of usage in JUnit tests:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@Test
    +public void should_start_wiremock_servers() throws Exception {
    +	// expect: 'WireMocks are running'
    +		then(rule.findStubUrl("org.springframework.cloud.contract.verifier.stubs", "loanIssuance")).isNotNull();
    +		then(rule.findStubUrl("loanIssuance")).isNotNull();
    +		then(rule.findStubUrl("loanIssuance")).isEqualTo(rule.findStubUrl("org.springframework.cloud.contract.verifier.stubs", "loanIssuance"));
    +		then(rule.findStubUrl("org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer")).isNotNull();
    +	// and:
    +		BDDAssertions.then(rule.findAllRunningStubs().isPresent("loanIssuance")).isTrue();
    +		BDDAssertions.then(rule.findAllRunningStubs().isPresent("org.springframework.cloud.contract.verifier.stubs", "fraudDetectionServer")).isTrue();
    +		BDDAssertions.then(rule.findAllRunningStubs().isPresent("org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer")).isTrue();
    +	// and: 'Stubs were registered'
    +		then(httpGet(rule.findStubUrl("loanIssuance").toString() + "/name")).isEqualTo("loanIssuance");
    +		then(httpGet(rule.findStubUrl("fraudDetectionServer").toString() + "/name")).isEqualTo("fraudDetectionServer");
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Check the <strong>Common properties for JUnit and Spring</strong> for more information on how to apply global configuration of Stub Runner.</p>
    +</div>
    +<div class="sect3">
    +<h4 id="_providing_fixed_ports">Providing fixed ports</h4>
    +<div class="paragraph">
    +<p>You can also run your stubs on fixed ports. You can do it in two different ways. One is to pass it in the properties, and the other via fluent API of
    +JUnit rule.</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_fluent_api">Fluent API</h4>
    +<div class="paragraph">
    +<p>When using the <code>StubRunnerRule</code> you can add a stub to download and then pass the port for the last downloaded stub.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@ClassRule public static StubRunnerRule rule = new StubRunnerRule()
    +		.repoRoot(repoRoot())
    +		.downloadStub("org.springframework.cloud.contract.verifier.stubs", "loanIssuance")
    +		.withPort(12345)
    +		.downloadStub("org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer:12346");</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>You can see that for this example the following test is valid:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">then(rule.findStubUrl("loanIssuance")).isEqualTo(URI.create("http://localhost:12345").toURL());
    +then(rule.findStubUrl("fraudDetectionServer")).isEqualTo(URI.create("http://localhost:12346").toURL());</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_stub_runner_with_spring">Stub Runner with Spring</h4>
    +<div class="paragraph">
    +<p>Sets up Spring configuration of the Stub Runner project.</p>
    +</div>
    +<div class="paragraph">
    +<p>By providing a list of stubs inside your configuration file the Stub Runner automatically downloads
    +and registers in WireMock the selected stubs.</p>
    +</div>
    +<div class="paragraph">
    +<p>If you want to find the URL of your stubbed dependency you can autowire the <code>StubFinder</code> interface and use
    +its methods as presented below:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">@ContextConfiguration(classes = Config, loader = SpringBootContextLoader)
    +@IntegrationTest(["stubrunner.cloud.enabled=false", "stubrunner.camel.enabled=false"])
    +@AutoConfigureStubRunner
    +@DirtiesContext
    +class StubRunnerConfigurationSpec extends Specification {
    +
    +	@Autowired StubFinder stubFinder
    +
    +	@BeforeClass
    +	@AfterClass
    +	void setupProps() {
    +		System.clearProperty("stubrunner.stubs.repository.root");
    +		System.clearProperty("stubrunner.stubs.classifier");
    +	}
    +
    +	def 'should start WireMock servers'() {
    +		expect: 'WireMocks are running'
    +			stubFinder.findStubUrl('org.springframework.cloud.contract.verifier.stubs', 'loanIssuance') != null
    +			stubFinder.findStubUrl('loanIssuance') != null
    +			stubFinder.findStubUrl('loanIssuance') == stubFinder.findStubUrl('org.springframework.cloud.contract.verifier.stubs', 'loanIssuance')
    +			stubFinder.findStubUrl('org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer') != null
    +		and:
    +			stubFinder.findAllRunningStubs().isPresent('loanIssuance')
    +			stubFinder.findAllRunningStubs().isPresent('org.springframework.cloud.contract.verifier.stubs', 'fraudDetectionServer')
    +			stubFinder.findAllRunningStubs().isPresent('org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer')
    +		and: 'Stubs were registered'
    +			"${stubFinder.findStubUrl('loanIssuance').toString()}/name".toURL().text == 'loanIssuance'
    +			"${stubFinder.findStubUrl('fraudDetectionServer').toString()}/name".toURL().text == 'fraudDetectionServer'
    +	}
    +
    +	@Configuration
    +	@EnableAutoConfiguration
    +	static class Config {}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>for the following configuration file:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-yml" data-lang="yml">stubrunner.stubs.repositoryRoot: classpath:m2repo/repository/
    +stubrunner.stubs.ids:
    +  - org.springframework.cloud.contract.verifier.stubs:loanIssuance
    +  - org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer
    +  - org.springframework.cloud.contract.verifier.stubs:bootService
    +
    +stubrunner.stubs.idsToServiceIds:
    +  ivyNotation: someValueInsideYourCode
    +  fraudDetectionServer: someNameThatShouldMapFraudDetectionServer</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_stub_runner_spring_cloud">Stub Runner Spring Cloud</h3>
    +<div class="paragraph">
    +<p>Stub Runner can integrate with Spring Cloud.</p>
    +</div>
    +<div class="sect3">
    +<h4 id="_stubbing_service_discovery">Stubbing Service Discovery</h4>
    +<div class="paragraph">
    +<p>The most important feature of <code>Stub Runner Spring Cloud</code> is the fact that it&#8217;s stubbing</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p><code>DiscoveryClient</code></p>
    +</li>
    +<li>
    +<p><code>Ribbon</code> <code>ServerList</code></p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>that means that regardless of the fact whether you&#8217;re using Zookeeper, Consul, Eureka or anything else, you don&#8217;t need that in your tests.
    +We&#8217;re starting WireMock instances of your dependencies and we&#8217;re telling your application whenever you&#8217;re using <code>Feign</code>, load balanced <code>RestTemplate</code>
    +or <code>DiscoveryClient</code> directly, to call those stubbed servers instead of calling the real Service Discovery tool.</p>
    +</div>
    +<div class="paragraph">
    +<p>For example this test will pass</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">def 'should make service discovery work'() {
    +	expect: 'WireMocks are running'
    +		"${stubFinder.findStubUrl('loanIssuance').toString()}/name".toURL().text == 'loanIssuance'
    +		"${stubFinder.findStubUrl('fraudDetectionServer').toString()}/name".toURL().text == 'fraudDetectionServer'
    +	and: 'Stubs can be reached via load service discovery'
    +		restTemplate.getForObject('http://loanIssuance/name', String) == 'loanIssuance'
    +		restTemplate.getForObject('http://someNameThatShouldMapFraudDetectionServer/name', String) == 'fraudDetectionServer'
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>for the following configuration file</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-yml" data-lang="yml">stubrunner.stubs.repositoryRoot: classpath:m2repo/repository/
    +stubrunner.stubs.ids:
    +  - org.springframework.cloud.contract.verifier.stubs:loanIssuance
    +  - org.springframework.cloud.contract.verifier.stubs:fraudDetectionServer
    +  - org.springframework.cloud.contract.verifier.stubs:bootService
    +
    +stubrunner.stubs.idsToServiceIds:
    +  ivyNotation: someValueInsideYourCode
    +  fraudDetectionServer: someNameThatShouldMapFraudDetectionServer</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_additional_configuration">Additional Configuration</h4>
    +<div class="paragraph">
    +<p>You can match the artifactId of the stub with the name of your app by using the <code>stubrunner.stubs.idsToServiceIds:</code> map.
    +You can disable Stub Runner Ribbon support by providing: <code>stubrunner.cloud.ribbon.enabled</code> equal to <code>false</code>
    +You can disable Stub Runner support by providing: <code>stubrunner.cloud.enabled</code> equal to <code>false</code></p>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_stub_runner_boot_application">Stub Runner Boot Application</h3>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier Stub Runner Boot is a Spring Boot application that exposes REST endpoints to
    +trigger the messaging labels and to access started WireMock servers.</p>
    +</div>
    +<div class="paragraph">
    +<p>One of the use-cases is to run some smoke (end to end) tests on a deployed application. You can read
    + more about this in the  <a href="http://toomuchcoding.com/blog/2015/09/27/microservice-deployment/">"Microservice Deployment" article at Too Much Coding blog.</a></p>
    +</div>
    +<div class="sect3">
    +<h4 id="_how_to_use_it">How to use it?</h4>
    +<div class="paragraph">
    +<p>Just add the</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">compile "org.springframework.cloud:spring-cloud-starter-stub-runner"</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Annotate a class with <code>@EnableStubRunnerServer</code>, build a fat-jar and you&#8217;re ready to go!</p>
    +</div>
    +<div class="paragraph">
    +<p>For the properties check the <strong>Stub Runner Spring</strong> section.</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_endpoints">Endpoints</h4>
    +<div class="sect4">
    +<h5 id="_http">HTTP</h5>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>GET <code>/stubs</code> - returns a list of all running stubs in <code>ivy:integer</code> notation</p>
    +</li>
    +<li>
    +<p>GET <code>/stubs/{ivy}</code> - returns a port for the given <code>ivy</code> notation (when calling the endpoint <code>ivy</code> can also be <code>artifactId</code> only)</p>
    +</li>
    +</ul>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_messaging">Messaging</h5>
    +<div class="paragraph">
    +<p>For Messaging</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>GET <code>/triggers</code> - returns a list of all running labels in <code>ivy : [ label1, label2 &#8230;&#8203;]</code> notation</p>
    +</li>
    +<li>
    +<p>POST <code>/triggers/{label}</code> - executes a trigger with <code>label</code></p>
    +</li>
    +<li>
    +<p>POST <code>/triggers/{ivy}/{label}</code> - executes a trigger with <code>label</code> for the given <code>ivy</code> notation (when calling the endpoint <code>ivy</code> can also be <code>artifactId</code> only)</p>
    +</li>
    +</ul>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_example">Example</h4>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">@ContextConfiguration(classes = StubRunnerBoot, loader = SpringBootContextLoader)
    +@IntegrationTest("spring.cloud.zookeeper.enabled=false")
    +class StubRunnerBootSpec extends Specification {
    +
    +	@Autowired StubRunning stubRunning
    +
    +	def setup() {
    +		RestAssuredMockMvc.standaloneSetup(new HttpStubsController(stubRunning),
    +				new TriggerController(stubRunning))
    +	}
    +
    +	def 'should return a list of running stub servers in "full ivy:port" notation'() {
    +		when:
    +			String response = RestAssuredMockMvc.get('/stubs').body.asString()
    +		then:
    +			def root = new JsonSlurper().parseText(response)
    +			root.'org.springframework.cloud.contract.verifier.stubs:bootService:0.0.1-SNAPSHOT:stubs' instanceof Integer
    +	}
    +
    +	def 'should return a port on which a [#stubId] stub is running'() {
    +		when:
    +			def response = RestAssuredMockMvc.get("/stubs/${stubId}")
    +		then:
    +			response.statusCode == 200
    +			response.body.as(Integer) &gt; 0
    +		where:
    +			stubId &lt;&lt; ['org.springframework.cloud.contract.verifier.stubs:bootService:+:stubs',
    +					   'org.springframework.cloud.contract.verifier.stubs:bootService:0.0.1-SNAPSHOT:stubs',
    +					   'org.springframework.cloud.contract.verifier.stubs:bootService:+',
    +					   'org.springframework.cloud.contract.verifier.stubs:bootService',
    +					   'bootService']
    +	}
    +
    +	def 'should return 404 when missing stub was called'() {
    +		when:
    +			def response = RestAssuredMockMvc.get("/stubs/a:b:c:d")
    +		then:
    +			response.statusCode == 404
    +	}
    +
    +	def 'should return a list of messaging labels that can be triggered when version and classifier are passed'() {
    +		when:
    +			String response = RestAssuredMockMvc.get('/triggers').body.asString()
    +		then:
    +			def root = new JsonSlurper().parseText(response)
    +			root.'org.springframework.cloud.contract.verifier.stubs:bootService:0.0.1-SNAPSHOT:stubs'?.containsAll(["delete_book","return_book_1","return_book_2"])
    +	}
    +
    +	def 'should trigger a messaging label'() {
    +		given:
    +			StubRunning stubRunning = Mock()
    +			RestAssuredMockMvc.standaloneSetup(new HttpStubsController(stubRunning), new TriggerController(stubRunning))
    +		when:
    +			def response = RestAssuredMockMvc.post("/triggers/delete_book")
    +		then:
    +			response.statusCode == 200
    +		and:
    +			1 * stubRunning.trigger('delete_book')
    +	}
    +
    +	def 'should trigger a messaging label for a stub with [#stubId] ivy notation'() {
    +		given:
    +			StubRunning stubRunning = Mock()
    +			RestAssuredMockMvc.standaloneSetup(new HttpStubsController(stubRunning), new TriggerController(stubRunning))
    +		when:
    +			def response = RestAssuredMockMvc.post("/triggers/$stubId/delete_book")
    +		then:
    +			response.statusCode == 200
    +		and:
    +			1 * stubRunning.trigger(stubId, 'delete_book')
    +		where:
    +			stubId &lt;&lt; ['org.springframework.cloud.contract.verifier.stubs:bootService:stubs', 'org.springframework.cloud.contract.verifier.stubs:bootService', 'bootService']
    +	}
    +
    +	def 'should return when trigger is missing'() {
    +		when:
    +			def response = RestAssuredMockMvc.post("/triggers/missing_label")
    +		then:
    +			response.statusCode == 404
    +			def root = new JsonSlurper().parseText(response.body.asString())
    +			root.'org.springframework.cloud.contract.verifier.stubs:bootService:0.0.1-SNAPSHOT:stubs'?.containsAll(["delete_book","return_book_1","return_book_2"])
    +	}
    +
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_common_properties_for_junit_and_spring">Common properties for JUnit and Spring</h4>
    +<div class="paragraph">
    +<p>Some of the properties that are repetitive can be set using system properties or configuration properties (for Spring). Here are their names with their default values:</p>
    +</div>
    +<table class="tableblock frame-topbot grid-all spread">
    +<colgroup>
    +<col style="width: 33%;">
    +<col style="width: 33%;">
    +<col style="width: 33%;">
    +</colgroup>
    +<thead>
    +<tr>
    +<th class="tableblock halign-left valign-top">Property name</th>
    +<th class="tableblock halign-left valign-top">Default value</th>
    +<th class="tableblock halign-left valign-top">Description</th>
    +</tr>
    +</thead>
    +<tbody>
    +<tr>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">stubrunner.minPort</p></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">10000</p></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">Minimal value of a port for a started WireMock with stubs</p></td>
    +</tr>
    +<tr>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">stubrunner.maxPort</p></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">15000</p></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">Minimal value of a port for a started WireMock with stubs</p></td>
    +</tr>
    +<tr>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">stubrunner.stubs.repositoryRoot</p></td>
    +<td class="tableblock halign-left valign-top"></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">Maven repo url. If blank then will call the local maven repo</p></td>
    +</tr>
    +<tr>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">stubrunner.stubs.classifier</p></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">stubs</p></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">Default classifier for the stub artifacts</p></td>
    +</tr>
    +<tr>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">stubrunner.workOffline</p></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">If true then will not contact any remote repositories to download stubs</p></td>
    +</tr>
    +<tr>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">stubrunner.stubs.ids</p></td>
    +<td class="tableblock halign-left valign-top"></td>
    +<td class="tableblock halign-left valign-top"><p class="tableblock">Array of Ivy notation stubs to download</p></td>
    +</tr>
    +</tbody>
    +</table>
    +<div class="sect4">
    +<h5 id="_stub_runner_stubs_ids">Stub runner stubs ids</h5>
    +<div class="paragraph">
    +<p>You can provide the stubs to download via the <code>stubrunner.stubs.ids</code> system property. They follow the following pattern:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">groupId:artifactId:version:classifier:port</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p><code>version</code>, <code>classifier</code> and <code>port</code> are optional.</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>If you don&#8217;t provide the <code>port</code> then a random one will be picked</p>
    +</li>
    +<li>
    +<p>If you don&#8217;t provide the <code>classifier</code> then the default one will be taken.</p>
    +</li>
    +<li>
    +<p>If you don&#8217;t provide the <code>version</code> then the <code>+</code> will be passed and the latest one will be downloaded</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>Where <code>port</code> means the port of the WireMock server.</p>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_stub_runner_for_messaging">Stub Runner for Messaging</h3>
    +<div class="paragraph">
    +<p>Stub Runner has the functionality to run the published stubs in memory. It can integrate with the following frameworks out of the box</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p>Spring Integration</p>
    +</li>
    +<li>
    +<p>Spring Cloud Stream</p>
    +</li>
    +<li>
    +<p>Apache Camel</p>
    +</li>
    +</ul>
    +</div>
    +<div class="paragraph">
    +<p>It also provides points of entry to integrate with any other solution on the market.</p>
    +</div>
    +<div class="sect3">
    +<h4 id="_stub_triggering">Stub triggering</h4>
    +<div class="paragraph">
    +<p>To trigger a message it&#8217;s enough to use the <code>StubTrigger</code> interface:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">/*
    + *  Copyright 2013-2016 the original author or authors.
    + *
    + *  Licensed under the Apache License, Version 2.0 (the "License");
    + *  you may not use this file except in compliance with the License.
    + *  You may obtain a copy of the License at
    + *
    + *       http://www.apache.org/licenses/LICENSE-2.0
    + *
    + *  Unless required by applicable law or agreed to in writing, software
    + *  distributed under the License is distributed on an "AS IS" BASIS,
    + *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + *  See the License for the specific language governing permissions and
    + *  limitations under the License.
    + */
    +
    +package org.springframework.cloud.contract.stubrunner;
    +
    +import java.util.Collection;
    +import java.util.Map;
    +
    +public interface StubTrigger {
    +
    +	/**
    +	 * Triggers an event by a given label for a given {@code groupid:artifactid} notation. You can use only {@code artifactId} too.
    +	 *
    +	 * Feature related to messaging.
    +	 *
    +	 * @return true - if managed to run a trigger
    +	 */
    +	boolean trigger(String ivyNotation, String labelName);
    +
    +	/**
    +	 * Triggers an event by a given label.
    +	 *
    +	 * Feature related to messaging.
    +	 *
    +	 * @return true - if managed to run a trigger
    +	 */
    +	boolean trigger(String labelName);
    +
    +	/**
    +	 * Triggers all possible events.
    +	 *
    +	 * Feature related to messaging.
    +	 *
    +	 * @return true - if managed to run a trigger
    +	 */
    +	boolean trigger();
    +
    +	/**
    +	 * Returns a mapping of ivy notation of a dependency to all the labels it has.
    +	 *
    +	 * Feature related to messaging.
    +	 */
    +	Map&lt;String, Collection&lt;String&gt;&gt; labels();
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>For convenience the <code>StubFinder</code> interface extends <code>StubTrigger</code> so it&#8217;s enough to use only one in your tests.</p>
    +</div>
    +<div class="paragraph">
    +<p><code>StubTrigger</code> gives you the following options to trigger a message:</p>
    +</div>
    +<div class="sect4">
    +<h5 id="_trigger_by_label">Trigger by label</h5>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">stubFinder.trigger('return_book_1')</code></pre>
    +</div>
    +</div>
    +<div class="sect5">
    +<h6 id="_trigger_by_group_and_artifact_ids">Trigger by group and artifact ids</h6>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">stubFinder.trigger('org.springframework.cloud.contract.verifier.stubs:camelService', 'return_book_1')</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect5">
    +<h6 id="_trigger_by_artifact_ids">Trigger by artifact ids</h6>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">stubFinder.trigger('camelService', 'return_book_1')</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_trigger_all_messages">Trigger all messages</h5>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">stubFinder.trigger()</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_stub_runner_camel">Stub Runner Camel</h3>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier Stub Runner&#8217;s messaging module gives you an easy way to integrate with Apache Camel.
    +For the provided artifacts it will automatically download the stubs and register the required
    +routes.</p>
    +</div>
    +<div class="sect3">
    +<h4 id="_adding_it_to_the_project">Adding it to the project</h4>
    +<div class="paragraph">
    +<p>It&#8217;s enough to have both Apache Camel and Spring Cloud Contract Stub Runner on classpath.
    +Remember to annotate your test class with <code>@AutoConfigureMessageVerifier</code>.</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_examples">Examples</h4>
    +<div class="sect4">
    +<h5 id="_stubs_structure">Stubs structure</h5>
    +<div class="paragraph">
    +<p>Let us assume that we have the following Maven repository with a deployed stubs for the
    +<code>camelService</code> application.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">└── .m2
    +    └── repository
    +        └── io
    +            └── codearte
    +                └── accurest
    +                    └── stubs
    +                        └── camelService
    +                            ├── 0.0.1-SNAPSHOT
    +                            │   ├── camelService-0.0.1-SNAPSHOT.pom
    +                            │   ├── camelService-0.0.1-SNAPSHOT-stubs.jar
    +                            │   └── maven-metadata-local.xml
    +                            └── maven-metadata-local.xml</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the stubs contain the following structure:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">├── META-INF
    +│   └── MANIFEST.MF
    +└── repository
    +    ├── accurest
    +    │   ├── bookDeleted.groovy
    +    │   ├── bookReturned1.groovy
    +    │   └── bookReturned2.groovy
    +    └── mappings</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Let&#8217;s consider the following contracts (let' number it with <strong>1</strong>):</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Contract.make {
    +	label 'return_book_1'
    +	input {
    +		triggeredBy('bookReturnedTriggered()')
    +	}
    +	outputMessage {
    +		sentTo('jms:output')
    +		body('''{ "bookName" : "foo" }''')
    +		headers {
    +			header('BOOK-NAME', 'foo')
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>and number <strong>2</strong></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Contract.make {
    +	label 'return_book_2'
    +	input {
    +		messageFrom('jms:input')
    +		messageBody([
    +				bookName: 'foo'
    +		])
    +		messageHeaders {
    +			header('sample', 'header')
    +		}
    +	}
    +	outputMessage {
    +		sentTo('jms:output')
    +		body([
    +				bookName: 'foo'
    +		])
    +		headers {
    +			header('BOOK-NAME', 'foo')
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_1_no_input_message_2">Scenario 1 (no input message)</h5>
    +<div class="paragraph">
    +<p>So as to trigger a message via the <code>return_book_1</code> label we&#8217;ll use the <code>StubTigger</code> interface as follows</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">stubFinder.trigger('return_book_1')</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Next we&#8217;ll want to listen to the output of the message sent to <code>jms:output</code></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Exchange receivedMessage = camelContext.createConsumerTemplate().receive('jms:output', 5000)</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the received message would pass the following assertions</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">receivedMessage != null
    +assertThatBodyContainsBookNameFoo(receivedMessage.in.body)
    +receivedMessage.in.headers.get('BOOK-NAME') == 'foo'</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_2_output_triggered_by_input_2">Scenario 2 (output triggered by input)</h5>
    +<div class="paragraph">
    +<p>Since the route is set for you it&#8217;s enough to just send a message to the <code>jms:output</code> destination.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">camelContext.createProducerTemplate().sendBodyAndHeaders('jms:input', new BookReturned('foo'), [sample: 'header'])</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Next we&#8217;ll want to listen to the output of the message sent to <code>jms:output</code></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Exchange receivedMessage = camelContext.createConsumerTemplate().receive('jms:output', 5000)</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the received message would pass the following assertions</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">receivedMessage != null
    +assertThatBodyContainsBookNameFoo(receivedMessage.in.body)
    +receivedMessage.in.headers.get('BOOK-NAME') == 'foo'</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_3_input_with_no_output">Scenario 3 (input with no output)</h5>
    +<div class="paragraph">
    +<p>Since the route is set for you it&#8217;s enough to just send a message to the <code>jms:output</code> destination.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">camelContext.createProducerTemplate().sendBodyAndHeaders('jms:delete', new BookReturned('foo'), [sample: 'header'])</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_stub_runner_integration">Stub Runner Integration</h3>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier Stub Runner&#8217;s messaging module gives you an easy way to integrate with Spring Integration.
    +For the provided artifacts it will automatically download the stubs and register the required
    +routes.</p>
    +</div>
    +<div class="sect3">
    +<h4 id="_adding_it_to_the_project_2">Adding it to the project</h4>
    +<div class="paragraph">
    +<p>It&#8217;s enough to have both Apache Camel and Spring Cloud Contract Stub Runner on classpath.
    +Remember to annotate your test class with <code>@AutoConfigureMessageVerifier</code>.</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_examples_2">Examples</h4>
    +<div class="sect4">
    +<h5 id="_stubs_structure_2">Stubs structure</h5>
    +<div class="paragraph">
    +<p>Let us assume that we have the following Maven repository with a deployed stubs for the
    +<code>integrationService</code> application.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">└── .m2
    +    └── repository
    +        └── io
    +            └── codearte
    +                └── accurest
    +                    └── stubs
    +                        └── integrationService
    +                            ├── 0.0.1-SNAPSHOT
    +                            │   ├── integrationService-0.0.1-SNAPSHOT.pom
    +                            │   ├── integrationService-0.0.1-SNAPSHOT-stubs.jar
    +                            │   └── maven-metadata-local.xml
    +                            └── maven-metadata-local.xml</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the stubs contain the following structure:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">├── META-INF
    +│   └── MANIFEST.MF
    +└── repository
    +    ├── accurest
    +    │   ├── bookDeleted.groovy
    +    │   ├── bookReturned1.groovy
    +    │   └── bookReturned2.groovy
    +    └── mappings</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Let&#8217;s consider the following contracts (let' number it with <strong>1</strong>):</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Contract.make {
    +	label 'return_book_1'
    +	input {
    +		triggeredBy('bookReturnedTriggered()')
    +	}
    +	outputMessage {
    +		sentTo('output')
    +		body('''{ "bookName" : "foo" }''')
    +		headers {
    +			header('BOOK-NAME', 'foo')
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>and number <strong>2</strong></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Contract.make {
    +	label 'return_book_2'
    +	input {
    +		messageFrom('input')
    +		messageBody([
    +				bookName: 'foo'
    +		])
    +		messageHeaders {
    +			header('sample', 'header')
    +		}
    +	}
    +	outputMessage {
    +		sentTo('output')
    +		body([
    +				bookName: 'foo'
    +		])
    +		headers {
    +			header('BOOK-NAME', 'foo')
    +		}
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>and the following Spring Integration Route:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-xml" data-lang="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    +&lt;!--
    +  ~  Copyright 2013-2016 the original author or authors.
    +  ~
    +  ~  Licensed under the Apache License, Version 2.0 (the "License");
    +  ~  you may not use this file except in compliance with the License.
    +  ~  You may obtain a copy of the License at
    +  ~
    +  ~       http://www.apache.org/licenses/LICENSE-2.0
    +  ~
    +  ~  Unless required by applicable law or agreed to in writing, software
    +  ~  distributed under the License is distributed on an "AS IS" BASIS,
    +  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +  ~  See the License for the specific language governing permissions and
    +  ~  limitations under the License.
    +  --&gt;
    +
    +&lt;beans:beans xmlns="http://www.springframework.org/schema/integration"
    +			 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    +			 xmlns:beans="http://www.springframework.org/schema/beans"
    +			 xsi:schemaLocation="http://www.springframework.org/schema/beans
    +			http://www.springframework.org/schema/beans/spring-beans.xsd
    +			http://www.springframework.org/schema/integration
    +			http://www.springframework.org/schema/integration/spring-integration.xsd"&gt;
    +
    +
    +	&lt;!-- REQUIRED FOR TESTING --&gt;
    +	&lt;bridge input-channel="output"
    +			output-channel="outputTest"/&gt;
    +
    +	&lt;channel id="outputTest"&gt;
    +		&lt;queue/&gt;
    +	&lt;/channel&gt;
    +
    +&lt;/beans:beans&gt;</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_1_no_input_message_3">Scenario 1 (no input message)</h5>
    +<div class="paragraph">
    +<p>So as to trigger a message via the <code>return_book_1</code> label we&#8217;ll use the <code>StubTigger</code> interface as follows</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">stubFinder.trigger('return_book_1')</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Next we&#8217;ll want to listen to the output of the message sent to <code>output</code></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Message&lt;?&gt; receivedMessage = messaging.receive('outputTest')</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the received message would pass the following assertions</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">receivedMessage != null
    +assertJsons(receivedMessage.payload)
    +receivedMessage.headers.get('BOOK-NAME') == 'foo'</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_2_output_triggered_by_input_3">Scenario 2 (output triggered by input)</h5>
    +<div class="paragraph">
    +<p>Since the route is set for you it&#8217;s enough to just send a message to the <code>output</code> destination.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">messaging.send(new BookReturned('foo'), [sample: 'header'], 'input')</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Next we&#8217;ll want to listen to the output of the message sent to <code>output</code></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Message&lt;?&gt; receivedMessage = messaging.receive('outputTest')</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the received message would pass the following assertions</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">receivedMessage != null
    +assertJsons(receivedMessage.payload)
    +receivedMessage.headers.get('BOOK-NAME') == 'foo'</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_3_input_with_no_output_2">Scenario 3 (input with no output)</h5>
    +<div class="paragraph">
    +<p>Since the route is set for you it&#8217;s enough to just send a message to the <code>input</code> destination.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">messaging.send(new BookReturned('foo'), [sample: 'header'], 'delete')</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_stub_runner_stream">Stub Runner Stream</h3>
    +<div class="paragraph">
    +<p>Spring Cloud Contract Verifier Stub Runner&#8217;s messaging module gives you an easy way to integrate with Spring Stream.
    +For the provided artifacts it will automatically download the stubs and register the required
    +routes.</p>
    +</div>
    +<div class="admonitionblock warning">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Warning</div>
    +</td>
    +<td class="content">
    +In Stub Runner&#8217;s integration with Stream the <code>messageFrom</code> or <code>sentTo</code> Strings are resolved
    +first as a <code>destination</code> of a channel, and then if there is no such <code>destination</code> it&#8217;s resolved as a
    +channel name.
    +</td>
    +</tr>
    +</table>
    +</div>
    +<div class="sect3">
    +<h4 id="_adding_it_to_the_project_3">Adding it to the project</h4>
    +<div class="paragraph">
    +<p>It&#8217;s enough to have both Apache Camel and Spring Cloud Contract Stub Runner on classpath.
    +Remember to annotate your test class with <code>@AutoConfigureMessageVerifier</code>.</p>
    +</div>
    +</div>
    +<div class="sect3">
    +<h4 id="_examples_3">Examples</h4>
    +<div class="sect4">
    +<h5 id="_stubs_structure_3">Stubs structure</h5>
    +<div class="paragraph">
    +<p>Let us assume that we have the following Maven repository with a deployed stubs for the
    +<code>streamService</code> application.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">└── .m2
    +    └── repository
    +        └── io
    +            └── codearte
    +                └── accurest
    +                    └── stubs
    +                        └── streamService
    +                            ├── 0.0.1-SNAPSHOT
    +                            │   ├── streamService-0.0.1-SNAPSHOT.pom
    +                            │   ├── streamService-0.0.1-SNAPSHOT-stubs.jar
    +                            │   └── maven-metadata-local.xml
    +                            └── maven-metadata-local.xml</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the stubs contain the following structure:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-bash" data-lang="bash">├── META-INF
    +│   └── MANIFEST.MF
    +└── repository
    +    ├── accurest
    +    │   ├── bookDeleted.groovy
    +    │   ├── bookReturned1.groovy
    +    │   └── bookReturned2.groovy
    +    └── mappings</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Let&#8217;s consider the following contracts (let' number it with <strong>1</strong>):</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Contract.make {
    +	label 'return_book_1'
    +	input { triggeredBy('bookReturnedTriggered()') }
    +	outputMessage {
    +		sentTo('returnBook')
    +		body('''{ "bookName" : "foo" }''')
    +		headers { header('BOOK-NAME', 'foo') }
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>and number <strong>2</strong></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Contract.make {
    +	label 'return_book_2'
    +	input {
    +		messageFrom('bookStorage')
    +		messageBody([
    +			bookName: 'foo'
    +		])
    +		messageHeaders { header('sample', 'header') }
    +	}
    +	outputMessage {
    +		sentTo('returnBook')
    +		body([
    +			bookName: 'foo'
    +		])
    +		headers { header('BOOK-NAME', 'foo') }
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>and the following Spring configuration:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-yaml" data-lang="yaml">stubrunner.stubs.repositoryRoot: classpath:m2repo/repository/
    +stubrunner.stubs.ids: org.springframework.cloud.contract.verifier.stubs:streamService:0.0.1-SNAPSHOT:stubs
    +
    +spring:
    +  cloud:
    +    stream:
    +      bindings:
    +        output:
    +          destination: returnBook
    +        input:
    +          destination: bookStorage</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_1_no_input_message_4">Scenario 1 (no input message)</h5>
    +<div class="paragraph">
    +<p>So as to trigger a message via the <code>return_book_1</code> label we&#8217;ll use the <code>StubTrigger</code> interface as follows</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">stubFinder.trigger('return_book_1')</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Next we&#8217;ll want to listen to the output of the message sent to a channel whose <code>destination</code> is <code>returnBook</code></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Message&lt;?&gt; receivedMessage = messaging.receive('returnBook')</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the received message would pass the following assertions</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">receivedMessage != null
    +assertJsons(receivedMessage.payload)
    +receivedMessage.headers.get('BOOK-NAME') == 'foo'</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_2_output_triggered_by_input_4">Scenario 2 (output triggered by input)</h5>
    +<div class="paragraph">
    +<p>Since the route is set for you it&#8217;s enough to just send a message to the <code>bookStorage</code> <code>destination</code>.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">messaging.send(new BookReturned('foo'), [sample: 'header'], 'bookStorage')</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>Next we&#8217;ll want to listen to the output of the message sent to <code>returnBook</code></p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">Message&lt;?&gt; receivedMessage = messaging.receive('returnBook')</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>And the received message would pass the following assertions</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">receivedMessage != null
    +assertJsons(receivedMessage.payload)
    +receivedMessage.headers.get('BOOK-NAME') == 'foo'</code></pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect4">
    +<h5 id="_scenario_3_input_with_no_output_3">Scenario 3 (input with no output)</h5>
    +<div class="paragraph">
    +<p>Since the route is set for you it&#8217;s enough to just send a message to the <code>output</code> destination.</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-groovy" data-lang="groovy">messaging.send(new BookReturned('foo'), [sample: 'header'], 'delete')</code></pre>
    +</div>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_links">Links</h3>
    +<div class="paragraph">
    +<p>Here you can find interesting links related to Spring Cloud Contract Verifier:</p>
    +</div>
    +<div class="ulist">
    +<ul>
    +<li>
    +<p><a href="https://github.com/spring-cloud/spring-cloud-contract/">Spring Cloud Contract Verifier Github Repository</a></p>
    +</li>
    +<li>
    +<p><a href="https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html">Spring Cloud Contract Verifier Documentation</a></p>
    +</li>
    +<li>
    +<p><a href="https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html/deprecated">Accurest Legacy Documentation</a></p>
    +</li>
    +<li>
    +<p><a href="https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html/#spring-cloud-contract-stub-runner">Spring Cloud Contract Stub Runner Documentation</a></p>
    +</li>
    +<li>
    +<p><a href="https://cloud.spring.io/spring-cloud-contract/spring-cloud-contract.html/#stub-runner-for-messaging">Spring Cloud Contract Stub Runner Messaging Documentation</a></p>
    +</li>
    +<li>
    +<p><a href="https://gitter.im/spring-cloud/spring-cloud-contract">Spring Cloud Contract Verifier Gitter</a></p>
    +</li>
    +<li>
    +<p><a href="https://github.com/spring-cloud/spring-cloud-contract">Spring Cloud Contract Verifier Maven Plugin</a></p>
    +</li>
    +</ul>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect1">
    +<h2 id="_spring_cloud_contract_wiremock">Spring Cloud Contract WireMock</h2>
    +<div class="sectionbody">
    +<div class="paragraph">
    +<p>Modules giving you the possibility to use
    +<a href="http://wiremock.org">WireMock</a> with different servers by using the
    +"ambient" server embedded in a Spring Boot application. Check out the
    +<a href="https://github.com/spring-cloud/spring-cloud-contract/tree/master/samples">samples</a>
    +for more details.</p>
    +</div>
    +<div class="paragraph">
    +<p>If you have a Spring Boot application that uses Tomcat as an embedded
    +server, for example (the default with <code>spring-boot-starter-web</code>), then
    +you can simply add <code>spring-cloud-contract-wiremock</code> to your classpath
    +and add <code>@AutoConfigureWireMock</code> in order to be able to use Wiremock
    +in your tests. Wiremock runs as a stub server and you can register
    +stub behaviour using a Java API or via static JSON declarations as
    +part of your test. Here&#8217;s a simple example:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@RunWith(SpringRunner.class)
    +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
    +@AutoConfigureWireMock(port = 0)
    +public class WiremockForDocsTests {
    +	// A service that calls out over HTTP
    +	@Autowired private Service service;
    +
    +	// Using the WireMock APIs in the normal way:
    +	@Test
    +	public void contextLoads() throws Exception {
    +		// Stubbing WireMock
    +		stubFor(get(urlEqualTo("/resource"))
    +				.willReturn(aResponse().withHeader("Content-Type", "text/plain").withBody("Hello World!")));
    +		// We're asserting if WireMock responded properly
    +		assertThat(this.service.go()).isEqualTo("Hello World!");
    +	}
    +
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>To start the stub server on a different port use <code>@AutoConfigureWireMock(port=9999)</code> (for example), and for a random port use the value 0. The stub server port will be bindable in the test application context as "wiremock.server.port". Using <code>@AutoConfigureWireMock</code> adds a bean of type <code>WiremockConfiguration</code> to your test application context, where it will be cached in between methods and classes having the same context, just like for normal Spring integration tests.</p>
    +</div>
    +<div class="sect2">
    +<h3 id="_registering_stubs_automatically">Registering Stubs Automatically</h3>
    +<div class="paragraph">
    +<p>If you add a <code>stubs</code> attribute to your <code>@AutoConfigureWireMock</code> then
    +it will register WireMock JSON stubs from the file system or
    +classpath. The stubs attribute can be a resource pattern (ant-style)
    +or a directory, in which case <code><strong>*/</strong>.json</code> is appended. Example:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre>@RunWith(SpringRunner.class)
    +@SpringBootTest
    +@AutoConfigureWireMock(stubs="classpath:/stubs")
    +public class WiremockImportApplicationTests {
    +
    +	@Autowired
    +	private Service service;
    +
    +	@Test
    +	public void contextLoads() throws Exception {
    +		assertThat(this.service.go()).isEqualTo("Hello World!");
    +	}
    +
    +}</pre>
    +</div>
    +</div>
    +</div>
    +<div class="sect2">
    +<h3 id="_alternative_using_junit_rules">Alternative: Using JUnit Rules</h3>
    +<div class="paragraph">
    +<p>For a more conventional WireMock experience, using JUnit <code>@Rules</code> to
    +start and stop the server, just use the <code>WireMockSpring</code> convenience
    +class to obtain an <code>Options</code> instance:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@RunWith(SpringRunner.class)
    +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
    +@AutoConfigureWireMock
    +public class WiremockForDocsClassRuleTests {
    +
    +	// Start WireMock on some dynamic port
    +	@ClassRule
    +	public static WireMockClassRule wiremock = new WireMockClassRule(
    +			WireMockSpring.options().dynamicPort());
    +	// A service that calls out over HTTP to localhost:${wiremock.port}
    +	@Autowired
    +	private Service service;
    +
    +	// Using the WireMock APIs in the normal way:
    +	@Test
    +	public void contextLoads() throws Exception {
    +		// Stubbing WireMock
    +		wiremock.stubFor(get(urlEqualTo("/resource"))
    +				.willReturn(aResponse().withHeader("Content-Type", "text/plain").withBody("Hello World!")));
    +		// We're asserting if WireMock responded properly
    +		assertThat(this.service.go()).isEqualTo("Hello World!");
    +	}
    +
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>The use <code>@ClassRule</code> means that the server will shut down after all the methods in this class.</p>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div class="sect1">
    +<h2 id="_wiremock_and_spring_mvc_mocks">WireMock and Spring MVC Mocks</h2>
    +<div class="sectionbody">
    +<div class="paragraph">
    +<p>Spring Cloud Contract provides a convenience class that can load JSON WireMock stubs into a
    +Spring <code>MockRestServiceServer</code>. Here&#8217;s an example:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@RunWith(SpringRunner.class)
    +@SpringBootTest(webEnvironment = WebEnvironment.NONE)
    +public class WiremockForDocsMockServerApplicationTests {
    +
    +	@Autowired
    +	private RestTemplate restTemplate;
    +
    +	@Autowired
    +	private Service service;
    +
    +	@Test
    +	public void contextLoads() throws Exception {
    +		// will read stubs classpath
    +		MockRestServiceServer server = WireMockRestServiceServer.with(this.restTemplate)
    +				.baseUrl("http://example.org").stubs("classpath:/stubs/resource.json");
    +		// We're asserting if WireMock responded properly
    +		assertThat(this.service.go()).isEqualTo("Hello World");
    +		server.verify();
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>The <code>baseUrl</code> is prepended to all mock calls, and the <code>stubs()</code>
    +method takes a stub path resource pattern as an argument. So in this
    +example the stub defined at <code>/stubs/resource.json</code> is loaded into the
    +mock server, so if the <code>RestTemplate</code> is asked to visit
    +<code><a href="http://example.org/" class="bare">http://example.org/</a></code> it will get the responses as declared
    +there. More than one stub pattern can be specified, and each one can
    +be a directory (for a recursive list of all ".json"), or a fixed
    +filename (like in the example above) or an ant-style pattern. The JSON
    +format is the normal WireMock format which you can read about in the
    +WireMock website.</p>
    +</div>
    +<div class="paragraph">
    +<p>Currently we support Tomcat, Jetty and Undertow as Spring Boot
    +embedded servers, and Wiremock itself has "native" support for a
    +particular version of Jetty (currently 9.2). To use the native Jetty
    +you need to add the native wiremock dependencies and exclude the
    +Spring Boot container if there is one.</p>
    +</div>
    +</div>
    +</div>
    +<div class="sect1">
    +<h2 id="_generating_stubs_using_restdocs">Generating Stubs using RestDocs</h2>
    +<div class="sectionbody">
    +<div class="paragraph">
    +<p><a href="https://projects.spring.io/spring-restdocs">Spring RestDocs</a> can be
    +used to generate documentation (e.g. in asciidoctor format) for an
    +HTTP API with Spring MockMvc or RestEasy. At the same time as you
    +generate documentation for your API, you can also generate WireMock
    +stubs, by using Spring Cloud Contract WireMock. Just write your normal
    +RestDocs test cases and use <code>@AutoConfigureRestDocs</code> to have stubs
    +automatically in the restdocs output directory. For example:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@RunWith(SpringRunner.class)
    +@SpringBootTest
    +@AutoConfigureRestDocs(outputDir = "target/snippets")
    +@AutoConfigureMockMvc
    +public class ApplicationTests {
    +
    +	@Autowired
    +	private MockMvc mockMvc;
    +
    +	@Test
    +	public void contextLoads() throws Exception {
    +		mockMvc.perform(get("/resource"))
    +				.andExpect(content().string("Hello World"))
    +				.andDo(document("resource"));
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>From this test will be generated a WireMock stub at
    +"target/snippets/stubs/resource.json". It matches all GET requests to
    +the "/resource" path.</p>
    +</div>
    +<div class="paragraph">
    +<p>Without any additional configuration this will create a stub with a
    +request matcher for the HTTP method and all headers except "host" and
    +"content-length". To match the request more precisely, for example to
    +match the body of a POST or PUT, we need to explicitly create a
    +request matcher. This will do two things: 1) create a stub that only
    +matches the way you specify, 2) assert that the request in the test
    +case also matches the same conditions.</p>
    +</div>
    +<div class="paragraph">
    +<p>The main entry point for this is <code>WireMockRestDocs.verify()</code> which can
    +be used as a substitute for the <code>document()</code> convenience method. For
    +example:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@RunWith(SpringRunner.class)
    +@SpringBootTest
    +@AutoConfigureRestDocs(outputDir = "target/snippets")
    +@AutoConfigureMockMvc
    +public class ApplicationTests {
    +
    +	@Autowired
    +	private MockMvc mockMvc;
    +
    +	@Test
    +	public void contextLoads() throws Exception {
    +		mockMvc.perform(post("/resource")
    +                .content("{\"id\":\"123456\",\"message\":\"Hello World\"}"))
    +				.andExpect(status.isOk())
    +				.andDo(verify().jsonPath("$.id")
    +                        .stub("resource"));
    +	}
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>So this contract is saying: any valid POST with an "id" field will get
    +back an the same response as in this test. You can chain together
    +calls to <code>.jsonPath()</code> to add additional matchers. The
    +<a href="https://github.com/jayway/JsonPath">JayWay documentation</a> can help you
    +to get up to speed with JSON Path if it is unfamiliar to you.</p>
    +</div>
    +<div class="paragraph">
    +<p>Instead of the <code>jsonPath</code> and <code>contentType</code> convenience methods, you
    +can also use the WireMock APIs to verify the request matches the
    +created stub. Example:</p>
    +</div>
    +<div class="listingblock">
    +<div class="content">
    +<pre class="highlight"><code class="language-java" data-lang="java">@Test
    +public void contextLoads() throws Exception {
    +	mockMvc.perform(post("/resource")
    +               .content("{\"id\":\"123456\",\"message\":\"Hello World\"}"))
    +			.andExpect(status.isOk())
    +			.andDo(verify()
    +					.wiremock(WireMock.post(
    +						urlPathEquals("/resource"))
    +						.withRequestBody(matchingJsonPath("$.id"))
    +                       .stub("post-resource"));
    +}</code></pre>
    +</div>
    +</div>
    +<div class="paragraph">
    +<p>The WireMock API is rich - you can match headers, query parameters,
    +and request body by regex as well as by json path - so this can useful
    +to create stubs with a wider range of parameters. The above example
    +will generate a stub something like this:</p>
    +</div>
    +<div class="listingblock">
    +<div class="title">post-resource.json</div>
    +<div class="content">
    +<pre class="highlight"><code class="language-json" data-lang="json">{
    +  "request" : {
    +    "url" : "/resource",
    +    "method" : "POST",
    +    "bodyPatterns" : [ {
    +      "matchesJsonPath" : "$.id"
    +    }]
    +  },
    +  "response" : {
    +    "status" : 200,
    +    "body" : "Hello World",
    +    "headers" : {
    +      "X-Application-Context" : "application:-1",
    +      "Content-Type" : "text/plain"
    +    }
    +  }
    +}</code></pre>
    +</div>
    +</div>
    +<div class="admonitionblock note">
    +<table>
    +<tr>
    +<td class="icon">
    +<div class="title">Note</div>
    +</td>
    +<td class="content">
    +You can use either the <code>wiremock()</code> method or the <code>jsonPath()</code>
    +and <code>contentType()</code> methods to create request matchers, but not both.
    +</td>
    +</tr>
    +</table>
    +</div>
    +<div class="paragraph">
    +<p>On the consumer side, assuming the <code>resource.json</code> generated above is
    +available on the classpath, you can create a stub using WireMock in a
    +number of different ways, including as described above using
    +<code>@AutoConfigureWireMock(stubs="classpath:resource.json")</code>.</p>
    +</div>
    +</div>
    +</div>
    +</div>
    +<div id="footer">
    +<div id="footer-text">
    +Last updated 2016-07-21 16:18:40 UTC
    +</div>
    +</div>
    +</body>
    +</html>
    \ No newline at end of file