")
+ .addClass(category === "modules"
+ ? "one-column-search-results"
+ : "two-column-search-results");
+ var col1, col2;
+ if (category === "modules") {
+ col1 = "Module";
+ } else if (category === "packages") {
+ col1 = "Module";
+ col2 = "Package";
+ } else if (category === "types") {
+ col1 = "Package";
+ col2 = "Class"
+ } else if (category === "members") {
+ col1 = "Class";
+ col2 = "Member";
+ } else if (category === "searchTags") {
+ col1 = "Location";
+ col2 = "Name";
+ }
+ $("").appendTo(table);
+ if (category !== "modules") {
+ $("").appendTo(table);
+ }
+ $.each(items, function(index, item) {
+ var rowColor = index % 2 ? "odd-row-color" : "even-row-color";
+ renderItem(item, table, rowColor);
+ });
+ return table;
+ }
+ function renderItem(item, table, rowColor) {
+ var label = getHighlightedText(item.input, item.boundaries, item.prefix.length, item.input.length);
+ var link = $("
")
+ .attr("href", getURL(item.indexItem, item.category))
+ .attr("tabindex", "0")
+ .addClass("search-result-link")
+ .html(label);
+ var container = getHighlightedText(item.input, item.boundaries, 0, item.prefix.length - 1);
+ if (item.category === "searchTags") {
+ container = item.indexItem.h || "";
+ }
+ if (item.category !== "modules") {
+ $("
").html(container).addClass("col-plain").addClass(rowColor).appendTo(table);
+ }
+ $("
").html(link).addClass("col-last").addClass(rowColor).appendTo(table);
+ }
+ var timeout;
+ function schedulePageSearch() {
+ if (timeout) {
+ clearTimeout(timeout);
+ }
+ timeout = setTimeout(function () {
+ doPageSearch()
+ }, 100);
+ }
+ function doPageSearch() {
+ setSearchUrl();
+ var term = searchTerm = input.val().trim();
+ if (term === "") {
+ notify.html(messages.enterTerm);
+ activeTab = "";
+ fixedTab = false;
+ resultContainer.empty();
+ resultSection.hide();
+ } else {
+ notify.html(messages.searching);
+ doSearch({ term: term, maxResults: 1200 }, renderResults);
+ }
+ }
+ function setSearchUrl() {
+ var query = input.val().trim();
+ var url = document.location.pathname;
+ if (query) {
+ url += "?q=" + encodeURI(query);
+ if (activeTab && fixedTab) {
+ url += "&c=" + activeTab;
+ }
+ }
+ history.replaceState({query: query}, "", url);
+ }
+ input.on("input", function(e) {
+ feelingLucky = false;
+ schedulePageSearch();
+ });
+ $(document).keydown(function(e) {
+ if ((e.ctrlKey || e.metaKey) && (e.key === "ArrowLeft" || e.key === "ArrowRight")) {
+ if (activeTab && visibleTabs.length > 1) {
+ var idx = visibleTabs.indexOf(activeTab);
+ idx += e.key === "ArrowLeft" ? visibleTabs.length - 1 : 1;
+ selectTab(visibleTabs[idx % visibleTabs.length]);
+ return false;
+ }
+ }
+ });
+ reset.click(function() {
+ notify.html(messages.enterTerm);
+ resultSection.hide();
+ activeTab = "";
+ fixedTab = false;
+ resultContainer.empty();
+ input.val('').focus();
+ setSearchUrl();
+ });
+ input.prop("disabled", false);
+ reset.prop("disabled", false);
+
+ var urlParams = new URLSearchParams(window.location.search);
+ if (urlParams.has("q")) {
+ input.val(urlParams.get("q"))
+ }
+ if (urlParams.has("c")) {
+ activeTab = urlParams.get("c");
+ fixedTab = true;
+ }
+ if (urlParams.get("r")) {
+ feelingLucky = true;
+ }
+ if (input.val()) {
+ doPageSearch();
+ } else {
+ notify.html(messages.enterTerm);
+ }
+ input.select().focus();
+});
diff --git a/waffle-jna-jakarta/apidocs/search.html b/waffle-jna-jakarta/apidocs/search.html
new file mode 100644
index 0000000000..3d14843d75
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/search.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/search.js b/waffle-jna-jakarta/apidocs/search.js
new file mode 100644
index 0000000000..293b40f52a
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/search.js
@@ -0,0 +1,458 @@
+/*
+ * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ */
+"use strict";
+const messages = {
+ enterTerm: "Enter a search term",
+ noResult: "No results found",
+ oneResult: "Found one result",
+ manyResults: "Found {0} results",
+ loading: "Loading search index...",
+ searching: "Searching...",
+ redirecting: "Redirecting to first result...",
+ linkIcon: "Link icon",
+ linkToSection: "Link to this section"
+}
+const categories = {
+ modules: "Modules",
+ packages: "Packages",
+ types: "Types",
+ members: "Members",
+ searchTags: "Search Tags"
+};
+const highlight = "
";
+const NO_MATCH = {};
+const MAX_RESULTS = 300;
+function checkUnnamed(name, separator) {
+ return name === "
" || !name ? "" : name + separator;
+}
+function escapeHtml(str) {
+ return str.replace(//g, ">");
+}
+function getHighlightedText(str, boundaries, from, to) {
+ var start = from;
+ var text = "";
+ for (var i = 0; i < boundaries.length; i += 2) {
+ var b0 = boundaries[i];
+ var b1 = boundaries[i + 1];
+ if (b0 >= to || b1 <= from) {
+ continue;
+ }
+ text += escapeHtml(str.slice(start, Math.max(start, b0)));
+ text += "";
+ text += escapeHtml(str.slice(Math.max(start, b0), Math.min(to, b1)));
+ text += " ";
+ start = Math.min(to, b1);
+ }
+ text += escapeHtml(str.slice(start, to));
+ return text;
+}
+function getURLPrefix(item, category) {
+ var urlPrefix = "";
+ var slash = "/";
+ if (category === "modules") {
+ return item.l + slash;
+ } else if (category === "packages" && item.m) {
+ return item.m + slash;
+ } else if (category === "types" || category === "members") {
+ if (item.m) {
+ urlPrefix = item.m + slash;
+ } else {
+ $.each(packageSearchIndex, function(index, it) {
+ if (it.m && item.p === it.l) {
+ urlPrefix = it.m + slash;
+ }
+ });
+ }
+ }
+ return urlPrefix;
+}
+function getURL(item, category) {
+ if (item.url) {
+ return item.url;
+ }
+ var url = getURLPrefix(item, category);
+ if (category === "modules") {
+ url += "module-summary.html";
+ } else if (category === "packages") {
+ if (item.u) {
+ url = item.u;
+ } else {
+ url += item.l.replace(/\./g, '/') + "/package-summary.html";
+ }
+ } else if (category === "types") {
+ if (item.u) {
+ url = item.u;
+ } else {
+ url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.l + ".html";
+ }
+ } else if (category === "members") {
+ url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.c + ".html" + "#";
+ if (item.u) {
+ url += item.u;
+ } else {
+ url += item.l;
+ }
+ } else if (category === "searchTags") {
+ url += item.u;
+ }
+ item.url = url;
+ return url;
+}
+function createMatcher(term, camelCase) {
+ if (camelCase && !isUpperCase(term)) {
+ return null; // no need for camel-case matcher for lower case query
+ }
+ var pattern = "";
+ var upperCase = [];
+ term.trim().split(/\s+/).forEach(function(w, index, array) {
+ var tokens = w.split(/(?=[A-Z,.()<>?[\/])/);
+ for (var i = 0; i < tokens.length; i++) {
+ var s = tokens[i];
+ // ',' and '?' are the only delimiters commonly followed by space in java signatures
+ pattern += "(" + $.ui.autocomplete.escapeRegex(s).replace(/[,?]/g, "$&\\s*?") + ")";
+ upperCase.push(false);
+ var isWordToken = /\w$/.test(s);
+ if (isWordToken) {
+ if (i === tokens.length - 1 && index < array.length - 1) {
+ // space in query string matches all delimiters
+ pattern += "(.*?)";
+ upperCase.push(isUpperCase(s[0]));
+ } else {
+ if (!camelCase && isUpperCase(s) && s.length === 1) {
+ pattern += "()";
+ } else {
+ pattern += "([a-z0-9$<>?[\\]]*?)";
+ }
+ upperCase.push(isUpperCase(s[0]));
+ }
+ } else {
+ pattern += "()";
+ upperCase.push(false);
+ }
+ }
+ });
+ var re = new RegExp(pattern, "gi");
+ re.upperCase = upperCase;
+ return re;
+}
+function findMatch(matcher, input, startOfName, endOfName) {
+ var from = startOfName;
+ matcher.lastIndex = from;
+ var match = matcher.exec(input);
+ // Expand search area until we get a valid result or reach the beginning of the string
+ while (!match || match.index + match[0].length < startOfName || endOfName < match.index) {
+ if (from === 0) {
+ return NO_MATCH;
+ }
+ from = input.lastIndexOf(".", from - 2) + 1;
+ matcher.lastIndex = from;
+ match = matcher.exec(input);
+ }
+ var boundaries = [];
+ var matchEnd = match.index + match[0].length;
+ var score = 5;
+ var start = match.index;
+ var prevEnd = -1;
+ for (var i = 1; i < match.length; i += 2) {
+ var isUpper = isUpperCase(input[start]);
+ var isMatcherUpper = matcher.upperCase[i];
+ // capturing groups come in pairs, match and non-match
+ boundaries.push(start, start + match[i].length);
+ // make sure groups are anchored on a left word boundary
+ var prevChar = input[start - 1] || "";
+ var nextChar = input[start + 1] || "";
+ if (start !== 0 && !/[\W_]/.test(prevChar) && !/[\W_]/.test(input[start])) {
+ if (isUpper && (isLowerCase(prevChar) || isLowerCase(nextChar))) {
+ score -= 0.1;
+ } else if (isMatcherUpper && start === prevEnd) {
+ score -= isUpper ? 0.1 : 1.0;
+ } else {
+ return NO_MATCH;
+ }
+ }
+ prevEnd = start + match[i].length;
+ start += match[i].length + match[i + 1].length;
+
+ // lower score for parts of the name that are missing
+ if (match[i + 1] && prevEnd < endOfName) {
+ score -= rateNoise(match[i + 1]);
+ }
+ }
+ // lower score if a type name contains unmatched camel-case parts
+ if (input[matchEnd - 1] !== "." && endOfName > matchEnd)
+ score -= rateNoise(input.slice(matchEnd, endOfName));
+ score -= rateNoise(input.slice(0, Math.max(startOfName, match.index)));
+
+ if (score <= 0) {
+ return NO_MATCH;
+ }
+ return {
+ input: input,
+ score: score,
+ boundaries: boundaries
+ };
+}
+function isUpperCase(s) {
+ return s !== s.toLowerCase();
+}
+function isLowerCase(s) {
+ return s !== s.toUpperCase();
+}
+function rateNoise(str) {
+ return (str.match(/([.(])/g) || []).length / 5
+ + (str.match(/([A-Z]+)/g) || []).length / 10
+ + str.length / 20;
+}
+function doSearch(request, response) {
+ var term = request.term.trim();
+ var maxResults = request.maxResults || MAX_RESULTS;
+ if (term.length === 0) {
+ return this.close();
+ }
+ var matcher = {
+ plainMatcher: createMatcher(term, false),
+ camelCaseMatcher: createMatcher(term, true)
+ }
+ var indexLoaded = indexFilesLoaded();
+
+ function getPrefix(item, category) {
+ switch (category) {
+ case "packages":
+ return checkUnnamed(item.m, "/");
+ case "types":
+ return checkUnnamed(item.p, ".");
+ case "members":
+ return checkUnnamed(item.p, ".") + item.c + ".";
+ default:
+ return "";
+ }
+ }
+ function useQualifiedName(category) {
+ switch (category) {
+ case "packages":
+ return /[\s/]/.test(term);
+ case "types":
+ case "members":
+ return /[\s.]/.test(term);
+ default:
+ return false;
+ }
+ }
+ function searchIndex(indexArray, category) {
+ var matches = [];
+ if (!indexArray) {
+ if (!indexLoaded) {
+ matches.push({ l: messages.loading, category: category });
+ }
+ return matches;
+ }
+ $.each(indexArray, function (i, item) {
+ var prefix = getPrefix(item, category);
+ var simpleName = item.l;
+ var qualifiedName = prefix + simpleName;
+ var useQualified = useQualifiedName(category);
+ var input = useQualified ? qualifiedName : simpleName;
+ var startOfName = useQualified ? prefix.length : 0;
+ var endOfName = category === "members" && input.indexOf("(", startOfName) > -1
+ ? input.indexOf("(", startOfName) : input.length;
+ var m = findMatch(matcher.plainMatcher, input, startOfName, endOfName);
+ if (m === NO_MATCH && matcher.camelCaseMatcher) {
+ m = findMatch(matcher.camelCaseMatcher, input, startOfName, endOfName);
+ }
+ if (m !== NO_MATCH) {
+ m.indexItem = item;
+ m.prefix = prefix;
+ m.category = category;
+ if (!useQualified) {
+ m.input = qualifiedName;
+ m.boundaries = m.boundaries.map(function(b) {
+ return b + prefix.length;
+ });
+ }
+ matches.push(m);
+ }
+ return true;
+ });
+ return matches.sort(function(e1, e2) {
+ return e2.score - e1.score;
+ }).slice(0, maxResults);
+ }
+
+ var result = searchIndex(moduleSearchIndex, "modules")
+ .concat(searchIndex(packageSearchIndex, "packages"))
+ .concat(searchIndex(typeSearchIndex, "types"))
+ .concat(searchIndex(memberSearchIndex, "members"))
+ .concat(searchIndex(tagSearchIndex, "searchTags"));
+
+ if (!indexLoaded) {
+ updateSearchResults = function() {
+ doSearch(request, response);
+ }
+ } else {
+ updateSearchResults = function() {};
+ }
+ response(result);
+}
+// JQuery search menu implementation
+$.widget("custom.catcomplete", $.ui.autocomplete, {
+ _create: function() {
+ this._super();
+ this.widget().menu("option", "items", "> .result-item");
+ // workaround for search result scrolling
+ this.menu._scrollIntoView = function _scrollIntoView( item ) {
+ var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
+ if ( this._hasScroll() ) {
+ borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0;
+ paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0;
+ offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
+ scroll = this.activeMenu.scrollTop();
+ elementHeight = this.activeMenu.height() - 26;
+ itemHeight = item.outerHeight();
+
+ if ( offset < 0 ) {
+ this.activeMenu.scrollTop( scroll + offset );
+ } else if ( offset + itemHeight > elementHeight ) {
+ this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
+ }
+ }
+ };
+ },
+ _renderMenu: function(ul, items) {
+ var currentCategory = "";
+ var widget = this;
+ widget.menu.bindings = $();
+ $.each(items, function(index, item) {
+ if (item.category && item.category !== currentCategory) {
+ ul.append("" + categories[item.category] + " ");
+ currentCategory = item.category;
+ }
+ var li = widget._renderItemData(ul, item);
+ if (item.category) {
+ li.attr("aria-label", categories[item.category] + " : " + item.l);
+ } else {
+ li.attr("aria-label", item.l);
+ }
+ li.attr("class", "result-item");
+ });
+ ul.append("Go to search page ");
+ },
+ _renderItem: function(ul, item) {
+ var li = $(" ").appendTo(ul);
+ var div = $("
").appendTo(li);
+ var label = item.l
+ ? item.l
+ : getHighlightedText(item.input, item.boundaries, 0, item.input.length);
+ var idx = item.indexItem;
+ if (item.category === "searchTags" && idx && idx.h) {
+ if (idx.d) {
+ div.html(label + " (" + idx.h + ") "
+ + idx.d + " ");
+ } else {
+ div.html(label + " (" + idx.h + ") ");
+ }
+ } else {
+ div.html(label);
+ }
+ return li;
+ }
+});
+$(function() {
+ var expanded = false;
+ var windowWidth;
+ function collapse() {
+ if (expanded) {
+ $("div#navbar-top").removeAttr("style");
+ $("button#navbar-toggle-button")
+ .removeClass("expanded")
+ .attr("aria-expanded", "false");
+ expanded = false;
+ }
+ }
+ $("button#navbar-toggle-button").click(function (e) {
+ if (expanded) {
+ collapse();
+ } else {
+ var navbar = $("div#navbar-top");
+ navbar.height(navbar.prop("scrollHeight"));
+ $("button#navbar-toggle-button")
+ .addClass("expanded")
+ .attr("aria-expanded", "true");
+ expanded = true;
+ windowWidth = window.innerWidth;
+ }
+ });
+ $("ul.sub-nav-list-small li a").click(collapse);
+ $("input#search-input").focus(collapse);
+ $("main").click(collapse);
+ $("section[id] > :header, :header[id], :header:has(a[id])").each(function(idx, el) {
+ // Create anchor links for headers with an associated id attribute
+ var hdr = $(el);
+ var id = hdr.attr("id") || hdr.parent("section").attr("id") || hdr.children("a").attr("id");
+ if (id) {
+ hdr.append(" ");
+ }
+ });
+ $(window).on("orientationchange", collapse).on("resize", function(e) {
+ if (expanded && windowWidth !== window.innerWidth) collapse();
+ });
+ var search = $("#search-input");
+ var reset = $("#reset-button");
+ search.catcomplete({
+ minLength: 1,
+ delay: 200,
+ source: doSearch,
+ response: function(event, ui) {
+ if (!ui.content.length) {
+ ui.content.push({ l: messages.noResult });
+ } else {
+ $("#search-input").empty();
+ }
+ },
+ autoFocus: true,
+ focus: function(event, ui) {
+ return false;
+ },
+ position: {
+ collision: "flip"
+ },
+ select: function(event, ui) {
+ if (ui.item.indexItem) {
+ var url = getURL(ui.item.indexItem, ui.item.category);
+ window.location.href = pathtoroot + url;
+ $("#search-input").focus();
+ }
+ }
+ });
+ search.val('');
+ search.prop("disabled", false);
+ reset.prop("disabled", false);
+ reset.click(function() {
+ search.val('').focus();
+ });
+ search.focus();
+});
diff --git a/waffle-jna-jakarta/apidocs/serialized-form.html b/waffle-jna-jakarta/apidocs/serialized-form.html
new file mode 100644
index 0000000000..7bc21c8616
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/serialized-form.html
@@ -0,0 +1,267 @@
+
+
+
+
+Serialized Form (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+serialVersionUID:
+1L
+
+
+
+
+
+
+
+
+
+serialVersionUID:
+1L
+
+
+
+
+Serialized Fields
+
+
+fqn
+String fqn
+The fqn.
+
+
+
+
+
+
+
+
+
+
+
+
+serialVersionUID:
+1L
+
+
+
+
+Serialized Fields
+
+
+fqn
+String fqn
+The fqn.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+serialVersionUID:
+1L
+
+
+
+
+
+
+class WaffleInfoServlet extends jakarta.servlet.http.HttpServlet implements
Serializable
+
+serialVersionUID:
+1L
+
+
+
+
+
+
+
+
+serialVersionUID:
+1L
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+serialVersionUID:
+1L
+
+
+
+
+Serialized Fields
+
+
+domain
+String domain
+The domain.
+
+
+fqn
+String fqn
+The fqn.
+
+
+name
+String name
+The name.
+
+
+sidString
+String sidString
+The sid string.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/stylesheet.css b/waffle-jna-jakarta/apidocs/stylesheet.css
new file mode 100644
index 0000000000..f71489f86c
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/stylesheet.css
@@ -0,0 +1,1272 @@
+/*
+ * Javadoc style sheet
+ */
+
+@import url('resources/fonts/dejavu.css');
+
+/*
+ * These CSS custom properties (variables) define the core color and font
+ * properties used in this stylesheet.
+ */
+:root {
+ /* body, block and code fonts */
+ --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
+ --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+ --code-font-family: 'DejaVu Sans Mono', monospace;
+ /* Base font sizes for body and code elements */
+ --body-font-size: 14px;
+ --code-font-size: 14px;
+ /* Text colors for body and block elements */
+ --body-text-color: #353833;
+ --block-text-color: #474747;
+ /* Background colors for various structural elements */
+ --body-background-color: #ffffff;
+ --section-background-color: #f8f8f8;
+ --detail-background-color: #ffffff;
+ /* Colors for navigation bar and table captions */
+ --navbar-background-color: #4D7A97;
+ --navbar-text-color: #ffffff;
+ /* Background color for subnavigation and various headers */
+ --subnav-background-color: #dee3e9;
+ /* Background and text colors for selected tabs and navigation items */
+ --selected-background-color: #f8981d;
+ --selected-text-color: #253441;
+ --selected-link-color: #1f389c;
+ /* Background colors for generated tables */
+ --even-row-color: #ffffff;
+ --odd-row-color: #eeeeef;
+ /* Text color for page title */
+ --title-color: #2c4557;
+ /* Text colors for links */
+ --link-color: #4A6782;
+ --link-color-active: #bb7a2a;
+ /* Snippet colors */
+ --snippet-background-color: #ebecee;
+ --snippet-text-color: var(--block-text-color);
+ --snippet-highlight-color: #f7c590;
+ /* Border colors for structural elements and user defined tables */
+ --border-color: #ededed;
+ --table-border-color: #000000;
+ /* Search input colors */
+ --search-input-background-color: #ffffff;
+ --search-input-text-color: #000000;
+ --search-input-placeholder-color: #909090;
+ /* Highlight color for active search tag target */
+ --search-tag-highlight-color: #ffff00;
+ /* Adjustments for icon and active background colors of copy-to-clipboard buttons */
+ --copy-icon-brightness: 100%;
+ --copy-button-background-color-active: rgba(168, 168, 176, 0.3);
+ /* Colors for invalid tag notifications */
+ --invalid-tag-background-color: #ffe6e6;
+ --invalid-tag-text-color: #000000;
+}
+/*
+ * Styles for individual HTML elements.
+ *
+ * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
+ * HTML element throughout the page.
+ */
+body {
+ background-color:var(--body-background-color);
+ color:var(--body-text-color);
+ font-family:var(--body-font-family);
+ font-size:var(--body-font-size);
+ margin:0;
+ padding:0;
+ height:100%;
+ width:100%;
+}
+iframe {
+ margin:0;
+ padding:0;
+ height:100%;
+ width:100%;
+ overflow-y:scroll;
+ border:none;
+}
+a:link, a:visited {
+ text-decoration:none;
+ color:var(--link-color);
+}
+a[href]:hover, a[href]:focus {
+ text-decoration:none;
+ color:var(--link-color-active);
+}
+pre {
+ font-family:var(--code-font-family);
+ font-size:1em;
+}
+h1 {
+ font-size:1.428em;
+}
+h2 {
+ font-size:1.285em;
+}
+h3 {
+ font-size:1.14em;
+}
+h4 {
+ font-size:1.072em;
+}
+h5 {
+ font-size:1.001em;
+}
+h6 {
+ font-size:0.93em;
+}
+/* Disable font boosting for selected elements */
+h1, h2, h3, h4, h5, h6, div.member-signature {
+ max-height: 1000em;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-family:var(--code-font-family);
+}
+:not(h1, h2, h3, h4, h5, h6) > code,
+:not(h1, h2, h3, h4, h5, h6) > tt {
+ font-size:var(--code-font-size);
+ padding-top:4px;
+ margin-top:8px;
+ line-height:1.4em;
+}
+dt code {
+ font-family:var(--code-font-family);
+ font-size:1em;
+ padding-top:4px;
+}
+.summary-table dt code {
+ font-family:var(--code-font-family);
+ font-size:1em;
+ vertical-align:top;
+ padding-top:4px;
+}
+sup {
+ font-size:8px;
+}
+button {
+ font-family: var(--body-font-family);
+ font-size: 1em;
+}
+/*
+ * Styles for HTML generated by javadoc.
+ *
+ * These are style classes that are used by the standard doclet to generate HTML documentation.
+ */
+
+/*
+ * Styles for document title and copyright.
+ */
+.about-language {
+ float:right;
+ padding:0 21px 8px 8px;
+ font-size:0.915em;
+ margin-top:-9px;
+ height:2.9em;
+}
+.legal-copy {
+ margin-left:.5em;
+}
+/*
+ * Styles for navigation bar.
+ */
+@media screen {
+ div.flex-box {
+ position:fixed;
+ display:flex;
+ flex-direction:column;
+ height: 100%;
+ width: 100%;
+ }
+ header.flex-header {
+ flex: 0 0 auto;
+ }
+ div.flex-content {
+ flex: 1 1 auto;
+ overflow-y: auto;
+ }
+}
+.top-nav {
+ background-color:var(--navbar-background-color);
+ color:var(--navbar-text-color);
+ float:left;
+ width:100%;
+ clear:right;
+ min-height:2.8em;
+ padding:10px 0 0 0;
+ overflow:hidden;
+ font-size:0.857em;
+}
+button#navbar-toggle-button {
+ display:none;
+}
+ul.sub-nav-list-small {
+ display: none;
+}
+.sub-nav {
+ background-color:var(--subnav-background-color);
+ float:left;
+ width:100%;
+ overflow:hidden;
+ font-size:0.857em;
+}
+.sub-nav div {
+ clear:left;
+ float:left;
+ padding:6px;
+ text-transform:uppercase;
+}
+.sub-nav .sub-nav-list {
+ padding-top:4px;
+}
+ul.nav-list {
+ display:block;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.sub-nav-list {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.nav-list li {
+ list-style:none;
+ float:left;
+ padding: 5px 6px;
+ text-transform:uppercase;
+}
+.sub-nav .nav-list-search {
+ float:right;
+ margin:0;
+ padding:6px;
+ clear:none;
+ text-align:right;
+ position:relative;
+}
+ul.sub-nav-list li {
+ list-style:none;
+ float:left;
+}
+.top-nav a:link, .top-nav a:active, .top-nav a:visited {
+ color:var(--navbar-text-color);
+ text-decoration:none;
+ text-transform:uppercase;
+}
+.top-nav a:hover {
+ color:var(--link-color-active);
+}
+.nav-bar-cell1-rev {
+ background-color:var(--selected-background-color);
+ color:var(--selected-text-color);
+ margin: auto 5px;
+}
+.skip-nav {
+ position:absolute;
+ top:auto;
+ left:-9999px;
+ overflow:hidden;
+}
+/*
+ * Hide navigation links and search box in print layout
+ */
+@media print {
+ ul.nav-list, div.sub-nav {
+ display:none;
+ }
+}
+/*
+ * Styles for page header.
+ */
+.title {
+ color:var(--title-color);
+ margin:10px 0;
+}
+.sub-title {
+ margin:5px 0 0 0;
+}
+ul.contents-list {
+ margin: 0 0 15px 0;
+ padding: 0;
+ list-style: none;
+}
+ul.contents-list li {
+ font-size:0.93em;
+}
+/*
+ * Styles for headings.
+ */
+body.class-declaration-page .summary h2,
+body.class-declaration-page .details h2,
+body.class-use-page h2,
+body.module-declaration-page .block-list h2 {
+ font-style: italic;
+ padding:0;
+ margin:15px 0;
+}
+body.class-declaration-page .summary h3,
+body.class-declaration-page .details h3,
+body.class-declaration-page .summary .inherited-list h2 {
+ background-color:var(--subnav-background-color);
+ border:1px solid var(--border-color);
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+/*
+ * Styles for page layout containers.
+ */
+main {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+dl.notes > dt {
+ font-family: var(--body-font-family);
+ font-size:0.856em;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:var(--body-text-color);
+}
+dl.notes > dd {
+ margin:5px 10px 10px 0;
+ font-size:1em;
+ font-family:var(--block-font-family)
+}
+dl.name-value > dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+dl.name-value > dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+ * Styles for lists.
+ */
+li.circle {
+ list-style:circle;
+}
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+div.inheritance {
+ margin:0;
+ padding:0;
+}
+div.inheritance div.inheritance {
+ margin-left:2em;
+}
+ul.block-list,
+ul.details-list,
+ul.member-list,
+ul.summary-list {
+ margin:10px 0 10px 0;
+ padding:0;
+}
+ul.block-list > li,
+ul.details-list > li,
+ul.member-list > li,
+ul.summary-list > li {
+ list-style:none;
+ margin-bottom:15px;
+ line-height:1.4;
+}
+ul.ref-list {
+ padding:0;
+ margin:0;
+}
+ul.ref-list > li {
+ list-style:none;
+}
+.summary-table dl, .summary-table dl dt, .summary-table dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+ul.tag-list, ul.tag-list-long {
+ padding-left: 0;
+ list-style: none;
+}
+ul.tag-list li {
+ display: inline;
+}
+ul.tag-list li:not(:last-child):after,
+ul.tag-list-long li:not(:last-child):after
+{
+ content: ", ";
+ white-space: pre-wrap;
+}
+ul.preview-feature-list {
+ list-style: none;
+ margin:0;
+ padding:0.1em;
+ line-height: 1.6em;
+}
+/*
+ * Styles for tables.
+ */
+.summary-table, .details-table {
+ width:100%;
+ border-spacing:0;
+ border:1px solid var(--border-color);
+ border-top:0;
+ padding:0;
+}
+.caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:var(--selected-text-color);
+ clear:none;
+ overflow:hidden;
+ padding: 10px 0 0 1px;
+ margin:0;
+}
+.caption a:link, .caption a:visited {
+ color:var(--selected-link-color);
+}
+.caption a:hover,
+.caption a:active {
+ color:var(--navbar-text-color);
+}
+.caption span {
+ font-weight:bold;
+ white-space:nowrap;
+ padding:5px 12px 7px 12px;
+ display:inline-block;
+ float:left;
+ background-color:var(--selected-background-color);
+ border: none;
+ height:16px;
+}
+div.table-tabs {
+ padding:10px 0 0 1px;
+ margin:10px 0 0 0;
+}
+div.table-tabs > button {
+ border: none;
+ cursor: pointer;
+ padding: 5px 12px 7px 12px;
+ font-weight: bold;
+ margin-right: 8px;
+}
+div.table-tabs > .active-table-tab {
+ background: var(--selected-background-color);
+ color: var(--selected-text-color);
+}
+div.table-tabs > button.table-tab {
+ background: var(--navbar-background-color);
+ color: var(--navbar-text-color);
+}
+.two-column-search-results {
+ display: grid;
+ grid-template-columns: minmax(400px, max-content) minmax(400px, auto);
+}
+div.checkboxes {
+ line-height: 2em;
+}
+div.checkboxes > span {
+ margin-left: 10px;
+}
+div.checkboxes > label {
+ margin-left: 8px;
+ white-space: nowrap;
+}
+div.checkboxes > label > input {
+ margin: 0 2px;
+}
+.two-column-summary {
+ display: grid;
+ grid-template-columns: minmax(25%, max-content) minmax(25%, auto);
+}
+.three-column-summary {
+ display: grid;
+ grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto);
+}
+.three-column-release-summary {
+ display: grid;
+ grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto);
+}
+.four-column-summary {
+ display: grid;
+ grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto);
+}
+@media screen and (max-width: 1000px) {
+ .four-column-summary {
+ display: grid;
+ grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
+ }
+}
+@media screen and (max-width: 800px) {
+ .two-column-search-results {
+ display: grid;
+ grid-template-columns: minmax(40%, max-content) minmax(40%, auto);
+ }
+ .three-column-summary {
+ display: grid;
+ grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
+ }
+ .three-column-release-summary {
+ display: grid;
+ grid-template-columns: minmax(70%, max-content) minmax(30%, max-content)
+ }
+ .three-column-summary .col-last,
+ .three-column-release-summary .col-last{
+ grid-column-end: span 2;
+ }
+}
+@media screen and (max-width: 600px) {
+ .two-column-summary {
+ display: grid;
+ grid-template-columns: 1fr;
+ }
+}
+.summary-table > div, .details-table > div {
+ text-align:left;
+ padding: 8px 3px 3px 7px;
+ overflow-x: auto;
+ scrollbar-width: thin;
+}
+.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name {
+ vertical-align:top;
+ padding-right:0;
+ padding-top:8px;
+ padding-bottom:3px;
+}
+.table-header {
+ background:var(--subnav-background-color);
+ font-weight: bold;
+}
+/* Sortable table columns */
+.table-header[onclick] {
+ cursor: pointer;
+}
+.table-header[onclick]::after {
+ content:"";
+ display:inline-block;
+ background-image:url('data:image/svg+xml; utf8, \
+ \
+ ');
+ background-size:100% 100%;
+ width:9px;
+ height:14px;
+ margin-left:4px;
+ margin-bottom:-3px;
+}
+.table-header[onclick].sort-asc::after {
+ background-image:url('data:image/svg+xml; utf8, \
+ \
+ \
+ ');
+
+}
+.table-header[onclick].sort-desc::after {
+ background-image:url('data:image/svg+xml; utf8, \
+ \
+ \
+ ');
+}
+.col-first, .col-first {
+ font-size:0.93em;
+}
+.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last {
+ font-size:0.93em;
+}
+.col-first, .col-second, .col-constructor-name {
+ vertical-align:top;
+ overflow: auto;
+}
+.col-last {
+ white-space:normal;
+}
+.col-first a:link, .col-first a:visited,
+.col-second a:link, .col-second a:visited,
+.col-first a:link, .col-first a:visited,
+.col-second a:link, .col-second a:visited,
+.col-constructor-name a:link, .col-constructor-name a:visited,
+.col-summary-item-name a:link, .col-summary-item-name a:visited {
+ font-weight:bold;
+}
+.even-row-color, .even-row-color .table-header {
+ background-color:var(--even-row-color);
+}
+.odd-row-color, .odd-row-color .table-header {
+ background-color:var(--odd-row-color);
+}
+/*
+ * Styles for contents.
+ */
+div.block {
+ font-size:var(--body-font-size);
+ font-family:var(--block-font-family);
+}
+.col-last div {
+ padding-top:0;
+}
+.col-last a {
+ padding-bottom:3px;
+}
+.module-signature,
+.package-signature,
+.type-signature,
+.member-signature {
+ font-family:var(--code-font-family);
+ font-size:1em;
+ margin:14px 0;
+ white-space: pre-wrap;
+}
+.module-signature,
+.package-signature,
+.type-signature {
+ margin-top: 0;
+}
+.member-signature .type-parameters-long,
+.member-signature .parameters,
+.member-signature .exceptions {
+ display: inline-block;
+ vertical-align: top;
+ white-space: pre;
+}
+.member-signature .type-parameters {
+ white-space: normal;
+}
+/*
+ * Styles for formatting effect.
+ */
+.source-line-no {
+ /* Color of line numbers in source pages can be set via custom property below */
+ color:var(--source-linenumber-color, green);
+ padding:0 30px 0 0;
+}
+.block {
+ display:block;
+ margin:0 10px 5px 0;
+ color:var(--block-text-color);
+}
+.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link,
+.module-label-in-package, .module-label-in-type, .package-label-in-type,
+.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label {
+ font-weight:bold;
+}
+.deprecation-comment, .help-footnote, .preview-comment {
+ font-style:italic;
+}
+.deprecation-block {
+ font-size:1em;
+ font-family:var(--block-font-family);
+ border-style:solid;
+ border-width:thin;
+ border-radius:10px;
+ padding:10px;
+ margin-bottom:10px;
+ margin-right:10px;
+ display:inline-block;
+}
+.preview-block {
+ font-size:1em;
+ font-family:var(--block-font-family);
+ border-style:solid;
+ border-width:thin;
+ border-radius:10px;
+ padding:10px;
+ margin-bottom:10px;
+ margin-right:10px;
+ display:inline-block;
+}
+div.block div.deprecation-comment {
+ font-style:normal;
+}
+details.invalid-tag, span.invalid-tag {
+ font-size:1em;
+ font-family:var(--block-font-family);
+ color: var(--invalid-tag-text-color);
+ background: var(--invalid-tag-background-color);
+ border: thin solid var(--table-border-color);
+ border-radius:2px;
+ padding: 2px 4px;
+ display:inline-block;
+}
+details summary {
+ cursor: pointer;
+}
+/*
+ * Styles specific to HTML5 elements.
+ */
+main, nav, header, footer, section {
+ display:block;
+}
+/*
+ * Styles for javadoc search.
+ */
+.ui-state-active {
+ /* Overrides the color of selection used in jQuery UI */
+ background: var(--selected-background-color);
+ border: 1px solid var(--selected-background-color);
+ color: var(--selected-text-color);
+}
+.ui-autocomplete-category {
+ font-weight:bold;
+ font-size:15px;
+ padding:7px 0 7px 3px;
+ background-color:var(--navbar-background-color);
+ color:var(--navbar-text-color);
+}
+.ui-autocomplete {
+ max-height:85%;
+ max-width:65%;
+ overflow-y:auto;
+ overflow-x:auto;
+ scrollbar-width: thin;
+ white-space:nowrap;
+ box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
+}
+ul.ui-autocomplete {
+ position:fixed;
+ z-index:1;
+ background-color: var(--body-background-color);
+}
+ul.ui-autocomplete li {
+ float:left;
+ clear:both;
+ min-width:100%;
+}
+ul.ui-autocomplete li.ui-static-link {
+ position:sticky;
+ bottom:0;
+ left:0;
+ background: var(--subnav-background-color);
+ padding: 5px 0;
+ font-family: var(--body-font-family);
+ font-size: 0.93em;
+ font-weight: bolder;
+ z-index: 2;
+}
+li.ui-static-link a, li.ui-static-link a:visited {
+ text-decoration:none;
+ color:var(--link-color);
+ float:right;
+ margin-right:20px;
+}
+.ui-autocomplete .result-item {
+ font-size: inherit;
+}
+.ui-autocomplete .result-highlight {
+ font-weight:bold;
+}
+#search-input, #page-search-input {
+ background-image:url('resources/glass.png');
+ background-size:13px;
+ background-repeat:no-repeat;
+ background-position:2px 3px;
+ background-color: var(--search-input-background-color);
+ color: var(--search-input-text-color);
+ border-color: var(--border-color);
+ padding-left:20px;
+ width: 250px;
+ margin: 0;
+}
+#search-input {
+ margin-left: 4px;
+}
+#reset-button {
+ background-color: transparent;
+ background-image:url('resources/x.png');
+ background-repeat:no-repeat;
+ background-size:contain;
+ border:0;
+ border-radius:0;
+ width:12px;
+ height:12px;
+ position:absolute;
+ right:12px;
+ top:10px;
+ font-size:0;
+}
+::placeholder {
+ color:var(--search-input-placeholder-color);
+ opacity: 1;
+}
+.search-tag-desc-result {
+ font-style:italic;
+ font-size:11px;
+}
+.search-tag-holder-result {
+ font-style:italic;
+ font-size:12px;
+}
+.search-tag-result:target {
+ background-color:var(--search-tag-highlight-color);
+}
+details.page-search-details {
+ display: inline-block;
+}
+div#result-container {
+ font-size: 1em;
+}
+div#result-container a.search-result-link {
+ padding: 0;
+ margin: 4px 0;
+ width: 100%;
+}
+#result-container .result-highlight {
+ font-weight:bolder;
+}
+.page-search-info {
+ background-color: var(--subnav-background-color);
+ border-radius: 3px;
+ border: 0 solid var(--border-color);
+ padding: 0 8px;
+ overflow: hidden;
+ height: 0;
+ transition: all 0.2s ease;
+}
+div.table-tabs > button.table-tab {
+ background: var(--navbar-background-color);
+ color: var(--navbar-text-color);
+}
+.page-search-header {
+ padding: 5px 12px 7px 12px;
+ font-weight: bold;
+ margin-right: 3px;
+ background-color:var(--navbar-background-color);
+ color:var(--navbar-text-color);
+ display: inline-block;
+}
+button.page-search-header {
+ border: none;
+ cursor: pointer;
+}
+span#page-search-link {
+ text-decoration: underline;
+}
+.module-graph span, .sealed-graph span {
+ display:none;
+ position:absolute;
+}
+.module-graph:hover span, .sealed-graph:hover span {
+ display:block;
+ margin: -100px 0 0 100px;
+ z-index: 1;
+}
+.inherited-list {
+ margin: 10px 0 10px 0;
+}
+section.class-description {
+ line-height: 1.4;
+}
+.summary section[class$="-summary"], .details section[class$="-details"],
+.class-uses .detail, .serialized-class-details {
+ padding: 0 20px 5px 10px;
+ border: 1px solid var(--border-color);
+ background-color: var(--section-background-color);
+}
+.inherited-list, section[class$="-details"] .detail {
+ padding:0 0 5px 8px;
+ background-color:var(--detail-background-color);
+ border:none;
+}
+.vertical-separator {
+ padding: 0 5px;
+}
+ul.help-section-list {
+ margin: 0;
+}
+ul.help-subtoc > li {
+ display: inline-block;
+ padding-right: 5px;
+ font-size: smaller;
+}
+ul.help-subtoc > li::before {
+ content: "\2022" ;
+ padding-right:2px;
+}
+.help-note {
+ font-style: italic;
+}
+/*
+ * Indicator icon for external links.
+ */
+main a[href*="://"]::after {
+ content:"";
+ display:inline-block;
+ background-image:url('data:image/svg+xml; utf8, \
+ \
+ \
+ ');
+ background-size:100% 100%;
+ width:7px;
+ height:7px;
+ margin-left:2px;
+ margin-bottom:4px;
+}
+main a[href*="://"]:hover::after,
+main a[href*="://"]:focus::after {
+ background-image:url('data:image/svg+xml; utf8, \
+ \
+ \
+ ');
+}
+/*
+ * Styles for header/section anchor links
+ */
+a.anchor-link {
+ opacity: 0;
+ transition: opacity 0.1s;
+}
+:hover > a.anchor-link {
+ opacity: 80%;
+}
+a.anchor-link:hover,
+a.anchor-link:focus-visible,
+a.anchor-link.visible {
+ opacity: 100%;
+}
+a.anchor-link > img {
+ width: 0.9em;
+ height: 0.9em;
+}
+/*
+ * Styles for copy-to-clipboard buttons
+ */
+button.copy {
+ opacity: 70%;
+ border: none;
+ border-radius: 3px;
+ position: relative;
+ background:none;
+ transition: opacity 0.3s;
+ cursor: pointer;
+}
+:hover > button.copy {
+ opacity: 80%;
+}
+button.copy:hover,
+button.copy:active,
+button.copy:focus-visible,
+button.copy.visible {
+ opacity: 100%;
+}
+button.copy img {
+ position: relative;
+ background: none;
+ filter: brightness(var(--copy-icon-brightness));
+}
+button.copy:active {
+ background-color: var(--copy-button-background-color-active);
+}
+button.copy span {
+ color: var(--body-text-color);
+ position: relative;
+ top: -0.1em;
+ transition: all 0.1s;
+ font-size: 0.76rem;
+ line-height: 1.2em;
+ opacity: 0;
+}
+button.copy:hover span,
+button.copy:focus-visible span,
+button.copy.visible span {
+ opacity: 100%;
+}
+/* search page copy button */
+button#page-search-copy {
+ margin-left: 0.4em;
+ padding:0.3em;
+ top:0.13em;
+}
+button#page-search-copy img {
+ width: 1.2em;
+ height: 1.2em;
+ padding: 0.01em 0;
+ top: 0.15em;
+}
+button#page-search-copy span {
+ color: var(--body-text-color);
+ line-height: 1.2em;
+ padding: 0.2em;
+ top: -0.18em;
+}
+div.page-search-info:hover button#page-search-copy span {
+ opacity: 100%;
+}
+/* snippet copy button */
+button.snippet-copy {
+ position: absolute;
+ top: 6px;
+ right: 6px;
+ height: 1.7em;
+ padding: 2px;
+}
+button.snippet-copy img {
+ width: 18px;
+ height: 18px;
+ padding: 0.05em 0;
+}
+button.snippet-copy span {
+ line-height: 1.2em;
+ padding: 0.2em;
+ position: relative;
+ top: -0.5em;
+}
+div.snippet-container:hover button.snippet-copy span {
+ opacity: 100%;
+}
+/*
+ * Styles for user-provided tables.
+ *
+ * borderless:
+ * No borders, vertical margins, styled caption.
+ * This style is provided for use with existing doc comments.
+ * In general, borderless tables should not be used for layout purposes.
+ *
+ * plain:
+ * Plain borders around table and cells, vertical margins, styled caption.
+ * Best for small tables or for complex tables for tables with cells that span
+ * rows and columns, when the "striped" style does not work well.
+ *
+ * striped:
+ * Borders around the table and vertical borders between cells, striped rows,
+ * vertical margins, styled caption.
+ * Best for tables that have a header row, and a body containing a series of simple rows.
+ */
+
+table.borderless,
+table.plain,
+table.striped {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+table.borderless > caption,
+table.plain > caption,
+table.striped > caption {
+ font-weight: bold;
+ font-size: smaller;
+}
+table.borderless th, table.borderless td,
+table.plain th, table.plain td,
+table.striped th, table.striped td {
+ padding: 2px 5px;
+}
+table.borderless,
+table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th,
+table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td {
+ border: none;
+}
+table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr {
+ background-color: transparent;
+}
+table.plain {
+ border-collapse: collapse;
+ border: 1px solid var(--table-border-color);
+}
+table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
+ background-color: transparent;
+}
+table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th,
+table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td {
+ border: 1px solid var(--table-border-color);
+}
+table.striped {
+ border-collapse: collapse;
+ border: 1px solid var(--table-border-color);
+}
+table.striped > thead {
+ background-color: var(--subnav-background-color);
+}
+table.striped > thead > tr > th, table.striped > thead > tr > td {
+ border: 1px solid var(--table-border-color);
+}
+table.striped > tbody > tr:nth-child(even) {
+ background-color: var(--odd-row-color)
+}
+table.striped > tbody > tr:nth-child(odd) {
+ background-color: var(--even-row-color)
+}
+table.striped > tbody > tr > th, table.striped > tbody > tr > td {
+ border-left: 1px solid var(--table-border-color);
+ border-right: 1px solid var(--table-border-color);
+}
+table.striped > tbody > tr > th {
+ font-weight: normal;
+}
+/**
+ * Tweak style for small screens.
+ */
+@media screen and (max-width: 920px) {
+ header.flex-header {
+ max-height: 100vh;
+ overflow-y: auto;
+ }
+ div#navbar-top {
+ height: 2.8em;
+ transition: height 0.35s ease;
+ }
+ ul.nav-list {
+ display: block;
+ width: 40%;
+ float:left;
+ clear: left;
+ margin: 10px 0 0 0;
+ padding: 0;
+ }
+ ul.nav-list li {
+ float: none;
+ padding: 6px;
+ margin-left: 10px;
+ margin-top: 2px;
+ }
+ ul.sub-nav-list-small {
+ display:block;
+ height: 100%;
+ width: 50%;
+ float: right;
+ clear: right;
+ background-color: var(--subnav-background-color);
+ color: var(--body-text-color);
+ margin: 6px 0 0 0;
+ padding: 0;
+ }
+ ul.sub-nav-list-small ul {
+ padding-left: 20px;
+ }
+ ul.sub-nav-list-small a:link, ul.sub-nav-list-small a:visited {
+ color:var(--link-color);
+ }
+ ul.sub-nav-list-small a:hover {
+ color:var(--link-color-active);
+ }
+ ul.sub-nav-list-small li {
+ list-style:none;
+ float:none;
+ padding: 6px;
+ margin-top: 1px;
+ text-transform:uppercase;
+ }
+ ul.sub-nav-list-small > li {
+ margin-left: 10px;
+ }
+ ul.sub-nav-list-small li p {
+ margin: 5px 0;
+ }
+ div#navbar-sub-list {
+ display: none;
+ }
+ .top-nav a:link, .top-nav a:active, .top-nav a:visited {
+ display: block;
+ }
+ button#navbar-toggle-button {
+ width: 3.4em;
+ height: 2.8em;
+ background-color: transparent;
+ display: block;
+ float: left;
+ border: 0;
+ margin: 0 10px;
+ cursor: pointer;
+ font-size: 10px;
+ }
+ button#navbar-toggle-button .nav-bar-toggle-icon {
+ display: block;
+ width: 24px;
+ height: 3px;
+ margin: 1px 0 4px 0;
+ border-radius: 2px;
+ transition: all 0.1s;
+ background-color: var(--navbar-text-color);
+ }
+ button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) {
+ transform: rotate(45deg);
+ transform-origin: 10% 10%;
+ width: 26px;
+ }
+ button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) {
+ opacity: 0;
+ }
+ button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) {
+ transform: rotate(-45deg);
+ transform-origin: 10% 90%;
+ width: 26px;
+ }
+}
+@media screen and (max-width: 800px) {
+ .about-language {
+ padding-right: 16px;
+ }
+ ul.nav-list li {
+ margin-left: 5px;
+ }
+ ul.sub-nav-list-small > li {
+ margin-left: 5px;
+ }
+ main {
+ padding: 10px;
+ }
+ .summary section[class$="-summary"], .details section[class$="-details"],
+ .class-uses .detail, .serialized-class-details {
+ padding: 0 8px 5px 8px;
+ }
+ body {
+ -webkit-text-size-adjust: none;
+ }
+}
+@media screen and (max-width: 400px) {
+ .about-language {
+ font-size: 10px;
+ padding-right: 12px;
+ }
+}
+@media screen and (max-width: 400px) {
+ .nav-list-search {
+ width: 94%;
+ }
+ #search-input, #page-search-input {
+ width: 70%;
+ }
+}
+@media screen and (max-width: 320px) {
+ .nav-list-search > label {
+ display: none;
+ }
+ .nav-list-search {
+ width: 90%;
+ }
+ #search-input, #page-search-input {
+ width: 80%;
+ }
+}
+
+pre.snippet {
+ background-color: var(--snippet-background-color);
+ color: var(--snippet-text-color);
+ padding: 10px;
+ margin: 12px 0;
+ overflow: auto;
+ white-space: pre;
+}
+div.snippet-container {
+ position: relative;
+}
+@media screen and (max-width: 800px) {
+ pre.snippet {
+ padding-top: 26px;
+ }
+ button.snippet-copy {
+ top: 4px;
+ right: 4px;
+ }
+}
+pre.snippet .italic {
+ font-style: italic;
+}
+pre.snippet .bold {
+ font-weight: bold;
+}
+pre.snippet .highlighted {
+ background-color: var(--snippet-highlight-color);
+ border-radius: 10%;
+}
diff --git a/waffle-jna-jakarta/apidocs/tag-search-index.js b/waffle-jna-jakarta/apidocs/tag-search-index.js
new file mode 100644
index 0000000000..bf10aaf6d1
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/tag-search-index.js
@@ -0,0 +1 @@
+tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults();
\ No newline at end of file
diff --git a/waffle-jna-jakarta/apidocs/type-search-index.js b/waffle-jna-jakarta/apidocs/type-search-index.js
new file mode 100644
index 0000000000..6fb099c7e6
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/type-search-index.js
@@ -0,0 +1 @@
+typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"waffle.util","l":"AuthorizationHeader"},{"p":"waffle.servlet","l":"AutoDisposableWindowsPrincipal"},{"p":"waffle.servlet.spi","l":"BasicSecurityFilterProvider"},{"p":"waffle.util.cache","l":"Cache"},{"p":"waffle.util.cache","l":"CacheSupplier"},{"p":"waffle.util.cache","l":"CaffeineCache"},{"p":"waffle.util.cache","l":"CaffeineCacheSupplier"},{"p":"waffle.servlet","l":"CorsAwareNegotiateSecurityFilter"},{"p":"waffle.util","l":"CorsPreFlightCheck"},{"p":"waffle.jaas","l":"GroupPrincipal"},{"p":"waffle.windows.auth","l":"IWindowsAccount"},{"p":"waffle.windows.auth","l":"IWindowsAuthProvider"},{"p":"waffle.windows.auth","l":"IWindowsComputer"},{"p":"waffle.windows.auth","l":"IWindowsCredentialsHandle"},{"p":"waffle.windows.auth","l":"IWindowsDomain"},{"p":"waffle.windows.auth","l":"IWindowsIdentity"},{"p":"waffle.windows.auth","l":"IWindowsImpersonationContext"},{"p":"waffle.windows.auth","l":"IWindowsSecurityContext"},{"p":"waffle.servlet","l":"NegotiateRequestWrapper"},{"p":"waffle.servlet","l":"NegotiateSecurityFilter"},{"p":"waffle.servlet.spi","l":"NegotiateSecurityFilterProvider"},{"p":"waffle.util","l":"NtlmMessage"},{"p":"waffle.util","l":"NtlmServletRequest"},{"p":"waffle.windows.auth","l":"PrincipalFormat"},{"p":"waffle.jaas","l":"RolePrincipal"},{"p":"waffle.servlet.spi","l":"SecurityFilterProvider"},{"p":"waffle.servlet.spi","l":"SecurityFilterProviderCollection"},{"p":"waffle.util","l":"SPNegoMessage"},{"p":"waffle.jaas","l":"UserPrincipal"},{"p":"waffle.util","l":"WaffleInfo"},{"p":"waffle.servlet","l":"WaffleInfoServlet"},{"p":"waffle.windows.auth","l":"WindowsAccount"},{"p":"waffle.windows.auth.impl","l":"WindowsAccountImpl"},{"p":"waffle.windows.auth.impl","l":"WindowsAuthProviderImpl"},{"p":"waffle.windows.auth.impl","l":"WindowsComputerImpl"},{"p":"waffle.windows.auth.impl","l":"WindowsCredentialsHandleImpl"},{"p":"waffle.windows.auth.impl","l":"WindowsDomainImpl"},{"p":"waffle.windows.auth.impl","l":"WindowsIdentityImpersonationContextImpl"},{"p":"waffle.windows.auth.impl","l":"WindowsIdentityImpl"},{"p":"waffle.jaas","l":"WindowsLoginModule"},{"p":"waffle.servlet","l":"WindowsPrincipal"},{"p":"waffle.windows.auth.impl","l":"WindowsSecurityContextImpersonationContextImpl"},{"p":"waffle.windows.auth.impl","l":"WindowsSecurityContextImpl"}];updateSearchResults();
\ No newline at end of file
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/module-summary.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/module-summary.html
new file mode 100644
index 0000000000..1d39c0060d
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/module-summary.html
@@ -0,0 +1,128 @@
+
+
+
+
+waffle.jna.jakarta (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+module waffle.jna.jakarta
+
+
+
+
+
+Packages
+
+
Exports
+
+
+
+
+
+
Waffle JNA JAAS Package.
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
Waffle JNA Servlet SPI Package.
+
+
+
+
Waffle JNA Utility Package.
+
+
+
+
Waffle JNA Cache Package.
+
+
+
+
Waffle JNA Windows Authorization Package.
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/GroupPrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/GroupPrincipal.html
new file mode 100644
index 0000000000..d457e3a90b
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/GroupPrincipal.html
@@ -0,0 +1,323 @@
+
+
+
+
+GroupPrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+Serializable
, Principal
+
+
+
+Deprecated.
+
+
+Group principal.
+
+See Also:
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Deprecated.
+
Instantiates a new group principal.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods Deprecated Methods
+
+
+
+
+
+
boolean
+
+
+
Deprecated.
+
Add user principal to member.
+
+
+
+
+
Deprecated.
+
Fully qualified username.
+
+
boolean
+
+
+
Deprecated.
+
Is user principal a member of the group.
+
+
+
+
+
Deprecated.
+
Member enumeration.
+
+
boolean
+
+
+
Deprecated.
+
Remove user from member.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+GroupPrincipal
+public GroupPrincipal (String fqn)
+Deprecated.
+Instantiates a new group principal.
+
+Parameters:
+fqn
- the fqn
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+
+
+
+addMember
+
+Deprecated.
+Add user principal to member.
+
+Parameters:
+user
- principal
+Returns:
+True if user principal is a member
+
+
+
+
+
+isMember
+
+Deprecated.
+Is user principal a member of the group.
+
+Parameters:
+user
- principal
+Returns:
+True if user principal is a member
+
+
+
+
+
+members
+
+Deprecated.
+Member enumeration.
+
+Returns:
+enumerated members
+
+
+
+
+
+removeMember
+
+Deprecated.
+Remove user from member.
+
+Parameters:
+user
- principal
+Returns:
+True if user principal is removed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/RolePrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/RolePrincipal.html
new file mode 100644
index 0000000000..fbaa5ae135
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/RolePrincipal.html
@@ -0,0 +1,253 @@
+
+
+
+
+RolePrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
boolean
+
+
+
Role Principal Equals for FQN.
+
+
+
+
+
Role name (Windows Group).
+
+
int
+
+
+
Role Principal HashCode for FQN.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+RolePrincipal
+public RolePrincipal (String newFqn)
+A windows principal.
+
+Parameters:
+newFqn
- Fully qualified name.
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getName
+
+Role name (Windows Group).
+
+Specified by:
+getName
in interface Principal
+Returns:
+the name
+
+
+
+
+
+equals
+public boolean equals (Object o)
+Role Principal Equals for FQN.
+
+Specified by:
+equals
in interface Principal
+Overrides:
+equals
in class Object
+Parameters:
+o
- Object used for Equality Check.
+Returns:
+true, if successful
+
+
+
+
+
+hashCode
+public int hashCode ()
+Role Principal HashCode for FQN.
+
+Specified by:
+hashCode
in interface Principal
+Overrides:
+hashCode
in class Object
+Returns:
+the int
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/UserPrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/UserPrincipal.html
new file mode 100644
index 0000000000..6baf51b849
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/UserPrincipal.html
@@ -0,0 +1,245 @@
+
+
+
+
+UserPrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
boolean
+
+
+
+
+
+
Fully qualified username.
+
+
int
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+UserPrincipal
+public UserPrincipal (String newFqn)
+A user principal.
+
+Parameters:
+newFqn
- Fully qualified username.
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getName
+
+Fully qualified username.
+
+Specified by:
+getName
in interface Principal
+Returns:
+the name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/WindowsLoginModule.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/WindowsLoginModule.html
new file mode 100644
index 0000000000..9c32b77e3f
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/WindowsLoginModule.html
@@ -0,0 +1,367 @@
+
+
+
+
+WindowsLoginModule (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+LoginModule
+
+
+
+A Java Security login module for Windows authentication.
+
+See Also:
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
boolean
+
+
+
Abort a login process.
+
+
boolean
+
+
+
Commit principals to the subject.
+
+
+
+
+
Windows auth provider.
+
+
void
+
+
+
boolean
+
+
+
True if Guest login permitted.
+
+
boolean
+
+
+
True if Debug is enabled.
+
+
boolean
+
+
+
Use Windows SSPI to authenticate a username with a password.
+
+
boolean
+
+
+
void
+
+
+
Set whether Guest login is permitted.
+
+
void
+
+
+
Set Windows auth provider.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WindowsLoginModule
+public WindowsLoginModule ()
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+
+
+
+login
+
+Use Windows SSPI to authenticate a username with a password.
+
+Specified by:
+login
in interface LoginModule
+Returns:
+true, if successful
+Throws:
+LoginException
- the login exception
+
+
+
+
+
+abort
+
+Abort a login process.
+
+Specified by:
+abort
in interface LoginModule
+Returns:
+true, if successful
+Throws:
+LoginException
- the login exception
+
+
+
+
+
+commit
+
+Commit principals to the subject.
+
+Specified by:
+commit
in interface LoginModule
+Returns:
+true, if successful
+Throws:
+LoginException
- the login exception
+
+
+
+
+
+logout
+
+Logout a user.
+
+Specified by:
+logout
in interface LoginModule
+Returns:
+true, if successful
+Throws:
+LoginException
- the login exception
+
+
+
+
+
+isDebug
+public boolean isDebug ()
+True if Debug is enabled.
+
+Returns:
+True or false.
+
+
+
+
+
+getAuth
+
+Windows auth provider.
+
+Returns:
+IWindowsAuthProvider.
+
+
+
+
+
+setAuth
+
+Set Windows auth provider.
+
+Parameters:
+provider
- Class implements IWindowsAuthProvider.
+
+
+
+
+
+isAllowGuestLogin
+public boolean isAllowGuestLogin ()
+True if Guest login permitted.
+
+Returns:
+True if Guest login permitted, false otherwise.
+
+
+
+
+
+setAllowGuestLogin
+public void setAllowGuestLogin (boolean value)
+Set whether Guest login is permitted. Default is true, if the Guest account is enabled, an invalid
+ username/password results in a Guest login.
+
+Parameters:
+value
- True or false.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/GroupPrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/GroupPrincipal.html
new file mode 100644
index 0000000000..9854b75fd7
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/GroupPrincipal.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.jaas.GroupPrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.jaas.GroupPrincipal
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/RolePrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/RolePrincipal.html
new file mode 100644
index 0000000000..d9a5676280
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/RolePrincipal.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.jaas.RolePrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.jaas.RolePrincipal
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/UserPrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/UserPrincipal.html
new file mode 100644
index 0000000000..abf751ee3e
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/UserPrincipal.html
@@ -0,0 +1,93 @@
+
+
+
+
+Uses of Class waffle.jaas.UserPrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA JAAS Package.
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/WindowsLoginModule.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/WindowsLoginModule.html
new file mode 100644
index 0000000000..df356d884a
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/class-use/WindowsLoginModule.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.jaas.WindowsLoginModule (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.jaas.WindowsLoginModule
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/package-summary.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/package-summary.html
new file mode 100644
index 0000000000..7c11d86664
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/package-summary.html
@@ -0,0 +1,114 @@
+
+
+
+
+waffle.jaas (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+package waffle.jaas
+
+Waffle JNA JAAS Package.
+
+
+
+
+
+
Classes
+
+
+
+
+
Deprecated.
+
+
+
+
+
+
+
+
+
A Java Security login module for Windows authentication.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/package-tree.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/package-tree.html
new file mode 100644
index 0000000000..6d28a63b12
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/package-tree.html
@@ -0,0 +1,82 @@
+
+
+
+
+waffle.jaas Class Hierarchy (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+Package Hierarchies:
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/package-use.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/package-use.html
new file mode 100644
index 0000000000..ae65c1bb80
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/jaas/package-use.html
@@ -0,0 +1,88 @@
+
+
+
+
+Uses of Package waffle.jaas (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA JAAS Package.
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/AutoDisposableWindowsPrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/AutoDisposableWindowsPrincipal.html
new file mode 100644
index 0000000000..a2da1fe70f
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/AutoDisposableWindowsPrincipal.html
@@ -0,0 +1,245 @@
+
+
+
+
+AutoDisposableWindowsPrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+jakarta.servlet.http.HttpSessionBindingListener
, Serializable
, Principal
, EventListener
+
+
+public class AutoDisposableWindowsPrincipal
+
extends WindowsPrincipal
+implements jakarta.servlet.http.HttpSessionBindingListener
+The Class AutoDisposableWindowsPrincipal.
+
+See Also:
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new auto disposable windows principal.
+
+
+
+
Instantiates a new auto disposable windows principal.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
void
+
valueBound (jakarta.servlet.http.HttpSessionBindingEvent evt)
+
+
void
+
valueUnbound (jakarta.servlet.http.HttpSessionBindingEvent evt)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+AutoDisposableWindowsPrincipal
+
+Instantiates a new auto disposable windows principal.
+
+Parameters:
+windowsIdentity
- the windows identity
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+valueBound
+public void valueBound (jakarta.servlet.http.HttpSessionBindingEvent evt)
+
+Specified by:
+valueBound
in interface jakarta.servlet.http.HttpSessionBindingListener
+
+
+
+
+
+valueUnbound
+public void valueUnbound (jakarta.servlet.http.HttpSessionBindingEvent evt)
+
+Specified by:
+valueUnbound
in interface jakarta.servlet.http.HttpSessionBindingListener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/CorsAwareNegotiateSecurityFilter.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/CorsAwareNegotiateSecurityFilter.html
new file mode 100644
index 0000000000..30b3066f64
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/CorsAwareNegotiateSecurityFilter.html
@@ -0,0 +1,240 @@
+
+
+
+
+CorsAwareNegotiateSecurityFilter (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+jakarta.servlet.Filter
+
+
+
+The Class CorsAwareNegotiateSecurityFilter.
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new negotiate security filter.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
void
+
+
+
void
+
doFilter (jakarta.servlet.ServletRequest request,
+ jakarta.servlet.ServletResponse response,
+ jakarta.servlet.FilterChain chain)
+
+
void
+
init (jakarta.servlet.FilterConfig filterConfig)
+
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+CorsAwareNegotiateSecurityFilter
+public CorsAwareNegotiateSecurityFilter ()
+Instantiates a new negotiate security filter.
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+init
+public void init (jakarta.servlet.FilterConfig filterConfig)
+ throws jakarta.servlet.ServletException
+
+Specified by:
+init
in interface jakarta.servlet.Filter
+Overrides:
+init
in class NegotiateSecurityFilter
+Throws:
+jakarta.servlet.ServletException
+
+
+
+
+
+doFilter
+public void doFilter (jakarta.servlet.ServletRequest request,
+ jakarta.servlet.ServletResponse response,
+ jakarta.servlet.FilterChain chain)
+ throws IOException ,
+jakarta.servlet.ServletException
+
+Specified by:
+doFilter
in interface jakarta.servlet.Filter
+Overrides:
+doFilter
in class NegotiateSecurityFilter
+Throws:
+IOException
+jakarta.servlet.ServletException
+
+
+
+
+
+destroy
+public void destroy ()
+
+Specified by:
+destroy
in interface jakarta.servlet.Filter
+Overrides:
+destroy
in class NegotiateSecurityFilter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/NegotiateRequestWrapper.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/NegotiateRequestWrapper.html
new file mode 100644
index 0000000000..ce568678f4
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/NegotiateRequestWrapper.html
@@ -0,0 +1,288 @@
+
+
+
+
+NegotiateRequestWrapper (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+java.lang.Object
+
jakarta.servlet.ServletRequestWrapper
+
jakarta.servlet.http.HttpServletRequestWrapper
+
waffle.servlet.NegotiateRequestWrapper
+
+
+
+
+
+All Implemented Interfaces:
+jakarta.servlet.http.HttpServletRequest
, jakarta.servlet.ServletRequest
+
+
+public class NegotiateRequestWrapper
+extends jakarta.servlet.http.HttpServletRequestWrapper
+Negotiate Request wrapper.
+
+
+
+
+
+
+Field Summary
+
+
Fields inherited from interface jakarta.servlet.http.HttpServletRequest
+BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new negotiate request wrapper.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
boolean
+
+
+
Returns true if the user is in a given role.
+
+
+
+
+
+
Methods inherited from class jakarta.servlet.http.HttpServletRequestWrapper
+authenticate, changeSessionId, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, isRequestedSessionIdFromCookie, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, login, logout, newPushBuilder, upgrade
+
+
Methods inherited from class jakarta.servlet.ServletRequestWrapper
+getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, getServletConnection, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setAttribute, setCharacterEncoding, setCharacterEncoding, setRequest, startAsync, startAsync
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
Methods inherited from interface jakarta.servlet.ServletRequest
+getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, getServletConnection, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, setCharacterEncoding, startAsync, startAsync
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+NegotiateRequestWrapper
+public NegotiateRequestWrapper (jakarta.servlet.http.HttpServletRequest newRequest,
+ WindowsPrincipal newPrincipal)
+Instantiates a new negotiate request wrapper.
+
+Parameters:
+newRequest
- the new request
+newPrincipal
- the new principal
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getUserPrincipal
+
+User principal.
+
+Specified by:
+getUserPrincipal
in interface jakarta.servlet.http.HttpServletRequest
+Overrides:
+getUserPrincipal
in class jakarta.servlet.http.HttpServletRequestWrapper
+Returns:
+the user principal
+
+
+
+
+
+getAuthType
+
+Authentication type.
+
+Specified by:
+getAuthType
in interface jakarta.servlet.http.HttpServletRequest
+Overrides:
+getAuthType
in class jakarta.servlet.http.HttpServletRequestWrapper
+Returns:
+the auth type
+
+
+
+
+
+getRemoteUser
+
+Remote username.
+
+Specified by:
+getRemoteUser
in interface jakarta.servlet.http.HttpServletRequest
+Overrides:
+getRemoteUser
in class jakarta.servlet.http.HttpServletRequestWrapper
+Returns:
+the remote user
+
+
+
+
+
+isUserInRole
+public boolean isUserInRole (String role)
+Returns true if the user is in a given role.
+
+Specified by:
+isUserInRole
in interface jakarta.servlet.http.HttpServletRequest
+Overrides:
+isUserInRole
in class jakarta.servlet.http.HttpServletRequestWrapper
+Parameters:
+role
- the role
+Returns:
+true, if is user in role
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/NegotiateSecurityFilter.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/NegotiateSecurityFilter.html
new file mode 100644
index 0000000000..4b91cdc830
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/NegotiateSecurityFilter.html
@@ -0,0 +1,393 @@
+
+
+
+
+NegotiateSecurityFilter (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+jakarta.servlet.Filter
+
+
+Direct Known Subclasses:
+CorsAwareNegotiateSecurityFilter
+
+
+public class NegotiateSecurityFilter
+
extends Object
+implements jakarta.servlet.Filter
+A Negotiate (NTLM/Kerberos) Security Filter.
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new negotiate security filter.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
void
+
+
+
void
+
doFilter (jakarta.servlet.ServletRequest sreq,
+ jakarta.servlet.ServletResponse sres,
+ jakarta.servlet.FilterChain chain)
+
+
+
+
+
Windows auth provider.
+
+
+
+
+
+
+
+
Security filter providers.
+
+
+
+
+
void
+
init (jakarta.servlet.FilterConfig filterConfig)
+
+
boolean
+
+
+
True if guest login is allowed.
+
+
boolean
+
+
+
Checks if is impersonate.
+
+
void
+
+
+
Set Windows auth provider.
+
+
void
+
+
+
Enable/Disable impersonation.
+
+
void
+
+
+
Set the principal format.
+
+
void
+
+
+
Set the principal format.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+NegotiateSecurityFilter
+public NegotiateSecurityFilter ()
+Instantiates a new negotiate security filter.
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+destroy
+public void destroy ()
+
+Specified by:
+destroy
in interface jakarta.servlet.Filter
+
+
+
+
+
+doFilter
+public void doFilter (jakarta.servlet.ServletRequest sreq,
+ jakarta.servlet.ServletResponse sres,
+ jakarta.servlet.FilterChain chain)
+ throws IOException ,
+jakarta.servlet.ServletException
+
+Specified by:
+doFilter
in interface jakarta.servlet.Filter
+Throws:
+IOException
+jakarta.servlet.ServletException
+
+
+
+
+
+init
+public void init (jakarta.servlet.FilterConfig filterConfig)
+ throws jakarta.servlet.ServletException
+
+Specified by:
+init
in interface jakarta.servlet.Filter
+Throws:
+jakarta.servlet.ServletException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getAuth
+
+Windows auth provider.
+
+Returns:
+IWindowsAuthProvider.
+
+
+
+
+
+setAuth
+
+Set Windows auth provider.
+
+Parameters:
+provider
- Class implements IWindowsAuthProvider.
+
+
+
+
+
+isAllowGuestLogin
+public boolean isAllowGuestLogin ()
+True if guest login is allowed.
+
+Returns:
+True if guest login is allowed, false otherwise.
+
+
+
+
+
+setImpersonate
+public void setImpersonate (boolean value)
+Enable/Disable impersonation.
+
+Parameters:
+value
- true to enable impersonation, false otherwise
+
+
+
+
+
+isImpersonate
+public boolean isImpersonate ()
+Checks if is impersonate.
+
+Returns:
+true if impersonation is enabled, false otherwise
+
+
+
+
+
+getProviders
+
+Security filter providers.
+
+Returns:
+A collection of security filter providers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/WaffleInfoServlet.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/WaffleInfoServlet.html
new file mode 100644
index 0000000000..dd6f471bb2
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/WaffleInfoServlet.html
@@ -0,0 +1,250 @@
+
+
+
+
+WaffleInfoServlet (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+java.lang.Object
+
jakarta.servlet.GenericServlet
+
jakarta.servlet.http.HttpServlet
+
waffle.servlet.WaffleInfoServlet
+
+
+
+
+
+All Implemented Interfaces:
+jakarta.servlet.Servlet
, jakarta.servlet.ServletConfig
, Serializable
+
+
+public class WaffleInfoServlet
+extends jakarta.servlet.http.HttpServlet
+A servlet that returns WaffleInfo as XML.
+
+See Also:
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
Fields inherited from class jakarta.servlet.http.HttpServlet
+LEGACY_DO_HEAD
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
void
+
doGet (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
void
+
doPost (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
void
+
getWaffleInfoResponse (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
Gets the waffle info response.
+
+
+
+
+
+
Methods inherited from class jakarta.servlet.http.HttpServlet
+doDelete, doHead, doOptions, doPatch, doPut, doTrace, getLastModified, init, isSensitiveHeader, service, service
+
+
Methods inherited from class jakarta.servlet.GenericServlet
+destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WaffleInfoServlet
+public WaffleInfoServlet ()
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+doGet
+public void doGet (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+Overrides:
+doGet
in class jakarta.servlet.http.HttpServlet
+
+
+
+
+
+doPost
+public void doPost (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+Overrides:
+doPost
in class jakarta.servlet.http.HttpServlet
+
+
+
+
+
+getWaffleInfoResponse
+public void getWaffleInfoResponse (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+Gets the waffle info response.
+
+Parameters:
+request
- the request
+response
- the response
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/WindowsPrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/WindowsPrincipal.html
new file mode 100644
index 0000000000..2d7b8df1bc
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/WindowsPrincipal.html
@@ -0,0 +1,379 @@
+
+
+
+
+WindowsPrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
boolean
+
+
+
+
+
+
Windows groups that the user is a member of.
+
+
+
+
+
+
+
+
+
+
+
Get an array of roles as a string.
+
+
byte[]
+
+
+
Byte representation of the SID.
+
+
+
+
+
String representation of the SID.
+
+
int
+
+
+
boolean
+
+
+
Checks whether the principal has a given role.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WindowsPrincipal
+
+A windows principal.
+
+Parameters:
+windowsIdentity
- Windows identity.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getSid
+public byte[] getSid ()
+Byte representation of the SID.
+
+Returns:
+Array of bytes.
+
+
+
+
+
+getSidString
+
+String representation of the SID.
+
+Returns:
+String.
+
+
+
+
+
+getGroups
+
+Windows groups that the user is a member of.
+
+Returns:
+A map of group names to groups.
+
+
+
+
+
+getRolesString
+public String getRolesString ()
+Get an array of roles as a string.
+
+Returns:
+Role1, Role2, ...
+
+
+
+
+
+hasRole
+public boolean hasRole (String role)
+Checks whether the principal has a given role.
+
+Parameters:
+role
- Role name.
+Returns:
+True if the principal has a role, false otherwise.
+
+
+
+
+
+getName
+
+Fully qualified name.
+
+Specified by:
+getName
in interface Principal
+Returns:
+String.
+
+
+
+
+
+getIdentity
+
+Underlying identity.
+
+Returns:
+String.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/AutoDisposableWindowsPrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/AutoDisposableWindowsPrincipal.html
new file mode 100644
index 0000000000..b1e46582d0
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/AutoDisposableWindowsPrincipal.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.servlet.AutoDisposableWindowsPrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.servlet.AutoDisposableWindowsPrincipal
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/CorsAwareNegotiateSecurityFilter.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/CorsAwareNegotiateSecurityFilter.html
new file mode 100644
index 0000000000..2a33f8028e
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/CorsAwareNegotiateSecurityFilter.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.servlet.CorsAwareNegotiateSecurityFilter (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.servlet.CorsAwareNegotiateSecurityFilter
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/NegotiateRequestWrapper.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/NegotiateRequestWrapper.html
new file mode 100644
index 0000000000..58deeb28f3
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/NegotiateRequestWrapper.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.servlet.NegotiateRequestWrapper (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.servlet.NegotiateRequestWrapper
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/NegotiateSecurityFilter.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/NegotiateSecurityFilter.html
new file mode 100644
index 0000000000..aaa684450d
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/NegotiateSecurityFilter.html
@@ -0,0 +1,91 @@
+
+
+
+
+Uses of Class waffle.servlet.NegotiateSecurityFilter (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
class
+
+
+
The Class CorsAwareNegotiateSecurityFilter.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/WaffleInfoServlet.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/WaffleInfoServlet.html
new file mode 100644
index 0000000000..da8e52e1e0
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/WaffleInfoServlet.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.servlet.WaffleInfoServlet (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.servlet.WaffleInfoServlet
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/WindowsPrincipal.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/WindowsPrincipal.html
new file mode 100644
index 0000000000..d35179517e
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/class-use/WindowsPrincipal.html
@@ -0,0 +1,103 @@
+
+
+
+
+Uses of Class waffle.servlet.WindowsPrincipal (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
class
+
+
+
The Class AutoDisposableWindowsPrincipal.
+
+
+
+
+
+
+
+
+
+
+
Instantiates a new negotiate request wrapper.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/package-summary.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/package-summary.html
new file mode 100644
index 0000000000..486b264271
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/package-summary.html
@@ -0,0 +1,135 @@
+
+
+
+
+waffle.servlet (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+package waffle.servlet
+
+Waffle JNA Servlet Package.
+
+
+
+
+
+
+
+
+
Classes
+
+
+
+
+
+
The Class AutoDisposableWindowsPrincipal.
+
+
+
+
The Class CorsAwareNegotiateSecurityFilter.
+
+
+
+
Negotiate Request wrapper.
+
+
+
+
A Negotiate (NTLM/Kerberos) Security Filter.
+
+
+
+
A servlet that returns WaffleInfo as XML.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/package-tree.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/package-tree.html
new file mode 100644
index 0000000000..159b484b7e
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/package-tree.html
@@ -0,0 +1,103 @@
+
+
+
+
+waffle.servlet Class Hierarchy (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+Package Hierarchies:
+
+
+Class Hierarchy
+
+java.lang.Object
+
+jakarta.servlet.GenericServlet (implements java.io.Serializable , jakarta.servlet.Servlet, jakarta.servlet.ServletConfig)
+
+jakarta.servlet.http.HttpServlet
+
+
+
+
+waffle.servlet.NegotiateSecurityFilter (implements jakarta.servlet.Filter)
+
+
+jakarta.servlet.ServletRequestWrapper (implements jakarta.servlet.ServletRequest)
+
+jakarta.servlet.http.HttpServletRequestWrapper (implements jakarta.servlet.http.HttpServletRequest)
+
+
+
+
+waffle.servlet.WindowsPrincipal (implements java.security.Principal , java.io.Serializable )
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/package-use.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/package-use.html
new file mode 100644
index 0000000000..2d6dfe618f
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/package-use.html
@@ -0,0 +1,92 @@
+
+
+
+
+Uses of Package waffle.servlet (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
A Negotiate (NTLM/Kerberos) Security Filter.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/BasicSecurityFilterProvider.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/BasicSecurityFilterProvider.html
new file mode 100644
index 0000000000..55a59d82a2
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/BasicSecurityFilterProvider.html
@@ -0,0 +1,324 @@
+
+
+
+
+BasicSecurityFilterProvider (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+SecurityFilterProvider
+
+
+
+A Basic authentication security filter provider. https://tools.ietf.org/html/rfc2617
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new basic security filter provider.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
+
+
+
void
+
+
+
Init configuration parameters.
+
+
boolean
+
+
+
Returns true if despite having a principal authentication needs to happen.
+
+
boolean
+
+
+
Tests whether a specific security package is supported.
+
+
void
+
+
+
Add authentication method headers.
+
+
void
+
+
+
Set the protection space.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+BasicSecurityFilterProvider
+
+Instantiates a new basic security filter provider.
+
+Parameters:
+newAuthProvider
- the new auth provider
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+doFilter
+public IWindowsIdentity doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+ throws IOException
+
+Execute filter.
+
+Specified by:
+doFilter
in interface SecurityFilterProvider
+Parameters:
+request
- Http Servlet Request.
+response
- Http Servlet Response.
+Returns:
+A Windows identity in case authentication completed or NULL if not. Thrown exceptions should be caught
+ and processed as 401 Access Denied.
+Throws:
+IOException
- on doFilter.
+
+
+
+
+
+isPrincipalException
+public boolean isPrincipalException (jakarta.servlet.http.HttpServletRequest request)
+
+Returns true if despite having a principal authentication needs to happen.
+
+Specified by:
+isPrincipalException
in interface SecurityFilterProvider
+Parameters:
+request
- Http Request.
+Returns:
+True if authentication is required.
+
+
+
+
+
+isSecurityPackageSupported
+public boolean isSecurityPackageSupported (String securityPackage)
+
+Tests whether a specific security package is supported.
+
+Specified by:
+isSecurityPackageSupported
in interface SecurityFilterProvider
+Parameters:
+securityPackage
- Security package.
+Returns:
+True if the security package is supported, false otherwise.
+
+
+
+
+
+sendUnauthorized
+public void sendUnauthorized (jakarta.servlet.http.HttpServletResponse response)
+
+Add authentication method headers.
+
+Specified by:
+sendUnauthorized
in interface SecurityFilterProvider
+Parameters:
+response
- Http Response.
+
+
+
+
+
+getRealm
+
+Protection space.
+
+Returns:
+Name of the protection space.
+
+
+
+
+
+setRealm
+public void setRealm (String value)
+Set the protection space.
+
+Parameters:
+value
- Protection space name.
+
+
+
+
+
+initParameter
+public void initParameter (String parameterName,
+ String parameterValue)
+Init configuration parameters.
+
+Specified by:
+initParameter
in interface SecurityFilterProvider
+Parameters:
+parameterName
- the parameter name
+parameterValue
- the parameter value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/NegotiateSecurityFilterProvider.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/NegotiateSecurityFilterProvider.html
new file mode 100644
index 0000000000..e111fccb77
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/NegotiateSecurityFilterProvider.html
@@ -0,0 +1,325 @@
+
+
+
+
+NegotiateSecurityFilterProvider (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new negotiate security filter provider.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
+
+
+
void
+
+
+
boolean
+
+
+
Returns true if despite having a principal authentication needs to happen.
+
+
boolean
+
+
+
Tests whether a specific security package is supported.
+
+
void
+
+
+
Add authentication method headers.
+
+
void
+
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+NegotiateSecurityFilterProvider
+
+Instantiates a new negotiate security filter provider.
+
+Parameters:
+newAuthProvider
- the new auth provider
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getProtocols
+
+Gets the protocols.
+
+Returns:
+the protocols
+
+
+
+
+
+setProtocols
+
+Sets the protocols.
+
+Parameters:
+values
- the new protocols
+
+
+
+
+
+sendUnauthorized
+public void sendUnauthorized (jakarta.servlet.http.HttpServletResponse response)
+
+Add authentication method headers.
+
+Specified by:
+sendUnauthorized
in interface SecurityFilterProvider
+Parameters:
+response
- Http Response.
+
+
+
+
+
+isPrincipalException
+public boolean isPrincipalException (jakarta.servlet.http.HttpServletRequest request)
+
+Returns true if despite having a principal authentication needs to happen.
+
+Specified by:
+isPrincipalException
in interface SecurityFilterProvider
+Parameters:
+request
- Http Request.
+Returns:
+True if authentication is required.
+
+
+
+
+
+doFilter
+public IWindowsIdentity doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+ throws IOException
+
+Execute filter.
+
+Specified by:
+doFilter
in interface SecurityFilterProvider
+Parameters:
+request
- Http Servlet Request.
+response
- Http Servlet Response.
+Returns:
+A Windows identity in case authentication completed or NULL if not. Thrown exceptions should be caught
+ and processed as 401 Access Denied.
+Throws:
+IOException
- on doFilter.
+
+
+
+
+
+isSecurityPackageSupported
+public boolean isSecurityPackageSupported (String securityPackage)
+
+Tests whether a specific security package is supported.
+
+Specified by:
+isSecurityPackageSupported
in interface SecurityFilterProvider
+Parameters:
+securityPackage
- Security package.
+Returns:
+True if the security package is supported, false otherwise.
+
+
+
+
+
+initParameter
+public void initParameter (String parameterName,
+ String parameterValue)
+
+Init a parameter.
+
+Specified by:
+initParameter
in interface SecurityFilterProvider
+Parameters:
+parameterName
- Parameter name.
+parameterValue
- Parameter value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/SecurityFilterProvider.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/SecurityFilterProvider.html
new file mode 100644
index 0000000000..9ca921ade6
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/SecurityFilterProvider.html
@@ -0,0 +1,236 @@
+
+
+
+
+SecurityFilterProvider (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
+
doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
void
+
+
+
boolean
+
+
+
Returns true if despite having a principal authentication needs to happen.
+
+
boolean
+
+
+
Tests whether a specific security package is supported.
+
+
void
+
+
+
Add authentication method headers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+sendUnauthorized
+void sendUnauthorized (jakarta.servlet.http.HttpServletResponse response)
+Add authentication method headers.
+
+Parameters:
+response
- Http Response.
+
+
+
+
+
+isPrincipalException
+boolean isPrincipalException (jakarta.servlet.http.HttpServletRequest request)
+Returns true if despite having a principal authentication needs to happen.
+
+Parameters:
+request
- Http Request.
+Returns:
+True if authentication is required.
+
+
+
+
+
+doFilter
+IWindowsIdentity doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+ throws IOException
+Execute filter.
+
+Parameters:
+request
- Http Servlet Request.
+response
- Http Servlet Response.
+Returns:
+A Windows identity in case authentication completed or NULL if not. Thrown exceptions should be caught
+ and processed as 401 Access Denied.
+Throws:
+IOException
- on doFilter.
+
+
+
+
+
+isSecurityPackageSupported
+boolean isSecurityPackageSupported (String securityPackage)
+Tests whether a specific security package is supported.
+
+Parameters:
+securityPackage
- Security package.
+Returns:
+True if the security package is supported, false otherwise.
+
+
+
+
+
+initParameter
+void initParameter (String parameterName,
+ String parameterValue)
+Init a parameter.
+
+Parameters:
+parameterName
- Parameter name.
+parameterValue
- Parameter value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/SecurityFilterProviderCollection.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/SecurityFilterProviderCollection.html
new file mode 100644
index 0000000000..a2963fe7f0
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/SecurityFilterProviderCollection.html
@@ -0,0 +1,323 @@
+
+
+
+
+SecurityFilterProviderCollection (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+public class SecurityFilterProviderCollection
+
extends Object
+A collection of security filter providers.
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new security filter provider collection.
+
+
+
+
Instantiates a new security filter provider collection.
+
+
+
+
Instantiates a new security filter provider collection.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
+
+
+
Get a security provider by class name.
+
+
boolean
+
+
+
Returns true if authentication still needs to happen despite an existing principal.
+
+
boolean
+
+
+
Tests whether a specific security package is supported by any of the underlying providers.
+
+
void
+
+
+
Send authorization headers.
+
+
int
+
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+SecurityFilterProviderCollection
+
+Instantiates a new security filter provider collection.
+
+Parameters:
+providerArray
- the provider array
+
+
+
+
+
+SecurityFilterProviderCollection
+
+Instantiates a new security filter provider collection.
+
+Parameters:
+providerNames
- the provider names
+auth
- the auth
+
+
+
+
+
+SecurityFilterProviderCollection
+
+Instantiates a new security filter provider collection.
+
+Parameters:
+auth
- the auth
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+isSecurityPackageSupported
+public boolean isSecurityPackageSupported (String securityPackage)
+Tests whether a specific security package is supported by any of the underlying providers.
+
+Parameters:
+securityPackage
- Security package.
+Returns:
+True if the security package is supported, false otherwise.
+
+
+
+
+
+doFilter
+public IWindowsIdentity doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+ throws IOException
+Filter.
+
+Parameters:
+request
- Http Request
+response
- Http Response
+Returns:
+Windows Identity or NULL.
+Throws:
+IOException
- on doFilter.
+
+
+
+
+
+isPrincipalException
+public boolean isPrincipalException (jakarta.servlet.http.HttpServletRequest request)
+Returns true if authentication still needs to happen despite an existing principal.
+
+Parameters:
+request
- Http Request
+Returns:
+True if authentication is required.
+
+
+
+
+
+sendUnauthorized
+public void sendUnauthorized (jakarta.servlet.http.HttpServletResponse response)
+Send authorization headers.
+
+Parameters:
+response
- Http Response
+
+
+
+
+
+size
+public int size ()
+Number of providers.
+
+Returns:
+Number of providers.
+
+
+
+
+
+getByClassName
+
+Get a security provider by class name.
+
+Parameters:
+name
- Class name.
+Returns:
+A security provider instance.
+Throws:
+ClassNotFoundException
- when class not found.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/BasicSecurityFilterProvider.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/BasicSecurityFilterProvider.html
new file mode 100644
index 0000000000..9f8c0b3c69
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/BasicSecurityFilterProvider.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.servlet.spi.BasicSecurityFilterProvider (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.servlet.spi.BasicSecurityFilterProvider
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/NegotiateSecurityFilterProvider.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/NegotiateSecurityFilterProvider.html
new file mode 100644
index 0000000000..71dd1b31ea
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/NegotiateSecurityFilterProvider.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.servlet.spi.NegotiateSecurityFilterProvider (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.servlet.spi.NegotiateSecurityFilterProvider
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/SecurityFilterProvider.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/SecurityFilterProvider.html
new file mode 100644
index 0000000000..17938b5c88
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/SecurityFilterProvider.html
@@ -0,0 +1,118 @@
+
+
+
+
+Uses of Interface waffle.servlet.spi.SecurityFilterProvider (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Servlet SPI Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
class
+
+
+
A Basic authentication security filter provider. https://tools.ietf.org/html/rfc2617
+
+
class
+
+
+
A negotiate security filter provider.
+
+
+
+
+
+
+
+
+
+
+
Get a security provider by class name.
+
+
+
+
+
+
+
+
+
+
+
Instantiates a new security filter provider collection.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/SecurityFilterProviderCollection.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/SecurityFilterProviderCollection.html
new file mode 100644
index 0000000000..f514ff5781
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/class-use/SecurityFilterProviderCollection.html
@@ -0,0 +1,91 @@
+
+
+
+
+Uses of Class waffle.servlet.spi.SecurityFilterProviderCollection (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Security filter providers.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/package-summary.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/package-summary.html
new file mode 100644
index 0000000000..6448553f37
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/package-summary.html
@@ -0,0 +1,129 @@
+
+
+
+
+waffle.servlet.spi (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+package waffle.servlet.spi
+
+Waffle JNA Servlet SPI Package.
+
+
+
+
+
+
+
+
+
All Classes and Interfaces Interfaces Classes
+
+
+
+
+
+
+
A Basic authentication security filter provider. https://tools.ietf.org/html/rfc2617
+
+
+
+
A negotiate security filter provider.
+
+
+
+
A security filter provider.
+
+
+
+
A collection of security filter providers.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/package-tree.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/package-tree.html
new file mode 100644
index 0000000000..8f89e87bba
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/package-tree.html
@@ -0,0 +1,84 @@
+
+
+
+
+waffle.servlet.spi Class Hierarchy (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+Package Hierarchies:
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/package-use.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/package-use.html
new file mode 100644
index 0000000000..fcb1293d19
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/servlet/spi/package-use.html
@@ -0,0 +1,105 @@
+
+
+
+
+Uses of Package waffle.servlet.spi (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
Waffle JNA Servlet SPI Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
A collection of security filter providers.
+
+
+
+
+
+
+
+
+
+
+
+
+
A security filter provider.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/AuthorizationHeader.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/AuthorizationHeader.html
new file mode 100644
index 0000000000..7c722a0a74
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/AuthorizationHeader.html
@@ -0,0 +1,344 @@
+
+
+
+
+AuthorizationHeader (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+public class AuthorizationHeader
+
extends Object
+Authorization header.
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new authorization header.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
+
+
+
+
+
Returns a supported security package string.
+
+
+
+
+
byte[]
+
+
+
boolean
+
+
+
Is Bearer Authorization Header will return true if 'BEARER' exists.
+
+
boolean
+
+
+
Checks if is ntlm type1 message.
+
+
boolean
+
+
+
When using NTLM authentication and the browser is making a POST request, it preemptively sends a Type 2
+ authentication message (without the POSTed data).
+
+
boolean
+
+
+
boolean
+
+
+
Checks if is SP nego message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+AuthorizationHeader
+public AuthorizationHeader (jakarta.servlet.http.HttpServletRequest httpServletRequest)
+Instantiates a new authorization header.
+
+Parameters:
+httpServletRequest
- the http servlet request
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+
+
+
+isNull
+public boolean isNull ()
+Checks if is null.
+
+Returns:
+true, if is null
+
+
+
+
+
+getSecurityPackage
+public String getSecurityPackage ()
+Returns a supported security package string.
+
+
+ Authorization: NTLM the_token
+ Authorization: Negotiate the_token
+ Authorization: Bearer the_token
+
+
+Returns:
+AuthenticationScheme as SecurityPackage e.g. Negotiate, NTLM, Bearer.
+
+
+
+
+
+
+
+
+getToken
+
+Gets the token.
+
+Returns:
+the token
+
+
+
+
+
+getTokenBytes
+public byte[] getTokenBytes ()
+Gets the token bytes.
+
+Returns:
+the token bytes
+
+
+
+
+
+isNtlmType1Message
+public boolean isNtlmType1Message ()
+Checks if is ntlm type1 message.
+
+Returns:
+true, if is ntlm type1 message
+
+
+
+
+
+isSPNegTokenInitMessage
+public boolean isSPNegTokenInitMessage ()
+Checks if is SP nego message.
+
+Returns:
+true, if is SP nego message that contains NegTokenInit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/CorsPreFlightCheck.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/CorsPreFlightCheck.html
new file mode 100644
index 0000000000..bb59110036
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/CorsPreFlightCheck.html
@@ -0,0 +1,161 @@
+
+
+
+
+CorsPreFlightCheck (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+public final class CorsPreFlightCheck
+
extends Object
+The Class CorsPrefFlightCheck.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Concrete Methods
+
+
+
+
+
+
static boolean
+
isPreflight (jakarta.servlet.http.HttpServletRequest request)
+
+
Checks if is preflight.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+isPreflight
+public static boolean isPreflight (jakarta.servlet.http.HttpServletRequest request)
+Checks if is preflight.
+
+Parameters:
+request
- the request
+Returns:
+true, if is preflight
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/NtlmMessage.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/NtlmMessage.html
new file mode 100644
index 0000000000..21c051efa3
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/NtlmMessage.html
@@ -0,0 +1,179 @@
+
+
+
+
+NtlmMessage (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+public final class NtlmMessage
+
extends Object
+Rudimentary NTLM message utility.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Concrete Methods
+
+
+
+
+
+
static int
+
+
+
Get NTLM message type.
+
+
static boolean
+
+
+
Checks if is ntlm message.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+isNtlmMessage
+public static boolean isNtlmMessage (byte[] message)
+Checks if is ntlm message.
+
+Parameters:
+message
- the message
+Returns:
+true, if is ntlm message
+
+
+
+
+
+getMessageType
+public static int getMessageType (byte[] message)
+Get NTLM message type.
+
+Parameters:
+message
- Assuming a valid NTLM message.
+Returns:
+Message type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/NtlmServletRequest.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/NtlmServletRequest.html
new file mode 100644
index 0000000000..7e59663e3d
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/NtlmServletRequest.html
@@ -0,0 +1,161 @@
+
+
+
+
+NtlmServletRequest (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+public final class NtlmServletRequest
+
extends Object
+The Class NtlmServletRequest.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Concrete Methods
+
+
+
+
+
+
+
+
+
Returns a unique connection id for a given servlet request.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getConnectionId
+public static String getConnectionId (jakarta.servlet.http.HttpServletRequest request)
+Returns a unique connection id for a given servlet request.
+
+Parameters:
+request
- Servlet request.
+Returns:
+String.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/SPNegoMessage.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/SPNegoMessage.html
new file mode 100644
index 0000000000..7c093f9633
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/SPNegoMessage.html
@@ -0,0 +1,179 @@
+
+
+
+
+SPNegoMessage (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+public final class SPNegoMessage
+
extends Object
+Rudimentary NTLM message utility.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Concrete Methods
+
+
+
+
+
+
static boolean
+
+
+
Checks if is neg token arg.
+
+
static boolean
+
+
+
Checks if is neg token init.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+isNegTokenInit
+public static boolean isNegTokenInit (byte[] message)
+Checks if is neg token init.
+
+Parameters:
+message
- the message
+Returns:
+true, if is neg token init
+
+
+
+
+
+isNegTokenArg
+public static boolean isNegTokenArg (byte[] message)
+Checks if is neg token arg.
+
+Parameters:
+message
- the message
+Returns:
+true, if is neg token arg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/WaffleInfo.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/WaffleInfo.html
new file mode 100644
index 0000000000..ffd87d4025
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/WaffleInfo.html
@@ -0,0 +1,338 @@
+
+
+
+
+WaffleInfo (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+public class WaffleInfo
+
extends Object
+A Utility class to read system info to help troubleshoot WAFFLE system configuration.
+
+
+ This utility class collects system information and returns it as an XML document.
+
+
+ From the command line, you can write the info to stdout using:
+
+
+
+ java -cp "jna.jar;waffle-core.jar;waffle-api.jar;jna-platform.jar;guava-21.0.jar" waffle.util.WaffleInfo
+
+
+
+ To show this information in a browser, run:
+
+
+
+ java -cp "..." waffle.util.WaffleInfo -show
+
+
+
+ To lookup account names and return any listed info, run:
+
+
+
+ java -cp "..." waffle.util.WaffleInfo -lookup AccountName
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Instance Methods Concrete Methods
+
+
+
+
+
+
protected void
+
+
+
Adds the account info.
+
+
+
+
+
Gets the auth provider info.
+
+
+
+
+
+
+
+
+
+
+
Get a Document with basic system information.
+
+
static void
+
+
+
Print system information.
+
+
+
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WaffleInfo
+public WaffleInfo ()
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getWaffleInfo
+
+Get a Document with basic system information.
+
+ This uses the builtin jakarta.xml package even though the API is quite verbose
+
+Returns:
+Document with waffle info.
+Throws:
+ParserConfigurationException
- when getting new document builder.
+
+
+
+
+
+getAuthProviderInfo
+
+Gets the auth provider info.
+
+Parameters:
+doc
- the doc
+Returns:
+the auth provider info
+
+
+
+
+
+addAccountInfo
+
+Adds the account info.
+
+Parameters:
+doc
- the doc
+node
- the node
+account
- the account
+
+
+
+
+
+getLookupInfo
+
+Gets the lookup info.
+
+Parameters:
+doc
- the doc
+lookup
- the lookup
+Returns:
+the lookup info
+
+
+
+
+
+getException
+
+Gets the exception.
+
+Parameters:
+doc
- the doc
+t
- the t
+Returns:
+the exception
+
+
+
+
+
+toPrettyXML
+
+To pretty xml.
+
+Parameters:
+doc
- the doc
+Returns:
+the string
+Throws:
+TransformerException
- the transformer exception
+
+
+
+
+
+main
+public static void main (String [] args)
+Print system information.
+
+Parameters:
+args
- variable arguments to pass to main. Valid values are "-show" and "-lookup".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/Cache.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/Cache.html
new file mode 100644
index 0000000000..30f29d257c
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/Cache.html
@@ -0,0 +1,277 @@
+
+
+
+
+Cache (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+Type Parameters:
+K
- the type of keys maintained by this cache
+V
- the type of mapped values
+
+
+All Known Implementing Classes:
+CaffeineCache
+
+
+public interface Cache<K,V>
+A semi-persistent mapping from keys to values.
+
+See Also:
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Instance Methods Abstract Methods
+
+
+
+
+
+
+
+
+
Fetches the key from the cache
+
+
static <K,
+V> Cache <K,V>
+
+
+
Creates a new cache with the specified timeout.
+
+
void
+
+
+
Stores a binding for the key and the value in the cache
+
+
void
+
+
+
Removes the binding for the key from the cache
+
+
int
+
+
+
Returns the number of bindings in this cache
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+newCache
+
+Creates a new cache with the specified timeout.
+
+ The cache implementation is obtained using ServiceLoader
. To create your own implementation, implement
+ CacheSupplier
and register it using the /META-INF/services/waffle.util.cache.CacheSupplier
file
+ on your classpath.
+
+Type Parameters:
+K
- the type of keys maintained by this cache
+V
- the type of mapped values
+Parameters:
+timeout
- timeout in seconds
+Returns:
+a new cache
+Throws:
+NoSuchElementException
- if no cache can be instantiated, use Throwable.getSuppressed()
to obtain details.
+
+
+
+
+
+get
+
+Fetches the key from the cache
+
+Parameters:
+key
- the key
+Returns:
+the corresponding value
+See Also:
+
+
+
+
+
+
+
+
+put
+void put (K key,
+ V value)
+Stores a binding for the key and the value in the cache
+
+Parameters:
+key
- the key
+value
- the value
+See Also:
+
+
+
+
+
+
+
+
+remove
+
+Removes the binding for the key from the cache
+
+Parameters:
+key
- the key
+See Also:
+
+
+
+
+
+
+
+
+size
+int size ()
+Returns the number of bindings in this cache
+
+Returns:
+the size
+See Also:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/CacheSupplier.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/CacheSupplier.html
new file mode 100644
index 0000000000..c80567fc69
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/CacheSupplier.html
@@ -0,0 +1,163 @@
+
+
+
+
+CacheSupplier (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+All Known Implementing Classes:
+CaffeineCacheSupplier
+
+
+public interface CacheSupplier
+Service interface to instantiate a new
Cache
.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
+
+
+
Creates a new cache with the specified timeout
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+newCache
+<K,
+V> Cache <K,V> newCache (long timeout)
+Creates a new cache with the specified timeout
+
+Type Parameters:
+K
- the type of keys maintained by this cache
+V
- the type of mapped values
+Parameters:
+timeout
- timeout in seconds
+Returns:
+a new cache
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/CaffeineCache.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/CaffeineCache.html
new file mode 100644
index 0000000000..0fb891f5c7
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/CaffeineCache.html
@@ -0,0 +1,292 @@
+
+
+
+
+CaffeineCache (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Type Parameters:
+K
- the type of keys maintained by this cache
+V
- the type of mapped values
+
+
+All Implemented Interfaces:
+Cache <K,V>
+
+
+public class CaffeineCache<K,V>
+
extends Object
+implements Cache <K,V>
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
CaffeineCache (@org.checkerframework.checker.index.qual.NonNegative long timeout)
+
+
Instantiate new caffeine cache with timeout.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
+
+
Fetches the key from the cache
+
+
void
+
+
+
Stores a binding for the key and the value in the cache
+
+
void
+
+
+
Removes the binding for the key from the cache
+
+
int
+
+
+
Returns the number of bindings in this cache
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+CaffeineCache
+public CaffeineCache (@org.checkerframework.checker.index.qual.NonNegative long timeout)
+Instantiate new caffeine cache with timeout.
+
+Parameters:
+timeout
- Specified timeout in seconds for cache.
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+get
+
+Description copied from interface: Cache
+Fetches the key from the cache
+
+Specified by:
+get
in interface Cache <K ,V >
+Parameters:
+key
- the key
+Returns:
+the corresponding value
+See Also:
+
+
+
+
+
+
+
+
+put
+public void put (K key,
+ V value)
+Description copied from interface: Cache
+Stores a binding for the key and the value in the cache
+
+Specified by:
+put
in interface Cache <K ,V >
+Parameters:
+key
- the key
+value
- the value
+See Also:
+
+
+
+
+
+
+
+
+remove
+public void remove (K key)
+Description copied from interface: Cache
+Removes the binding for the key from the cache
+
+Specified by:
+remove
in interface Cache <K ,V >
+Parameters:
+key
- the key
+See Also:
+
+
+
+
+
+
+
+
+size
+public int size ()
+Description copied from interface: Cache
+Returns the number of bindings in this cache
+
+Specified by:
+size
in interface Cache <K ,V >
+Returns:
+the size
+See Also:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/CaffeineCacheSupplier.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/CaffeineCacheSupplier.html
new file mode 100644
index 0000000000..553b28d892
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/CaffeineCacheSupplier.html
@@ -0,0 +1,201 @@
+
+
+
+
+CaffeineCacheSupplier (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
+
+
Creates a new cache with the specified timeout
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+CaffeineCacheSupplier
+public CaffeineCacheSupplier ()
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+newCache
+public <K,
+V> Cache <K,V> newCache (long timeout)
+
+Creates a new cache with the specified timeout
+
+Specified by:
+newCache
in interface CacheSupplier
+Type Parameters:
+K
- the type of keys maintained by this cache
+V
- the type of mapped values
+Parameters:
+timeout
- timeout in seconds
+Returns:
+a new cache
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/Cache.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/Cache.html
new file mode 100644
index 0000000000..ddf57fcc23
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/Cache.html
@@ -0,0 +1,113 @@
+
+
+
+
+Uses of Interface waffle.util.cache.Cache (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Cache Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
static <K,
+V> Cache <K,V>
+
+
+
Creates a new cache with the specified timeout.
+
+
+
+
+
Creates a new cache with the specified timeout
+
+
+
CaffeineCacheSupplier. newCache (long timeout)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/CacheSupplier.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/CacheSupplier.html
new file mode 100644
index 0000000000..4838a71b20
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/CacheSupplier.html
@@ -0,0 +1,91 @@
+
+
+
+
+Uses of Interface waffle.util.cache.CacheSupplier (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Cache Package.
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/CaffeineCache.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/CaffeineCache.html
new file mode 100644
index 0000000000..a101468a84
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/CaffeineCache.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.util.cache.CaffeineCache (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.util.cache.CaffeineCache
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/CaffeineCacheSupplier.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/CaffeineCacheSupplier.html
new file mode 100644
index 0000000000..56dbf9af9b
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/class-use/CaffeineCacheSupplier.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.util.cache.CaffeineCacheSupplier (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.util.cache.CaffeineCacheSupplier
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/package-summary.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/package-summary.html
new file mode 100644
index 0000000000..37e09f3d11
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/package-summary.html
@@ -0,0 +1,129 @@
+
+
+
+
+waffle.util.cache (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+package waffle.util.cache
+
+Waffle JNA Cache Package.
+
+
+
+
+
+
+
+
+
All Classes and Interfaces Interfaces Classes
+
+
+
+
+
+
+
A semi-persistent mapping from keys to values.
+
+
+
+
Service interface to instantiate a new
Cache
.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/package-tree.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/package-tree.html
new file mode 100644
index 0000000000..baa3c42bd3
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/package-tree.html
@@ -0,0 +1,84 @@
+
+
+
+
+waffle.util.cache Class Hierarchy (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+Package Hierarchies:
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/package-use.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/package-use.html
new file mode 100644
index 0000000000..af57f343ef
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/cache/package-use.html
@@ -0,0 +1,92 @@
+
+
+
+
+Uses of Package waffle.util.cache (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Cache Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
A semi-persistent mapping from keys to values.
+
+
+
+
Service interface to instantiate a new
Cache
.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/AuthorizationHeader.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/AuthorizationHeader.html
new file mode 100644
index 0000000000..17829220cf
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/AuthorizationHeader.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.util.AuthorizationHeader (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.util.AuthorizationHeader
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/CorsPreFlightCheck.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/CorsPreFlightCheck.html
new file mode 100644
index 0000000000..d004faf384
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/CorsPreFlightCheck.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.util.CorsPreFlightCheck (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.util.CorsPreFlightCheck
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/NtlmMessage.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/NtlmMessage.html
new file mode 100644
index 0000000000..00aed3c9e2
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/NtlmMessage.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.util.NtlmMessage (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.util.NtlmMessage
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/NtlmServletRequest.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/NtlmServletRequest.html
new file mode 100644
index 0000000000..faa7954127
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/NtlmServletRequest.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.util.NtlmServletRequest (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.util.NtlmServletRequest
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/SPNegoMessage.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/SPNegoMessage.html
new file mode 100644
index 0000000000..47f4c896ac
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/SPNegoMessage.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.util.SPNegoMessage (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.util.SPNegoMessage
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/WaffleInfo.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/WaffleInfo.html
new file mode 100644
index 0000000000..6e504d3812
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/class-use/WaffleInfo.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.util.WaffleInfo (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.util.WaffleInfo
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/package-summary.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/package-summary.html
new file mode 100644
index 0000000000..16443b54ea
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/package-summary.html
@@ -0,0 +1,135 @@
+
+
+
+
+waffle.util (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+package waffle.util
+
+Waffle JNA Utility Package.
+
+
+
+
+
+
+
+
+
Classes
+
+
+
+
+
+
+
+
The Class CorsPrefFlightCheck.
+
+
+
+
Rudimentary NTLM message utility.
+
+
+
+
The Class NtlmServletRequest.
+
+
+
+
Rudimentary NTLM message utility.
+
+
+
+
A Utility class to read system info to help troubleshoot WAFFLE system configuration.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/package-tree.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/package-tree.html
new file mode 100644
index 0000000000..9ec2d4106a
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/package-tree.html
@@ -0,0 +1,81 @@
+
+
+
+
+waffle.util Class Hierarchy (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+Package Hierarchies:
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/package-use.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/package-use.html
new file mode 100644
index 0000000000..71eb704d53
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/util/package-use.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Package waffle.util (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.util
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsAccount.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsAccount.html
new file mode 100644
index 0000000000..0b4191b5a0
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsAccount.html
@@ -0,0 +1,204 @@
+
+
+
+
+IWindowsAccount (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+All Known Implementing Classes:
+WindowsAccountImpl
+
+
+public interface IWindowsAccount
+Windows account.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
+
+
+
+
+
+
Fully qualified username.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getSidString
+
+Security identifier.
+
+Returns:
+String in the S- format.
+
+
+
+
+
+getFqn
+
+Fully qualified username.
+
+Returns:
+String.
+
+
+
+
+
+getName
+
+User name.
+
+Returns:
+String.
+
+
+
+
+
+getDomain
+
+Domain name.
+
+Returns:
+String.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsAuthProvider.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsAuthProvider.html
new file mode 100644
index 0000000000..e994082656
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsAuthProvider.html
@@ -0,0 +1,323 @@
+
+
+
+
+IWindowsAuthProvider (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+All Known Implementing Classes:
+WindowsAuthProviderImpl
+
+
+public interface IWindowsAuthProvider
+Implements Windows authentication functions.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
+
+
+
Attempts to validate the user using an SSPI token.
+
+
+
+
+
Retrieve the current computer information.
+
+
+
+
+
Retrieve a list of domains (Active Directory) on the local server.
+
+
+
+
+
The LogonDomainUser function attempts to log a user on to the local computer using a network logon type and the
+ default authentication provider.
+
+
+
+
+
The LogonDomainUserEx function attempts to log a user on to the local computer.
+
+
+
+
+
The LogonUser function attempts to log a user on to the local computer using a network logon type and the default
+ authentication provider.
+
+
+
+
+
Retrieve a security identifier (SID) for the account and the name of the domain or local computer on which the
+ account was found.
+
+
void
+
+
+
Reset a previously saved continuation security token for a given connection id.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+logonUser
+
+The LogonUser function attempts to log a user on to the local computer using a network logon type and the default
+ authentication provider.
+
+Parameters:
+username
- A string that specifies the name of the user in the UPN format.
+password
- A string that specifies the plaintext password for the user account specified by username.
+Returns:
+Windows identity.
+
+
+
+
+
+logonDomainUser
+
+The LogonDomainUser function attempts to log a user on to the local computer using a network logon type and the
+ default authentication provider.
+
+Parameters:
+username
- A string that specifies the name of the user. This is the name of the user account to log on to. If
+ you use the user principal name (UPN) format, user@DNS_domain_name, the domain parameter must be NULL.
+domain
- A string that specifies the name of the domain or server whose account database contains the username
+ account. If this parameter is NULL, the user name must be specified in UPN format. If this parameter
+ is ".", the function validates the account by using only the local account database.
+password
- A string that specifies the plaintext password for the user account specified by username.
+Returns:
+Windows identity.
+
+
+
+
+
+logonDomainUserEx
+
+The LogonDomainUserEx function attempts to log a user on to the local computer. The local computer is the
+ computer from which LogonUser was called. You cannot use LogonUser to log on to a remote computer. You specify
+ the user with a user name and domain and authenticate the user with a plaintext password.
+
+Parameters:
+username
- A string that specifies the name of the user. This is the name of the user account to log on to. If
+ you use the user principal name (UPN) format, user@DNS_domain_name, the domain parameter must be NULL.
+domain
- A string that specifies the name of the domain or server whose account database contains the username
+ account. If this parameter is NULL, the user name must be specified in UPN format. If this parameter
+ is ".", the function validates the account by using only the local account database.
+password
- A string that specifies the plaintext password for the user account specified by username.
+logonType
- The type of logon operation to perform.
+logonProvider
- Specifies the logon provider.
+Returns:
+Windows identity.
+
+
+
+
+
+lookupAccount
+
+Retrieve a security identifier (SID) for the account and the name of the domain or local computer on which the
+ account was found.
+
+Parameters:
+username
- Fully qualified or partial username.
+Returns:
+Windows account.
+
+
+
+
+
+getCurrentComputer
+
+Retrieve the current computer information.
+
+Returns:
+Current computer information.
+
+
+
+
+
+getDomains
+
+Retrieve a list of domains (Active Directory) on the local server.
+
+Returns:
+A list of domains.
+
+
+
+
+
+acceptSecurityToken
+
+Attempts to validate the user using an SSPI token. This token is generated by the client via the
+ InitializeSecurityContext(package) method described in
+ https://msdn.microsoft.com/en-us/library/aa375509(VS.85).aspx
+
+Parameters:
+connectionId
- A unique connection id.
+token
- The security token generated by the client wishing to logon.
+securityPackage
- The name of the security package to use. Can be any security package supported by both the client and
+ the server. This is usually set to "Negotiate" which will use SPNEGO to determine which security
+ package to use. Other common values are "Kerberos" and "NTLM".
+Returns:
+Windows account.
+
+
+
+
+
+resetSecurityToken
+void resetSecurityToken (String connectionId)
+Reset a previously saved continuation security token for a given connection id.
+
+Parameters:
+connectionId
- Connection id.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsComputer.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsComputer.html
new file mode 100644
index 0000000000..11d8ff7192
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsComputer.html
@@ -0,0 +1,204 @@
+
+
+
+
+IWindowsComputer (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+All Known Implementing Classes:
+WindowsComputerImpl
+
+
+public interface IWindowsComputer
+A Windows Computer.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getComputerName
+
+Computer name.
+
+Returns:
+String.
+
+
+
+
+
+getMemberOf
+
+Member of (domain).
+
+Returns:
+String.
+
+
+
+
+
+getJoinStatus
+
+Join status.
+
+Returns:
+String.
+
+
+
+
+
+getGroups
+
+Groups.
+
+Returns:
+Array of group names.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsCredentialsHandle.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsCredentialsHandle.html
new file mode 100644
index 0000000000..b4f9bbd898
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsCredentialsHandle.html
@@ -0,0 +1,180 @@
+
+
+
+
+IWindowsCredentialsHandle (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+All Known Implementing Classes:
+WindowsCredentialsHandleImpl
+
+
+public interface IWindowsCredentialsHandle
+Windows credentials handle.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
void
+
+
+
com.sun.jna.platform.win32.Sspi.CredHandle
+
+
+
Return a security handle.
+
+
void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+initialize
+void initialize ()
+Initialize.
+
+
+
+
+dispose
+void dispose ()
+Dispose.
+
+
+
+
+getHandle
+com.sun.jna.platform.win32.Sspi.CredHandle getHandle ()
+Return a security handle.
+
+Returns:
+CredHandle.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsDomain.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsDomain.html
new file mode 100644
index 0000000000..62e5a031ac
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsDomain.html
@@ -0,0 +1,188 @@
+
+
+
+
+IWindowsDomain (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+All Known Implementing Classes:
+WindowsDomainImpl
+
+
+public interface IWindowsDomain
+A Windows Domain.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
+
+
+
Fully qualified domain name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getFqn
+
+Fully qualified domain name.
+
+Returns:
+String.
+
+
+
+
+
+getTrustDirectionString
+String getTrustDirectionString ()
+Trust direction.
+
+Returns:
+String.
+
+
+
+
+
+getTrustTypeString
+
+Trust type.
+
+Returns:
+String.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsIdentity.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsIdentity.html
new file mode 100644
index 0000000000..0b904c9436
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsIdentity.html
@@ -0,0 +1,248 @@
+
+
+
+
+IWindowsIdentity (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+All Known Implementing Classes:
+WindowsIdentityImpl
+
+
+public interface IWindowsIdentity
+A Windows Identity.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
void
+
+
+
Dispose of the Windows identity.
+
+
+
+
+
+
+
+
byte[]
+
+
+
+
+
+
+
+
+
Impersonate a logged on user.
+
+
boolean
+
+
+
Returns true if the identity represents a Guest account.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getSidString
+
+Sid.
+
+Returns:
+String.
+
+
+
+
+
+getSid
+byte[] getSid ()
+Sid.
+
+Returns:
+Array of bytes.
+
+
+
+
+
+getFqn
+
+Fully qualified name.
+
+Returns:
+String.
+
+
+
+
+
+getGroups
+
+Group memberships.
+
+Returns:
+Array of accounts.
+
+
+
+
+
+impersonate
+
+Impersonate a logged on user.
+
+Returns:
+An impersonation context.
+
+
+
+
+
+dispose
+void dispose ()
+Dispose of the Windows identity.
+
+
+
+
+isGuest
+boolean isGuest ()
+Returns true if the identity represents a Guest account.
+
+Returns:
+True if the identity represents a Guest account, false otherwise.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsImpersonationContext.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsImpersonationContext.html
new file mode 100644
index 0000000000..1809a01a0c
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsImpersonationContext.html
@@ -0,0 +1,152 @@
+
+
+
+
+IWindowsImpersonationContext (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
void
+
+
+
Terminate the impersonation of a client application.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+revertToSelf
+void revertToSelf ()
+Terminate the impersonation of a client application.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsSecurityContext.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsSecurityContext.html
new file mode 100644
index 0000000000..b6d7b9df45
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/IWindowsSecurityContext.html
@@ -0,0 +1,286 @@
+
+
+
+
+IWindowsSecurityContext (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+All Known Implementing Classes:
+WindowsSecurityContextImpl
+
+
+public interface IWindowsSecurityContext
+A Windows security context.
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Abstract Methods
+
+
+
+
+
+
void
+
+
+
Disposes of the context.
+
+
com.sun.jna.platform.win32.Sspi.CtxtHandle
+
+
+
+
+
+
+
+
+
+
+
+
Security package name.
+
+
byte[]
+
+
+
+
+
+
Impersonate this security context.
+
+
void
+
initialize (com.sun.jna.platform.win32.Sspi.CtxtHandle continueCtx,
+ com.sun.jna.platform.win32.Sspi.SecBufferDesc continueToken,
+ String targetName)
+
+
Initialize the security context, continuing from a previous one.
+
+
boolean
+
+
+
True if protocol requires continuation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getSecurityPackage
+
+Security package name.
+
+Returns:
+String.
+
+
+
+
+
+getPrincipalName
+
+Principal name.
+
+Returns:
+String.
+
+
+
+
+
+getToken
+byte[] getToken ()
+Token.
+
+Returns:
+Array of bytes.
+
+
+
+
+
+isContinue
+boolean isContinue ()
+True if protocol requires continuation.
+
+Returns:
+True or false.
+
+
+
+
+
+getIdentity
+
+Windows Identity.
+
+Returns:
+Windows Identity.
+
+
+
+
+
+getHandle
+com.sun.jna.platform.win32.Sspi.CtxtHandle getHandle ()
+Context handle.
+
+Returns:
+Handle.
+
+
+
+
+
+
+
+
+impersonate
+
+Impersonate this security context.
+
+Returns:
+A Windows Impersonation Context.
+
+
+
+
+
+dispose
+void dispose ()
+Disposes of the context.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/PrincipalFormat.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/PrincipalFormat.html
new file mode 100644
index 0000000000..465b60fcac
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/PrincipalFormat.html
@@ -0,0 +1,257 @@
+
+
+
+
+PrincipalFormat (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+Enum Constants
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Concrete Methods
+
+
+
+
+
+
+
+
+
Returns the enum constant of this type with the specified name.
+
+
+
+
+
Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Details
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+values
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+Returns:
+an array containing the constants of this enum type, in the order they are declared
+
+
+
+
+
+valueOf
+
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException
- if this enum type has no constant with the specified name
+NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/WindowsAccount.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/WindowsAccount.html
new file mode 100644
index 0000000000..9f8a7a4b4b
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/WindowsAccount.html
@@ -0,0 +1,280 @@
+
+
+
+
+WindowsAccount (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+Serializable
+
+
+
+A flattened Windows Account used in a Windows principal.
+
+See Also:
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new windows account.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
int
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WindowsAccount
+
+Instantiates a new windows account.
+
+Parameters:
+account
- the account
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getSidString
+
+Gets the sid string.
+
+Returns:
+the sid string
+
+
+
+
+
+getFqn
+
+Gets the fqn.
+
+Returns:
+the fqn
+
+
+
+
+
+getName
+
+Gets the name.
+
+Returns:
+the name
+
+
+
+
+
+getDomain
+
+Gets the domain.
+
+Returns:
+the domain
+
+
+
+
+
+
+
+
+hashCode
+public int hashCode ()
+
+Overrides:
+hashCode
in class Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsAccount.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsAccount.html
new file mode 100644
index 0000000000..9d0774ddae
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsAccount.html
@@ -0,0 +1,162 @@
+
+
+
+
+Uses of Interface waffle.windows.auth.IWindowsAccount (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Utility Package.
+
+
+
+
Waffle JNA Windows Authorization Package.
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
protected void
+
+
+
Adds the account info.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Retrieve a security identifier (SID) for the account and the name of the domain or local computer on which the
+ account was found.
+
+
+
+
+
+
+
+
+
+
+
Instantiates a new windows account.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsAuthProvider.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsAuthProvider.html
new file mode 100644
index 0000000000..79810467c5
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsAuthProvider.html
@@ -0,0 +1,189 @@
+
+
+
+
+Uses of Interface waffle.windows.auth.IWindowsAuthProvider (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA JAAS Package.
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
Waffle JNA Servlet SPI Package.
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Windows auth provider.
+
+
+
+
+
+
+
+
void
+
+
+
Set Windows auth provider.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Windows auth provider.
+
+
+
+
+
+
+
+
void
+
+
+
Set Windows auth provider.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Instantiates a new basic security filter provider.
+
+
+
+
+
Instantiates a new negotiate security filter provider.
+
+
+
+
+
Instantiates a new security filter provider collection.
+
+
+
+
+
Instantiates a new security filter provider collection.
+
+
+
+
+
+
+
+
+
+
+
+
+
class
+
+
+
Windows Auth Provider.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsComputer.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsComputer.html
new file mode 100644
index 0000000000..ff48082c09
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsComputer.html
@@ -0,0 +1,120 @@
+
+
+
+
+Uses of Interface waffle.windows.auth.IWindowsComputer (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Windows Authorization Package.
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Retrieve the current computer information.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsCredentialsHandle.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsCredentialsHandle.html
new file mode 100644
index 0000000000..2a51c0fcd6
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsCredentialsHandle.html
@@ -0,0 +1,113 @@
+
+
+
+
+Uses of Interface waffle.windows.auth.IWindowsCredentialsHandle (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
class
+
+
+
Pre-existing credentials of a security principal.
+
+
+
+
+
+
+
+
+
+
+
Returns the current credentials handle.
+
+
+
+
+
+
+
+
void
+
+
+
Sets the credentials handle.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsDomain.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsDomain.html
new file mode 100644
index 0000000000..1400dc5cbc
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsDomain.html
@@ -0,0 +1,120 @@
+
+
+
+
+Uses of Interface waffle.windows.auth.IWindowsDomain (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Windows Authorization Package.
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Retrieve a list of domains (Active Directory) on the local server.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsIdentity.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsIdentity.html
new file mode 100644
index 0000000000..f3c9806b2e
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsIdentity.html
@@ -0,0 +1,245 @@
+
+
+
+
+Uses of Interface waffle.windows.auth.IWindowsIdentity (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
Waffle JNA Servlet SPI Package.
+
+
+
+
Waffle JNA Windows Authorization Package.
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Instantiates a new auto disposable windows principal.
+
+
+
+
+
Instantiates a new auto disposable windows principal.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
BasicSecurityFilterProvider. doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
+
NegotiateSecurityFilterProvider. doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
+
SecurityFilterProvider. doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
+
SecurityFilterProviderCollection. doFilter (jakarta.servlet.http.HttpServletRequest request,
+ jakarta.servlet.http.HttpServletResponse response)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The LogonDomainUser function attempts to log a user on to the local computer using a network logon type and the
+ default authentication provider.
+
+
+
+
+
The LogonDomainUserEx function attempts to log a user on to the local computer.
+
+
+
+
+
The LogonUser function attempts to log a user on to the local computer using a network logon type and the default
+ authentication provider.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsImpersonationContext.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsImpersonationContext.html
new file mode 100644
index 0000000000..862e044213
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsImpersonationContext.html
@@ -0,0 +1,133 @@
+
+
+
+
+Uses of Interface waffle.windows.auth.IWindowsImpersonationContext (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Windows Authorization Package.
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Impersonate a logged on user.
+
+
+
+
+
Impersonate this security context.
+
+
+
+
+
+
+
+
+
+
+
+
+
class
+
+
+
The Class WindowsIdentityImpersonationContextImpl.
+
+
class
+
+
+
The Class WindowsSecurityContextImpersonationContextImpl.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsSecurityContext.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsSecurityContext.html
new file mode 100644
index 0000000000..7d04f0fb10
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/IWindowsSecurityContext.html
@@ -0,0 +1,130 @@
+
+
+
+
+Uses of Interface waffle.windows.auth.IWindowsSecurityContext (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Windows Authorization Package.
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Attempts to validate the user using an SSPI token.
+
+
+
+
+
+
+
+
+
+
+
+
+
class
+
+
+
Windows Security Context.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Get the current Windows security context for a given SSPI package.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/PrincipalFormat.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/PrincipalFormat.html
new file mode 100644
index 0000000000..ba5fac84ae
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/PrincipalFormat.html
@@ -0,0 +1,142 @@
+
+
+
+
+Uses of Enum waffle.windows.auth.PrincipalFormat (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
Waffle JNA Windows Authorization Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Instantiates a new auto disposable windows principal.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns the enum constant of this type with the specified name.
+
+
+
+
+
Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/WindowsAccount.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/WindowsAccount.html
new file mode 100644
index 0000000000..3576258fda
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/class-use/WindowsAccount.html
@@ -0,0 +1,91 @@
+
+
+
+
+Uses of Class waffle.windows.auth.WindowsAccount (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Windows groups that the user is a member of.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsAccountImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsAccountImpl.html
new file mode 100644
index 0000000000..f19ba487ab
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsAccountImpl.html
@@ -0,0 +1,305 @@
+
+
+
+
+WindowsAccountImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
+
+
Get the SAM-compatible username of the currently logged-on user.
+
+
+
+
+
+
+
+
Fully qualified username.
+
+
+
+
+
+
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+
+
+
+WindowsAccountImpl
+public WindowsAccountImpl (String userName)
+Windows Account.
+
+Parameters:
+userName
- Fully qualified username.
+
+
+
+
+
+WindowsAccountImpl
+public WindowsAccountImpl (String accountName,
+ String systemName)
+Windows Account.
+
+Parameters:
+accountName
- Username, without a domain or machine.
+systemName
- Machine name.
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getCurrentUsername
+public static String getCurrentUsername ()
+Get the SAM-compatible username of the currently logged-on user.
+
+Returns:
+String.
+
+
+
+
+
+getDomain
+
+Account domain.
+
+Specified by:
+getDomain
in interface IWindowsAccount
+Returns:
+String.
+
+
+
+
+
+getFqn
+
+
+Fully qualified username.
+
+Specified by:
+getFqn
in interface IWindowsAccount
+Returns:
+String.
+
+
+
+
+
+
+
+
+getSidString
+
+
+Security identifier.
+
+Specified by:
+getSidString
in interface IWindowsAccount
+Returns:
+String in the S- format.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsAuthProviderImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsAuthProviderImpl.html
new file mode 100644
index 0000000000..75dcf35b00
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsAuthProviderImpl.html
@@ -0,0 +1,456 @@
+
+
+
+
+WindowsAuthProviderImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+Fields
+
+
+
+
+
static final int
+
+
+
The Continue Context Timeout.
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new windows auth provider impl.
+
+
+
+
A Windows authentication provider.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
+
+
Attempts to validate the user using an SSPI token.
+
+
int
+
+
+
Number of elements in the continue contexts map.
+
+
+
+
+
Retrieve the current computer information.
+
+
+
+
+
Retrieve a list of domains (Active Directory) on the local server.
+
+
+
+
+
The LogonDomainUser function attempts to log a user on to the local computer using a network logon type and the
+ default authentication provider.
+
+
+
+
+
The LogonDomainUserEx function attempts to log a user on to the local computer.
+
+
+
+
+
The LogonUser function attempts to log a user on to the local computer using a network logon type and the default
+ authentication provider.
+
+
+
+
+
Retrieve a security identifier (SID) for the account and the name of the domain or local computer on which the
+ account was found.
+
+
void
+
+
+
Reset a previously saved continuation security token for a given connection id.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Field Details
+
+
+
+CONTINUE_CONTEXT_TIMEOUT
+public static final int CONTINUE_CONTEXT_TIMEOUT
+The Continue Context Timeout.
+
+See Also:
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WindowsAuthProviderImpl
+public WindowsAuthProviderImpl ()
+Instantiates a new windows auth provider impl.
+
+
+
+
+WindowsAuthProviderImpl
+public WindowsAuthProviderImpl (int continueContextsTimeout)
+A Windows authentication provider.
+
+Parameters:
+continueContextsTimeout
- Timeout for security contexts in seconds.
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+acceptSecurityToken
+
+
+Attempts to validate the user using an SSPI token. This token is generated by the client via the
+ InitializeSecurityContext(package) method described in
+ https://msdn.microsoft.com/en-us/library/aa375509(VS.85).aspx
+
+Specified by:
+acceptSecurityToken
in interface IWindowsAuthProvider
+Parameters:
+connectionId
- A unique connection id.
+token
- The security token generated by the client wishing to logon.
+securityPackage
- The name of the security package to use. Can be any security package supported by both the client and
+ the server. This is usually set to "Negotiate" which will use SPNEGO to determine which security
+ package to use. Other common values are "Kerberos" and "NTLM".
+Returns:
+Windows account.
+
+
+
+
+
+
+
+
+getDomains
+
+
+Retrieve a list of domains (Active Directory) on the local server.
+
+Specified by:
+getDomains
in interface IWindowsAuthProvider
+Returns:
+A list of domains.
+
+
+
+
+
+logonDomainUser
+
+
+The LogonDomainUser function attempts to log a user on to the local computer using a network logon type and the
+ default authentication provider.
+
+Specified by:
+logonDomainUser
in interface IWindowsAuthProvider
+Parameters:
+username
- A string that specifies the name of the user. This is the name of the user account to log on to. If
+ you use the user principal name (UPN) format, user@DNS_domain_name, the domain parameter must be NULL.
+domain
- A string that specifies the name of the domain or server whose account database contains the username
+ account. If this parameter is NULL, the user name must be specified in UPN format. If this parameter
+ is ".", the function validates the account by using only the local account database.
+password
- A string that specifies the plaintext password for the user account specified by username.
+Returns:
+Windows identity.
+
+
+
+
+
+logonDomainUserEx
+
+
+The LogonDomainUserEx function attempts to log a user on to the local computer. The local computer is the
+ computer from which LogonUser was called. You cannot use LogonUser to log on to a remote computer. You specify
+ the user with a user name and domain and authenticate the user with a plaintext password.
+
+Specified by:
+logonDomainUserEx
in interface IWindowsAuthProvider
+Parameters:
+username
- A string that specifies the name of the user. This is the name of the user account to log on to. If
+ you use the user principal name (UPN) format, user@DNS_domain_name, the domain parameter must be NULL.
+domain
- A string that specifies the name of the domain or server whose account database contains the username
+ account. If this parameter is NULL, the user name must be specified in UPN format. If this parameter
+ is ".", the function validates the account by using only the local account database.
+password
- A string that specifies the plaintext password for the user account specified by username.
+logonType
- The type of logon operation to perform.
+logonProvider
- Specifies the logon provider.
+Returns:
+Windows identity.
+
+
+
+
+
+logonUser
+
+
+The LogonUser function attempts to log a user on to the local computer using a network logon type and the default
+ authentication provider.
+
+Specified by:
+logonUser
in interface IWindowsAuthProvider
+Parameters:
+username
- A string that specifies the name of the user in the UPN format.
+password
- A string that specifies the plaintext password for the user account specified by username.
+Returns:
+Windows identity.
+
+
+
+
+
+lookupAccount
+
+
+Retrieve a security identifier (SID) for the account and the name of the domain or local computer on which the
+ account was found.
+
+Specified by:
+lookupAccount
in interface IWindowsAuthProvider
+Parameters:
+username
- Fully qualified or partial username.
+Returns:
+Windows account.
+
+
+
+
+
+resetSecurityToken
+public void resetSecurityToken (String connectionId)
+
+Reset a previously saved continuation security token for a given connection id.
+
+Specified by:
+resetSecurityToken
in interface IWindowsAuthProvider
+Parameters:
+connectionId
- Connection id.
+
+
+
+
+
+getContinueContextsSize
+public int getContinueContextsSize ()
+Number of elements in the continue contexts map.
+
+Returns:
+Number of elements in the hash map.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsComputerImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsComputerImpl.html
new file mode 100644
index 0000000000..7284105b09
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsComputerImpl.html
@@ -0,0 +1,258 @@
+
+
+
+
+WindowsComputerImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new windows computer impl.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WindowsComputerImpl
+public WindowsComputerImpl (String newComputerName)
+Instantiates a new windows computer impl.
+
+Parameters:
+newComputerName
- the new computer name
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsCredentialsHandleImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsCredentialsHandleImpl.html
new file mode 100644
index 0000000000..2ca2a84639
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsCredentialsHandleImpl.html
@@ -0,0 +1,257 @@
+
+
+
+
+WindowsCredentialsHandleImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+IWindowsCredentialsHandle
+
+
+
+Pre-existing credentials of a security principal. This is a handle to a previously authenticated logon data used by a
+ security principal to establish its own identity, such as a password, or a Kerberos protocol ticket.
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
A new Windows credentials handle.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Instance Methods Concrete Methods
+
+
+
+
+
+
void
+
+
+
Dispose of the credentials handle.
+
+
+
+
+
Returns the current credentials handle.
+
+
com.sun.jna.platform.win32.Sspi.CredHandle
+
+
+
void
+
+
+
Initialize a new credentials handle.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WindowsCredentialsHandleImpl
+public WindowsCredentialsHandleImpl (String newPrincipalName,
+ int newCredentialsType,
+ String newSecurityPackage)
+A new Windows credentials handle.
+
+Parameters:
+newPrincipalName
- Principal name.
+newCredentialsType
- Credentials type.
+newSecurityPackage
- Security package.
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getCurrent
+
+Returns the current credentials handle.
+
+Parameters:
+securityPackage
- Security package, eg. "Negotiate".
+Returns:
+A windows credentials handle
+
+
+
+
+
+
+
+
+
+
+
+getHandle
+public com.sun.jna.platform.win32.Sspi.CredHandle getHandle ()
+Get CredHandle.
+
+Specified by:
+getHandle
in interface IWindowsCredentialsHandle
+Returns:
+the handle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsDomainImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsDomainImpl.html
new file mode 100644
index 0000000000..cdc2ce2e2e
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsDomainImpl.html
@@ -0,0 +1,254 @@
+
+
+
+
+WindowsDomainImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+IWindowsDomain
+
+
+
+Windows Domain.
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new windows domain impl.
+
+
+
+
Instantiates a new windows domain impl.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
+
+
+
Fully qualified domain name.
+
+
+
+
+
+
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WindowsDomainImpl
+public WindowsDomainImpl (String newFqn)
+Instantiates a new windows domain impl.
+
+Parameters:
+newFqn
- the new fqn
+
+
+
+
+
+WindowsDomainImpl
+public WindowsDomainImpl (com.sun.jna.platform.win32.Netapi32Util.DomainTrust trust)
+Instantiates a new windows domain impl.
+
+Parameters:
+trust
- the trust
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getFqn
+
+
+Fully qualified domain name.
+
+Specified by:
+getFqn
in interface IWindowsDomain
+Returns:
+String.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsIdentityImpersonationContextImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsIdentityImpersonationContextImpl.html
new file mode 100644
index 0000000000..17bac74f07
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsIdentityImpersonationContextImpl.html
@@ -0,0 +1,199 @@
+
+
+
+
+WindowsIdentityImpersonationContextImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+java.lang.Object
+
waffle.windows.auth.impl.WindowsIdentityImpersonationContextImpl
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Impersonate a logged on user.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
void
+
+
+
Terminate the impersonation of a client application.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsIdentityImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsIdentityImpl.html
new file mode 100644
index 0000000000..c629eee760
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsIdentityImpl.html
@@ -0,0 +1,313 @@
+
+
+
+
+WindowsIdentityImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new windows identity impl.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
void
+
+
+
Dispose of the Windows identity.
+
+
+
+
+
+
+
+
byte[]
+
+
+
+
+
+
+
+
+
Impersonate a logged on user.
+
+
boolean
+
+
+
Returns true if the identity represents a Guest account.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+getFqn
+
+
+Fully qualified name.
+
+Specified by:
+getFqn
in interface IWindowsIdentity
+Returns:
+String.
+
+
+
+
+
+getGroups
+
+
+Group memberships.
+
+Specified by:
+getGroups
in interface IWindowsIdentity
+Returns:
+Array of accounts.
+
+
+
+
+
+getSid
+public byte[] getSid ()
+
+Sid.
+
+Specified by:
+getSid
in interface IWindowsIdentity
+Returns:
+Array of bytes.
+
+
+
+
+
+
+
+
+dispose
+public void dispose ()
+
+Dispose of the Windows identity.
+
+Specified by:
+dispose
in interface IWindowsIdentity
+
+
+
+
+
+impersonate
+
+
+Impersonate a logged on user.
+
+Specified by:
+impersonate
in interface IWindowsIdentity
+Returns:
+An impersonation context.
+
+
+
+
+
+isGuest
+public boolean isGuest ()
+
+Returns true if the identity represents a Guest account.
+
+Specified by:
+isGuest
in interface IWindowsIdentity
+Returns:
+True if the identity represents a Guest account, false otherwise.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsSecurityContextImpersonationContextImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsSecurityContextImpersonationContextImpl.html
new file mode 100644
index 0000000000..de5cd6b9c8
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsSecurityContextImpersonationContextImpl.html
@@ -0,0 +1,199 @@
+
+
+
+
+WindowsSecurityContextImpersonationContextImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+java.lang.Object
+
waffle.windows.auth.impl.WindowsSecurityContextImpersonationContextImpl
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
Instantiates a new windows security context impersonation context impl.
+
+
+
+
+
+
+
+Method Summary
+
+
All Methods Instance Methods Concrete Methods
+
+
+
+
+
+
void
+
+
+
Terminate the impersonation of a client application.
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsSecurityContextImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsSecurityContextImpl.html
new file mode 100644
index 0000000000..83feec4663
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/WindowsSecurityContextImpl.html
@@ -0,0 +1,485 @@
+
+
+
+
+WindowsSecurityContextImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+Constructors
+
+
+
+
+
+
+Method Summary
+
+
All Methods Static Methods Instance Methods Concrete Methods
+
+
+
+
+
+
void
+
+
+
Disposes of the context.
+
+
static boolean
+
dispose (com.sun.jna.platform.win32.Sspi.CtxtHandle ctx)
+
+
Dispose a security context.
+
+
+
+
+
Get the current Windows security context for a given SSPI package.
+
+
com.sun.jna.platform.win32.Sspi.CtxtHandle
+
+
+
+
+
+
+
+
+
+
+
+
Security package name.
+
+
byte[]
+
+
+
+
+
+
Impersonate this security context.
+
+
void
+
initialize (com.sun.jna.platform.win32.Sspi.CtxtHandle continueCtx,
+ com.sun.jna.platform.win32.Sspi.SecBufferDesc continueToken,
+ String targetName)
+
+
Initialize the security context, continuing from a previous one.
+
+
boolean
+
+
+
True if protocol requires continuation.
+
+
void
+
+
+
void
+
+
+
Sets the credentials handle.
+
+
void
+
+
+
Sets the principal name.
+
+
void
+
+
+
Sets the security context.
+
+
void
+
+
+
Sets the security package.
+
+
void
+
+
+
+
+
+
+
Methods inherited from class java.lang.Object
+
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+Constructor Details
+
+
+
+WindowsSecurityContextImpl
+public WindowsSecurityContextImpl ()
+
+
+
+
+
+
+
+
+Method Details
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getCurrent
+
+Get the current Windows security context for a given SSPI package.
+
+Parameters:
+securityPackage
- SSPI package.
+targetName
- The target of the context. The string contents are security-package specific.
+Returns:
+Windows security context.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setPrincipalName
+public void setPrincipalName (String value)
+Sets the principal name.
+
+Parameters:
+value
- the new principal name
+
+
+
+
+
+getHandle
+public com.sun.jna.platform.win32.Sspi.CtxtHandle getHandle ()
+
+Context handle.
+
+Specified by:
+getHandle
in interface IWindowsSecurityContext
+Returns:
+Handle.
+
+
+
+
+
+setCredentialsHandle
+
+Sets the credentials handle.
+
+Parameters:
+handle
- the new credentials handle
+
+
+
+
+
+setToken
+public void setToken (byte[] bytes)
+Sets the token.
+
+Parameters:
+bytes
- the new token
+
+
+
+
+
+setSecurityPackage
+public void setSecurityPackage (String value)
+Sets the security package.
+
+Parameters:
+value
- the new security package
+
+
+
+
+
+setSecurityContext
+public void setSecurityContext (com.sun.jna.platform.win32.Sspi.CtxtHandle phNewServerContext)
+Sets the security context.
+
+Parameters:
+phNewServerContext
- the new security context
+
+
+
+
+
+isContinue
+public boolean isContinue ()
+
+True if protocol requires continuation.
+
+Specified by:
+isContinue
in interface IWindowsSecurityContext
+Returns:
+True or false.
+
+
+
+
+
+setContinue
+public void setContinue (boolean b)
+Sets the continue.
+
+Parameters:
+b
- the new continue
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsAccountImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsAccountImpl.html
new file mode 100644
index 0000000000..53e113b721
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsAccountImpl.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.windows.auth.impl.WindowsAccountImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl.WindowsAccountImpl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsAuthProviderImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsAuthProviderImpl.html
new file mode 100644
index 0000000000..fb454c070c
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsAuthProviderImpl.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.windows.auth.impl.WindowsAuthProviderImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl.WindowsAuthProviderImpl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsComputerImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsComputerImpl.html
new file mode 100644
index 0000000000..2a37bbff6a
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsComputerImpl.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.windows.auth.impl.WindowsComputerImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl.WindowsComputerImpl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsCredentialsHandleImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsCredentialsHandleImpl.html
new file mode 100644
index 0000000000..a1e1670e1f
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsCredentialsHandleImpl.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.windows.auth.impl.WindowsCredentialsHandleImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl.WindowsCredentialsHandleImpl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsDomainImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsDomainImpl.html
new file mode 100644
index 0000000000..13e5793d81
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsDomainImpl.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.windows.auth.impl.WindowsDomainImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl.WindowsDomainImpl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsIdentityImpersonationContextImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsIdentityImpersonationContextImpl.html
new file mode 100644
index 0000000000..c35293ac92
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsIdentityImpersonationContextImpl.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.windows.auth.impl.WindowsIdentityImpersonationContextImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl.WindowsIdentityImpersonationContextImpl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsIdentityImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsIdentityImpl.html
new file mode 100644
index 0000000000..feb435c3df
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsIdentityImpl.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.windows.auth.impl.WindowsIdentityImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl.WindowsIdentityImpl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsSecurityContextImpersonationContextImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsSecurityContextImpersonationContextImpl.html
new file mode 100644
index 0000000000..2cf9176843
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsSecurityContextImpersonationContextImpl.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.windows.auth.impl.WindowsSecurityContextImpersonationContextImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl.WindowsSecurityContextImpersonationContextImpl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsSecurityContextImpl.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsSecurityContextImpl.html
new file mode 100644
index 0000000000..a35a564a5b
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/class-use/WindowsSecurityContextImpl.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Class waffle.windows.auth.impl.WindowsSecurityContextImpl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl.WindowsSecurityContextImpl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/package-summary.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/package-summary.html
new file mode 100644
index 0000000000..051749b6ca
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/package-summary.html
@@ -0,0 +1,147 @@
+
+
+
+
+waffle.windows.auth.impl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+package waffle.windows.auth.impl
+
+Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
Classes
+
+
+
+
+
+
+
+
Windows Auth Provider.
+
+
+
+
+
+
Pre-existing credentials of a security principal.
+
+
+
+
+
+
The Class WindowsIdentityImpersonationContextImpl.
+
+
+
+
+
+
The Class WindowsSecurityContextImpersonationContextImpl.
+
+
+
+
Windows Security Context.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/package-tree.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/package-tree.html
new file mode 100644
index 0000000000..843f4d15a5
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/package-tree.html
@@ -0,0 +1,84 @@
+
+
+
+
+waffle.windows.auth.impl Class Hierarchy (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+Package Hierarchies:
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/package-use.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/package-use.html
new file mode 100644
index 0000000000..ee3834cc5d
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/impl/package-use.html
@@ -0,0 +1,62 @@
+
+
+
+
+Uses of Package waffle.windows.auth.impl (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of waffle.windows.auth.impl
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/package-summary.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/package-summary.html
new file mode 100644
index 0000000000..d3e3587090
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/package-summary.html
@@ -0,0 +1,153 @@
+
+
+
+
+waffle.windows.auth (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+package waffle.windows.auth
+
+Waffle JNA Windows Authorization Package.
+
+
+
+
+
+
+
+
+
All Classes and Interfaces Interfaces Classes Enums
+
+
+
+
+
+
+
+
+
Implements Windows authentication functions.
+
+
+
+
+
+
Windows credentials handle.
+
+
+
+
+
+
+
+
A Windows impersonation context.
+
+
+
+
A Windows security context.
+
+
+
+
The Enum PrincipalFormat.
+
+
+
+
A flattened Windows Account used in a Windows principal.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/package-tree.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/package-tree.html
new file mode 100644
index 0000000000..3ad3cf7e79
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/package-tree.html
@@ -0,0 +1,103 @@
+
+
+
+
+waffle.windows.auth Class Hierarchy (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+Package Hierarchies:
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/package-use.html b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/package-use.html
new file mode 100644
index 0000000000..f168815e4d
--- /dev/null
+++ b/waffle-jna-jakarta/apidocs/waffle.jna.jakarta/waffle/windows/auth/package-use.html
@@ -0,0 +1,241 @@
+
+
+
+
+Uses of Package waffle.windows.auth (waffle-jna-jakarta 3.5.1 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
Waffle JNA JAAS Package.
+
+
+
+
Waffle JNA Servlet Package.
+
+
+
+
Waffle JNA Servlet SPI Package.
+
+
+
+
Waffle JNA Utility Package.
+
+
+
+
Waffle JNA Windows Authorization Package.
+
+
+
+
Waffle JNA Windows Authorization Implementation Package.
+
+
+
+
+
+
+
+
+
+
+
+
+
Implements Windows authentication functions.
+
+
+
+
+
+
+
+
+
+
+
+
+
Implements Windows authentication functions.
+
+
+
+
+
+
The Enum PrincipalFormat.
+
+
+
+
A flattened Windows Account used in a Windows principal.
+
+
+
+
+
+
+
+
+
+
+
+
+
Implements Windows authentication functions.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
A Windows impersonation context.
+
+
+
+
A Windows security context.
+
+
+
+
The Enum PrincipalFormat.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Implements Windows authentication functions.
+
+
+
+
+
+
Windows credentials handle.
+
+
+
+
+
+
+
+
A Windows impersonation context.
+
+
+
+
A Windows security context.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/checkstyle.html b/waffle-jna-jakarta/checkstyle.html
new file mode 100644
index 0000000000..5db4c17e50
--- /dev/null
+++ b/waffle-jna-jakarta/checkstyle.html
@@ -0,0 +1,1516 @@
+
+
+
+
+
+
+
+
+
+ Checkstyle Results – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+Checkstyle Results
+The following document contains the results of Checkstyle 10.21.1 with checkstyle.xml ruleset.
+Summary
+
+
+Files
+ Info
+ Warnings
+ Errors
+
+67
+0
+107
+0
+Rules
+
+
+Category
+Rule
+Violations
+Severity
+
+coding
+OverloadMethodsDeclarationOrder
+1
+ Warning
+
+imports
+CustomImportOrder
+
+separateLineBetweenGroups: "true"
+sortImportsInGroupAlphabetically: "true"
+customImportOrderRules: "STATIC###THIRD_PARTY_PACKAGE"
+tokens: "IMPORT, STATIC_IMPORT, PACKAGE_DEF"
+79
+ Warning
+
+javadoc
+JavadocParagraph
+5
+ Warning
+
+
+SummaryJavadoc
+
+forbiddenSummaryFragments: "^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"
+5
+ Warning
+
+naming
+AbbreviationAsWordInName
+
+tokens: "CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF, PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF, PATTERN_VARIABLE_DEF, RECORD_DEF, RECORD_COMPONENT_DEF"
+ignoreFinal: "false"
+allowedAbbreviations: "XML,URL"
+allowedAbbreviationLength: "0"
+14
+ Warning
+
+sizes
+LineLength
+
+fileExtensions: "java"
+max: "120"
+ignorePattern: "^package.*|^import.*|a href|href|http://|https://|ftp://"
+3
+ Error
+Details
+waffle/jaas/GroupPrincipalTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Assertions'
+35
+waffle/jaas/RolePrincipalTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Assertions'
+35
+waffle/jaas/UserPrincipalTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Assertions'
+35
+waffle/jaas/UsernamePasswordCallbackHandler.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'javax.security.auth.callback.Callback'
+28
+waffle/jaas/WindowsLoginModule.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'javax.security.auth.Subject'
+35
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+44
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsAccount'
+47
+waffle/jaas/WindowsLoginModuleTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'javax.security.auth.Subject'
+33
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'mockit.Expectations'
+40
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Assertions'
+43
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.PrincipalFormat'
+48
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'login_throwIOException' must contain no more than '1' consecutive capital letters.
+235
+waffle/servlet/AutoDisposableWindowsPrincipal.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsIdentity'
+29
+waffle/servlet/CorsAwareNegotiateSecurityFilter.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.io.IOException'
+34
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+36
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.util.AuthorizationHeader'
+39
+
+ Warning
+sizes
+LineLength
+Line is longer than 120 characters (found 122).
+75
+waffle/servlet/CorsAwareNegotiateSecurityFilterTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'mockit.Expectations'
+31
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Test'
+36
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.util.CorsPreFlightCheck'
+38
+waffle/servlet/NegotiateRequestWrapper.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.security.Principal'
+29
+waffle/servlet/NegotiateSecurityFilter.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.io.IOException'
+36
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'javax.security.auth.Subject'
+45
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+47
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.servlet.spi.SecurityFilterProvider'
+50
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'disableSSO' must contain no more than '1' consecutive capital letters.
+102
+waffle/servlet/NegotiateSecurityFilterTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.lang.reflect.Field'
+31
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'mockit.Expectations'
+35
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Assertions'
+40
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.util.CorsPreFlightCheck'
+43
+
+ Warning
+sizes
+LineLength
+Line is longer than 120 characters (found 131).
+99
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'testExcludeCorsAndOAUTHBearerAuthorization_doFilter' must contain no more than '1' consecutive capital letters.
+147
+
+ Warning
+sizes
+LineLength
+Line is longer than 120 characters (found 131).
+165
+waffle/servlet/WaffleInfoServlet.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.io.IOException'
+30
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'javax.xml.XMLConstants'
+35
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+44
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.util.WaffleInfo'
+49
+waffle/servlet/WindowsPrincipal.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsAccount'
+33
+
+ Warning
+coding
+OverloadMethodsDeclarationOrder
+All overloaded methods should be placed next to each other. Previous overloaded method located at line '124'.
+155
+waffle/servlet/WindowsPrincipalTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Assertions'
+29
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsAccount'
+32
+waffle/servlet/spi/BasicSecurityFilterProvider.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.io.IOException'
+29
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+33
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.util.AuthorizationHeader'
+36
+waffle/servlet/spi/NegotiateSecurityFilterProvider.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.io.IOException'
+29
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+35
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.util.AuthorizationHeader'
+38
+waffle/servlet/spi/SecurityFilterProvider.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.io.IOException'
+29
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsIdentity'
+31
+waffle/servlet/spi/SecurityFilterProviderCollection.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'jakarta.servlet.http.HttpServletRequest'
+28
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.io.IOException'
+31
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+37
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.util.AuthorizationHeader'
+40
+waffle/servlet/spi/SecurityFilterProviderCollectionTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.impl.WindowsAuthProviderImpl'
+29
+waffle/util/AuthorizationHeader.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.util.Base64'
+28
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+31
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'isSPNegTokenInitMessage' must contain no more than '1' consecutive capital letters.
+150
+waffle/util/CorsPreFlightCheck.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.util.ArrayList'
+28
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+32
+waffle/util/CorsPreFlightCheckTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'mockit.Expectations'
+28
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Assertions'
+32
+waffle/util/SPNegoMessage.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'SPNegoMessage' must contain no more than '1' consecutive capital letters.
+29
+waffle/util/SPNegoMessageTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'SPNegoMessageTest' must contain no more than '1' consecutive capital letters.
+32
+waffle/util/WaffleInfo.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.awt.Desktop'
+32
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'javax.xml.XMLConstants'
+43
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+53
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsAccount'
+58
+
+ Warning
+javadoc
+JavadocParagraph
+Empty line should be followed by <p> tag on the next line.
+71
+
+ Warning
+javadoc
+JavadocParagraph
+Empty line should be followed by <p> tag on the next line.
+79
+
+ Warning
+javadoc
+JavadocParagraph
+Empty line should be followed by <p> tag on the next line.
+87
+
+ Warning
+javadoc
+JavadocParagraph
+<p> tag should be preceded with an empty line.
+103
+waffle/util/WaffleInfoTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'javax.xml.parsers.ParserConfigurationException'
+28
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Assertions'
+30
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsAccount'
+37
+waffle/util/cache/Cache.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.slf4j.Logger'
+29
+
+ Warning
+javadoc
+JavadocParagraph
+<p> tag should be preceded with an empty line.
+47
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence of Javadoc is missing an ending period.
+87
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence of Javadoc is missing an ending period.
+99
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence of Javadoc is missing an ending period.
+111
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence of Javadoc is missing an ending period.
+121
+waffle/util/cache/CacheSupplier.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence of Javadoc is missing an ending period.
+31
+waffle/util/cache/CaffeineCache.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.time.Duration'
+28
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.checkerframework.checker.index.qual.NonNegative'
+30
+waffle/windows/auth/IWindowsAccount.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'IWindowsAccount' must contain no more than '1' consecutive capital letters.
+29
+waffle/windows/auth/IWindowsAuthProvider.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'IWindowsAuthProvider' must contain no more than '1' consecutive capital letters.
+29
+waffle/windows/auth/IWindowsComputer.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'IWindowsComputer' must contain no more than '1' consecutive capital letters.
+29
+waffle/windows/auth/IWindowsCredentialsHandle.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'IWindowsCredentialsHandle' must contain no more than '1' consecutive capital letters.
+31
+waffle/windows/auth/IWindowsDomain.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'IWindowsDomain' must contain no more than '1' consecutive capital letters.
+29
+waffle/windows/auth/IWindowsIdentity.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'IWindowsIdentity' must contain no more than '1' consecutive capital letters.
+29
+waffle/windows/auth/IWindowsImpersonationContext.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'IWindowsImpersonationContext' must contain no more than '1' consecutive capital letters.
+29
+waffle/windows/auth/IWindowsSecurityContext.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+naming
+AbbreviationAsWordInName
+Abbreviation in name 'IWindowsSecurityContext' must contain no more than '1' consecutive capital letters.
+33
+waffle/windows/auth/WindowsAccountTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'org.junit.jupiter.api.Assertions'
+30
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.impl.WindowsAccountImpl'
+35
+waffle/windows/auth/WindowsCredentialsHandleTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.impl.WindowsCredentialsHandleImpl'
+29
+waffle/windows/auth/WindowsSecurityContextTest.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.impl.WindowsAccountImpl'
+31
+waffle/windows/auth/impl/WindowsAccountImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsAccount'
+31
+waffle/windows/auth/impl/WindowsAuthProviderImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.net.InetAddress'
+40
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.util.cache.Cache'
+45
+waffle/windows/auth/impl/WindowsComputerImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.util.ArrayList'
+30
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsComputer'
+33
+waffle/windows/auth/impl/WindowsCredentialsHandleImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsCredentialsHandle'
+33
+waffle/windows/auth/impl/WindowsDomainImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsDomain'
+28
+waffle/windows/auth/impl/WindowsIdentityImpersonationContextImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsImpersonationContext'
+31
+waffle/windows/auth/impl/WindowsIdentityImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'java.util.ArrayList'
+32
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsAccount'
+35
+waffle/windows/auth/impl/WindowsSecurityContextImpersonationContextImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsImpersonationContext'
+31
+waffle/windows/auth/impl/WindowsSecurityContextImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+imports
+CustomImportOrder
+Extra separation in import group before 'waffle.windows.auth.IWindowsCredentialsHandle'
+36
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/ci-management.html b/waffle-jna-jakarta/ci-management.html
new file mode 100644
index 0000000000..e465c0c44b
--- /dev/null
+++ b/waffle-jna-jakarta/ci-management.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+ CI Management – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+Notifiers
+No notifiers are defined. Please check back at a later date.
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/cpd.html b/waffle-jna-jakarta/cpd.html
new file mode 100644
index 0000000000..edb3235ca8
--- /dev/null
+++ b/waffle-jna-jakarta/cpd.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+
+ CPD Results – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+CPD Results
+The following document contains the results of PMD's CPD 7.7.0.
+CPD found no problems in your source code.
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/css/apache-maven-fluido-2.0.0-M10.min.css b/waffle-jna-jakarta/css/apache-maven-fluido-2.0.0-M10.min.css
new file mode 100644
index 0000000000..5b33638419
--- /dev/null
+++ b/waffle-jna-jakarta/css/apache-maven-fluido-2.0.0-M10.min.css
@@ -0,0 +1,20 @@
+/*!
+ * 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:gray}.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 #04c #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 #222 #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 #eee #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 #ddd #eee #eee}.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 #eee #eee #ddd}.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}/*!
+ * Bootstrap Responsive 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}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none !important}.visible-tablet{display:none !important}.hidden-desktop{display:none !important}.visible-desktop{display:inherit !important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important}.visible-desktop{display:none !important}.visible-tablet{display:inherit !important}.hidden-tablet{display:none !important}}@media(max-width:767px){.hidden-desktop{display:inherit !important}.visible-desktop{display:none !important}.visible-phone{display:inherit !important}.hidden-phone{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:inherit !important}.hidden-print{display:none !important}}@media(min-width:1200px){.row{margin-left:-30px;*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:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.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.564102564102564%;*margin-left:2.5109110747408616%;-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.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.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:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.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.7624309392265194%;*margin-left:2.709239449864817%;-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.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important}}.clear{clear:both;visibility:hidden}.clear hr{display:none}section>p,section>dt,section>dl,section>table.table,section>pre{margin-right:7px;margin-left:7px}#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{width:95%}.sidebar-nav .search-query{width:calc(100% - 30px)}body.topBarEnabled{padding-top:43px}div.container-top,div.container-fluid-top{padding-top:10px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}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}.well{margin-bottom:10px}a.dropdown-toggle{cursor:pointer}h1>code,h2>code,h3>code,h4>code,h5>code{font-size:unset}.table th,.table td{text-align:revert}.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}/*!
+ * "Fork me on GitHub" CSS ribbon v0.2.3 | MIT License
+ * https://github.com/simonwhitaker/github-fork-ribbon-css
+*/.github-fork-ribbon{width:12.1em;height:12.1em;position:absolute;overflow:hidden;top:0;right:0;z-index:9999;pointer-events:none;font-size:13px;text-decoration:none;text-indent:-999999px}.github-fork-ribbon.fixed{position:fixed}.github-fork-ribbon:hover,.github-fork-ribbon:active{background-color:rgba(0,0,0,0.0)}.github-fork-ribbon:before,.github-fork-ribbon:after{position:absolute;display:block;width:15.38em;height:1.54em;top:3.23em;right:-3.23em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.github-fork-ribbon:before{content:"";padding:.38em 0;background-color:#a00;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,0.15)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,0.15));background-image:-moz-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,0.15));background-image:-ms-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,0.15));background-image:-o-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,0.15));background-image:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,0.15));-webkit-box-shadow:0 .15em .23em 0 rgba(0,0,0,0.5);-moz-box-shadow:0 .15em .23em 0 rgba(0,0,0,0.5);box-shadow:0 .15em .23em 0 rgba(0,0,0,0.5);pointer-events:auto}.github-fork-ribbon:after{content:attr(data-ribbon);color:#fff;font:700 1em "Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.54em;text-decoration:none;text-shadow:0 -.08em rgba(0,0,0,0.5);text-align:center;text-indent:0;padding:.15em 0;margin:.15em 0;border-width:.08em 0;border-style:dotted;border-color:#fff;border-color:rgba(255,255,255,0.7)}.github-fork-ribbon.left-top,.github-fork-ribbon.left-bottom{right:auto;left:0}.github-fork-ribbon.left-bottom,.github-fork-ribbon.right-bottom{top:auto;bottom:0}.github-fork-ribbon.left-top:before,.github-fork-ribbon.left-top:after,.github-fork-ribbon.left-bottom:before,.github-fork-ribbon.left-bottom:after{right:auto;left:-3.23em}.github-fork-ribbon.left-bottom:before,.github-fork-ribbon.left-bottom:after,.github-fork-ribbon.right-bottom:before,.github-fork-ribbon.right-bottom:after{top:auto;bottom:3.23em}.github-fork-ribbon.left-top:before,.github-fork-ribbon.left-top:after,.github-fork-ribbon.right-bottom:before,.github-fork-ribbon.right-bottom:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}
\ No newline at end of file
diff --git a/waffle-jna-jakarta/css/print.css b/waffle-jna-jakarta/css/print.css
new file mode 100644
index 0000000000..d637584360
--- /dev/null
+++ b/waffle-jna-jakarta/css/print.css
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+#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/waffle-jna-jakarta/css/site.css b/waffle-jna-jakarta/css/site.css
new file mode 100644
index 0000000000..055e7e286a
--- /dev/null
+++ b/waffle-jna-jakarta/css/site.css
@@ -0,0 +1 @@
+/* You can override this file with your own styles */
\ No newline at end of file
diff --git a/waffle-jna-jakarta/dependencies.html b/waffle-jna-jakarta/dependencies.html
new file mode 100644
index 0000000000..251fd8b66c
--- /dev/null
+++ b/waffle-jna-jakarta/dependencies.html
@@ -0,0 +1,1103 @@
+
+
+
+
+
+
+
+
+
+ Project Dependencies – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+Project Dependencies
+compile
+The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+test
+The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+
+provided
+The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
+
+Project Transitive Dependencies
+The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.
+test
+The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+
+provided
+The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
+
+Project Dependency Graph
+
+
+Dependency Tree
+
+com.github.waffle:waffle-jna-jakarta:jar:3.5.1
+
+net.java.dev.jna:jna:jar:5.16.0 (compile)
+net.java.dev.jna:jna-platform:jar:5.16.0 (compile)
+jakarta.servlet:jakarta.servlet-api:jar:6.1.0 (provided)
+
+
+Jakarta Servlet
+
+
+Description: Eclipse Enterprise for Java (EE4J) is an open source initiative to create standard APIs,
+ implementations of those APIs, and technology compatibility kits for Java runtimes
+ that enable development, deployment, and management of server-side and cloud-native applications.
+URL: https://projects.eclipse.org/projects/ee4j.servlet
+Project Licenses: EPL 2.0 , GPL2 w/ CPE
+org.slf4j:jcl-over-slf4j:jar:2.0.16 (compile)
+org.slf4j:slf4j-api:jar:2.0.16 (compile)
+org.slf4j:slf4j-simple:jar:2.0.16 (compile)
+com.github.ben-manes.caffeine:caffeine:jar:3.1.8 (compile)
+org.checkerframework:checker-qual:jar:3.48.3 (compile)
+
+
+Checker Qual
+
+
+Description: checker-qual contains annotations (type qualifiers) that a programmerwrites to specify Java code for type-checking by the Checker Framework.
+URL: https://checkerframework.org/
+Project Licenses: The MIT License
+org.powermock:powermock-reflect:jar:2.0.9 (test)
+
+org.objenesis:objenesis:jar:3.0.1 (test)
+net.bytebuddy:byte-buddy:jar:1.15.11 (test)
+
+
+Byte Buddy (without dependencies)
+
+
+Description: Byte Buddy is a Java library for creating Java classes at run time.
+ This artifact is a build of Byte Buddy with all ASM dependencies repackaged into its own name space.
+URL: https://bytebuddy.net/byte-buddy
+Project Licenses: Apache License, Version 2.0
+net.bytebuddy:byte-buddy-agent:jar:1.15.11 (test)
+com.google.errorprone:error_prone_annotations:jar:2.36.0 (provided)
+com.google.j2objc:j2objc-annotations:jar:3.0.0 (provided)
+com.github.spotbugs:spotbugs-annotations:jar:4.8.6 (provided)
+
+com.google.code.findbugs:jsr305:jar:3.0.2 (provided)
+org.assertj:assertj-core:jar:3.27.0 (test)
+com.github.hazendaz.jmockit:jmockit:jar:1.55.0 (test)
+
+
+jmockit
+
+
+Description: JMockit is a Java toolkit for automated developer testing.
+ It contains APIs for the creation of the objects to be tested, for mocking dependencies, and for faking external
+ APIs; JUnit (4 and 5) and TestNG test runners are supported.
+ It also contains an advanced code coverage tool.
+URL: http://jmockit.github.io
+Project Licenses: The MIT License
+org.junit.jupiter:junit-jupiter-engine:jar:5.11.4 (test)
+
+org.junit.platform:junit-platform-engine:jar:1.11.4 (test)
+
+org.opentest4j:opentest4j:jar:1.3.0 (test)
+org.junit.platform:junit-platform-commons:jar:1.11.4 (test)
+org.junit.jupiter:junit-jupiter-api:jar:5.11.4 (test)
+org.apiguardian:apiguardian-api:jar:1.1.2 (test)
+org.openjdk.jmh:jmh-core:jar:1.37 (test)
+org.openjdk.jmh:jmh-generator-annprocess:jar:1.37 (test)
+org.apache.commons:commons-math3:jar:3.6.1 (test)
+
+
+Apache Commons Math
+
+
+Description: The Apache Commons Math project is a library of lightweight, self-contained mathematics and statistics components addressing the most common practical problems not immediately available in the Java programming language or commons-lang.
+URL: http://commons.apache.org/proper/commons-math/
+Project Licenses: Apache License, Version 2.0
+net.sf.jopt-simple:jopt-simple:jar:5.0.4 (test)
+Licenses
+Apache 2.0: error-prone annotations
+The Apache License, Version 2.0: org.apiguardian:apiguardian-api, org.opentest4j:opentest4j
+MIT License: SLF4J API Module, SLF4J Simple Provider
+Eclipse Public License v2.0: JUnit Jupiter API, JUnit Jupiter Engine, JUnit Platform Commons, JUnit Platform Engine API
+GPL2 w/ CPE: Jakarta Servlet
+GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1: SpotBugs Annotations
+Apache 2: Objenesis
+LGPL-2.1-or-later: Java Native Access, Java Native Access Platform
+The MIT License: Checker Qual, JOpt Simple, jmockit
+Apache-2.0: Java Native Access, Java Native Access Platform
+Apache License, Version 2.0: Apache Commons Math, AssertJ Core, Byte Buddy (without dependencies), Byte Buddy agent, Caffeine cache, J2ObjC Annotations, JCL 1.2 implemented over SLF4J
+MIT: waffle-jna-jakarta
+EPL 2.0: Jakarta Servlet
+GNU General Public License (GPL), version 2, with the Classpath exception: JMH Core, JMH Generators: Annotation Processors
+The Apache Software License, Version 2.0: FindBugs-jsr305, PowerMock
+Dependency File Details
+
+
+Filename
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+caffeine-3.1.8.jar
+889.2 kB
+713
+704
+3
+11
+Yes
+
+jmockit-1.55.0.jar
+775.4 kB
+480
+410
+48
+11
+Yes
+
+spotbugs-annotations-4.8.6.jar
+15.3 kB
+31
+24
+1
+1.8
+Yes
+
+jsr305-3.0.2.jar
+19.9 kB
+46
+35
+3
+1.5
+Yes
+
+error_prone_annotations-2.36.0.jar
+19.4 kB
+47
+-
+-
+-
+-
+
+ • Root
+-
+40
+27
+2
+1.8
+Yes
+
+ • Versioned
+-
+7
+1
+1
+9
+No
+
+j2objc-annotations-3.0.0.jar
+12.5 kB
+31
+-
+-
+-
+-
+
+ • Root
+-
+29
+17
+1
+1.8
+Yes
+
+ • Versioned
+-
+2
+1
+1
+9
+No
+
+jakarta.servlet-api-6.1.0.jar
+398.4 kB
+165
+85
+5
+11
+Yes
+
+byte-buddy-1.15.11.jar
+8.5 MB
+5890
+-
+-
+-
+-
+
+ • Root
+-
+2950
+2897
+38
+1.5
+Yes
+
+ • Versioned
+-
+2940
+2898
+39
+1.8
+Yes
+
+byte-buddy-agent-1.15.11.jar
+365.4 kB
+170
+-
+-
+-
+-
+
+ • Root
+-
+91
+72
+2
+1.5
+Yes
+
+ • Versioned
+-
+79
+73
+3
+1.8
+Yes
+
+jna-5.16.0.jar
+2 MB
+192
+125
+4
+1.8
+Yes
+
+jna-platform-5.16.0.jar
+1.4 MB
+1332
+1284
+15
+1.8
+Yes
+
+jopt-simple-5.0.4.jar
+78.1 kB
+71
+59
+3
+1.7
+Yes
+
+commons-math3-3.6.1.jar
+2.2 MB
+1402
+1301
+75
+1.5
+Yes
+
+apiguardian-api-1.1.2.jar
+6.8 kB
+9
+3
+2
+1.6
+Yes
+
+assertj-core-3.27.0.jar
+1.4 MB
+883
+-
+-
+-
+-
+
+ • Root
+-
+879
+840
+27
+1.8
+Yes
+
+ • Versioned
+-
+4
+1
+1
+9
+No
+
+checker-qual-3.48.3.jar
+238.6 kB
+454
+381
+33
+1.8
+Yes
+
+junit-jupiter-api-5.11.4.jar
+216.4 kB
+197
+182
+8
+1.8
+Yes
+
+junit-jupiter-engine-5.11.4.jar
+260.1 kB
+152
+135
+9
+1.8
+Yes
+
+junit-platform-commons-1.11.4.jar
+142 kB
+88
+-
+-
+-
+-
+
+ • Root
+-
+78
+64
+8
+1.8
+Yes
+
+ • Versioned
+-
+10
+4
+1
+9
+Yes
+
+junit-platform-engine-1.11.4.jar
+246.8 kB
+177
+158
+10
+1.8
+Yes
+
+objenesis-3.0.1.jar
+61 kB
+64
+48
+10
+1.8
+Yes
+
+jmh-core-1.37.jar
+553 kB
+363
+332
+13
+1.8
+Yes
+
+jmh-generator-annprocess-1.37.jar
+30.9 kB
+26
+8
+2
+1.8
+Yes
+
+opentest4j-1.3.0.jar
+14.3 kB
+15
+9
+2
+1.6
+Yes
+
+powermock-reflect-2.0.9.jar
+68.4 kB
+52
+39
+8
+1.6
+Yes
+
+jcl-over-slf4j-2.0.16.jar
+18.4 kB
+26
+-
+-
+-
+-
+
+ • Root
+-
+24
+8
+2
+1.8
+Yes
+
+ • Versioned
+-
+2
+1
+1
+9
+No
+
+slf4j-api-2.0.16.jar
+69.4 kB
+71
+-
+-
+-
+-
+
+ • Root
+-
+69
+55
+4
+1.8
+Yes
+
+ • Versioned
+-
+2
+1
+1
+9
+No
+
+slf4j-simple-2.0.16.jar
+15.7 kB
+22
+-
+-
+-
+-
+
+ • Root
+-
+20
+6
+1
+1.8
+Yes
+
+ • Versioned
+-
+2
+1
+1
+9
+No
+
+Total
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+28
+20 MB
+13169
+9308
+339
+11
+28
+
+compile: 7
+compile: 4.6 MB
+compile: 2810
+compile: 2563
+compile: 62
+11
+compile: 7
+
+provided: 5
+provided: 465.5 kB
+provided: 320
+provided: 188
+provided: 12
+provided: 5
+
+test: 16
+test: 14.9 MB
+test: 10039
+test: 6557
+test: 265
+11
+test: 16
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/dependency-check-report.html b/waffle-jna-jakarta/dependency-check-report.html
new file mode 100644
index 0000000000..96b2eb147c
--- /dev/null
+++ b/waffle-jna-jakarta/dependency-check-report.html
@@ -0,0 +1,671 @@
+
+
+
+
+ Dependency-Check Report
+
+
+
+
+
+
+
+
+
+
+
Press CTR-C to copy XML
[help]
+
Suppress By GAV
+
Suppress By SHA1
+
+
+
+
+
Close
+
+
+
+
Dependency-Check is an open source tool performing a best effort analysis of 3rd party dependencies;
+false positives and false negatives may exist in the analysis performed by the tool. Use of the tool and
+the reporting provided constitutes acceptance for use in an AS IS condition, and there are NO warranties,
+implied or otherwise, with regard to the analysis or its use. Any use of the tool and the reporting provided
+is at the user’s risk. In no event shall the copyright holder or OWASP be held liable for any damages whatsoever
+arising out of or in connection with the use of this tool, the analysis performed, or the resulting report.
+
+
Project: waffle-jna-jakarta com.github.waffle:waffle-jna-jakarta:3.5.1 Scan Information (
show all ):
dependency-check version : 11.1.1Report Generated On : Wed, 1 Jan 2025 01:01:06 -0500Dependencies Scanned : 15 (15 unique)Vulnerable Dependencies : 0 Vulnerabilities Found : 0Vulnerabilities Suppressed : 0 ... NVD API Last Checked : 2025-01-01T00:13:33-05NVD API Last Modified : 2025-01-01T03:15:21ZSummary Display:
Showing Vulnerable Dependencies (click to show all) caffeine-3.1.8.jarDescription:
A high performance caching library License:
Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0.txt File Path: C:\Users\Jeremy\.m2\repository\com\github\ben-manes\caffeine\caffeine\3.1.8\caffeine-3.1.8.jar
MD5: b19301179903e8781776397d9923f7c8
SHA1: 24795585df8afaf70a2cd534786904ea5889c047
SHA256: 7dd15f9df1be238ffaa367ce6f556737a88031de4294dad18eef57c474ddf1d3
Referenced In Project/Scope: waffle-jna-jakarta:compile
caffeine-3.1.8.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name caffeine High Vendor jar package name benmanes Highest Vendor jar package name cache Highest Vendor jar package name caffeine Highest Vendor jar package name github Highest Vendor Manifest automatic-module-name com.github.benmanes.caffeine Medium Vendor Manifest build-jdk-spec 11 Low Vendor Manifest bundle-symbolicname com.github.ben-manes.caffeine Medium Vendor pom artifactid caffeine Highest Vendor pom artifactid caffeine Low Vendor pom developer email ben.manes@gmail.com Low Vendor pom developer id ben-manes Medium Vendor pom developer name Ben Manes Medium Vendor pom groupid com.github.ben-manes.caffeine Highest Vendor pom name Caffeine cache High Vendor pom url ben-manes/caffeine Highest Product file name caffeine High Product jar package name benmanes Highest Product jar package name cache Highest Product jar package name caffeine Highest Product jar package name github Highest Product Manifest automatic-module-name com.github.benmanes.caffeine Medium Product Manifest build-jdk-spec 11 Low Product Manifest Bundle-Name com.github.ben-manes.caffeine Medium Product Manifest bundle-symbolicname com.github.ben-manes.caffeine Medium Product Manifest Implementation-Title A high performance caching library High Product pom artifactid caffeine Highest Product pom developer email ben.manes@gmail.com Low Product pom developer id ben-manes Low Product pom developer name Ben Manes Low Product pom groupid com.github.ben-manes.caffeine Highest Product pom name Caffeine cache High Product pom url ben-manes/caffeine High Version file version 3.1.8 High Version Manifest Bundle-Version 3.1.8 High Version Manifest Implementation-Version 3.1.8 High Version pom version 3.1.8 Highest
checker-qual-3.48.3.jarDescription:
checker-qual contains annotations (type qualifiers) that a programmerwrites to specify Java code for type-checking by the Checker Framework. License:
The MIT License: http://opensource.org/licenses/MIT File Path: C:\Users\Jeremy\.m2\repository\org\checkerframework\checker-qual\3.48.3\checker-qual-3.48.3.jar
MD5: 9fe3deae54d20bd78960459c952ac7d4
SHA1: c48effe7d78de3cf5e8a98c614281ec6a2466a77
SHA256: 443685b1b232803baaf803c15d6f5a425473c6f7b81c5f276dfcf93288e389a5
Referenced In Project/Scope: waffle-jna-jakarta:compile
checker-qual-3.48.3.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name checker-qual High Vendor jar package name checker Highest Vendor jar package name checkerframework Highest Vendor jar package name framework Highest Vendor jar package name qual Highest Vendor Manifest bundle-symbolicname checker-qual Medium Vendor Manifest implementation-url https://checkerframework.org Low Vendor pom artifactid checker-qual Highest Vendor pom artifactid checker-qual Low Vendor pom developer email mernst@cs.washington.edu Low Vendor pom developer email smillst@cs.washington.edu Low Vendor pom developer id mernst Medium Vendor pom developer id smillst Medium Vendor pom developer name Michael Ernst Medium Vendor pom developer name Suzanne Millstein Medium Vendor pom developer org University of Washington Medium Vendor pom developer org URL https://www.cs.washington.edu/ Medium Vendor pom groupid org.checkerframework Highest Vendor pom name Checker Qual High Vendor pom url https://checkerframework.org/ Highest Product file name checker-qual High Product jar package name checker Highest Product jar package name checkerframework Highest Product jar package name framework Highest Product jar package name qual Highest Product Manifest Bundle-Name checker-qual Medium Product Manifest bundle-symbolicname checker-qual Medium Product Manifest implementation-url https://checkerframework.org Low Product pom artifactid checker-qual Highest Product pom developer email mernst@cs.washington.edu Low Product pom developer email smillst@cs.washington.edu Low Product pom developer id mernst Low Product pom developer id smillst Low Product pom developer name Michael Ernst Low Product pom developer name Suzanne Millstein Low Product pom developer org University of Washington Low Product pom developer org URL https://www.cs.washington.edu/ Low Product pom groupid org.checkerframework Highest Product pom name Checker Qual High Product pom url https://checkerframework.org/ Medium Version file version 3.48.3 High Version Manifest Bundle-Version 3.48.3 High Version Manifest Implementation-Version 3.48.3 High Version pom version 3.48.3 Highest
error_prone_annotations-2.36.0.jarDescription:
Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time. License:
Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0.txt File Path: C:\Users\Jeremy\.m2\repository\com\google\errorprone\error_prone_annotations\2.36.0\error_prone_annotations-2.36.0.jar
MD5: 0e48e5ba2cd0a8d8d09bad849b99f6a6
SHA1: 227d4d4957ccc3dc5761bd897e3a0ee587e750a7
SHA256: 77440e270b0bc9a249903c5a076c36a722c4886ca4f42675f2903a1c53ed61a5
Referenced In Project/Scope: waffle-jna-jakarta:provided
error_prone_annotations-2.36.0.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name error_prone_annotations High Vendor jar package name annotations Highest Vendor jar package name errorprone Highest Vendor jar package name google Highest Vendor Manifest build-jdk-spec 17 Low Vendor Manifest bundle-docurl https://errorprone.info/error_prone_annotations Low Vendor Manifest bundle-symbolicname com.google.errorprone.annotations Medium Vendor Manifest multi-release true Low Vendor pom artifactid error_prone_annotations Highest Vendor pom artifactid error_prone_annotations Low Vendor pom groupid com.google.errorprone Highest Vendor pom name error-prone annotations High Vendor pom parent-artifactid error_prone_parent Low Product file name error_prone_annotations High Product jar package name annotations Highest Product jar package name errorprone Highest Product jar package name google Highest Product Manifest build-jdk-spec 17 Low Product Manifest bundle-docurl https://errorprone.info/error_prone_annotations Low Product Manifest Bundle-Name error-prone annotations Medium Product Manifest bundle-symbolicname com.google.errorprone.annotations Medium Product Manifest multi-release true Low Product pom artifactid error_prone_annotations Highest Product pom groupid com.google.errorprone Highest Product pom name error-prone annotations High Product pom parent-artifactid error_prone_parent Medium Version file version 2.36.0 High Version Manifest Bundle-Version 2.36.0 High Version pom version 2.36.0 Highest
j2objc-annotations-3.0.0.jarDescription:
+ A set of annotations that provide additional information to the J2ObjC
+ translator to modify the result of translation.
+ License:
Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0.txt File Path: C:\Users\Jeremy\.m2\repository\com\google\j2objc\j2objc-annotations\3.0.0\j2objc-annotations-3.0.0.jar
MD5: f59529b29202a5baf37f491ea5ec8627
SHA1: 7399e65dd7e9ff3404f4535b2f017093bdb134c7
SHA256: 88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64
Referenced In Project/Scope: waffle-jna-jakarta:provided
j2objc-annotations-3.0.0.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name j2objc-annotations High Vendor jar package name annotations Highest Vendor jar package name google Highest Vendor jar package name j2objc Highest Vendor Manifest build-jdk-spec 11 Low Vendor Manifest multi-release true Low Vendor pom artifactid j2objc-annotations Highest Vendor pom artifactid j2objc-annotations Low Vendor pom developer email tball@google.com Low Vendor pom developer id tomball Medium Vendor pom developer name Tom Ball Medium Vendor pom developer org Google Medium Vendor pom developer org URL https://www.google.com Medium Vendor pom groupid com.google.j2objc Highest Vendor pom name J2ObjC Annotations High Vendor pom url google/j2objc/ Highest Product file name j2objc-annotations High Product jar package name annotations Highest Product jar package name google Highest Product jar package name j2objc Highest Product Manifest build-jdk-spec 11 Low Product Manifest multi-release true Low Product pom artifactid j2objc-annotations Highest Product pom developer email tball@google.com Low Product pom developer id tomball Low Product pom developer name Tom Ball Low Product pom developer org Google Low Product pom developer org URL https://www.google.com Low Product pom groupid com.google.j2objc Highest Product pom name J2ObjC Annotations High Product pom url google/j2objc/ High Version file version 3.0.0 High Version pom version 3.0.0 Highest
jakarta.servlet-api-6.1.0.jarDescription:
Jakarta Servlet 6.1 License:
EPL 2.0: http://www.eclipse.org/legal/epl-2.0
+GPL2 w/ CPE: https://www.gnu.org/software/classpath/license.html File Path: C:\Users\Jeremy\.m2\repository\jakarta\servlet\jakarta.servlet-api\6.1.0\jakarta.servlet-api-6.1.0.jar
MD5: 314c930b3e40ac1abc3529c7c9942f09
SHA1: 1169a246913fe3823782af7943e7a103634867c5
SHA256: 8a31f465f3593bf2351531a5c952014eb839da96a605b5825b93dd54714c48c4
Referenced In Project/Scope: waffle-jna-jakarta:provided
jakarta.servlet-api-6.1.0.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name jakarta.servlet-api High Vendor jar package name jakarta Highest Vendor jar package name servlet Highest Vendor Manifest build-jdk-spec 11 Low Vendor Manifest bundle-docurl https://www.eclipse.org Low Vendor Manifest bundle-symbolicname jakarta.servlet-api Medium Vendor Manifest extension-name jakarta.servlet Medium Vendor Manifest Implementation-Vendor Eclipse Foundation High Vendor Manifest Implementation-Vendor-Id org.eclipse Medium Vendor Manifest specification-vendor Eclipse Foundation Low Vendor pom artifactid jakarta.servlet-api Highest Vendor pom artifactid jakarta.servlet-api Low Vendor pom developer id yaminikb Medium Vendor pom developer name Yamini K B Medium Vendor pom developer org Oracle Corporation Medium Vendor pom developer org URL http://www.oracle.com/ Medium Vendor pom groupid jakarta.servlet Highest Vendor pom name Jakarta Servlet High Vendor pom parent-artifactid project Low Vendor pom parent-groupid org.eclipse.ee4j Medium Vendor pom url https://projects.eclipse.org/projects/ee4j.servlet Highest Product file name jakarta.servlet-api High Product jar package name jakarta Highest Product jar package name servlet Highest Product Manifest build-jdk-spec 11 Low Product Manifest bundle-docurl https://www.eclipse.org Low Product Manifest Bundle-Name Jakarta Servlet Medium Product Manifest bundle-symbolicname jakarta.servlet-api Medium Product Manifest extension-name jakarta.servlet Medium Product pom artifactid jakarta.servlet-api Highest Product pom developer id yaminikb Low Product pom developer name Yamini K B Low Product pom developer org Oracle Corporation Low Product pom developer org URL http://www.oracle.com/ Low Product pom groupid jakarta.servlet Highest Product pom name Jakarta Servlet High Product pom parent-artifactid project Medium Product pom parent-groupid org.eclipse.ee4j Medium Product pom url https://projects.eclipse.org/projects/ee4j.servlet Medium Version file version 6.1.0 High Version Manifest Bundle-Version 6.1.0 High Version Manifest Implementation-Version 6.1.0 High Version pom parent-version 6.1.0 Low Version pom version 6.1.0 Highest
jcl-over-slf4j-2.0.16.jarDescription:
JCL 1.2 implemented over SLF4J License:
Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0.txt File Path: C:\Users\Jeremy\.m2\repository\org\slf4j\jcl-over-slf4j\2.0.16\jcl-over-slf4j-2.0.16.jar
MD5: c077b88c43f9d63f64f9880fdb457efb
SHA1: 9d08badad22f1ac07deac9188ade596472a2bfd9
SHA256: 5744d62c5af556e839ab922c9fa3f737f0a5971e478ba68b2eb5256b2842ec78
Referenced In Project/Scope: waffle-jna-jakarta:compile
jcl-over-slf4j-2.0.16.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name jcl-over-slf4j High Vendor Manifest build-jdk-spec 21 Low Vendor Manifest bundle-docurl http://www.slf4j.org Low Vendor Manifest bundle-symbolicname jcl.over.slf4j Medium Vendor Manifest multi-release true Low Vendor Manifest originally-created-by Apache Maven Bundle Plugin 5.1.9 Low Vendor pom artifactid jcl-over-slf4j Highest Vendor pom artifactid jcl-over-slf4j Low Vendor pom groupid org.slf4j Highest Vendor pom name JCL 1.2 implemented over SLF4J High Vendor pom parent-artifactid slf4j-parent Low Vendor pom url http://www.slf4j.org Highest Product file name jcl-over-slf4j High Product jar package name 9 Highest Product jar package name apache Highest Product Manifest build-jdk-spec 21 Low Product Manifest bundle-docurl http://www.slf4j.org Low Product Manifest Bundle-Name JCL 1.2 implemented over SLF4J Medium Product Manifest bundle-symbolicname jcl.over.slf4j Medium Product Manifest Implementation-Title jcl-over-slf4j High Product Manifest multi-release true Low Product Manifest originally-created-by Apache Maven Bundle Plugin 5.1.9 Low Product pom artifactid jcl-over-slf4j Highest Product pom groupid org.slf4j Highest Product pom name JCL 1.2 implemented over SLF4J High Product pom parent-artifactid slf4j-parent Medium Product pom url http://www.slf4j.org Medium Version file version 2.0.16 High Version Manifest Bundle-Version 2.0.16 High Version Manifest Implementation-Version 2.0.16 High Version pom version 2.0.16 Highest
jna-5.16.0.jar: jnidispatch.dllFile Path: C:\Users\Jeremy\.m2\repository\net\java\dev\jna\jna\5.16.0\jna-5.16.0.jar\com\sun\jna\win32-aarch64\jnidispatch.dllMD5: 302945a811fd8e21bcdd5226c73b6f74SHA1: 6b05e299ff2b3eb3b7b7aeac44263f715693607cSHA256: b8f98be314234cf12b5b46c29652f70c0f6abb93ae19b63d3fe2692062aa699dReferenced In Project/Scope: waffle-jna-jakarta:compile
Evidence Type Source Name Value Confidence Vendor file name jnidispatch High Product file name jnidispatch High
jna-5.16.0.jar: jnidispatch.dllFile Path: C:\Users\Jeremy\.m2\repository\net\java\dev\jna\jna\5.16.0\jna-5.16.0.jar\com\sun\jna\win32-x86-64\jnidispatch.dllMD5: 2d2475f1f026dd54e9f3e787ae4f81daSHA1: 27ff882ac271db547aee520b38e3ba9aa91e136cSHA256: 5a7ff949f6d93d86491eb5b26b1cfc60051168a60622650224b89995ac420023Referenced In Project/Scope: waffle-jna-jakarta:compile
Evidence Type Source Name Value Confidence Vendor file name jnidispatch High Product file name jnidispatch High
jna-5.16.0.jar: jnidispatch.dllFile Path: C:\Users\Jeremy\.m2\repository\net\java\dev\jna\jna\5.16.0\jna-5.16.0.jar\com\sun\jna\win32-x86\jnidispatch.dllMD5: 0caa1ef75a807f9dde05084fa2219a5cSHA1: 2f5e1cd82cde192905c7510ce99037b67d980640SHA256: 752d597cee7e95cb517327146bf42f124c0d6c0bc48b3ecc3b1b3b0531a52f44Referenced In Project/Scope: waffle-jna-jakarta:compile
Evidence Type Source Name Value Confidence Vendor file name jnidispatch High Product file name jnidispatch High
jna-5.16.0.jarDescription:
Java Native Access License:
LGPL-2.1-or-later: https://www.gnu.org/licenses/old-licenses/lgpl-2.1
+Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0.txt File Path: C:\Users\Jeremy\.m2\repository\net\java\dev\jna\jna\5.16.0\jna-5.16.0.jar
MD5: accc2e2b8676434a87f4f73fb4d90b44
SHA1: ebea09f91dc9f7048099f963fb8d6f919f0a4d9c
SHA256: 3f5233589a799eb66dc2969afa3433fb56859d3d787c58b9bc7dd9e86f0a250c
Referenced In Project/Scope: waffle-jna-jakarta:compile
jna-5.16.0.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name jna High Vendor jar package name jna Highest Vendor jar package name native Highest Vendor jar package name sun Highest Vendor jar (hint) package name oracle Highest Vendor Manifest automatic-module-name com.sun.jna Medium Vendor Manifest bundle-activationpolicy lazy Low Vendor Manifest bundle-category jni Low Vendor Manifest bundle-nativecode com/sun/jna/win32-x86/jnidispatch.dll; processor=x86;osname=win32, com/sun/jna/win32-x86-64/jnidispatch.dll; processor=x86-64;osname=win32, com/sun/jna/win32-aarch64/jnidispatch.dll; processor=aarch64;osname=win32, com/sun/jna/win32-x86/jnidispatch.dll; processor=x86;osname=win, com/sun/jna/win32-x86-64/jnidispatch.dll; processor=x86-64;osname=win, com/sun/jna/win32-aarch64/jnidispatch.dll; processor=aarch64;osname=win, com/sun/jna/w32ce-arm/jnidispatch.dll; processor=arm;osname=wince, com/sun/jna/sunos-x86/libjnidispatch.so; processor=x86;osname=sunos, com/sun/jna/sunos-x86-64/libjnidispatch.so; processor=x86-64;osname=sunos, com/sun/jna/sunos-sparc/libjnidispatch.so; processor=sparc;osname=sunos, com/sun/jna/sunos-sparcv9/libjnidispatch.so; processor=sparcv9;osname=sunos, com/sun/jna/aix-ppc/libjnidispatch.a; processor=ppc;osname=aix, com/sun/jna/aix-ppc64/libjnidispatch.a; processor=ppc64;osname=aix, com/sun/jna/linux-ppc/libjnidispatch.so; processor=ppc;osname=linux, com/sun/jna/linux-ppc64/libjnidispatch.so; processor=ppc64;osname=linux, com/sun/jna/linux-ppc64le/libjnidispatch.so; processor=ppc64le;osname=linux, com/sun/jna/linux-x86/libjnidispatch.so; processor=x86;osname=linux, com/sun/jna/linux-x86-64/libjnidispatch.so; processor=x86-64;osname=linux, com/sun/jna/linux-arm/libjnidispatch.so; processor=arm;osname=linux, com/sun/jna/linux-arm/libjnidispatch.so; processor=arm_le;osname=linux, com/sun/jna/linux-armel/libjnidispatch.so; processor=armel;osname=linux, com/sun/jna/linux-aarch64/libjnidispatch.so; processor=aarch64;osname=linux, com/sun/jna/linux-ia64/libjnidispatch.so; processor=ia64;osname=linux, com/sun/jna/linux-sparcv9/libjnidispatch.so; processor=sparcv9;osname=linux, com/sun/jna/linux-mips64el/libjnidispatch.so; processor=mips64el;osname=linux, com/sun/jna/linux-s390x/libjnidispatch.so; processor=S390x;osname=linux, com/sun/jna/linux-loongarch64/libjnidispatch.so; processor=loongarch64;osname=linux, com/sun/jna/linux-riscv64/libjnidispatch.so; processor=riscv64;osname=linux, com/sun/jna/dragonflybsd-x86-64/libjnidispatch.so; processor=x86-64;osname=dragonflybsd, com/sun/jna/freebsd-x86/libjnidispatch.so; processor=x86;osname=freebsd, com/sun/jna/freebsd-x86-64/libjnidispatch.so; processor=x86-64;osname=freebsd, com/sun/jna/freebsd-aarch64/libjnidispatch.so; processor=aarch64;osname=freebsd, com/sun/jna/freebsd-ppc64le/libjnidispatch.so; processor=ppc64le;osname=freebsd, com/sun/jna/freebsd-ppc64/libjnidispatch.so; processor=ppc64;osname=freebsd, com/sun/jna/openbsd-x86/libjnidispatch.so; processor=x86;osname=openbsd, com/sun/jna/openbsd-x86-64/libjnidispatch.so; processor=x86-64;osname=openbsd, com/sun/jna/darwin-ppc/libjnidispatch.jnilib; osname=macosx;processor=ppc, com/sun/jna/darwin-ppc64/libjnidispatch.jnilib; osname=macosx;processor=ppc64, com/sun/jna/darwin-x86/libjnidispatch.jnilib; osname=macosx;processor=x86, com/sun/jna/darwin-x86-64/libjnidispatch.jnilib; osname=macosx;processor=x86-64, com/sun/jna/darwin-aarch64/libjnidispatch.jnilib; osname=macosx;processor=aarch64 Low Vendor Manifest bundle-requiredexecutionenvironment JavaSE-1.6 Low Vendor Manifest bundle-symbolicname com.sun.jna Medium Vendor Manifest Implementation-Vendor JNA Development Team High Vendor Manifest specification-vendor JNA Development Team Low Vendor pom artifactid jna Highest Vendor pom artifactid jna Low Vendor pom developer email mblaesing@doppel-helix.eu Low Vendor pom developer id twall Medium Vendor pom developer name Matthias Bläsing Medium Vendor pom developer name Timothy Wall Medium Vendor pom groupid net.java.dev.jna Highest Vendor pom name Java Native Access High Vendor pom url java-native-access/jna Highest Product file name jna High Product jar package name jna Highest Product jar package name library Highest Product jar package name native Highest Product jar package name sun Highest Product jar package name win32 Highest Product Manifest automatic-module-name com.sun.jna Medium Product Manifest bundle-activationpolicy lazy Low Product Manifest bundle-category jni Low Product Manifest Bundle-Name jna Medium Product Manifest bundle-nativecode com/sun/jna/win32-x86/jnidispatch.dll; processor=x86;osname=win32, com/sun/jna/win32-x86-64/jnidispatch.dll; processor=x86-64;osname=win32, com/sun/jna/win32-aarch64/jnidispatch.dll; processor=aarch64;osname=win32, com/sun/jna/win32-x86/jnidispatch.dll; processor=x86;osname=win, com/sun/jna/win32-x86-64/jnidispatch.dll; processor=x86-64;osname=win, com/sun/jna/win32-aarch64/jnidispatch.dll; processor=aarch64;osname=win, com/sun/jna/w32ce-arm/jnidispatch.dll; processor=arm;osname=wince, com/sun/jna/sunos-x86/libjnidispatch.so; processor=x86;osname=sunos, com/sun/jna/sunos-x86-64/libjnidispatch.so; processor=x86-64;osname=sunos, com/sun/jna/sunos-sparc/libjnidispatch.so; processor=sparc;osname=sunos, com/sun/jna/sunos-sparcv9/libjnidispatch.so; processor=sparcv9;osname=sunos, com/sun/jna/aix-ppc/libjnidispatch.a; processor=ppc;osname=aix, com/sun/jna/aix-ppc64/libjnidispatch.a; processor=ppc64;osname=aix, com/sun/jna/linux-ppc/libjnidispatch.so; processor=ppc;osname=linux, com/sun/jna/linux-ppc64/libjnidispatch.so; processor=ppc64;osname=linux, com/sun/jna/linux-ppc64le/libjnidispatch.so; processor=ppc64le;osname=linux, com/sun/jna/linux-x86/libjnidispatch.so; processor=x86;osname=linux, com/sun/jna/linux-x86-64/libjnidispatch.so; processor=x86-64;osname=linux, com/sun/jna/linux-arm/libjnidispatch.so; processor=arm;osname=linux, com/sun/jna/linux-arm/libjnidispatch.so; processor=arm_le;osname=linux, com/sun/jna/linux-armel/libjnidispatch.so; processor=armel;osname=linux, com/sun/jna/linux-aarch64/libjnidispatch.so; processor=aarch64;osname=linux, com/sun/jna/linux-ia64/libjnidispatch.so; processor=ia64;osname=linux, com/sun/jna/linux-sparcv9/libjnidispatch.so; processor=sparcv9;osname=linux, com/sun/jna/linux-mips64el/libjnidispatch.so; processor=mips64el;osname=linux, com/sun/jna/linux-s390x/libjnidispatch.so; processor=S390x;osname=linux, com/sun/jna/linux-loongarch64/libjnidispatch.so; processor=loongarch64;osname=linux, com/sun/jna/linux-riscv64/libjnidispatch.so; processor=riscv64;osname=linux, com/sun/jna/dragonflybsd-x86-64/libjnidispatch.so; processor=x86-64;osname=dragonflybsd, com/sun/jna/freebsd-x86/libjnidispatch.so; processor=x86;osname=freebsd, com/sun/jna/freebsd-x86-64/libjnidispatch.so; processor=x86-64;osname=freebsd, com/sun/jna/freebsd-aarch64/libjnidispatch.so; processor=aarch64;osname=freebsd, com/sun/jna/freebsd-ppc64le/libjnidispatch.so; processor=ppc64le;osname=freebsd, com/sun/jna/freebsd-ppc64/libjnidispatch.so; processor=ppc64;osname=freebsd, com/sun/jna/openbsd-x86/libjnidispatch.so; processor=x86;osname=openbsd, com/sun/jna/openbsd-x86-64/libjnidispatch.so; processor=x86-64;osname=openbsd, com/sun/jna/darwin-ppc/libjnidispatch.jnilib; osname=macosx;processor=ppc, com/sun/jna/darwin-ppc64/libjnidispatch.jnilib; osname=macosx;processor=ppc64, com/sun/jna/darwin-x86/libjnidispatch.jnilib; osname=macosx;processor=x86, com/sun/jna/darwin-x86-64/libjnidispatch.jnilib; osname=macosx;processor=x86-64, com/sun/jna/darwin-aarch64/libjnidispatch.jnilib; osname=macosx;processor=aarch64 Low Product Manifest bundle-requiredexecutionenvironment JavaSE-1.6 Low Product Manifest bundle-symbolicname com.sun.jna Medium Product Manifest Implementation-Title com.sun.jna High Product Manifest specification-title Java Native Access (JNA) Medium Product pom artifactid jna Highest Product pom developer email mblaesing@doppel-helix.eu Low Product pom developer id twall Low Product pom developer name Matthias Bläsing Low Product pom developer name Timothy Wall Low Product pom groupid net.java.dev.jna Highest Product pom name Java Native Access High Product pom url java-native-access/jna High Version file version 5.16.0 High Version Manifest Bundle-Version 5.16.0 High Version pom version 5.16.0 Highest
jna-platform-5.16.0.jarDescription:
Java Native Access Platform License:
LGPL-2.1-or-later: https://www.gnu.org/licenses/old-licenses/lgpl-2.1
+Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0.txt File Path: C:\Users\Jeremy\.m2\repository\net\java\dev\jna\jna-platform\5.16.0\jna-platform-5.16.0.jar
MD5: 12ba6b7a7752ecf0a5baed725f3192c2
SHA1: b2a9065f97c166893d504b164706512338e3bbc2
SHA256: e5a79523964509757555782bb60283e4902611013f107e4600dc93298f73f382
Referenced In Project/Scope: waffle-jna-jakarta:compile
jna-platform-5.16.0.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name jna-platform High Vendor jar package name jna Highest Vendor jar package name platform Highest Vendor jar package name sun Highest Vendor jar (hint) package name oracle Highest Vendor Manifest automatic-module-name com.sun.jna.platform Medium Vendor Manifest bundle-category jni Low Vendor Manifest bundle-requiredexecutionenvironment J2SE-1.4 Low Vendor Manifest bundle-symbolicname com.sun.jna.platform Medium Vendor Manifest Implementation-Vendor JNA Development Team High Vendor Manifest require-bundle com.sun.jna;bundle-version="5.16.0" Low Vendor Manifest specification-vendor JNA Development Team Low Vendor pom artifactid jna-platform Highest Vendor pom artifactid jna-platform Low Vendor pom developer email mblaesing@doppel-helix.eu Low Vendor pom developer id twall Medium Vendor pom developer name Matthias Bläsing Medium Vendor pom developer name Timothy Wall Medium Vendor pom groupid net.java.dev.jna Highest Vendor pom name Java Native Access Platform High Vendor pom url java-native-access/jna Highest Product file name jna-platform High Product jar package name jna Highest Product jar package name platform Highest Product jar package name sun Highest Product Manifest automatic-module-name com.sun.jna.platform Medium Product Manifest bundle-category jni Low Product Manifest Bundle-Name jna-platform Medium Product Manifest bundle-requiredexecutionenvironment J2SE-1.4 Low Product Manifest bundle-symbolicname com.sun.jna.platform Medium Product Manifest Implementation-Title com.sun.jna High Product Manifest require-bundle com.sun.jna;bundle-version="5.16.0" Low Product Manifest specification-title Java Native Access (JNA) Medium Product pom artifactid jna-platform Highest Product pom developer email mblaesing@doppel-helix.eu Low Product pom developer id twall Low Product pom developer name Matthias Bläsing Low Product pom developer name Timothy Wall Low Product pom groupid net.java.dev.jna Highest Product pom name Java Native Access Platform High Product pom url java-native-access/jna High Version file version 5.16.0 High Version Manifest Bundle-Version 5.16.0 High Version pom version 5.16.0 Highest
jsr305-3.0.2.jarDescription:
JSR305 Annotations for Findbugs License:
The Apache Software License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0.txt File Path: C:\Users\Jeremy\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar
MD5: dd83accb899363c32b07d7a1b2e4ce40
SHA1: 25ea2e8b0c338a877313bd4672d3fe056ea78f0d
SHA256: 766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7
Referenced In Project/Scope: waffle-jna-jakarta:provided
jsr305-3.0.2.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.spotbugs/spotbugs-annotations@4.8.6
Evidence Type Source Name Value Confidence Vendor file name jsr305 High Vendor Manifest bundle-symbolicname org.jsr-305 Medium Vendor pom artifactid jsr305 Highest Vendor pom artifactid jsr305 Low Vendor pom groupid com.google.code.findbugs Highest Vendor pom name FindBugs-jsr305 High Vendor pom url http://findbugs.sourceforge.net/ Highest Product file name jsr305 High Product Manifest Bundle-Name FindBugs-jsr305 Medium Product Manifest bundle-symbolicname org.jsr-305 Medium Product pom artifactid jsr305 Highest Product pom groupid com.google.code.findbugs Highest Product pom name FindBugs-jsr305 High Product pom url http://findbugs.sourceforge.net/ Medium Version file version 3.0.2 High Version Manifest Bundle-Version 3.0.2 High Version pom version 3.0.2 Highest
slf4j-api-2.0.16.jarDescription:
The slf4j API License:
http://www.opensource.org/licenses/mit-license.php File Path: C:\Users\Jeremy\.m2\repository\org\slf4j\slf4j-api\2.0.16\slf4j-api-2.0.16.jar
MD5: c8de8f5d740584cb24b5652cfba8b3c4
SHA1: 0172931663a09a1fa515567af5fbef00897d3c04
SHA256: a12578dde1ba00bd9b816d388a0b879928d00bab3c83c240f7013bf4196c579a
Referenced In Project/Scope: waffle-jna-jakarta:compile
slf4j-api-2.0.16.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name slf4j-api High Vendor jar package name slf4j Highest Vendor Manifest build-jdk-spec 21 Low Vendor Manifest bundle-docurl http://www.slf4j.org Low Vendor Manifest bundle-symbolicname slf4j.api Medium Vendor Manifest multi-release true Low Vendor pom artifactid slf4j-api Highest Vendor pom artifactid slf4j-api Low Vendor pom groupid org.slf4j Highest Vendor pom name SLF4J API Module High Vendor pom parent-artifactid slf4j-parent Low Vendor pom url http://www.slf4j.org Highest Product file name slf4j-api High Product jar package name slf4j Highest Product Manifest build-jdk-spec 21 Low Product Manifest bundle-docurl http://www.slf4j.org Low Product Manifest Bundle-Name SLF4J API Module Medium Product Manifest bundle-symbolicname slf4j.api Medium Product Manifest Implementation-Title slf4j-api High Product Manifest multi-release true Low Product pom artifactid slf4j-api Highest Product pom groupid org.slf4j Highest Product pom name SLF4J API Module High Product pom parent-artifactid slf4j-parent Medium Product pom url http://www.slf4j.org Medium Version file version 2.0.16 High Version Manifest Bundle-Version 2.0.16 High Version Manifest Implementation-Version 2.0.16 High Version pom version 2.0.16 Highest
slf4j-simple-2.0.16.jarDescription:
SLF4J Simple Provider License:
http://www.opensource.org/licenses/mit-license.php File Path: C:\Users\Jeremy\.m2\repository\org\slf4j\slf4j-simple\2.0.16\slf4j-simple-2.0.16.jar
MD5: 58c531dfe60020700c53c45fdf6234bf
SHA1: 56d3d8e59293543780ad35af4ee4a5d9c111a588
SHA256: effc32018658bea09d1e08c7d1060ccad46c086960f583d07dd7ffe9c1172a47
Referenced In Project/Scope: waffle-jna-jakarta:compile
slf4j-simple-2.0.16.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name slf4j-simple High Vendor jar package name simple Highest Vendor jar package name slf4j Highest Vendor Manifest build-jdk-spec 21 Low Vendor Manifest bundle-docurl http://www.slf4j.org Low Vendor Manifest bundle-symbolicname slf4j.simple Medium Vendor Manifest multi-release true Low Vendor Manifest originally-created-by Apache Maven Bundle Plugin 5.1.9 Low Vendor Manifest provide-capability osgi.service;objectClass:List="org.slf4j.spi.SLF4JServiceProvider";type=simple;effective:=active,osgi.serviceloader;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";register:="org.slf4j.simple.SimpleServiceProvider";type=simple Low Vendor pom artifactid slf4j-simple Highest Vendor pom artifactid slf4j-simple Low Vendor pom groupid org.slf4j Highest Vendor pom name SLF4J Simple Provider High Vendor pom parent-artifactid slf4j-parent Low Vendor pom url http://www.slf4j.org Highest Product file name slf4j-simple High Product jar package name 9 Highest Product jar package name simple Highest Product jar package name simpleserviceprovider Highest Product jar package name slf4j Highest Product Manifest build-jdk-spec 21 Low Product Manifest bundle-docurl http://www.slf4j.org Low Product Manifest Bundle-Name SLF4J Simple Provider Medium Product Manifest bundle-symbolicname slf4j.simple Medium Product Manifest Implementation-Title slf4j-simple High Product Manifest multi-release true Low Product Manifest originally-created-by Apache Maven Bundle Plugin 5.1.9 Low Product Manifest provide-capability osgi.service;objectClass:List="org.slf4j.spi.SLF4JServiceProvider";type=simple;effective:=active,osgi.serviceloader;osgi.serviceloader="org.slf4j.spi.SLF4JServiceProvider";register:="org.slf4j.simple.SimpleServiceProvider";type=simple Low Product pom artifactid slf4j-simple Highest Product pom groupid org.slf4j Highest Product pom name SLF4J Simple Provider High Product pom parent-artifactid slf4j-parent Medium Product pom url http://www.slf4j.org Medium Version file version 2.0.16 High Version Manifest Bundle-Version 2.0.16 High Version Manifest Implementation-Version 2.0.16 High Version pom version 2.0.16 Highest
spotbugs-annotations-4.8.6.jarDescription:
Annotations the SpotBugs tool supports License:
GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html File Path: C:\Users\Jeremy\.m2\repository\com\github\spotbugs\spotbugs-annotations\4.8.6\spotbugs-annotations-4.8.6.jar
MD5: 0806b237c67c69869506ce3ced9a722f
SHA1: 1dcffed3e561ed32134a0dff4717f19bc2fdf4d8
SHA256: 4548b74a815ed44f5480ca4f06204a8b00809dc7e5f6a825a9edf18f40377b65
Referenced In Project/Scope: waffle-jna-jakarta:provided
spotbugs-annotations-4.8.6.jar is in the transitive dependency tree of the listed items. Included by: pkg:maven/com.github.waffle/waffle-jna-jakarta@3.5.1
Evidence Type Source Name Value Confidence Vendor file name spotbugs-annotations High Vendor Manifest automatic-module-name com.github.spotbugs.annotations Medium Vendor Manifest bundle-requiredexecutionenvironment J2SE-1.5 Low Vendor Manifest bundle-symbolicname spotbugs-annotations Medium Vendor pom artifactid spotbugs-annotations Highest Vendor pom artifactid spotbugs-annotations Low Vendor pom developer email andreas.sewe@codetrails.com Low Vendor pom developer email dbrosius@mebigfatguy.com Low Vendor pom developer email loskutov@gmx.de Low Vendor pom developer email skypencil@gmail.com Low Vendor pom developer id henrik242 Medium Vendor pom developer id iloveeclipse Medium Vendor pom developer id jsotuyod Medium Vendor pom developer id KengoTODA Medium Vendor pom developer id mebigfatguy Medium Vendor pom developer id sewe Medium Vendor pom developer id ThrawnCA Medium Vendor pom developer name Andreas Sewe Medium Vendor pom developer name Andrey Loskutov Medium Vendor pom developer name Dave Brosius Medium Vendor pom developer name Juan Martín Sotuyo Dodero Medium Vendor pom developer name Kengo TODA Medium Vendor pom groupid com.github.spotbugs Highest Vendor pom name SpotBugs Annotations High Vendor pom url https://spotbugs.github.io/ Highest Product file name spotbugs-annotations High Product Manifest automatic-module-name com.github.spotbugs.annotations Medium Product Manifest Bundle-Name spotbugs-annotations Medium Product Manifest bundle-requiredexecutionenvironment J2SE-1.5 Low Product Manifest bundle-symbolicname spotbugs-annotations Medium Product pom artifactid spotbugs-annotations Highest Product pom developer email andreas.sewe@codetrails.com Low Product pom developer email dbrosius@mebigfatguy.com Low Product pom developer email loskutov@gmx.de Low Product pom developer email skypencil@gmail.com Low Product pom developer id henrik242 Low Product pom developer id iloveeclipse Low Product pom developer id jsotuyod Low Product pom developer id KengoTODA Low Product pom developer id mebigfatguy Low Product pom developer id sewe Low Product pom developer id ThrawnCA Low Product pom developer name Andreas Sewe Low Product pom developer name Andrey Loskutov Low Product pom developer name Dave Brosius Low Product pom developer name Juan Martín Sotuyo Dodero Low Product pom developer name Kengo TODA Low Product pom groupid com.github.spotbugs Highest Product pom name SpotBugs Annotations High Product pom url https://spotbugs.github.io/ Medium Version file version 4.8.6 High Version Manifest Bundle-Version 4.8.6 High Version pom version 4.8.6 Highest
\ No newline at end of file
diff --git a/waffle-jna-jakarta/dependency-info.html b/waffle-jna-jakarta/dependency-info.html
new file mode 100644
index 0000000000..d1d018762b
--- /dev/null
+++ b/waffle-jna-jakarta/dependency-info.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+
+ Maven Coordinates – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+Maven Coordinates
+Apache Maven
+<dependency>
+ <groupId>com.github.waffle</groupId>
+ <artifactId>waffle-jna-jakarta</artifactId>
+ <version>3.5.1</version>
+</dependency>
+Apache Ivy
+<dependency org="com.github.waffle" name="waffle-jna-jakarta" rev="3.5.1">
+ <artifact name="waffle-jna-jakarta" type="jar" />
+</dependency>
+Groovy Grape
+@Grapes(
+@Grab(group='com.github.waffle', module='waffle-jna-jakarta', version='3.5.1')
+)
+Gradle/Grails
+implementation 'com.github.waffle:waffle-jna-jakarta:3.5.1'
+Scala SBT
+libraryDependencies += "com.github.waffle" % "waffle-jna-jakarta" % "3.5.1"
+Leiningen
+[com.github.waffle/waffle-jna-jakarta "3.5.1"]
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/dependency-management.html b/waffle-jna-jakarta/dependency-management.html
new file mode 100644
index 0000000000..ed977973af
--- /dev/null
+++ b/waffle-jna-jakarta/dependency-management.html
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+ Project Dependency Management – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+Project Dependency Management
+compile
+The following is a list of compile dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run the submodule:
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/dependency-updates-report.html b/waffle-jna-jakarta/dependency-updates-report.html
new file mode 100644
index 0000000000..a4bd7de98a
--- /dev/null
+++ b/waffle-jna-jakarta/dependency-updates-report.html
@@ -0,0 +1,974 @@
+
+
+
+
+
+
+
+
+
+ Dependency Updates Report – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/distribution-management.html b/waffle-jna-jakarta/distribution-management.html
new file mode 100644
index 0000000000..2410d829d9
--- /dev/null
+++ b/waffle-jna-jakarta/distribution-management.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+ Project Distribution Management – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+Overview
+The following is the distribution management information used by this project.
+Site - gh-pages-scm
+scm:git:ssh://git@github.com/Waffle/waffle.git/waffle-jna-jakarta
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.eot b/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.eot
new file mode 100644
index 0000000000..423bd5d3a2
Binary files /dev/null and b/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.eot differ
diff --git a/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.svg b/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.svg
new file mode 100644
index 0000000000..4469488747
--- /dev/null
+++ b/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.ttf b/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.ttf
new file mode 100644
index 0000000000..a498ef4e7c
Binary files /dev/null and b/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.ttf differ
diff --git a/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.woff b/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.woff
new file mode 100644
index 0000000000..d83c539b82
Binary files /dev/null and b/waffle-jna-jakarta/fonts/glyphicons-halflings-regular.woff differ
diff --git a/waffle-jna-jakarta/images/accessories-text-editor.png b/waffle-jna-jakarta/images/accessories-text-editor.png
new file mode 100644
index 0000000000..abc3366eda
Binary files /dev/null and b/waffle-jna-jakarta/images/accessories-text-editor.png differ
diff --git a/waffle-jna-jakarta/images/add.gif b/waffle-jna-jakarta/images/add.gif
new file mode 100644
index 0000000000..1cb3dbf936
Binary files /dev/null and b/waffle-jna-jakarta/images/add.gif differ
diff --git a/waffle-jna-jakarta/images/apache-maven-project-2.png b/waffle-jna-jakarta/images/apache-maven-project-2.png
new file mode 100644
index 0000000000..a44db6ed08
Binary files /dev/null and b/waffle-jna-jakarta/images/apache-maven-project-2.png differ
diff --git a/waffle-jna-jakarta/images/application-certificate.png b/waffle-jna-jakarta/images/application-certificate.png
new file mode 100644
index 0000000000..cc6aff616f
Binary files /dev/null and b/waffle-jna-jakarta/images/application-certificate.png differ
diff --git a/waffle-jna-jakarta/images/close.gif b/waffle-jna-jakarta/images/close.gif
new file mode 100644
index 0000000000..1c26bbc526
Binary files /dev/null and b/waffle-jna-jakarta/images/close.gif differ
diff --git a/waffle-jna-jakarta/images/contact-new.png b/waffle-jna-jakarta/images/contact-new.png
new file mode 100644
index 0000000000..ebc4316d84
Binary files /dev/null and b/waffle-jna-jakarta/images/contact-new.png differ
diff --git a/waffle-jna-jakarta/images/document-properties.png b/waffle-jna-jakarta/images/document-properties.png
new file mode 100644
index 0000000000..34c2409a7c
Binary files /dev/null and b/waffle-jna-jakarta/images/document-properties.png differ
diff --git a/waffle-jna-jakarta/images/drive-harddisk.png b/waffle-jna-jakarta/images/drive-harddisk.png
new file mode 100644
index 0000000000..d7ce475f83
Binary files /dev/null and b/waffle-jna-jakarta/images/drive-harddisk.png differ
diff --git a/waffle-jna-jakarta/images/fix.gif b/waffle-jna-jakarta/images/fix.gif
new file mode 100644
index 0000000000..b7eb3dc442
Binary files /dev/null and b/waffle-jna-jakarta/images/fix.gif differ
diff --git a/waffle-jna-jakarta/images/icon_error_sml.gif b/waffle-jna-jakarta/images/icon_error_sml.gif
new file mode 100644
index 0000000000..12e9a01a93
Binary files /dev/null and b/waffle-jna-jakarta/images/icon_error_sml.gif differ
diff --git a/waffle-jna-jakarta/images/icon_help_sml.gif b/waffle-jna-jakarta/images/icon_help_sml.gif
new file mode 100644
index 0000000000..aaf20e6eea
Binary files /dev/null and b/waffle-jna-jakarta/images/icon_help_sml.gif differ
diff --git a/waffle-jna-jakarta/images/icon_info_sml.gif b/waffle-jna-jakarta/images/icon_info_sml.gif
new file mode 100644
index 0000000000..b776326703
Binary files /dev/null and b/waffle-jna-jakarta/images/icon_info_sml.gif differ
diff --git a/waffle-jna-jakarta/images/icon_success_sml.gif b/waffle-jna-jakarta/images/icon_success_sml.gif
new file mode 100644
index 0000000000..0a195279b3
Binary files /dev/null and b/waffle-jna-jakarta/images/icon_success_sml.gif differ
diff --git a/waffle-jna-jakarta/images/icon_warning_sml.gif b/waffle-jna-jakarta/images/icon_warning_sml.gif
new file mode 100644
index 0000000000..ac6ad6ada3
Binary files /dev/null and b/waffle-jna-jakarta/images/icon_warning_sml.gif differ
diff --git a/waffle-jna-jakarta/images/image-x-generic.png b/waffle-jna-jakarta/images/image-x-generic.png
new file mode 100644
index 0000000000..ab49efb345
Binary files /dev/null and b/waffle-jna-jakarta/images/image-x-generic.png differ
diff --git a/waffle-jna-jakarta/images/internet-web-browser.png b/waffle-jna-jakarta/images/internet-web-browser.png
new file mode 100644
index 0000000000..307d6aca61
Binary files /dev/null and b/waffle-jna-jakarta/images/internet-web-browser.png differ
diff --git a/waffle-jna-jakarta/images/logos/build-by-maven-black.png b/waffle-jna-jakarta/images/logos/build-by-maven-black.png
new file mode 100644
index 0000000000..919fd0f66a
Binary files /dev/null and b/waffle-jna-jakarta/images/logos/build-by-maven-black.png differ
diff --git a/waffle-jna-jakarta/images/logos/build-by-maven-white.png b/waffle-jna-jakarta/images/logos/build-by-maven-white.png
new file mode 100644
index 0000000000..7d44c9c2e5
Binary files /dev/null and b/waffle-jna-jakarta/images/logos/build-by-maven-white.png differ
diff --git a/waffle-jna-jakarta/images/logos/maven-feather.png b/waffle-jna-jakarta/images/logos/maven-feather.png
new file mode 100644
index 0000000000..b5ada836e9
Binary files /dev/null and b/waffle-jna-jakarta/images/logos/maven-feather.png differ
diff --git a/waffle-jna-jakarta/images/network-server.png b/waffle-jna-jakarta/images/network-server.png
new file mode 100644
index 0000000000..1d12e1938a
Binary files /dev/null and b/waffle-jna-jakarta/images/network-server.png differ
diff --git a/waffle-jna-jakarta/images/package-x-generic.png b/waffle-jna-jakarta/images/package-x-generic.png
new file mode 100644
index 0000000000..8b7e9e67b5
Binary files /dev/null and b/waffle-jna-jakarta/images/package-x-generic.png differ
diff --git a/waffle-jna-jakarta/images/profiles/pre-release.png b/waffle-jna-jakarta/images/profiles/pre-release.png
new file mode 100644
index 0000000000..d448e850cd
Binary files /dev/null and b/waffle-jna-jakarta/images/profiles/pre-release.png differ
diff --git a/waffle-jna-jakarta/images/profiles/retired.png b/waffle-jna-jakarta/images/profiles/retired.png
new file mode 100644
index 0000000000..f89f6a29c6
Binary files /dev/null and b/waffle-jna-jakarta/images/profiles/retired.png differ
diff --git a/waffle-jna-jakarta/images/profiles/sandbox.png b/waffle-jna-jakarta/images/profiles/sandbox.png
new file mode 100644
index 0000000000..f88b362676
Binary files /dev/null and b/waffle-jna-jakarta/images/profiles/sandbox.png differ
diff --git a/waffle-jna-jakarta/images/remove.gif b/waffle-jna-jakarta/images/remove.gif
new file mode 100644
index 0000000000..fc65631cad
Binary files /dev/null and b/waffle-jna-jakarta/images/remove.gif differ
diff --git a/waffle-jna-jakarta/images/rss.png b/waffle-jna-jakarta/images/rss.png
new file mode 100644
index 0000000000..a9850ee2cd
Binary files /dev/null and b/waffle-jna-jakarta/images/rss.png differ
diff --git a/waffle-jna-jakarta/images/update.gif b/waffle-jna-jakarta/images/update.gif
new file mode 100644
index 0000000000..b2a6d0bf63
Binary files /dev/null and b/waffle-jna-jakarta/images/update.gif differ
diff --git a/waffle-jna-jakarta/images/waffle.jpg b/waffle-jna-jakarta/images/waffle.jpg
new file mode 100644
index 0000000000..00455a8db4
Binary files /dev/null and b/waffle-jna-jakarta/images/waffle.jpg differ
diff --git a/waffle-jna-jakarta/images/window-new.png b/waffle-jna-jakarta/images/window-new.png
new file mode 100644
index 0000000000..0e12ef954c
Binary files /dev/null and b/waffle-jna-jakarta/images/window-new.png differ
diff --git a/waffle-jna-jakarta/img/glyphicons-halflings-white.png b/waffle-jna-jakarta/img/glyphicons-halflings-white.png
new file mode 100644
index 0000000000..3bf6484a29
Binary files /dev/null and b/waffle-jna-jakarta/img/glyphicons-halflings-white.png differ
diff --git a/waffle-jna-jakarta/img/glyphicons-halflings.png b/waffle-jna-jakarta/img/glyphicons-halflings.png
new file mode 100644
index 0000000000..a996999320
Binary files /dev/null and b/waffle-jna-jakarta/img/glyphicons-halflings.png differ
diff --git a/waffle-jna-jakarta/index.html b/waffle-jna-jakarta/index.html
new file mode 100644
index 0000000000..9f4a62abd4
--- /dev/null
+++ b/waffle-jna-jakarta/index.html
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+ About – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+About waffle-jna-jakarta
+WAFFLE JNA Jakarta Pakage implementation
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/issue-management.html b/waffle-jna-jakarta/issue-management.html
new file mode 100644
index 0000000000..ddb616b71c
--- /dev/null
+++ b/waffle-jna-jakarta/issue-management.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+
+ Issue Management – waffle-jna-jakarta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2025-01-01|
+
+ Version: 3.5.1
+
+
+
+
+
+
+
+Overview
+This project uses Github to manage its issues.
+
+
+
+
+
+
diff --git a/waffle-jna-jakarta/jacoco/index.html b/waffle-jna-jakarta/jacoco/index.html
new file mode 100644
index 0000000000..e0aa7f7da2
--- /dev/null
+++ b/waffle-jna-jakarta/jacoco/index.html
@@ -0,0 +1 @@
+waffle-jna-jakarta waffle-jna-jakarta
\ No newline at end of file
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/branchfc.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/branchfc.gif
new file mode 100644
index 0000000000..989b46d304
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/branchfc.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/branchnc.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/branchnc.gif
new file mode 100644
index 0000000000..1933e07c37
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/branchnc.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/branchpc.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/branchpc.gif
new file mode 100644
index 0000000000..cbf711b703
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/branchpc.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/bundle.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/bundle.gif
new file mode 100644
index 0000000000..fca9c53e62
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/bundle.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/class.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/class.gif
new file mode 100644
index 0000000000..eb348fb0d4
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/class.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/down.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/down.gif
new file mode 100644
index 0000000000..440a14db74
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/down.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/greenbar.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/greenbar.gif
new file mode 100644
index 0000000000..0ba6567253
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/greenbar.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/group.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/group.gif
new file mode 100644
index 0000000000..a4ea580d27
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/group.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/method.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/method.gif
new file mode 100644
index 0000000000..7d24707ee8
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/method.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/package.gif b/waffle-jna-jakarta/jacoco/jacoco-resources/package.gif
new file mode 100644
index 0000000000..131c28da40
Binary files /dev/null and b/waffle-jna-jakarta/jacoco/jacoco-resources/package.gif differ
diff --git a/waffle-jna-jakarta/jacoco/jacoco-resources/prettify.css b/waffle-jna-jakarta/jacoco/jacoco-resources/prettify.css
new file mode 100644
index 0000000000..be5166e0fc
--- /dev/null
+++ b/waffle-jna-jakarta/jacoco/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/waffle-jna-jakarta/jacoco/jacoco-resources/prettify.js b/waffle-jna-jakarta/jacoco/jacoco-resources/prettify.js
new file mode 100644
index 0000000000..b2766fe0a3
--- /dev/null
+++ b/waffle-jna-jakarta/jacoco/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:
+ * include this source file in an html page via
+ * {@code }
+ * define style rules. See the example page for examples.
+ * 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.
+ *
+ * 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 } or {@code } element to specify the
+ * language, as in {@code }. 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.
+ *
+ * Change log:
+ * cbeust, 2006/08/22
+ *
+ * Java annotations (start with "@") are now captured as literals ("lit")
+ *
+ * @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.} 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 } and {@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.
+ *
+ * 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.
+ *
+ *
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_quot = /\"/g;
+ /** like textToHtml but escapes double quotes to be attribute safe. */
+ function attribToHtml(str) {
+ return str.replace(pr_amp, '&')
+ .replace(pr_lt, '<')
+ .replace(pr_gt, '>')
+ .replace(pr_quot, '"');
+ }
+
+ /** escapest html special characters to html. */
+ function textToHtml(str) {
+ return str.replace(pr_amp, '&')
+ .replace(pr_lt, '<')
+ .replace(pr_gt, '>');
+ }
+
+
+ var pr_ltEnt = /</g;
+ var pr_gtEnt = />/g;
+ var pr_aposEnt = /'/g;
+ var pr_quotEnt = /"/g;
+ var pr_ampEnt = /&/g;
+ var pr_nbspEnt = / /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.} 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('\n '));
+ PR_innerHtmlWorks = !/)[\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
+ + '|' // 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 = /^) 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)) {
+ // 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 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
+ * 'GroupPrincipal