You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-notify@rai.apache.org by gi...@apache.org on 2026/10/21 05:00:09 UTC
(rai-site) branch preview/akm-blog-staging created (now 48db2e5)
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a change to branch preview/akm-blog-staging
in repository https://gitbox.apache.org/repos/asf/rai-site.git
at 48db2e5 Automatic Site Publish by Buildbot
This branch includes the following new commits:
new 48db2e5 Automatic Site Publish by Buildbot
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(rai-site) 01/01: Automatic Site Publish by Buildbot
Posted by gi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch preview/akm-blog-staging
in repository https://gitbox.apache.org/repos/asf/rai-site.git
commit 48db2e5dccf7aa9b7d7264a303630fea750576b2
Author: buildbot <us...@infra.apache.org>
AuthorDate: Wed Oct 21 05:00:04 2026 +0000
Automatic Site Publish by Buildbot
---
.asf.yaml | 51 +
output/_pagefind/fragment/en_20708a9.pf_fragment | Bin 0 -> 838 bytes
output/_pagefind/fragment/en_2322707.pf_fragment | Bin 0 -> 852 bytes
output/_pagefind/fragment/en_2623d26.pf_fragment | Bin 0 -> 541 bytes
output/_pagefind/fragment/en_2ca91dc.pf_fragment | Bin 0 -> 1006 bytes
output/_pagefind/fragment/en_4c92fd2.pf_fragment | Bin 0 -> 1389 bytes
output/_pagefind/fragment/en_4ee3d83.pf_fragment | Bin 0 -> 1953 bytes
output/_pagefind/fragment/en_52fceeb.pf_fragment | Bin 0 -> 1687 bytes
output/_pagefind/fragment/en_65ba91b.pf_fragment | Bin 0 -> 1687 bytes
output/_pagefind/fragment/en_6cf2765.pf_fragment | Bin 0 -> 395 bytes
output/_pagefind/fragment/en_79be9bf.pf_fragment | Bin 0 -> 860 bytes
output/_pagefind/fragment/en_84d9d7e.pf_fragment | Bin 0 -> 2470 bytes
output/_pagefind/fragment/en_a57daac.pf_fragment | Bin 0 -> 3366 bytes
output/_pagefind/fragment/en_b0223bc.pf_fragment | Bin 0 -> 1783 bytes
output/_pagefind/fragment/en_c7cf398.pf_fragment | Bin 0 -> 2693 bytes
output/_pagefind/fragment/en_c941499.pf_fragment | Bin 0 -> 866 bytes
output/_pagefind/fragment/en_cbce684.pf_fragment | Bin 0 -> 3307 bytes
output/_pagefind/fragment/en_d5a5d7b.pf_fragment | Bin 0 -> 704 bytes
output/_pagefind/fragment/en_e4db465.pf_fragment | Bin 0 -> 2505 bytes
output/_pagefind/fragment/en_fcb380c.pf_fragment | Bin 0 -> 387 bytes
output/_pagefind/index/en_8ad0604.pf_index | Bin 0 -> 32137 bytes
output/_pagefind/pagefind-entry.json | 1 +
output/_pagefind/pagefind-highlight.js | 1069 +++
output/_pagefind/pagefind-modular-ui.css | 214 +
output/_pagefind/pagefind-modular-ui.js | 8 +
output/_pagefind/pagefind-ui.css | 1 +
output/_pagefind/pagefind-ui.js | 2 +
output/_pagefind/pagefind.en_cf39bd3c10.pf_meta | Bin 0 -> 241 bytes
output/_pagefind/pagefind.js | 9 +
output/_pagefind/wasm.en.pagefind | Bin 0 -> 60245 bytes
output/_pagefind/wasm.unknown.pagefind | Bin 0 -> 55137 bytes
output/about.html | 220 +
output/ai-generated-code.html | 304 +
output/authored-by-tags.html | 281 +
output/best-practices.html | 259 +
output/blog/index.html | 210 +
...ponsible-ai-at-community-over-code-glasgow.html | 290 +
output/category/blog.html | 211 +
output/commit-messages.html | 290 +
output/css/app.css | 515 +
output/css/bootstrap.min.css | 6 +
output/css/font-awesome.min.css | 4 +
output/css/fontawesome.all.min.css | 6 +
output/css/foundation.css | 4236 +++++++++
output/css/foundation.min.css | 2 +
output/css/headerlink.css | 16 +
output/css/webfonts/fa-brands-400.ttf | Bin 0 -> 186112 bytes
output/css/webfonts/fa-brands-400.woff2 | Bin 0 -> 107460 bytes
output/css/webfonts/fa-regular-400.ttf | Bin 0 -> 62048 bytes
output/css/webfonts/fa-regular-400.woff2 | Bin 0 -> 25096 bytes
output/css/webfonts/fa-solid-900.ttf | Bin 0 -> 397728 bytes
output/css/webfonts/fa-solid-900.woff2 | Bin 0 -> 150472 bytes
output/css/webfonts/fa-v4compatibility.ttf | Bin 0 -> 10136 bytes
output/css/webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4584 bytes
output/eu-ai-act.html | 371 +
output/faq.html | 218 +
output/feeds/all-en.atom.xml | 87 +
output/feeds/blog.atom.xml | 87 +
output/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes
output/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes
output/fonts/fontawesome-webfont.svg | 2671 ++++++
output/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes
output/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes
output/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes
output/get-involved.html | 233 +
output/highlight/default.min.css | 1 +
output/highlight/github.min.css | 10 +
output/highlight/highlight.min.js | 1213 +++
output/images/rai-logo-original.svg | 163 +
output/images/rai-logo.svg | 1 +
output/images/rai-mark-green.svg | 1 +
output/images/rai-mark.svg | 1 +
output/index.html | 256 +
output/js/app.js | 1 +
output/js/bootstrap.bundle.min.js | 7 +
output/js/mermaid.min.js | 2029 ++++
output/js/vendor/foundation.js | 9124 ++++++++++++++++++
output/js/vendor/foundation.min.js | 1 +
output/js/vendor/jquery.js | 9842 ++++++++++++++++++++
output/js/vendor/what-input.js | 295 +
output/policy-recommendations.html | 323 +
output/projects.html | 217 +
output/strategy.html | 361 +
output/tool-use-risk.html | 347 +
output/us-copyright-law.html | 322 +
output/what-we-do.html | 270 +
output/whats-new.html | 205 +
87 files changed, 36862 insertions(+)
diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..7a64db4
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,51 @@
+# 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.
+
+github:
+ description: "Apache Responsible AI Website"
+ homepage: https://rai.apache.org/
+ features:
+ issues: false
+ projects: false
+ wiki: false
+ labels:
+ - apache
+ enabled_merge_buttons:
+ squash: true
+ merge: false
+ rebase: false
+ protected_branches:
+ main: {}
+ asf-site: {}
+
+notifications:
+ commits: site-notify@rai.apache.org
+ pullrequests: site-notify@rai.apache.org
+ jobs: site-notify@rai.apache.org
+
+pelican:
+ autobuild: preview/*
+ target: asf-site
+ whoami: main
+
+staging:
+ profile: ~
+ whoami: asf-site
+ autostage: preview/*
+
+publish:
+ whoami: asf-site
diff --git a/output/_pagefind/fragment/en_20708a9.pf_fragment b/output/_pagefind/fragment/en_20708a9.pf_fragment
new file mode 100644
index 0000000..4d2b922
Binary files /dev/null and b/output/_pagefind/fragment/en_20708a9.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_2322707.pf_fragment b/output/_pagefind/fragment/en_2322707.pf_fragment
new file mode 100644
index 0000000..66ae82e
Binary files /dev/null and b/output/_pagefind/fragment/en_2322707.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_2623d26.pf_fragment b/output/_pagefind/fragment/en_2623d26.pf_fragment
new file mode 100644
index 0000000..117a54c
Binary files /dev/null and b/output/_pagefind/fragment/en_2623d26.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_2ca91dc.pf_fragment b/output/_pagefind/fragment/en_2ca91dc.pf_fragment
new file mode 100644
index 0000000..4dd9b4c
Binary files /dev/null and b/output/_pagefind/fragment/en_2ca91dc.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_4c92fd2.pf_fragment b/output/_pagefind/fragment/en_4c92fd2.pf_fragment
new file mode 100644
index 0000000..d3540a5
Binary files /dev/null and b/output/_pagefind/fragment/en_4c92fd2.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_4ee3d83.pf_fragment b/output/_pagefind/fragment/en_4ee3d83.pf_fragment
new file mode 100644
index 0000000..a33efb1
Binary files /dev/null and b/output/_pagefind/fragment/en_4ee3d83.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_52fceeb.pf_fragment b/output/_pagefind/fragment/en_52fceeb.pf_fragment
new file mode 100644
index 0000000..10a0662
Binary files /dev/null and b/output/_pagefind/fragment/en_52fceeb.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_65ba91b.pf_fragment b/output/_pagefind/fragment/en_65ba91b.pf_fragment
new file mode 100644
index 0000000..a64615b
Binary files /dev/null and b/output/_pagefind/fragment/en_65ba91b.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_6cf2765.pf_fragment b/output/_pagefind/fragment/en_6cf2765.pf_fragment
new file mode 100644
index 0000000..6ee28f0
Binary files /dev/null and b/output/_pagefind/fragment/en_6cf2765.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_79be9bf.pf_fragment b/output/_pagefind/fragment/en_79be9bf.pf_fragment
new file mode 100644
index 0000000..7da6e60
Binary files /dev/null and b/output/_pagefind/fragment/en_79be9bf.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_84d9d7e.pf_fragment b/output/_pagefind/fragment/en_84d9d7e.pf_fragment
new file mode 100644
index 0000000..319b24d
Binary files /dev/null and b/output/_pagefind/fragment/en_84d9d7e.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_a57daac.pf_fragment b/output/_pagefind/fragment/en_a57daac.pf_fragment
new file mode 100644
index 0000000..73737f5
Binary files /dev/null and b/output/_pagefind/fragment/en_a57daac.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_b0223bc.pf_fragment b/output/_pagefind/fragment/en_b0223bc.pf_fragment
new file mode 100644
index 0000000..7386a6f
Binary files /dev/null and b/output/_pagefind/fragment/en_b0223bc.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_c7cf398.pf_fragment b/output/_pagefind/fragment/en_c7cf398.pf_fragment
new file mode 100644
index 0000000..b80cd1d
Binary files /dev/null and b/output/_pagefind/fragment/en_c7cf398.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_c941499.pf_fragment b/output/_pagefind/fragment/en_c941499.pf_fragment
new file mode 100644
index 0000000..a2be47f
Binary files /dev/null and b/output/_pagefind/fragment/en_c941499.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_cbce684.pf_fragment b/output/_pagefind/fragment/en_cbce684.pf_fragment
new file mode 100644
index 0000000..2c45275
Binary files /dev/null and b/output/_pagefind/fragment/en_cbce684.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_d5a5d7b.pf_fragment b/output/_pagefind/fragment/en_d5a5d7b.pf_fragment
new file mode 100644
index 0000000..530eba0
Binary files /dev/null and b/output/_pagefind/fragment/en_d5a5d7b.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_e4db465.pf_fragment b/output/_pagefind/fragment/en_e4db465.pf_fragment
new file mode 100644
index 0000000..03d778d
Binary files /dev/null and b/output/_pagefind/fragment/en_e4db465.pf_fragment differ
diff --git a/output/_pagefind/fragment/en_fcb380c.pf_fragment b/output/_pagefind/fragment/en_fcb380c.pf_fragment
new file mode 100644
index 0000000..1ce7d84
Binary files /dev/null and b/output/_pagefind/fragment/en_fcb380c.pf_fragment differ
diff --git a/output/_pagefind/index/en_8ad0604.pf_index b/output/_pagefind/index/en_8ad0604.pf_index
new file mode 100644
index 0000000..314f8a1
Binary files /dev/null and b/output/_pagefind/index/en_8ad0604.pf_index differ
diff --git a/output/_pagefind/pagefind-entry.json b/output/_pagefind/pagefind-entry.json
new file mode 100644
index 0000000..e3016cc
--- /dev/null
+++ b/output/_pagefind/pagefind-entry.json
@@ -0,0 +1 @@
+{"version":"1.0.4","languages":{"en":{"hash":"en_cf39bd3c10","wasm":"en","page_count":19}}}
\ No newline at end of file
diff --git a/output/_pagefind/pagefind-highlight.js b/output/_pagefind/pagefind-highlight.js
new file mode 100644
index 0000000..c823fbf
--- /dev/null
+++ b/output/_pagefind/pagefind-highlight.js
@@ -0,0 +1,1069 @@
+var __create = Object.create;
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __getProtoOf = Object.getPrototypeOf;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __commonJS = (cb, mod) => function __require() {
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
+ // If the importer is in node compatibility mode or this is not an ESM
+ // file that has been converted to a CommonJS file using a Babel-
+ // compatible transform (i.e. "__esModule" has not been set), then set
+ // "default" to the CommonJS "module.exports" for node compatibility.
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
+ mod
+));
+
+// node_modules/mark.js/dist/mark.js
+var require_mark = __commonJS({
+ "node_modules/mark.js/dist/mark.js"(exports, module) {
+ (function(global, factory) {
+ typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.Mark = factory();
+ })(exports, function() {
+ "use strict";
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) {
+ return typeof obj;
+ } : function(obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+ };
+ var classCallCheck = function(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ };
+ var createClass = function() {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor)
+ descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+ return function(Constructor, protoProps, staticProps) {
+ if (protoProps)
+ defineProperties(Constructor.prototype, protoProps);
+ if (staticProps)
+ defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+ var _extends = Object.assign || function(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+ return target;
+ };
+ var DOMIterator = function() {
+ function DOMIterator2(ctx) {
+ var iframes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
+ var exclude = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
+ var iframesTimeout = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 5e3;
+ classCallCheck(this, DOMIterator2);
+ this.ctx = ctx;
+ this.iframes = iframes;
+ this.exclude = exclude;
+ this.iframesTimeout = iframesTimeout;
+ }
+ createClass(DOMIterator2, [{
+ key: "getContexts",
+ value: function getContexts() {
+ var ctx = void 0, filteredCtx = [];
+ if (typeof this.ctx === "undefined" || !this.ctx) {
+ ctx = [];
+ } else if (NodeList.prototype.isPrototypeOf(this.ctx)) {
+ ctx = Array.prototype.slice.call(this.ctx);
+ } else if (Array.isArray(this.ctx)) {
+ ctx = this.ctx;
+ } else if (typeof this.ctx === "string") {
+ ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx));
+ } else {
+ ctx = [this.ctx];
+ }
+ ctx.forEach(function(ctx2) {
+ var isDescendant = filteredCtx.filter(function(contexts) {
+ return contexts.contains(ctx2);
+ }).length > 0;
+ if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) {
+ filteredCtx.push(ctx2);
+ }
+ });
+ return filteredCtx;
+ }
+ }, {
+ key: "getIframeContents",
+ value: function getIframeContents(ifr, successFn) {
+ var errorFn = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() {
+ };
+ var doc = void 0;
+ try {
+ var ifrWin = ifr.contentWindow;
+ doc = ifrWin.document;
+ if (!ifrWin || !doc) {
+ throw new Error("iframe inaccessible");
+ }
+ } catch (e) {
+ errorFn();
+ }
+ if (doc) {
+ successFn(doc);
+ }
+ }
+ }, {
+ key: "isIframeBlank",
+ value: function isIframeBlank(ifr) {
+ var bl = "about:blank", src = ifr.getAttribute("src").trim(), href = ifr.contentWindow.location.href;
+ return href === bl && src !== bl && src;
+ }
+ }, {
+ key: "observeIframeLoad",
+ value: function observeIframeLoad(ifr, successFn, errorFn) {
+ var _this = this;
+ var called = false, tout = null;
+ var listener = function listener2() {
+ if (called) {
+ return;
+ }
+ called = true;
+ clearTimeout(tout);
+ try {
+ if (!_this.isIframeBlank(ifr)) {
+ ifr.removeEventListener("load", listener2);
+ _this.getIframeContents(ifr, successFn, errorFn);
+ }
+ } catch (e) {
+ errorFn();
+ }
+ };
+ ifr.addEventListener("load", listener);
+ tout = setTimeout(listener, this.iframesTimeout);
+ }
+ }, {
+ key: "onIframeReady",
+ value: function onIframeReady(ifr, successFn, errorFn) {
+ try {
+ if (ifr.contentWindow.document.readyState === "complete") {
+ if (this.isIframeBlank(ifr)) {
+ this.observeIframeLoad(ifr, successFn, errorFn);
+ } else {
+ this.getIframeContents(ifr, successFn, errorFn);
+ }
+ } else {
+ this.observeIframeLoad(ifr, successFn, errorFn);
+ }
+ } catch (e) {
+ errorFn();
+ }
+ }
+ }, {
+ key: "waitForIframes",
+ value: function waitForIframes(ctx, done) {
+ var _this2 = this;
+ var eachCalled = 0;
+ this.forEachIframe(ctx, function() {
+ return true;
+ }, function(ifr) {
+ eachCalled++;
+ _this2.waitForIframes(ifr.querySelector("html"), function() {
+ if (!--eachCalled) {
+ done();
+ }
+ });
+ }, function(handled) {
+ if (!handled) {
+ done();
+ }
+ });
+ }
+ }, {
+ key: "forEachIframe",
+ value: function forEachIframe(ctx, filter, each) {
+ var _this3 = this;
+ var end = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() {
+ };
+ var ifr = ctx.querySelectorAll("iframe"), open = ifr.length, handled = 0;
+ ifr = Array.prototype.slice.call(ifr);
+ var checkEnd = function checkEnd2() {
+ if (--open <= 0) {
+ end(handled);
+ }
+ };
+ if (!open) {
+ checkEnd();
+ }
+ ifr.forEach(function(ifr2) {
+ if (DOMIterator2.matches(ifr2, _this3.exclude)) {
+ checkEnd();
+ } else {
+ _this3.onIframeReady(ifr2, function(con) {
+ if (filter(ifr2)) {
+ handled++;
+ each(con);
+ }
+ checkEnd();
+ }, checkEnd);
+ }
+ });
+ }
+ }, {
+ key: "createIterator",
+ value: function createIterator(ctx, whatToShow, filter) {
+ return document.createNodeIterator(ctx, whatToShow, filter, false);
+ }
+ }, {
+ key: "createInstanceOnIframe",
+ value: function createInstanceOnIframe(contents) {
+ return new DOMIterator2(contents.querySelector("html"), this.iframes);
+ }
+ }, {
+ key: "compareNodeIframe",
+ value: function compareNodeIframe(node, prevNode, ifr) {
+ var compCurr = node.compareDocumentPosition(ifr), prev = Node.DOCUMENT_POSITION_PRECEDING;
+ if (compCurr & prev) {
+ if (prevNode !== null) {
+ var compPrev = prevNode.compareDocumentPosition(ifr), after = Node.DOCUMENT_POSITION_FOLLOWING;
+ if (compPrev & after) {
+ return true;
+ }
+ } else {
+ return true;
+ }
+ }
+ return false;
+ }
+ }, {
+ key: "getIteratorNode",
+ value: function getIteratorNode(itr) {
+ var prevNode = itr.previousNode();
+ var node = void 0;
+ if (prevNode === null) {
+ node = itr.nextNode();
+ } else {
+ node = itr.nextNode() && itr.nextNode();
+ }
+ return {
+ prevNode,
+ node
+ };
+ }
+ }, {
+ key: "checkIframeFilter",
+ value: function checkIframeFilter(node, prevNode, currIfr, ifr) {
+ var key = false, handled = false;
+ ifr.forEach(function(ifrDict, i) {
+ if (ifrDict.val === currIfr) {
+ key = i;
+ handled = ifrDict.handled;
+ }
+ });
+ if (this.compareNodeIframe(node, prevNode, currIfr)) {
+ if (key === false && !handled) {
+ ifr.push({
+ val: currIfr,
+ handled: true
+ });
+ } else if (key !== false && !handled) {
+ ifr[key].handled = true;
+ }
+ return true;
+ }
+ if (key === false) {
+ ifr.push({
+ val: currIfr,
+ handled: false
+ });
+ }
+ return false;
+ }
+ }, {
+ key: "handleOpenIframes",
+ value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) {
+ var _this4 = this;
+ ifr.forEach(function(ifrDict) {
+ if (!ifrDict.handled) {
+ _this4.getIframeContents(ifrDict.val, function(con) {
+ _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb);
+ });
+ }
+ });
+ }
+ }, {
+ key: "iterateThroughNodes",
+ value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) {
+ var _this5 = this;
+ var itr = this.createIterator(ctx, whatToShow, filterCb);
+ var ifr = [], elements = [], node = void 0, prevNode = void 0, retrieveNodes = function retrieveNodes2() {
+ var _getIteratorNode = _this5.getIteratorNode(itr);
+ prevNode = _getIteratorNode.prevNode;
+ node = _getIteratorNode.node;
+ return node;
+ };
+ while (retrieveNodes()) {
+ if (this.iframes) {
+ this.forEachIframe(ctx, function(currIfr) {
+ return _this5.checkIframeFilter(node, prevNode, currIfr, ifr);
+ }, function(con) {
+ _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function(ifrNode) {
+ return elements.push(ifrNode);
+ }, filterCb);
+ });
+ }
+ elements.push(node);
+ }
+ elements.forEach(function(node2) {
+ eachCb(node2);
+ });
+ if (this.iframes) {
+ this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb);
+ }
+ doneCb();
+ }
+ }, {
+ key: "forEachNode",
+ value: function forEachNode(whatToShow, each, filter) {
+ var _this6 = this;
+ var done = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : function() {
+ };
+ var contexts = this.getContexts();
+ var open = contexts.length;
+ if (!open) {
+ done();
+ }
+ contexts.forEach(function(ctx) {
+ var ready = function ready2() {
+ _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function() {
+ if (--open <= 0) {
+ done();
+ }
+ });
+ };
+ if (_this6.iframes) {
+ _this6.waitForIframes(ctx, ready);
+ } else {
+ ready();
+ }
+ });
+ }
+ }], [{
+ key: "matches",
+ value: function matches(element, selector) {
+ var selectors = typeof selector === "string" ? [selector] : selector, fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector;
+ if (fn) {
+ var match = false;
+ selectors.every(function(sel) {
+ if (fn.call(element, sel)) {
+ match = true;
+ return false;
+ }
+ return true;
+ });
+ return match;
+ } else {
+ return false;
+ }
+ }
+ }]);
+ return DOMIterator2;
+ }();
+ var Mark$1 = function() {
+ function Mark3(ctx) {
+ classCallCheck(this, Mark3);
+ this.ctx = ctx;
+ this.ie = false;
+ var ua = window.navigator.userAgent;
+ if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) {
+ this.ie = true;
+ }
+ }
+ createClass(Mark3, [{
+ key: "log",
+ value: function log(msg) {
+ var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "debug";
+ var log2 = this.opt.log;
+ if (!this.opt.debug) {
+ return;
+ }
+ if ((typeof log2 === "undefined" ? "undefined" : _typeof(log2)) === "object" && typeof log2[level] === "function") {
+ log2[level]("mark.js: " + msg);
+ }
+ }
+ }, {
+ key: "escapeStr",
+ value: function escapeStr(str) {
+ return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
+ }
+ }, {
+ key: "createRegExp",
+ value: function createRegExp(str) {
+ if (this.opt.wildcards !== "disabled") {
+ str = this.setupWildcardsRegExp(str);
+ }
+ str = this.escapeStr(str);
+ if (Object.keys(this.opt.synonyms).length) {
+ str = this.createSynonymsRegExp(str);
+ }
+ if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {
+ str = this.setupIgnoreJoinersRegExp(str);
+ }
+ if (this.opt.diacritics) {
+ str = this.createDiacriticsRegExp(str);
+ }
+ str = this.createMergedBlanksRegExp(str);
+ if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {
+ str = this.createJoinersRegExp(str);
+ }
+ if (this.opt.wildcards !== "disabled") {
+ str = this.createWildcardsRegExp(str);
+ }
+ str = this.createAccuracyRegExp(str);
+ return str;
+ }
+ }, {
+ key: "createSynonymsRegExp",
+ value: function createSynonymsRegExp(str) {
+ var syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : "i", joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : "";
+ for (var index in syn) {
+ if (syn.hasOwnProperty(index)) {
+ var value = syn[index], k1 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : this.escapeStr(value);
+ if (k1 !== "" && k2 !== "") {
+ str = str.replace(new RegExp("(" + this.escapeStr(k1) + "|" + this.escapeStr(k2) + ")", "gm" + sens), joinerPlaceholder + ("(" + this.processSynomyms(k1) + "|") + (this.processSynomyms(k2) + ")") + joinerPlaceholder);
+ }
+ }
+ }
+ return str;
+ }
+ }, {
+ key: "processSynomyms",
+ value: function processSynomyms(str) {
+ if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {
+ str = this.setupIgnoreJoinersRegExp(str);
+ }
+ return str;
+ }
+ }, {
+ key: "setupWildcardsRegExp",
+ value: function setupWildcardsRegExp(str) {
+ str = str.replace(/(?:\\)*\?/g, function(val) {
+ return val.charAt(0) === "\\" ? "?" : "";
+ });
+ return str.replace(/(?:\\)*\*/g, function(val) {
+ return val.charAt(0) === "\\" ? "*" : "";
+ });
+ }
+ }, {
+ key: "createWildcardsRegExp",
+ value: function createWildcardsRegExp(str) {
+ var spaces = this.opt.wildcards === "withSpaces";
+ return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*");
+ }
+ }, {
+ key: "setupIgnoreJoinersRegExp",
+ value: function setupIgnoreJoinersRegExp(str) {
+ return str.replace(/[^(|)\\]/g, function(val, indx, original) {
+ var nextChar = original.charAt(indx + 1);
+ if (/[(|)\\]/.test(nextChar) || nextChar === "") {
+ return val;
+ } else {
+ return val + "\0";
+ }
+ });
+ }
+ }, {
+ key: "createJoinersRegExp",
+ value: function createJoinersRegExp(str) {
+ var joiner = [];
+ var ignorePunctuation = this.opt.ignorePunctuation;
+ if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) {
+ joiner.push(this.escapeStr(ignorePunctuation.join("")));
+ }
+ if (this.opt.ignoreJoiners) {
+ joiner.push("\\u00ad\\u200b\\u200c\\u200d");
+ }
+ return joiner.length ? str.split(/\u0000+/).join("[" + joiner.join("") + "]*") : str;
+ }
+ }, {
+ key: "createDiacriticsRegExp",
+ value: function createDiacriticsRegExp(str) {
+ var sens = this.opt.caseSensitive ? "" : "i", dct = this.opt.caseSensitive ? ["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105", "A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104", "c\xE7\u0107\u010D", "C\xC7\u0106\u010C", "d\u0111\u010F", "D\u0110\u010E", "e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119", " [...]
+ var handled = [];
+ str.split("").forEach(function(ch) {
+ dct.every(function(dct2) {
+ if (dct2.indexOf(ch) !== -1) {
+ if (handled.indexOf(dct2) > -1) {
+ return false;
+ }
+ str = str.replace(new RegExp("[" + dct2 + "]", "gm" + sens), "[" + dct2 + "]");
+ handled.push(dct2);
+ }
+ return true;
+ });
+ });
+ return str;
+ }
+ }, {
+ key: "createMergedBlanksRegExp",
+ value: function createMergedBlanksRegExp(str) {
+ return str.replace(/[\s]+/gmi, "[\\s]+");
+ }
+ }, {
+ key: "createAccuracyRegExp",
+ value: function createAccuracyRegExp(str) {
+ var _this = this;
+ var chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF";
+ var acc = this.opt.accuracy, val = typeof acc === "string" ? acc : acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = "";
+ ls.forEach(function(limiter) {
+ lsJoin += "|" + _this.escapeStr(limiter);
+ });
+ switch (val) {
+ case "partially":
+ default:
+ return "()(" + str + ")";
+ case "complementary":
+ lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars));
+ return "()([^" + lsJoin + "]*" + str + "[^" + lsJoin + "]*)";
+ case "exactly":
+ return "(^|\\s" + lsJoin + ")(" + str + ")(?=$|\\s" + lsJoin + ")";
+ }
+ }
+ }, {
+ key: "getSeparatedKeywords",
+ value: function getSeparatedKeywords(sv) {
+ var _this2 = this;
+ var stack = [];
+ sv.forEach(function(kw) {
+ if (!_this2.opt.separateWordSearch) {
+ if (kw.trim() && stack.indexOf(kw) === -1) {
+ stack.push(kw);
+ }
+ } else {
+ kw.split(" ").forEach(function(kwSplitted) {
+ if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) {
+ stack.push(kwSplitted);
+ }
+ });
+ }
+ });
+ return {
+ "keywords": stack.sort(function(a, b) {
+ return b.length - a.length;
+ }),
+ "length": stack.length
+ };
+ }
+ }, {
+ key: "isNumeric",
+ value: function isNumeric(value) {
+ return Number(parseFloat(value)) == value;
+ }
+ }, {
+ key: "checkRanges",
+ value: function checkRanges(array) {
+ var _this3 = this;
+ if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== "[object Object]") {
+ this.log("markRanges() will only accept an array of objects");
+ this.opt.noMatch(array);
+ return [];
+ }
+ var stack = [];
+ var last = 0;
+ array.sort(function(a, b) {
+ return a.start - b.start;
+ }).forEach(function(item) {
+ var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last), start = _callNoMatchOnInvalid.start, end = _callNoMatchOnInvalid.end, valid = _callNoMatchOnInvalid.valid;
+ if (valid) {
+ item.start = start;
+ item.length = end - start;
+ stack.push(item);
+ last = end;
+ }
+ });
+ return stack;
+ }
+ }, {
+ key: "callNoMatchOnInvalidRanges",
+ value: function callNoMatchOnInvalidRanges(range, last) {
+ var start = void 0, end = void 0, valid = false;
+ if (range && typeof range.start !== "undefined") {
+ start = parseInt(range.start, 10);
+ end = start + parseInt(range.length, 10);
+ if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) {
+ valid = true;
+ } else {
+ this.log("Ignoring invalid or overlapping range: " + ("" + JSON.stringify(range)));
+ this.opt.noMatch(range);
+ }
+ } else {
+ this.log("Ignoring invalid range: " + JSON.stringify(range));
+ this.opt.noMatch(range);
+ }
+ return {
+ start,
+ end,
+ valid
+ };
+ }
+ }, {
+ key: "checkWhitespaceRanges",
+ value: function checkWhitespaceRanges(range, originalLength, string) {
+ var end = void 0, valid = true, max = string.length, offset = originalLength - max, start = parseInt(range.start, 10) - offset;
+ start = start > max ? max : start;
+ end = start + parseInt(range.length, 10);
+ if (end > max) {
+ end = max;
+ this.log("End range automatically set to the max value of " + max);
+ }
+ if (start < 0 || end - start < 0 || start > max || end > max) {
+ valid = false;
+ this.log("Invalid range: " + JSON.stringify(range));
+ this.opt.noMatch(range);
+ } else if (string.substring(start, end).replace(/\s+/g, "") === "") {
+ valid = false;
+ this.log("Skipping whitespace only range: " + JSON.stringify(range));
+ this.opt.noMatch(range);
+ }
+ return {
+ start,
+ end,
+ valid
+ };
+ }
+ }, {
+ key: "getTextNodes",
+ value: function getTextNodes(cb) {
+ var _this4 = this;
+ var val = "", nodes = [];
+ this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(node) {
+ nodes.push({
+ start: val.length,
+ end: (val += node.textContent).length,
+ node
+ });
+ }, function(node) {
+ if (_this4.matchesExclude(node.parentNode)) {
+ return NodeFilter.FILTER_REJECT;
+ } else {
+ return NodeFilter.FILTER_ACCEPT;
+ }
+ }, function() {
+ cb({
+ value: val,
+ nodes
+ });
+ });
+ }
+ }, {
+ key: "matchesExclude",
+ value: function matchesExclude(el) {
+ return DOMIterator.matches(el, this.opt.exclude.concat(["script", "style", "title", "head", "html"]));
+ }
+ }, {
+ key: "wrapRangeInTextNode",
+ value: function wrapRangeInTextNode(node, start, end) {
+ var hEl = !this.opt.element ? "mark" : this.opt.element, startNode = node.splitText(start), ret = startNode.splitText(end - start);
+ var repl = document.createElement(hEl);
+ repl.setAttribute("data-markjs", "true");
+ if (this.opt.className) {
+ repl.setAttribute("class", this.opt.className);
+ }
+ repl.textContent = startNode.textContent;
+ startNode.parentNode.replaceChild(repl, startNode);
+ return ret;
+ }
+ }, {
+ key: "wrapRangeInMappedTextNode",
+ value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) {
+ var _this5 = this;
+ dict.nodes.every(function(n, i) {
+ var sibl = dict.nodes[i + 1];
+ if (typeof sibl === "undefined" || sibl.start > start) {
+ if (!filterCb(n.node)) {
+ return false;
+ }
+ var s = start - n.start, e = (end > n.end ? n.end : end) - n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e + n.start);
+ n.node = _this5.wrapRangeInTextNode(n.node, s, e);
+ dict.value = startStr + endStr;
+ dict.nodes.forEach(function(k, j) {
+ if (j >= i) {
+ if (dict.nodes[j].start > 0 && j !== i) {
+ dict.nodes[j].start -= e;
+ }
+ dict.nodes[j].end -= e;
+ }
+ });
+ end -= e;
+ eachCb(n.node.previousSibling, n.start);
+ if (end > n.end) {
+ start = n.end;
+ } else {
+ return false;
+ }
+ }
+ return true;
+ });
+ }
+ }, {
+ key: "wrapMatches",
+ value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) {
+ var _this6 = this;
+ var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;
+ this.getTextNodes(function(dict) {
+ dict.nodes.forEach(function(node) {
+ node = node.node;
+ var match = void 0;
+ while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== "") {
+ if (!filterCb(match[matchIdx], node)) {
+ continue;
+ }
+ var pos = match.index;
+ if (matchIdx !== 0) {
+ for (var i = 1; i < matchIdx; i++) {
+ pos += match[i].length;
+ }
+ }
+ node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length);
+ eachCb(node.previousSibling);
+ regex.lastIndex = 0;
+ }
+ });
+ endCb();
+ });
+ }
+ }, {
+ key: "wrapMatchesAcrossElements",
+ value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) {
+ var _this7 = this;
+ var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;
+ this.getTextNodes(function(dict) {
+ var match = void 0;
+ while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") {
+ var start = match.index;
+ if (matchIdx !== 0) {
+ for (var i = 1; i < matchIdx; i++) {
+ start += match[i].length;
+ }
+ }
+ var end = start + match[matchIdx].length;
+ _this7.wrapRangeInMappedTextNode(dict, start, end, function(node) {
+ return filterCb(match[matchIdx], node);
+ }, function(node, lastIndex) {
+ regex.lastIndex = lastIndex;
+ eachCb(node);
+ });
+ }
+ endCb();
+ });
+ }
+ }, {
+ key: "wrapRangeFromIndex",
+ value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) {
+ var _this8 = this;
+ this.getTextNodes(function(dict) {
+ var originalLength = dict.value.length;
+ ranges.forEach(function(range, counter) {
+ var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value), start = _checkWhitespaceRange.start, end = _checkWhitespaceRange.end, valid = _checkWhitespaceRange.valid;
+ if (valid) {
+ _this8.wrapRangeInMappedTextNode(dict, start, end, function(node) {
+ return filterCb(node, range, dict.value.substring(start, end), counter);
+ }, function(node) {
+ eachCb(node, range);
+ });
+ }
+ });
+ endCb();
+ });
+ }
+ }, {
+ key: "unwrapMatches",
+ value: function unwrapMatches(node) {
+ var parent = node.parentNode;
+ var docFrag = document.createDocumentFragment();
+ while (node.firstChild) {
+ docFrag.appendChild(node.removeChild(node.firstChild));
+ }
+ parent.replaceChild(docFrag, node);
+ if (!this.ie) {
+ parent.normalize();
+ } else {
+ this.normalizeTextNode(parent);
+ }
+ }
+ }, {
+ key: "normalizeTextNode",
+ value: function normalizeTextNode(node) {
+ if (!node) {
+ return;
+ }
+ if (node.nodeType === 3) {
+ while (node.nextSibling && node.nextSibling.nodeType === 3) {
+ node.nodeValue += node.nextSibling.nodeValue;
+ node.parentNode.removeChild(node.nextSibling);
+ }
+ } else {
+ this.normalizeTextNode(node.firstChild);
+ }
+ this.normalizeTextNode(node.nextSibling);
+ }
+ }, {
+ key: "markRegExp",
+ value: function markRegExp(regexp, opt) {
+ var _this9 = this;
+ this.opt = opt;
+ this.log('Searching with expression "' + regexp + '"');
+ var totalMatches = 0, fn = "wrapMatches";
+ var eachCb = function eachCb2(element) {
+ totalMatches++;
+ _this9.opt.each(element);
+ };
+ if (this.opt.acrossElements) {
+ fn = "wrapMatchesAcrossElements";
+ }
+ this[fn](regexp, this.opt.ignoreGroups, function(match, node) {
+ return _this9.opt.filter(node, match, totalMatches);
+ }, eachCb, function() {
+ if (totalMatches === 0) {
+ _this9.opt.noMatch(regexp);
+ }
+ _this9.opt.done(totalMatches);
+ });
+ }
+ }, {
+ key: "mark",
+ value: function mark(sv, opt) {
+ var _this10 = this;
+ this.opt = opt;
+ var totalMatches = 0, fn = "wrapMatches";
+ var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === "string" ? [sv] : sv), kwArr = _getSeparatedKeywords.keywords, kwArrLen = _getSeparatedKeywords.length, sens = this.opt.caseSensitive ? "" : "i", handler = function handler2(kw) {
+ var regex = new RegExp(_this10.createRegExp(kw), "gm" + sens), matches = 0;
+ _this10.log('Searching with expression "' + regex + '"');
+ _this10[fn](regex, 1, function(term, node) {
+ return _this10.opt.filter(node, kw, totalMatches, matches);
+ }, function(element) {
+ matches++;
+ totalMatches++;
+ _this10.opt.each(element);
+ }, function() {
+ if (matches === 0) {
+ _this10.opt.noMatch(kw);
+ }
+ if (kwArr[kwArrLen - 1] === kw) {
+ _this10.opt.done(totalMatches);
+ } else {
+ handler2(kwArr[kwArr.indexOf(kw) + 1]);
+ }
+ });
+ };
+ if (this.opt.acrossElements) {
+ fn = "wrapMatchesAcrossElements";
+ }
+ if (kwArrLen === 0) {
+ this.opt.done(totalMatches);
+ } else {
+ handler(kwArr[0]);
+ }
+ }
+ }, {
+ key: "markRanges",
+ value: function markRanges(rawRanges, opt) {
+ var _this11 = this;
+ this.opt = opt;
+ var totalMatches = 0, ranges = this.checkRanges(rawRanges);
+ if (ranges && ranges.length) {
+ this.log("Starting to mark with the following ranges: " + JSON.stringify(ranges));
+ this.wrapRangeFromIndex(ranges, function(node, range, match, counter) {
+ return _this11.opt.filter(node, range, match, counter);
+ }, function(element, range) {
+ totalMatches++;
+ _this11.opt.each(element, range);
+ }, function() {
+ _this11.opt.done(totalMatches);
+ });
+ } else {
+ this.opt.done(totalMatches);
+ }
+ }
+ }, {
+ key: "unmark",
+ value: function unmark(opt) {
+ var _this12 = this;
+ this.opt = opt;
+ var sel = this.opt.element ? this.opt.element : "*";
+ sel += "[data-markjs]";
+ if (this.opt.className) {
+ sel += "." + this.opt.className;
+ }
+ this.log('Removal selector "' + sel + '"');
+ this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(node) {
+ _this12.unwrapMatches(node);
+ }, function(node) {
+ var matchesSel = DOMIterator.matches(node, sel), matchesExclude = _this12.matchesExclude(node);
+ if (!matchesSel || matchesExclude) {
+ return NodeFilter.FILTER_REJECT;
+ } else {
+ return NodeFilter.FILTER_ACCEPT;
+ }
+ }, this.opt.done);
+ }
+ }, {
+ key: "opt",
+ set: function set$$1(val) {
+ this._opt = _extends({}, {
+ "element": "",
+ "className": "",
+ "exclude": [],
+ "iframes": false,
+ "iframesTimeout": 5e3,
+ "separateWordSearch": true,
+ "diacritics": true,
+ "synonyms": {},
+ "accuracy": "partially",
+ "acrossElements": false,
+ "caseSensitive": false,
+ "ignoreJoiners": false,
+ "ignoreGroups": 0,
+ "ignorePunctuation": [],
+ "wildcards": "disabled",
+ "each": function each() {
+ },
+ "noMatch": function noMatch() {
+ },
+ "filter": function filter() {
+ return true;
+ },
+ "done": function done() {
+ },
+ "debug": false,
+ "log": window.console
+ }, val);
+ },
+ get: function get$$1() {
+ return this._opt;
+ }
+ }, {
+ key: "iterator",
+ get: function get$$1() {
+ return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout);
+ }
+ }]);
+ return Mark3;
+ }();
+ function Mark2(ctx) {
+ var _this = this;
+ var instance = new Mark$1(ctx);
+ this.mark = function(sv, opt) {
+ instance.mark(sv, opt);
+ return _this;
+ };
+ this.markRegExp = function(sv, opt) {
+ instance.markRegExp(sv, opt);
+ return _this;
+ };
+ this.markRanges = function(sv, opt) {
+ instance.markRanges(sv, opt);
+ return _this;
+ };
+ this.unmark = function(opt) {
+ instance.unmark(opt);
+ return _this;
+ };
+ return this;
+ }
+ return Mark2;
+ });
+ }
+});
+
+// lib/highlight.ts
+var import_mark = __toESM(require_mark(), 1);
+var PagefindHighlight = class {
+ constructor(options = {
+ markContext: null,
+ highlightParam: "pagefind-highlight",
+ markOptions: {
+ className: "pagefind-highlight",
+ exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"]
+ },
+ addStyles: true
+ }) {
+ var _a, _b;
+ const { highlightParam, markContext, markOptions, addStyles } = options;
+ this.highlightParam = highlightParam ?? "pagefind-highlight";
+ this.addStyles = addStyles ?? true;
+ this.markContext = markContext !== void 0 ? markContext : null;
+ this.markOptions = markOptions !== void 0 ? markOptions : {
+ className: "pagefind-highlight",
+ exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"]
+ };
+ (_a = this.markOptions).className ?? (_a.className = "pagefind__highlight");
+ (_b = this.markOptions).exclude ?? (_b.exclude = [
+ "[data-pagefind-ignore]",
+ "[data-pagefind-ignore] *"
+ ]);
+ this.markOptions.separateWordSearch = false;
+ this.highlight();
+ }
+ getHighlightParams(paramName) {
+ const urlParams = new URLSearchParams(window.location.search);
+ return urlParams.getAll(paramName);
+ }
+ // Inline styles might be too hard to override
+ addHighlightStyles(className) {
+ if (!className)
+ return;
+ const styleElement = document.createElement("style");
+ styleElement.innerText = `:where(.${className}) { background-color: yellow; color: black; }`;
+ document.head.appendChild(styleElement);
+ }
+ createMarkInstance() {
+ if (this.markContext) {
+ return new import_mark.default(this.markContext);
+ }
+ const pagefindBody = document.querySelectorAll("[data-pagefind-body]");
+ if (pagefindBody.length !== 0) {
+ return new import_mark.default(pagefindBody);
+ } else {
+ return new import_mark.default(document.body);
+ }
+ }
+ markText(instance, text) {
+ instance.mark(text, this.markOptions);
+ }
+ highlight() {
+ const params = this.getHighlightParams(this.highlightParam);
+ if (!params || params.length === 0)
+ return;
+ this.addStyles && this.addHighlightStyles(this.markOptions.className);
+ const markInstance = this.createMarkInstance();
+ this.markText(markInstance, params);
+ }
+};
+window.PagefindHighlight = PagefindHighlight;
+export {
+ PagefindHighlight as default
+};
+/*! Bundled license information:
+
+mark.js/dist/mark.js:
+ (*!***************************************************
+ * mark.js v8.11.1
+ * https://markjs.io/
+ * Copyright (c) 2014–2018, Julian Kühnel
+ * Released under the MIT license https://git.io/vwTVl
+ *****************************************************)
+*/
diff --git a/output/_pagefind/pagefind-modular-ui.css b/output/_pagefind/pagefind-modular-ui.css
new file mode 100644
index 0000000..9c6793e
--- /dev/null
+++ b/output/_pagefind/pagefind-modular-ui.css
@@ -0,0 +1,214 @@
+:root {
+ --pagefind-ui-scale: 0.8;
+ --pagefind-ui-primary: #034AD8;
+ --pagefind-ui-fade: #707070;
+ --pagefind-ui-text: #393939;
+ --pagefind-ui-background: #ffffff;
+ --pagefind-ui-border: #eeeeee;
+ --pagefind-ui-tag: #eeeeee;
+ --pagefind-ui-border-width: 2px;
+ --pagefind-ui-border-radius: 8px;
+ --pagefind-ui-image-border-radius: 8px;
+ --pagefind-ui-image-box-ratio: 3 / 2;
+ --pagefind-ui-font: system, -apple-system, ".SFNSText-Regular",
+ "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue",
+ "Lucida Grande", sans-serif;
+}
+
+[data-pfmod-hidden] {
+ display: none !important;
+}
+
+[data-pfmod-suppressed] {
+ opacity: 0 !important;
+ pointer-events: none !important;
+}
+
+[data-pfmod-sr-hidden] {
+ -webkit-clip: rect(0 0 0 0) !important;
+ clip: rect(0 0 0 0) !important;
+ -webkit-clip-path: inset(100%) !important;
+ clip-path: inset(100%) !important;
+ height: 1px !important;
+ overflow: hidden !important;
+ overflow: clip !important;
+ position: absolute !important;
+ white-space: nowrap !important;
+ width: 1px !important;
+}
+
+[data-pfmod-loading] {
+ color: var(--pagefind-ui-text);
+ background-color: var(--pagefind-ui-text);
+ border-radius: var(--pagefind-ui-border-radius);
+ opacity: 0.1;
+ pointer-events: none;
+}
+
+/* Input */
+
+.pagefind-modular-input-wrapper {
+ position: relative;
+}
+
+.pagefind-modular-input-wrapper::before {
+ background-color: var(--pagefind-ui-text);
+ width: calc(18px * var(--pagefind-ui-scale));
+ height: calc(18px * var(--pagefind-ui-scale));
+ top: calc(23px * var(--pagefind-ui-scale));
+ left: calc(20px * var(--pagefind-ui-scale));
+ content: "";
+ position: absolute;
+ display: block;
+ opacity: 0.7;
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255Z [...]
+ mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 [...]
+ -webkit-mask-size: 100%;
+ mask-size: 100%;
+ z-index: 9;
+ pointer-events: none;
+}
+
+.pagefind-modular-input {
+ height: calc(64px * var(--pagefind-ui-scale));
+ padding: 0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));
+ background-color: var(--pagefind-ui-background);
+ border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);
+ border-radius: var(--pagefind-ui-border-radius);
+ font-size: calc(21px * var(--pagefind-ui-scale));
+ position: relative;
+ appearance: none;
+ -webkit-appearance: none;
+ display: flex;
+ width: 100%;
+ box-sizing: border-box;
+ font-weight: 700;
+}
+
+.pagefind-modular-input::placeholder {
+ opacity: 0.2;
+}
+
+.pagefind-modular-input-clear {
+ position: absolute;
+ top: calc(2px * var(--pagefind-ui-scale));
+ right: calc(2px * var(--pagefind-ui-scale));
+ height: calc(60px * var(--pagefind-ui-scale));
+ border-radius: var(--pagefind-ui-border-radius);
+ padding: 0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));
+ color: var(--pagefind-ui-text);
+ font-size: calc(14px * var(--pagefind-ui-scale));
+ cursor: pointer;
+ background-color: var(--pagefind-ui-background);
+ border: none;
+ appearance: none;
+}
+
+/* ResultList */
+
+.pagefind-modular-list-result {
+ list-style-type: none;
+ display: flex;
+ align-items: flex-start;
+ gap: min(calc(40px * var(--pagefind-ui-scale)), 3%);
+ padding: calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));
+ border-top: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);
+}
+
+.pagefind-modular-list-result:last-of-type {
+ border-bottom: solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);
+}
+
+.pagefind-modular-list-thumb {
+ width: min(30%,
+ calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));
+ max-width: calc(120px * var(--pagefind-ui-scale));
+ margin-top: calc(10px * var(--pagefind-ui-scale));
+ aspect-ratio: var(--pagefind-ui-image-box-ratio);
+ position: relative;
+}
+
+.pagefind-modular-list-image {
+ display: block;
+ position: absolute;
+ left: 50%;
+ transform: translateX(-50%);
+ font-size: 0;
+ width: auto;
+ height: auto;
+ max-width: 100%;
+ max-height: 100%;
+ border-radius: var(--pagefind-ui-image-border-radius);
+}
+
+.pagefind-modular-list-inner {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ margin-top: calc(10px * var(--pagefind-ui-scale));
+}
+
+.pagefind-modular-list-title {
+ display: inline-block;
+ font-weight: 700;
+ font-size: calc(21px * var(--pagefind-ui-scale));
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.pagefind-modular-list-link {
+ color: var(--pagefind-ui-text);
+ text-decoration: none;
+}
+
+.pagefind-modular-list-link:hover {
+ text-decoration: underline;
+}
+
+.pagefind-modular-list-excerpt {
+ display: inline-block;
+ font-weight: 400;
+ font-size: calc(16px * var(--pagefind-ui-scale));
+ margin-top: calc(4px * var(--pagefind-ui-scale));
+ margin-bottom: 0;
+ min-width: calc(250px * var(--pagefind-ui-scale));
+}
+
+/* FilterPills */
+
+.pagefind-modular-filter-pills-wrapper {
+ overflow-x: scroll;
+ padding: 15px 0;
+}
+
+.pagefind-modular-filter-pills {
+ display: flex;
+ gap: 6px;
+}
+
+.pagefind-modular-filter-pill {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border: none;
+ appearance: none;
+ padding: 0 calc(24px * var(--pagefind-ui-scale));
+ background-color: var(--pagefind-ui-background);
+ color: var(--pagefind-ui-fade);
+ border: var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);
+ border-radius: calc(25px * var(--pagefind-ui-scale));
+ font-size: calc(18px * var(--pagefind-ui-scale));
+ height: calc(50px * var(--pagefind-ui-scale));
+ cursor: pointer;
+ white-space: nowrap;
+}
+
+.pagefind-modular-filter-pill:hover {
+ border-color: var(--pagefind-ui-primary);
+}
+
+.pagefind-modular-filter-pill[aria-pressed="true"] {
+ border-color: var(--pagefind-ui-primary);
+ color: var(--pagefind-ui-primary);
+}
\ No newline at end of file
diff --git a/output/_pagefind/pagefind-modular-ui.js b/output/_pagefind/pagefind-modular-ui.js
new file mode 100644
index 0000000..9301909
--- /dev/null
+++ b/output/_pagefind/pagefind-modular-ui.js
@@ -0,0 +1,8 @@
+(()=>{var b=Object.defineProperty;var w=(i,e)=>{for(var t in e)b(i,t,{get:e[t],enumerable:!0})};var f={};w(f,{FilterPills:()=>h,Input:()=>l,Instance:()=>p,ResultList:()=>a,Summary:()=>o});var r=class i{constructor(e){this.element=document.createElement(e)}id(e){return this.element.id=e,this}class(e){return this.element.classList.add(e),this}attrs(e){for(let[t,s]of Object.entries(e))this.element.setAttribute(t,s);return this}text(e){return this.element.innerText=e,this}html(e){return this [...]
+ <div class="pagefind-modular-list-thumb" data-pfmod-loading></div>
+ <div class="pagefind-modular-list-inner">
+ <p class="pagefind-modular-list-title" data-pfmod-loading>${i(30)}</p>
+ <p class="pagefind-modular-list-excerpt" data-pfmod-loading>${i(40)}</p>
+ </div>
+</li>`},y=i=>{let e=new r("li").class("pagefind-modular-list-result"),t=new r("div").class("pagefind-modular-list-thumb").addTo(e);i?.meta?.image&&new r("img").class("pagefind-modular-list-image").attrs({src:i.meta.image,alt:i.meta.image_alt||i.meta.title}).addTo(t);let s=new r("div").class("pagefind-modular-list-inner").addTo(e),n=new r("p").class("pagefind-modular-list-title").addTo(s);return new r("a").class("pagefind-modular-list-link").text(i.meta?.title).attrs({href:i.meta?.url||i. [...]
+`))}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})();
diff --git a/output/_pagefind/pagefind-ui.css b/output/_pagefind/pagefind-ui.css
new file mode 100644
index 0000000..d7984a9
--- /dev/null
+++ b/output/_pagefind/pagefind-ui.css
@@ -0,0 +1 @@
+.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30 [...]
diff --git a/output/_pagefind/pagefind-ui.js b/output/_pagefind/pagefind-ui.js
new file mode 100644
index 0000000..e964eca
--- /dev/null
+++ b/output/_pagefind/pagefind-ui.js
@@ -0,0 +1,2 @@
+(()=>{var is=Object.defineProperty;var v=(n,e)=>{for(var t in e)is(n,t,{get:e[t],enumerable:!0})};function j(){}function lt(n){return n()}function Qt(){return Object.create(null)}function V(n){n.forEach(lt)}function Ye(n){return typeof n=="function"}function G(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var Ke;function le(n,e){return Ke||(Ke=document.createElement("a")),Ke.href=e,n===Ke.href}function xt(n){return Object.keys(n).length===0}var $t=typeof window [...]
+`))}_||t(22,_=h?12:30);let H={...m||{},excerptLength:_};await g.options(H);for(let O of d){if(!O.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let L=O.bundlePath;delete O.bundlePath,await g.mergeIndex(L,O)}w=g,Jn()}},Jn=async()=>{w&&(Jt=await w.filters(),(!ue||!Object.keys(ue).length)&&t(16,ue=Jt))},Yn=g=>{let H={};return Object.entries(g).filter(([,O])=>O).forEach(([O])=>{let[L,ls]=O.split(/:(.*)$/);H[L]=H[L]||[],H[L].push(ls)}),H},ce,Xn=async(g,H)=>{if(!g){t( [...]
diff --git a/output/_pagefind/pagefind.en_cf39bd3c10.pf_meta b/output/_pagefind/pagefind.en_cf39bd3c10.pf_meta
new file mode 100644
index 0000000..280e173
Binary files /dev/null and b/output/_pagefind/pagefind.en_cf39bd3c10.pf_meta differ
diff --git a/output/_pagefind/pagefind.js b/output/_pagefind/pagefind.js
new file mode 100644
index 0000000..94ab923
--- /dev/null
+++ b/output/_pagefind/pagefind.js
@@ -0,0 +1,9 @@
+const pagefind_version="1.0.4";let wasm_bindgen;(function(){const __exports={};let script_src;if(typeof document==='undefined'){script_src=location.href}else{script_src=new URL("UNHANDLED",location.href).toString()}let wasm;let cachedUint8Memory0=null;function getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const p [...]
+${e?.toString()}`);throw new Error("Failed to load Pagefind metadata")}}findIndex(language){if(this.languages){let index=this.languages[language];if(index)return index;index=this.languages[language.split("-")[0]];if(index)return index;let topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async loadMeta(index){try{let compressed_resp=await fetch(`${this.basePath}pagefin [...]
+${e?.toString()}`)}}async loadWasm(language){try{const wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await fetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind WebAssembly");if(!final_wasm){throw new Error("No WASM after decompression")}this.wasm=await this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind WASM:
+${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM:
+${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let compressed_resp=await fetch(url);let compressed_chunk=await compressed_resp.arrayBuffer();let chunk=this.decompress(new Uint8Array(compressed_chunk),url);let ptr=await this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed to load the index chunk ${url}:
+${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return await this.loaded_chunks[hash]}async loadFilterChunk(hash){if(!this.loaded_filters[hash]){const url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return await this.loaded_filters[hash]}async _loadFragment(hash){let comp [...]
+ hash:${hash}
+ score:${score}
+ locations:${all_locations}`);let weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await this.loadFragment(hash,weighted_locations,term)}});const searchTime=Date.now( [...]
\ No newline at end of file
diff --git a/output/_pagefind/wasm.en.pagefind b/output/_pagefind/wasm.en.pagefind
new file mode 100644
index 0000000..05dfcdb
Binary files /dev/null and b/output/_pagefind/wasm.en.pagefind differ
diff --git a/output/_pagefind/wasm.unknown.pagefind b/output/_pagefind/wasm.unknown.pagefind
new file mode 100644
index 0000000..a2f8742
Binary files /dev/null and b/output/_pagefind/wasm.unknown.pagefind differ
diff --git a/output/about.html b/output/about.html
new file mode 100644
index 0000000..5416d9b
--- /dev/null
+++ b/output/about.html
@@ -0,0 +1,220 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>About - Apache Responsible AI</title>
+<link rel="icon" href="images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Apache Software Foundation Responsible AI initiative">
+<link href="css/bootstrap.min.css" rel="stylesheet">
+<link href="css/fontawesome.all.min.css" rel="stylesheet">
+<link href="css/headerlink.css" rel="stylesheet">
+<link href="css/app.css" rel="stylesheet">
+<link href="highlight/github.min.css" rel="stylesheet">
+<script src="highlight/highlight.min.js"></script>
+<script src="js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="index.html">
+ <img src="images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+ <div>
+<!-- page contents -->
+<div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>About</h1>
+ <p>The Responsible AI initiative is an Apache Software Foundation effort to strengthen the open
+source technologies that underpin modern AI, and to support ASF projects and communities as they
+adopt AI responsibly.</p>
+<p>As Sally Khudairi, VP, Sponsor Relations, has stated:</p>
+<blockquote>
+<p>AI runs on open infrastructure. AI systems worldwide depend on critical Apache
+projects. Our new initiative ensures that those ASF projects that are deeply embedded
+in AI systems have expanded access to the models and resources needed to remain
+secure, transparent, and governed in the public interest.</p>
+</blockquote>
+<h2>How it is organized</h2>
+<p>The initiative is led by a <strong>Vice President, Responsible AI</strong>, an officer role established by the
+ASF Board. <strong>Jeff Genender</strong> was appointed to the role in July 2026. The VP coordinates the
+initiative's work and its resources, including this website, the mailing list, and related
+repositories.</p>
+<p>The work follows the <strong>Apache Way</strong> of collaborative, vendor-neutral development. Volunteers
+organize around four work streams, described on <a href="what-we-do.html">What we do</a>; anyone can take
+part through the channels listed on <a href="get-involved.html">Get involved</a>. The technical
+direction is set out on <a href="strategy.html">Strategy</a>.</p>
+<h2>Background and support</h2>
+<div class="rai-resources">
+<ul>
+<li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcing the Responsible AI initiative</a>
+<span class="rai-note">The ASF launches a $10M Responsible AI initiative with an initial $1.75M donation.</span></li>
+<li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+<span class="rai-note">How organizations and individuals can contribute to the work.</span></li>
+</ul>
+</div>
+
+ </div>
+ </div>
+</div> <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="about.html">About</a></li>
+ <li><a href="what-we-do.html">What we do</a></li>
+ <li><a href="best-practices.html">Best practices</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </div>
+ </main>
+ <script src="js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/ai-generated-code.html b/output/ai-generated-code.html
new file mode 100644
index 0000000..3872d21
--- /dev/null
+++ b/output/ai-generated-code.html
@@ -0,0 +1,304 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>AI-generated code in Apache projects - Apache Responsible AI</title>
+<link rel="icon" href="images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Apache Software Foundation Responsible AI initiative">
+<link href="css/bootstrap.min.css" rel="stylesheet">
+<link href="css/fontawesome.all.min.css" rel="stylesheet">
+<link href="css/headerlink.css" rel="stylesheet">
+<link href="css/app.css" rel="stylesheet">
+<link href="highlight/github.min.css" rel="stylesheet">
+<script src="highlight/highlight.min.js"></script>
+<script src="js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="index.html">
+ <img src="images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+ <div>
+<!-- page contents -->
+<div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>AI-generated code in Apache projects</h1>
+ <h2>DRAFT DOCUMENT</h2>
+<p><strong>This document is an UNOFFICIAL DRAFT and should not be considered official
+policy. Substantial changes may be made before being published as an official
+policy. Direct any questions to <a href="mailto:discuss@rai.apache.org">discuss@rai.apache.org</a>.</strong></p>
+<h2>Contributing AI-generated code to Apache projects</h2>
+<p>Apache contributors increasingly use AI tools — such as GitHub Copilot, Claude,
+Cursor, and other large language model (LLM) assistants — to help generate code,
+fix bugs, write documentation, and review pull requests. When the code you
+contribute to an Apache project has been significantly generated or modified by
+an AI tool, there are practical and legal considerations to keep in mind.</p>
+<h2>Your obligations as a contributor</h2>
+<p>Under the Apache Contributor License Agreement (ICLA), you represent that your
+contribution is your <strong>original creation</strong> or that you have the right to submit
+it under the applicable license. Specifically, Section 7 of the CLA states:</p>
+<blockquote>
+<p><em>Should You wish to submit work that is not Your original creation, You may
+submit it to the Foundation separately from any Contribution, identifying the
+complete details of its source and of any license or other restriction
+(including, but not limited to, related patents, trademarks, and license
+agreements) of which you are personally aware, and conspicuously marking the
+work as "Submitted on behalf of a third-party: [named here]".</em></p>
+</blockquote>
+<p>What this means is, if you want to submit something you did not create yourself,
+you can still submit it, but you must submit it separately from your own work
+and clearly tell the Foundation:</p>
+<ul>
+<li>Where the work came from (its source).</li>
+<li>What legal restrictions apply to it that you know about—for example,
+copyrights, patents, trademarks, or license agreements.</li>
+<li>Clearly label it: “Submitted on behalf of a third-party: [name].”</li>
+</ul>
+<p>So, essentially: Don’t present someone else’s work as your own. If you submit
+it, identify the creator/source and disclose any restrictions you know about.</p>
+<h2>How the US Copyright Office views AI-generated material</h2>
+<p>The US Copyright Office's guidance on AI-generated works distinguishes between
+three scenarios:</p>
+<h3>Scenario 1: purely AI-generated</h3>
+<p>If a work is generated entirely by an AI without any human creative input, it
+receives <strong>no copyright protection</strong>. The US Court of Appeals held in <em>Thaler v.
+Perlmutter</em>, No. 23-5233, 2025 WL 839178 (D.C. Cir. Mar. 18, 2025) that only
+natural persons can be authors under the Copyright Act.</p>
+<p><strong>What this means for you:</strong> You can still contribute purely AI-generated code
+to an Apache project — there is no legal barrier to contributing material that
+is not copyrightable. The distinction matters mainly for downstream users who
+want to know what is protected.</p>
+<h3>Scenario 2: human-authored work with embedded AI material</h3>
+<p>If you wrote a substantial amount of code and the AI contributed some portions
+(e.g., you used it to generate a function but then edited, reorganized, and
+integrated it into a larger module), the <strong>human-authored portions</strong> are
+copyrightable, while the AI-generated portions are not.</p>
+<p><strong>What this means for you:</strong> If you curate, edit, or substantially modify
+AI-generated code, the human contribution is protectable. Document what you
+did to make it your own creation.</p>
+<h3>Scenario 3: AI-assisted (human uses AI as a tool)</h3>
+<p>If you use AI as an assistive tool — much like using a compiler, a linter, or
+an IDE autocomplete — and you exercise creative control over the result, the
+work as a whole is copyrightable, and <strong>you</strong> are the author.</p>
+<p><strong>What this means for you:</strong> This is the most common scenario for Apache
+contributors. Using AI to suggest code, identify bugs, or generate a draft that
+you then review and integrate is generally safe.</p>
+<h2>Conditions for contributing AI-generated code</h2>
+<p>Before contributing code that was significantly generated or modified by an AI
+tool, consider the following:</p>
+<ol>
+<li>
+<p><strong>Verify the tool's terms of service.</strong> Some AI tools grant the provider broad
+rights over your input (your code) and output (the generated code). Make sure
+these terms are compatible with contributing under the Apache License 2.0.</p>
+</li>
+<li>
+<p><strong>Check for third-party material.</strong> AI models are trained on vast corpora
+that may include open source code from other projects. If the AI generates
+code that closely resembles a file from a copyrighted project, there is a
+(currently small) risk that the output could be a derivative work. This risk
+is low for typical use but something to be aware of.</p>
+</li>
+<li>
+<p><strong>Review and understand the output.</strong> You are responsible for what you commit.
+Read the AI-generated code, verify it is correct, and be able to explain what
+it does.</p>
+</li>
+<li>
+<p><strong>Disclose AI use.</strong> Apply the <code>Apache-ai</code> tag to your commit if AI played a
+significant role. See <a href="policy-recommendations.html">Policy recommendations</a>
+for details.</p>
+</li>
+</ol>
+<h2>When to use the Apache-ai tag</h2>
+<ul>
+<li>
+<p><strong>Use it</strong> when a significant portion of your contribution was generated by AI
+and you want to signal transparency to downstream users and the community.</p>
+</li>
+<li>
+<p><strong>You may skip it</strong> when AI was used only incidentally (e.g., it suggested a
+single function that you heavily edited, or you used it only for documentation
+prose).</p>
+</li>
+<li>
+<p><strong>When in doubt, use it.</strong> The tag is a disclosure, not a warranty. It tells
+readers the story without imposing any additional obligations.</p>
+</li>
+</ul>
+<h2>Further reading</h2>
+<ul>
+<li>See <a href="us-copyright-law.html">US copyright law and AI</a> for the full legal context.</li>
+<li>See <a href="policy-recommendations.html">Policy recommendations</a> for a summary of
+the Apache-ai tag and key recommendations.</li>
+<li>See <a href="commit-messages.html">Commit messages for AI-assisted code</a> for conventions
+on documenting AI use in commits.</li>
+</ul>
+<p><em>Back to <a href="best-practices.html">Best practices</a>.</em></p>
+
+ </div>
+ </div>
+</div> <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="about.html">About</a></li>
+ <li><a href="what-we-do.html">What we do</a></li>
+ <li><a href="best-practices.html">Best practices</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </div>
+ </main>
+ <script src="js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/authored-by-tags.html b/output/authored-by-tags.html
new file mode 100644
index 0000000..d5e0d6d
--- /dev/null
+++ b/output/authored-by-tags.html
@@ -0,0 +1,281 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>"Authored by" and "Co-authored" tags - Apache Responsible AI</title>
+<link rel="icon" href="images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Apache Software Foundation Responsible AI initiative">
+<link href="css/bootstrap.min.css" rel="stylesheet">
+<link href="css/fontawesome.all.min.css" rel="stylesheet">
+<link href="css/headerlink.css" rel="stylesheet">
+<link href="css/app.css" rel="stylesheet">
+<link href="highlight/github.min.css" rel="stylesheet">
+<script src="highlight/highlight.min.js"></script>
+<script src="js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="index.html">
+ <img src="images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+ <div>
+<!-- page contents -->
+<div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>"Authored by" and "Co-authored" tags</h1>
+ <h2>DRAFT DOCUMENT</h2>
+<p><strong>This document is an UNOFFICIAL DRAFT and should not be considered official
+policy. Substantial changes may be made before being published as an official
+policy. Direct any questions to <a href="mailto:discuss@rai.apache.org">discuss@rai.apache.org</a>.</strong></p>
+<h2>Attribution tags when AI assists in creating content</h2>
+<p>Git commit messages support trailer tags that record who contributed to a piece
+of code. The two most common are:</p>
+<ul>
+<li><strong><code>Author:</code></strong> — the person who created the work</li>
+<li><strong><code>Co-authored-by:</code></strong> — another person who contributed meaningfully to the
+work</li>
+</ul>
+<p>When AI tools have assisted in creating or modifying code, contributors have
+asked: <em>How should I record that?</em></p>
+<p>This page provides practical guidance for Apache contributors.</p>
+<h2>Understanding the tags</h2>
+<h3><code>authored-by: Person Name</code></h3>
+<p>Use this when <strong>the human made the substantive creative choices</strong> for the
+contribution. Even if AI helped generate parts of the code (e.g., a function was
+drafted by an AI tool but the human selected, edited, reviewed, and integrated
+it), the human is the author.</p>
+<p>This is the standard and safe approach. It is consistent with US copyright law
+(<em>Thaler v. Perlmutter</em>, No. 23-5233, 2025 WL 839178 (D.C. Cir. Mar. 18, 2025)),
+which holds that only natural persons can be authors.</p>
+<p><strong>Example:</strong></p>
+<pre><code>authored-by: Jane Doe <jane@example.com>
+</code></pre>
+<h3><code>co-authored-by: Person Name</code></h3>
+<p>Use this when <strong>another person</strong> contributed meaningfully to the work — for
+example, they reviewed, provided the design, or wrote a section of code that you
+integrated. The <code>co-authored-by</code> trailer is a convention originated by GitHub and
+is widely supported by project management tools.</p>
+<p>What about using <code>co-authored-by</code> for the AI tool itself? This is a developing
+area. Legally, AI cannot be an author under US law. But conventionally, some
+projects use this tag as a <strong>provenance record</strong> rather than a legal assertion.</p>
+<p><strong>Examples:</strong></p>
+<pre><code># As a provenance record (not a legal assertion):
+co-authored-by: Claude <noreply@anthropic.com>
+
+# When another person also contributed:
+co-authored-by: Jane Doe <jane@example.com>
+co-authored-by: Claude <noreply@anthropic.com>
+</code></pre>
+<p>Both are acceptable conventions — choose what your project prefers.</p>
+<h3>A proposed convention: <code>ai-assisted-by</code></h3>
+<p>Some contributors have suggested a new trailer tag specifically for AI tools:</p>
+<pre><code>ai-assisted-by: Claude-3.5-Sonnet
+</code></pre>
+<p>This tag is not yet a standard, but it has the advantage of being unambiguous:
+it clearly indicates that an AI tool assisted in creating the work, without
+implying that the AI is a legal author or a human co-author.</p>
+<h2>Best practices</h2>
+<ol>
+<li>
+<p><strong>Be transparent.</strong> If AI assisted in creating a contribution, document it.
+This helps downstream users understand the provenance of the code.</p>
+</li>
+<li>
+<p><strong>Use <code>authored-by</code> for the human.</strong> The human who exercised creative control
+over the contribution is the author, regardless of whether AI helped generate
+parts of the code.</p>
+</li>
+<li>
+<p><strong>Use <code>co-authored-by</code> for people.</strong> If another person contributed, use the
+standard <code>co-authored-by</code> trailer.</p>
+</li>
+<li>
+<p><strong>Consider <code>ai-assisted-by</code> for AI tools.</strong> If your project adopts this
+convention, it provides clear, unambiguous attribution for AI assistance.</p>
+</li>
+<li>
+<p><strong>Use the <code>Apache-ai</code> commit tag</strong> if AI played a significant role. See
+<a href="policy-recommendations.html">Policy recommendations</a> for details on the
+Apache-ai tag.</p>
+</li>
+<li>
+<p><strong>These are conventions, not legal requirements.</strong> Individual projects may
+adopt whatever attribution practices they find useful. The ASF does not
+mandate a specific convention.</p>
+</li>
+</ol>
+<h2>Relationship to other pages</h2>
+<ul>
+<li>See <a href="commit-messages.html">Commit messages for AI-assisted code</a> for conventions
+on documenting AI use in commit messages.</li>
+<li>See <a href="ai-generated-code.html">AI-generated code in Apache projects</a> for broader
+guidance on contributing AI-generated code.</li>
+</ul>
+<p><em>Back to <a href="best-practices.html">Best practices</a>.</em></p>
+
+ </div>
+ </div>
+</div> <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="about.html">About</a></li>
+ <li><a href="what-we-do.html">What we do</a></li>
+ <li><a href="best-practices.html">Best practices</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </div>
+ </main>
+ <script src="js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/best-practices.html b/output/best-practices.html
new file mode 100644
index 0000000..f45879a
--- /dev/null
+++ b/output/best-practices.html
@@ -0,0 +1,259 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Best practices - Apache Responsible AI</title>
+<link rel="icon" href="images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Apache Software Foundation Responsible AI initiative">
+<link href="css/bootstrap.min.css" rel="stylesheet">
+<link href="css/fontawesome.all.min.css" rel="stylesheet">
+<link href="css/headerlink.css" rel="stylesheet">
+<link href="css/app.css" rel="stylesheet">
+<link href="highlight/github.min.css" rel="stylesheet">
+<script src="highlight/highlight.min.js"></script>
+<script src="js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="index.html">
+ <img src="images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+ <div>
+<!-- page contents -->
+<div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>Best practices</h1>
+ <h2>DRAFT DOCUMENT</h2>
+<p><strong>This document is an UNOFFICIAL DRAFT and should not be considered official
+policy. Substantial changes may be made before being published as an official
+policy. Direct any questions to <a href="mailto:discuss@rai.apache.org">discuss@rai.apache.org</a>.</strong></p>
+<h2>Guidance</h2>
+<p>The following pages provide guidance on using AI in Apache projects. They cover
+copyright law, practical attribution conventions, commit message practices, and
+the Apache-ai tag policy.</p>
+<table>
+<thead>
+<tr>
+<th>Page</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><a href="ai-generated-code.html">AI-generated code in Apache projects</a></td>
+<td>Guidelines for contributing code generated with AI tools to an Apache project</td>
+</tr>
+<tr>
+<td><a href="us-copyright-law.html">US copyright law and AI</a></td>
+<td>Thaler v. Perlmutter, US Copyright Office guidance, and what they mean for Apache contributors</td>
+</tr>
+<tr>
+<td><a href="eu-ai-act.html">EU AI Act and copyright</a></td>
+<td>EU AI Act timelines, transparency rules, and implications for ASF projects</td>
+</tr>
+<tr>
+<td><a href="authored-by-tags.html">"Authored by" and "Co-authored" Tags</a></td>
+<td>Best practices for attribution when AI assisted in creating content</td>
+</tr>
+<tr>
+<td><a href="commit-messages.html">Commit messages for AI-assisted code</a></td>
+<td>Conventions for documenting AI use in commit messages</td>
+</tr>
+<tr>
+<td><a href="policy-recommendations.html">Policy recommendations</a></td>
+<td>The Apache-ai tag and key recommendations for AI-assisted contributions</td>
+</tr>
+<tr>
+<td><a href="tool-use-risk.html">Tool-use risk for AI assistants</a></td>
+<td>Account-holder vendor rules vs what a release can carry</td>
+</tr></tbody></table>
+<h2>Related</h2>
+<table>
+<thead>
+<tr>
+<th>Page</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><a href="faq.html">FAQ</a></td>
+<td>Common questions about the Responsible AI initiative</td>
+</tr>
+<tr>
+<td><a href="what-we-do.html">What we do</a></td>
+<td>Our activities and guiding principles</td>
+</tr>
+<tr>
+<td><a href="get-involved.html">Get involved</a></td>
+<td>Join the discussion and contribute</td>
+</tr></tbody></table>
+<p><em>These pages are guidance, not binding policy. Individual Apache projects
+remain self-governing and may adopt what is useful to them.</em></p>
+
+ </div>
+ </div>
+</div> <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="about.html">About</a></li>
+ <li><a href="what-we-do.html">What we do</a></li>
+ <li><a href="best-practices.html">Best practices</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </div>
+ </main>
+ <script src="js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/blog/index.html b/output/blog/index.html
new file mode 100644
index 0000000..035ab87
--- /dev/null
+++ b/output/blog/index.html
@@ -0,0 +1,210 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Blog - Apache Responsible AI</title>
+<link rel="icon" href="../images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Apache Software Foundation Responsible AI initiative">
+<link href="../css/bootstrap.min.css" rel="stylesheet">
+<link href="../css/fontawesome.all.min.css" rel="stylesheet">
+<link href="../css/headerlink.css" rel="stylesheet">
+<link href="../css/app.css" rel="stylesheet">
+<link href="../highlight/github.min.css" rel="stylesheet">
+<script src="../highlight/highlight.min.js"></script>
+<script src="../js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="../_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="../_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "../_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "../_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="../index.html">
+ <img src="../images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="../about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="../what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="../projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="../strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="../best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="../ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="../commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="../authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="../policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="../tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="../us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="../eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="../get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="../faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="../whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="../blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+ <div>
+<!-- breadcrumbs -->
+<div class="card" style="height: 34px;">
+ <nav aria-label="breadcrumb" style="padding-left: 12px; padding-top: 4px;">
+ <ol class="breadcrumb">
+ <li class="breadcrumb-item"><a href="../index.html">Home</a></li>
+ <li class="breadcrumb-item"><a href="../blog/">Blog</a></li>
+ </ol>
+ </nav>
+</div><!-- blog index -->
+<div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>Blog</h1>
+ <p class="rai-lede">News and updates from the Responsible AI initiative at The Apache Software Foundation.</p>
+<ul class="rai-postlist">
+ <li class="rai-postlist-item">
+ <h2><a href="../blog/responsible-ai-at-community-over-code-glasgow.html">Responsible AI at Community Over Code, Glasgow</a></h2>
+ <p class="rai-meta">
+ <time datetime="2026-10-21T00:00:00+00:00">21 October 2026</time> · Andrew Musselman </p>
+<div class="rai-summary">The Responsible AI initiative brought two sessions and a hackathon slot to Community Over Code in Glasgow — a working session on llm.apache.org, and a roundtable on what AI is doing to open source maintainership.</div> <p class="rai-tags">
+<span class="rai-tag">events</span><span class="rai-tag">llmao</span><span class="rai-tag">community</span> </p>
+ <p><a class="rai-more" href="../blog/responsible-ai-at-community-over-code-glasgow.html">Continue reading →</a></p>
+ </li>
+</ul>
+ </div>
+ </div>
+</div> <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="../about.html">About</a></li>
+ <li><a href="../what-we-do.html">What we do</a></li>
+ <li><a href="../best-practices.html">Best practices</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="../get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </div>
+ </main>
+ <script src="../js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/blog/responsible-ai-at-community-over-code-glasgow.html b/output/blog/responsible-ai-at-community-over-code-glasgow.html
new file mode 100644
index 0000000..6e906a9
--- /dev/null
+++ b/output/blog/responsible-ai-at-community-over-code-glasgow.html
@@ -0,0 +1,290 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Responsible AI at Community Over Code, Glasgow - Apache Responsible AI</title>
+<link rel="icon" href="../images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Responsible AI initiative brought two sessions and a hackathon slot to Community Over Code in Glasgow — a working session on llm.apache.org, and a roundtable on what AI is...">
+<link href="../css/bootstrap.min.css" rel="stylesheet">
+<link href="../css/fontawesome.all.min.css" rel="stylesheet">
+<link href="../css/headerlink.css" rel="stylesheet">
+<link href="../css/app.css" rel="stylesheet">
+<link href="../highlight/github.min.css" rel="stylesheet">
+<script src="../highlight/highlight.min.js"></script>
+<script src="../js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="../_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="../_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "../_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "../_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="../index.html">
+ <img src="../images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="../about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="../what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="../projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="../strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="../best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="../ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="../commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="../authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="../policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="../tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="../us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="../eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="../get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="../faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="../whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="../blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+<!-- breadcrumbs -->
+<div class="card" style="height: 34px;">
+ <nav aria-label="breadcrumb" style="padding-left: 12px; padding-top: 4px;">
+ <ol class="breadcrumb">
+ <li class="breadcrumb-item"><a href="../index.html">Home</a></li>
+ <li class="breadcrumb-item"><a href="../blog/">Blog</a></li>
+ <li class="breadcrumb-item active"><a href="../blog/responsible-ai-at-community-over-code-glasgow.html">Responsible AI at Community Over Code, Glasgow</a></li>
+ <li class="breadcrumb-item active">(<a href="https://github.com/apache/rai-site/tree/main/content/blog/responsible-ai-at-community-over-code-glasgow.md">edit</a>)</li>
+ </ol>
+ </nav>
+</div><!-- page contents -->
+<div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>Responsible AI at Community Over Code, Glasgow</h1>
+ <p class="rai-meta">
+ <time datetime="2026-10-21T00:00:00+00:00">21 October 2026</time> · Andrew Musselman </p>
+ <p>Community Over Code ran from 11 to 14 October at the Hilton Glasgow, and the Responsible AI
+initiative was there with two sessions on the Monday and a slot in the hackathon room alongside
+them. This is a short account of what we did, what we heard, and what happens next.</p>
+<h2>The hackathon: getting people onto llm.apache.org</h2>
+<p>The RAI hackathon session was built around one practical goal: get committers signed in to
+<a href="https://llm.apache.org">llm.apache.org</a> and making their first model call before they left the
+room.</p>
+<p>LLMAO is the Foundation's LLM gateway. It exists because the alternative — every project signing
+up for its own provider account and holding its own keys — scales badly and leaves the Foundation
+with no way to see what is being spent, on whose behalf, or against which model. The gateway gives
+the ASF a single sanctioned path to inference: you authenticate with your Apache identity, you get
+a credential scoped to a project, and the usage is attributed to that project and to you. Projects
+do not need their own vendor relationship to get useful work done, and the Foundation can answer
+for the cost and the policy in one place.</p>
+<p>For anyone who did not make it to Glasgow, the sign-up path is the same one we walked through in
+the room, and the gateway is OpenAI-compatible — in most cases pointing an existing client at a new
+base URL and key is the whole integration.</p>
+<p>The hackathon ran Monday through Wednesday in the Wee Dram Room, with projects claiming half-day
+slots across the three days. Responsible AI shared the schedule with ASF Tooling, Apache Magpie,
+Apache Sourcelume, Apache Search and a long list of others — see the
+<a href="https://events.apache.org/events/2026/community-over-code/hackathon.html">hackathon page</a> for how
+the time was carved up.</p>
+<h2>The roundtable: what AI is doing to maintainership</h2>
+<p>The Responsible AI Roundtable put six people on a panel — David Fisher, Jeff Genender, Holden
+Karau, Andrew Musselman, Jarek Potiuk and Tim Storer — and opened the floor.</p>
+<p>The questions on the table were the uncomfortable ones rather than the promotional ones:</p>
+<ul>
+<li>How do you attract and keep committers when automated shortcuts are available for the work that
+used to be how people earned their way in?</li>
+<li>What does meritocracy mean under the Apache Way when a contribution's provenance is harder to
+read than it used to be?</li>
+<li>How do you re-engage maintainers staring down a large legacy refactor that a model could attempt
+but not be accountable for?</li>
+<li>What do projects do about the rising volume of automated vulnerability reports and low-quality
+submissions, which cost real maintainer attention whether or not they are valid?</li>
+<li>And underneath all of it: what is the risk to open source innovation if the answer to each of
+these is handled badly?</li>
+</ul>
+<p>These are not questions the initiative is in a position to answer on anyone's behalf, and the
+session was not structured to produce a verdict. It was structured to get the problems stated
+plainly by the people living them, in a room where the Foundation's own tooling people were
+present to hear it.</p>
+<h2>Where the platform actually is</h2>
+<p>The sessions were grounded in work that already exists rather than a roadmap, so it is worth
+saying plainly what runs today and what does not.</p>
+<p><strong>LLMAO</strong> is the gateway described above: metered, attributed model access for Apache projects, at
+<a href="https://llm.apache.org">llm.apache.org</a>.</p>
+<p><strong>Gofannon</strong> is an agent workbench for the Foundation, based on the project of the same name that
+originated at the AI Alliance. It is where agents get built and run, so that a project can get
+useful work done without standing up its own infrastructure.</p>
+<p><strong>Memory</strong> is the newest piece, and the least built. The problem it addresses is that agents start
+every run empty: a scan run this month has no idea what last month's scan found or what the project
+already fixed. Memory gives agents somewhere to write down what is worth keeping and somewhere to
+read what an earlier run learned, with provenance attached so a human can see where a claim came
+from. It is being built at pilot scope, on the services the platform already runs.</p>
+<p>Alongside the platform, Foundation-scale security scanning has continued — a recent pass covered
+230 repositories across 75 project management committees in three days. The results of that work
+are what the memory pilot is being tested against first.</p>
+<p>Two adjacent projects came up repeatedly in the hallway track as well:
+<a href="../projects.html">Apache Magpie</a>, agent-assisted infrastructure for maintaining open source
+repositories, and <a href="../projects.html">Apache Sourcelume</a>, instrumentation for tracking the provenance
+of AI training data.</p>
+<h2>Coming up: FeatherCast</h2>
+<p>We recorded with <a href="https://feathercast.apache.org/">FeatherCast</a>, the ASF's podcast, while we were
+in Glasgow. The episode is not out yet — we will link it here and on
+<a href="../whats-new.html">What's New</a> when it lands.</p>
+<h2>Getting involved</h2>
+<p>The initiative does its work in public and the easiest way in is to show up on the list.</p>
+<ul>
+<li>Mailing list: <a href="https://lists.apache.org/list.html?discuss@rai.apache.org">discuss@rai.apache.org</a></li>
+<li>ASF Slack: <code>#rai-discuss</code></li>
+<li>The gateway: <a href="https://llm.apache.org">llm.apache.org</a></li>
+<li>More ways in: <a href="../get-involved.html">Get involved</a></li>
+</ul>
+<!--
+ TO FILL IN BEFORE PUBLISHING — things only someone who was in the room knows:
+ * Hackathon: how many people signed up for gateway access, which projects,
+ anything notable that got built or unblocked in the session.
+ * Roundtable: the two or three points that actually landed with the room,
+ and anything the audience raised that we had not anticipated.
+ * FeatherCast: host, recording date, and the episode link once published.
+ * Photos: the ASF blog recap will have some; add one or two here if useful
+ (put files in content/images/ and reference them as ../images/<name>).
+ Everything else on this page is checkable against the sources linked above.
+-->
+
+ <p class="rai-tags">
+<span class="rai-tag">events</span><span class="rai-tag">llmao</span><span class="rai-tag">community</span> </p>
+ <p class="rai-backlink"><a href="../blog/">← All posts</a></p>
+ </div>
+ </div>
+</div> <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="../about.html">About</a></li>
+ <li><a href="../what-we-do.html">What we do</a></li>
+ <li><a href="../best-practices.html">Best practices</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="../get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </main>
+ <script src="../js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/category/blog.html b/output/category/blog.html
new file mode 100644
index 0000000..abbe725
--- /dev/null
+++ b/output/category/blog.html
@@ -0,0 +1,211 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Category: blog - Apache Responsible AI</title>
+ <meta name="robots" content="noindex, follow">
+<link rel="icon" href="../images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Apache Software Foundation Responsible AI initiative">
+<link href="../css/bootstrap.min.css" rel="stylesheet">
+<link href="../css/fontawesome.all.min.css" rel="stylesheet">
+<link href="../css/headerlink.css" rel="stylesheet">
+<link href="../css/app.css" rel="stylesheet">
+<link href="../highlight/github.min.css" rel="stylesheet">
+<script src="../highlight/highlight.min.js"></script>
+<script src="../js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="../_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="../_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "../_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "../_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="../index.html">
+ <img src="../images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="../about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="../what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="../projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="../strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="../best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="../ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="../commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="../authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="../policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="../tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="../us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="../eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="../get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="../faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="../whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="../blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+ <div class="card" style="height: 34px;">
+ <nav aria-label="breadcrumb" style="padding-left: 12px; padding-top: 4px;">
+ <ol class="breadcrumb">
+ <li class="breadcrumb-item"><a href="../index.html">Home</a></li>
+ <li class="breadcrumb-item"><a href="../blog/">Blog</a></li>
+ <li class="breadcrumb-item active">Category: blog</li>
+ </ol>
+ </nav>
+ </div>
+ <div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>blog</h1>
+ <p class="rai-lede">Posts filed under this category.</p>
+<ul class="rai-postlist">
+ <li class="rai-postlist-item">
+ <h2><a href="../blog/responsible-ai-at-community-over-code-glasgow.html">Responsible AI at Community Over Code, Glasgow</a></h2>
+ <p class="rai-meta">
+ <time datetime="2026-10-21T00:00:00+00:00">21 October 2026</time> · Andrew Musselman </p>
+<div class="rai-summary">The Responsible AI initiative brought two sessions and a hackathon slot to Community Over Code in Glasgow — a working session on llm.apache.org, and a roundtable on what AI is doing to open source maintainership.</div> <p class="rai-tags">
+<span class="rai-tag">events</span><span class="rai-tag">llmao</span><span class="rai-tag">community</span> </p>
+ <p><a class="rai-more" href="../blog/responsible-ai-at-community-over-code-glasgow.html">Continue reading →</a></p>
+ </li>
+</ul>
+ <p class="rai-backlink"><a href="../blog/">← All posts</a></p>
+ </div>
+ </div>
+ </div>
+ <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="../about.html">About</a></li>
+ <li><a href="../what-we-do.html">What we do</a></li>
+ <li><a href="../best-practices.html">Best practices</a></li>
+ <li><a href="../faq.html">FAQ</a></li>
+ <li><a href="../blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="../get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </main>
+ <script src="../js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/commit-messages.html b/output/commit-messages.html
new file mode 100644
index 0000000..79eb740
--- /dev/null
+++ b/output/commit-messages.html
@@ -0,0 +1,290 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Commit messages for AI-assisted code - Apache Responsible AI</title>
+<link rel="icon" href="images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Apache Software Foundation Responsible AI initiative">
+<link href="css/bootstrap.min.css" rel="stylesheet">
+<link href="css/fontawesome.all.min.css" rel="stylesheet">
+<link href="css/headerlink.css" rel="stylesheet">
+<link href="css/app.css" rel="stylesheet">
+<link href="highlight/github.min.css" rel="stylesheet">
+<script src="highlight/highlight.min.js"></script>
+<script src="js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="index.html">
+ <img src="images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+ <div>
+<!-- page contents -->
+<div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>Commit messages for AI-assisted code</h1>
+ <h2>DRAFT DOCUMENT</h2>
+<p><strong>This document is an UNOFFICIAL DRAFT and should not be considered official
+policy. Substantial changes may be made before being published as an official
+policy. Direct any questions to <a href="mailto:discuss@rai.apache.org">discuss@rai.apache.org</a>.</strong></p>
+<h2>Documenting AI use in commit messages</h2>
+<p>When AI tools assist in generating code for an Apache project, commit messages
+serve as the primary record of provenance. Good commit messages help future
+contributors understand what happened, and they provide the metadata that
+provenance-tracking tools need.</p>
+<h2>The <code>Generated-by:</code> token convention</h2>
+<p>The ASF's generative tooling guidance recommends the use of a <code>Generated-by:</code>
+token in commit messages to document AI-assisted code generation.</p>
+<p><strong>Format:</strong></p>
+<pre><code>Generated-by: <tool-name>
+</code></pre>
+<p><strong>Examples:</strong></p>
+<pre><code>Generated-by: Claude-3.5-Sonnet
+Generated-by: GitHub Copilot
+Generated-by: Cursor
+Generated-by: Gemini-2.0
+</code></pre>
+<p>This token is a <strong>convention</strong> — it is not yet a formal, Foundation-wide
+requirement. Individual projects may adopt it, modify it, or create their own
+variants.</p>
+<h2>Example commit messages</h2>
+<h3>Simple: AI generated a function</h3>
+<pre><code>feat(auth): add JWT token validation middleware
+
+Generated-by: Claude-3.5-Sonnet
+
+Added a middleware function that validates JSON Web Tokens in the
+authentication pipeline. The function checks the token signature,
+extracts the subject claim, and attaches it to the request context.
+</code></pre>
+<h3>Mixed: AI drafted code, human edited heavily</h3>
+<pre><code>fix(parser): correct handling of malformed JSON payloads
+
+Reviewed and edited code generated with GitHub Copilot.
+Manually added error cases for null inputs and truncated buffers.
+
+Fixes #1234.
+</code></pre>
+<h3>Fully human, AI aided review</h3>
+<pre><code>docs: update contributing guide with AI tooling notes
+
+Reviewed the draft using an AI assistant for clarity suggestions.
+All content written by the author.
+</code></pre>
+<h2>Best practices</h2>
+<ol>
+<li>
+<p><strong>Be specific.</strong> When using <code>Generated-by:</code>, name the actual tool you used
+(e.g., <code>Claude-3.5-Sonnet</code>, <code>GitHub Copilot</code>) rather than a generic label.
+This helps future tooling and provenance analysis.</p>
+</li>
+<li>
+<p><strong>Explain what AI did and what you did.</strong> If AI generated the code but you
+reviewed and edited it, say so. This provides context for reviewers and
+downstream users.</p>
+</li>
+<li>
+<p><strong>The commit message is your representation.</strong> Even if AI helped write the
+code, the commit message is your word as the committer. You are responsible
+for what you commit, regardless of whether AI generated any part of it.</p>
+</li>
+<li>
+<p><strong>Use the Apache-ai tag alongside <code>Generated-by:</code>.</strong> If AI played a
+significant role, add both the <code>Apache-ai</code> tag (for policy transparency)
+and the <code>Generated-by:</code> token (for provenance tracking).</p>
+</li>
+<li>
+<p><strong>Keep it readable.</strong> Don't over-annotate. A single <code>Generated-by:</code> line
+and a brief description of what the AI produced and how you edited it is
+sufficient.</p>
+</li>
+</ol>
+<h2>Sample commit with both tags</h2>
+<pre><code>feat(config): add database connection pooling
+
+Generated-by: Cursor
+Apache-ai: This contribution contains code significantly generated
+by an AI tool. The function signature and connection logic were
+drafted by the AI; error handling and integration were written
+manually.
+
+Added configurable connection pooling to the database client.
+Supports connection limits, idle timeouts, and health checks.
+</code></pre>
+<h2>Relationship to other pages</h2>
+<ul>
+<li>See <a href="policy-recommendations.html">Policy recommendations</a> for the full
+Apache-ai tag guidance.</li>
+<li>See <a href="authored-by-tags.html">"Authored by" and "Co-authored" Tags</a> for
+attribution conventions.</li>
+<li>See <a href="ai-generated-code.html">AI-generated code in Apache projects</a> for
+broader guidance on contributing AI-generated code.</li>
+</ul>
+<p><em>Back to <a href="best-practices.html">Best practices</a>.</em></p>
+
+ </div>
+ </div>
+</div> <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="about.html">About</a></li>
+ <li><a href="what-we-do.html">What we do</a></li>
+ <li><a href="best-practices.html">Best practices</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </div>
+ </main>
+ <script src="js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/css/app.css b/output/css/app.css
new file mode 100644
index 0000000..2aef620
--- /dev/null
+++ b/output/css/app.css
@@ -0,0 +1,515 @@
+/* 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
+
+ https://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. */
+
+/* ==========================================================================
+ Apache Responsible AI - site styles
+ Layered on top of Bootstrap 5.2.2. No build step, no webfont CDN.
+ ========================================================================== */
+
+:root {
+ /* Accent. Swap these two values to retheme the whole site.
+ ASF red is the default; #1c4f80 / #153c62 (slate) and
+ #0f6e56 / #0b5342 (teal) are drop-in alternatives. */
+ --rai-accent: #b21326; /* logo crimson */
+ --rai-accent-dark: #8c0a22; /* logo deep red */
+ --rai-accent-soft: #6a0d28; /* logo shadow */
+ --rai-highlight: #f7931d; /* logo acorn */
+
+ --rai-ink: #15181d;
+ --rai-body: #3d4652;
+ --rai-muted: #5a6472;
+ --rai-faint: #7a838f;
+ --rai-rule: #e6e8ec;
+ --rai-rule-soft:#eceef1;
+ --rai-soft: #f7f8fa;
+
+ --rai-width: 44rem; /* content column; rem not ch, so it does not
+ shrink inside smaller-type blocks */
+ --rai-nav-h: 62px;
+ --rai-mark-h: 34px; /* nav logo height; below ~28px the veins mush */
+
+ --rai-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
+ Arial, "Noto Sans", sans-serif;
+ --rai-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
+ "Liberation Mono", monospace;
+}
+
+/* --------------------------------------------------------------------------
+ Base typography
+ -------------------------------------------------------------------------- */
+
+body {
+ font-family: var(--rai-sans);
+ font-size: 1.0625rem; /* 17px */
+ line-height: 1.7;
+ color: var(--rai-body);
+ background: #fff;
+ padding-top: var(--rai-nav-h); /* was 44px; navbar is taller than that */
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: var(--rai-ink);
+ font-weight: 500;
+ letter-spacing: -0.018em;
+ line-height: 1.25;
+}
+
+/* Anchor links must not land under the fixed navbar. Applies to any id
+ target, including the bare <a id> anchors used on what-we-do. */
+[id] { scroll-margin-top: calc(var(--rai-nav-h) + 1rem); }
+
+h1 { font-size: 2.125rem; margin-bottom: 0.75rem; letter-spacing: -0.025em; }
+h2 { font-size: 1.5rem; margin-top: 2.75rem; margin-bottom: 0.75rem; }
+h3 { font-size: 1.1875rem; margin-top: 2rem; margin-bottom: 0.5rem; }
+h4 { font-size: 1.0625rem; margin-top: 1.75rem; margin-bottom: 0.5rem; }
+
+/* Page title gets a hairline under it; section headings do not. */
+#contents h1 {
+ padding-bottom: 0.75rem;
+ border-bottom: 1px solid var(--rai-rule);
+ margin-bottom: 1.5rem;
+}
+
+p { margin-bottom: 1.15rem; }
+
+strong, b { font-weight: 600; color: var(--rai-ink); }
+
+a {
+ color: var(--rai-accent-dark);
+ text-decoration: underline;
+ text-decoration-thickness: 1px;
+ text-underline-offset: 0.18em;
+ text-decoration-color: rgba(140, 10, 34, 0.35);
+}
+a:hover {
+ color: var(--rai-accent);
+ text-decoration-color: currentColor;
+}
+
+/* --------------------------------------------------------------------------
+ Layout - the single biggest readability fix
+ -------------------------------------------------------------------------- */
+
+#contents {
+ padding: 2.5rem 1.5rem 4rem;
+}
+
+#contents > .bg-white {
+ max-width: var(--rai-width);
+ margin: 0 auto;
+ padding: 0 !important; /* neutralise the template's p-5 */
+}
+
+/* Wide elements are allowed to break the measure. */
+#contents table,
+#contents pre,
+#contents .mermaid,
+#contents img {
+ max-width: 100%;
+}
+
+@media (min-width: 992px) {
+ #contents { padding: 3.25rem 2rem 5rem; }
+}
+
+/* --------------------------------------------------------------------------
+ Navbar
+ -------------------------------------------------------------------------- */
+
+.navbar.rai-nav {
+ background: rgba(255, 255, 255, 0.92) !important;
+ backdrop-filter: saturate(180%) blur(8px);
+ border-bottom: 1px solid var(--rai-rule);
+ min-height: var(--rai-nav-h);
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.navbar-brand { display: flex; align-items: center; gap: 0.6rem; }
+.navbar-brand img { height: var(--rai-mark-h); width: auto; margin-left: 0 !important; }
+.navbar-brand span {
+ position: static !important;
+ top: auto !important;
+ margin-left: 0 !important;
+ font-weight: 500 !important;
+ font-size: 0.9375rem;
+ color: var(--rai-ink);
+ letter-spacing: -0.01em;
+}
+
+.navbar-collapse {
+ position: static !important;
+ top: auto !important;
+ margin-left: 1.5rem !important;
+}
+
+.navbar .nav-link {
+ font-size: 0.9375rem;
+ color: var(--rai-muted);
+ padding: 0.35rem 0.75rem;
+ border-bottom: 2px solid transparent;
+ text-decoration: none;
+}
+
+/* The bar is full. Labels must not wrap inside themselves — a wrapped item
+ makes the bar taller than --rai-nav-h, and the body's top padding is keyed
+ to that, so content slides under the bar. Tighten the gaps instead. */
+@media (min-width: 992px) {
+ .navbar.rai-nav .nav-link { white-space: nowrap; padding-left: 0.5rem; padding-right: 0.5rem; }
+ .navbar.rai-nav .navbar-collapse { margin-left: 1rem !important; }
+}
+.navbar .nav-link:hover,
+.navbar .nav-link:focus { color: var(--rai-ink); }
+.navbar .nav-link.active,
+.navbar .nav-item.active > .nav-link {
+ color: var(--rai-ink);
+ border-bottom-color: var(--rai-accent);
+}
+
+.dropdown-menu {
+ border: 1px solid var(--rai-rule);
+ border-radius: 8px;
+ box-shadow: 0 6px 20px rgba(21, 24, 29, 0.08);
+ padding: 0.4rem;
+ font-size: 0.9375rem;
+}
+.dropdown-item {
+ border-radius: 5px;
+ padding: 0.4rem 0.65rem;
+ color: var(--rai-body);
+ text-decoration: none;
+}
+.dropdown-item:hover { background: var(--rai-soft); color: var(--rai-ink); }
+
+/* Persistent support CTA in the navbar. */
+.rai-support {
+ display: inline-block;
+ font-size: 0.875rem;
+ color: #fff !important;
+ background: var(--rai-accent);
+ padding: 0.4rem 0.85rem;
+ border-radius: 6px;
+ text-decoration: none !important;
+ white-space: nowrap;
+}
+.rai-support:hover { background: var(--rai-accent-dark); color: #fff !important; }
+
+/* --------------------------------------------------------------------------
+ Prose elements
+ -------------------------------------------------------------------------- */
+
+blockquote {
+ border-left: 3px solid var(--rai-accent);
+ padding-left: 1.15rem;
+ margin: 1.75rem 0;
+ color: #2b333d;
+ font-style: italic;
+}
+blockquote p:last-child { margin-bottom: 0; }
+
+table {
+ width: 100%;
+ border-collapse: collapse;
+ font-size: 0.9375rem;
+ margin: 1.5rem 0 2rem;
+}
+th {
+ text-align: left;
+ font-weight: 500;
+ color: var(--rai-ink);
+ padding: 0.6rem 1rem 0.6rem 0;
+ border-bottom: 1px solid #d7dbe1;
+ white-space: nowrap;
+}
+td {
+ padding: 0.7rem 1rem 0.7rem 0;
+ border-bottom: 1px solid var(--rai-rule-soft);
+ vertical-align: top;
+ color: var(--rai-muted);
+}
+td:first-child { color: var(--rai-ink); }
+tr:last-child td { border-bottom: none; }
+
+ul, ol { margin-bottom: 1.15rem; padding-left: 1.3rem; }
+li { margin-bottom: 0.4rem; }
+li::marker { color: var(--rai-faint); }
+
+code {
+ font-family: var(--rai-mono);
+ font-size: 0.875em;
+ background: var(--rai-soft);
+ border: 1px solid var(--rai-rule);
+ border-radius: 4px;
+ padding: 0.1em 0.35em;
+ color: var(--rai-ink);
+}
+pre {
+ background: var(--rai-soft);
+ border: 1px solid var(--rai-rule);
+ border-radius: 8px;
+ padding: 1rem 1.15rem;
+ overflow-x: auto;
+ margin: 1.5rem 0;
+}
+pre code { background: none; border: none; padding: 0; font-size: 0.875rem; }
+
+hr { border: none; border-top: 1px solid var(--rai-rule); margin: 2.5rem 0; }
+
+.mermaid {
+ margin: 1.75rem 0;
+ padding: 1.25rem;
+ background: #fff;
+ border: 1px solid var(--rai-rule);
+ border-radius: 8px;
+}
+
+/* --------------------------------------------------------------------------
+ Home page
+ -------------------------------------------------------------------------- */
+
+.rai-eyebrow {
+ font-size: 0.75rem;
+ letter-spacing: 0.09em;
+ text-transform: uppercase;
+ color: var(--rai-accent-dark);
+ margin-bottom: 0.85rem;
+}
+
+.rai-lede { font-size: 1.1875rem; line-height: 1.65; color: var(--rai-body); }
+
+.rai-cards {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+ gap: 0.9rem;
+ margin: 2.5rem 0;
+}
+.rai-card {
+ border: 1px solid var(--rai-rule);
+ border-radius: 9px;
+ padding: 1.15rem 1.25rem;
+ background: #fff;
+}
+.rai-card h2,
+.rai-card h3 { margin: 0 0 0.35rem; font-size: 1rem; letter-spacing: -0.01em; }
+.rai-card p { margin: 0; font-size: 0.9375rem; line-height: 1.6; color: var(--rai-muted); }
+.rai-card i { color: var(--rai-accent); font-size: 1.1rem; }
+
+
+/* Hero */
+.rai-hero { margin-bottom: 2.5rem; }
+#contents .rai-hero h1 {
+ border-bottom: none;
+ padding-bottom: 0;
+ margin-bottom: 1rem;
+}
+.rai-hero .rai-eyebrow { margin-bottom: 0.85rem; }
+
+.rai-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.75rem; }
+.rai-btn {
+ display: inline-block;
+ font-size: 0.9375rem;
+ line-height: 1.2;
+ padding: 0.7rem 1.15rem;
+ border: 1px solid #d3d8e0;
+ border-radius: 6px;
+ color: var(--rai-ink);
+ background: #fff;
+ text-decoration: none;
+}
+.rai-btn:hover { background: var(--rai-soft); color: var(--rai-ink); border-color: #bfc6d0; }
+.rai-btn-primary {
+ background: var(--rai-ink);
+ border-color: var(--rai-ink);
+ color: #fff;
+}
+.rai-btn-primary:hover { background: #000; border-color: #000; color: #fff; }
+
+.rai-meta { font-size: 0.875rem; color: var(--rai-faint); margin-top: -0.5rem; }
+
+/* Mobile nav: the expanded collapse must be opaque, and the desktop
+ indent must not apply once items stack vertically. */
+@media (max-width: 991.98px) {
+ .navbar.rai-nav {
+ background: #fff !important;
+ backdrop-filter: none;
+ }
+ .navbar-collapse {
+ margin-left: 0 !important;
+ background: #fff;
+ padding-bottom: 0.75rem;
+ max-height: calc(100vh - var(--rai-nav-h));
+ overflow-y: auto;
+ }
+ .navbar .nav-link {
+ padding-left: 0;
+ border-bottom: none;
+ }
+ .navbar .nav-link.active { border-bottom: none; color: var(--rai-accent-dark); }
+ .rai-support { display: block; text-align: center; }
+ .dropdown-menu { border: none; box-shadow: none; padding-left: 0.5rem; }
+}
+
+/* Highlighted resource block (announcement + support links). */
+.rai-resources {
+ background: var(--rai-soft);
+ border: 1px solid var(--rai-rule);
+ border-radius: 10px;
+ padding: 1.15rem 1.35rem;
+ margin: 2.25rem 0;
+}
+.rai-resources ul { list-style: none; padding: 0; margin: 0; }
+.rai-resources li { margin-bottom: 0.85rem; }
+.rai-resources li:last-child { margin-bottom: 0; }
+.rai-resources .rai-note {
+ display: block;
+ font-size: 0.875rem;
+ color: var(--rai-muted);
+ margin-top: 0.1rem;
+}
+
+/* --------------------------------------------------------------------------
+ Footer
+ -------------------------------------------------------------------------- */
+
+.rai-footer {
+ border-top: 1px solid var(--rai-rule);
+ margin-top: 4rem;
+ padding: 2.5rem 1.5rem 2rem;
+ background: #fff;
+}
+.rai-footer-inner {
+ max-width: var(--rai-width);
+ margin: 0 auto;
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
+ gap: 1.75rem;
+}
+.rai-footer h4 {
+ font-size: 0.8125rem;
+ font-weight: 500;
+ color: var(--rai-ink);
+ margin: 0 0 0.65rem;
+ letter-spacing: 0;
+}
+.rai-footer ul { list-style: none; padding: 0; margin: 0; }
+.rai-footer li { margin-bottom: 0.35rem; }
+.rai-footer a {
+ font-size: 0.875rem;
+ color: var(--rai-muted);
+ text-decoration: none;
+}
+.rai-footer a:hover { color: var(--rai-ink); text-decoration: underline; }
+
+.rai-legal {
+ max-width: var(--rai-width);
+ margin: 2rem auto 0;
+ padding-top: 1.25rem;
+ border-top: 1px solid var(--rai-rule-soft);
+ font-size: 0.8125rem;
+ line-height: 1.6;
+ color: var(--rai-faint);
+}
+.rai-legal a { color: var(--rai-faint); }
+
+/* --------------------------------------------------------------------------
+ Blog
+ -------------------------------------------------------------------------- */
+
+.rai-postlist {
+ list-style: none;
+ margin: 2.25rem 0 0;
+ padding: 0;
+}
+.rai-postlist-item {
+ padding: 0 0 1.75rem;
+ margin: 0 0 1.75rem;
+ border-bottom: 1px solid var(--rai-rule-soft);
+}
+.rai-postlist-item:last-child { border-bottom: 0; margin-bottom: 0; }
+.rai-postlist-item h2 {
+ margin: 0 0 0.3rem;
+ font-size: 1.3125rem;
+ letter-spacing: -0.01em;
+}
+.rai-postlist-item h2 a { color: var(--rai-ink); text-decoration: none; }
+.rai-postlist-item h2 a:hover { color: var(--rai-accent-dark); text-decoration: underline; }
+.rai-postlist-item .rai-meta { margin-top: 0; }
+
+.rai-summary {
+ color: var(--rai-muted);
+ font-size: 0.9375rem;
+ line-height: 1.65;
+}
+.rai-summary p { margin: 0.5rem 0 0; }
+
+.rai-more {
+ font-size: 0.9375rem;
+ font-weight: 600;
+ color: var(--rai-accent-dark);
+ text-decoration: none;
+}
+.rai-more:hover { text-decoration: underline; }
+
+.rai-tags { margin: 0.75rem 0 0; }
+.rai-tag {
+ display: inline-block;
+ margin: 0 0.35rem 0.35rem 0;
+ padding: 0.12rem 0.5rem;
+ border: 1px solid var(--rai-rule);
+ border-radius: 999px;
+ background: var(--rai-soft);
+ font-size: 0.75rem;
+ letter-spacing: 0.02em;
+ color: var(--rai-muted);
+}
+
+.rai-backlink {
+ margin-top: 2.5rem;
+ padding-top: 1.25rem;
+ border-top: 1px solid var(--rai-rule-soft);
+ font-size: 0.9375rem;
+}
+.rai-backlink a { color: var(--rai-muted); text-decoration: none; }
+.rai-backlink a:hover { color: var(--rai-ink); text-decoration: underline; }
+
+/* --------------------------------------------------------------------------
+ Search + misc
+ -------------------------------------------------------------------------- */
+
+.search-form {
+ right: 0;
+ left: initial !important;
+ min-width: 25vw;
+ max-width: 90vw;
+ max-height: calc(95vh - 100px);
+ overflow: auto;
+ margin-top: 5px;
+}
+
+:focus-visible {
+ outline: 2px solid var(--rai-accent);
+ outline-offset: 2px;
+ border-radius: 3px;
+}
+
+
+@media (max-width: 768px) {
+ body { font-size: 1rem; }
+ h1 { font-size: 1.75rem; }
+ h2 { font-size: 1.3125rem; }
+ #contents { padding: 2rem 1.25rem 3rem; }
+}
diff --git a/output/css/bootstrap.min.css b/output/css/bootstrap.min.css
new file mode 100644
index 0000000..22e4f21
--- /dev/null
+++ b/output/css/bootstrap.min.css
@@ -0,0 +1,6 @@
+@charset "UTF-8";/*!
+ * Bootstrap v5.2.2 (https://getbootstrap.com/)
+ * Copyright 2011-2022 The Bootstrap Authors
+ * Copyright 2011-2022 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--b [...]
diff --git a/output/css/font-awesome.min.css b/output/css/font-awesome.min.css
new file mode 100644
index 0000000..540440c
--- /dev/null
+++ b/output/css/font-awesome.min.css
@@ -0,0 +1,4 @@
+/*!
+ * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:norma [...]
diff --git a/output/css/fontawesome.all.min.css b/output/css/fontawesome.all.min.css
new file mode 100644
index 0000000..d278768
--- /dev/null
+++ b/output/css/fontawesome.all.min.css
@@ -0,0 +1,6 @@
+/*!
+ * Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ * Copyright 2022 Fonticons, Inc.
+ */
+.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-siz [...]
diff --git a/output/css/foundation.css b/output/css/foundation.css
new file mode 100644
index 0000000..6c1c6fe
--- /dev/null
+++ b/output/css/foundation.css
@@ -0,0 +1,4236 @@
+@charset "UTF-8";
+/**
+ * Foundation for Sites by ZURB
+ * Version 6.2.4
+ * foundation.zurb.com
+ * Licensed under MIT Open Source
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS and IE text size adjust after device orientation change,
+ * without disabling user zoom.
+ */
+html {
+ font-family: sans-serif;
+ /* 1 */
+ -ms-text-size-adjust: 100%;
+ /* 2 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */ }
+
+/**
+ * Remove default margin.
+ */
+body {
+ margin: 0; }
+
+/*
+ * ========================================================================================
+ * Hide class="elementid-permalink", except when an enclosing heading has the :hover property.
+ *
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }
+
+/* HTML5 display definitions
+ ========================================================================== */
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block; }
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ /* 1 */
+ vertical-align: baseline;
+ /* 2 */ }
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+ */
+[hidden],
+template {
+ display: none; }
+
+/* Links
+ ========================================================================== */
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+a {
+ background-color: transparent; }
+
+/**
+ * Improve readability of focused elements when they are also in an
+ * active/hover state.
+ */
+a:active,
+a:hover {
+ outline: 0; }
+
+/* Text-level semantics
+ ========================================================================== */
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+b,
+strong {
+ font-weight: bold; }
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+dfn {
+ font-style: italic; }
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+mark {
+ background: #ff0;
+ color: #000; }
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+small {
+ font-size: 80%; }
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+/* Embedded content
+ ========================================================================== */
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+img {
+ border: 0; }
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+svg:not(:root) {
+ overflow: hidden; }
+
+/* Grouping content
+ ========================================================================== */
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+figure {
+ margin: 1em 40px; }
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+hr {
+ box-sizing: content-box;
+ height: 0; }
+
+/**
+ * Contain overflow in all browsers.
+ */
+pre {
+ overflow: auto; }
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em; }
+
+/* Forms
+ ========================================================================== */
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+ margin: 0;
+ /* 3 */ }
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+button {
+ overflow: visible; }
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+button,
+select {
+ text-transform: none; }
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ /* 2 */
+ cursor: pointer;
+ /* 3 */ }
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+button[disabled],
+html input[disabled] {
+ cursor: not-allowed; }
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+input {
+ line-height: normal; }
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+ */
+input[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ box-sizing: content-box;
+ /* 2 */ }
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+/**
+ * Define consistent border, margin, and padding.
+ * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
+ */
+/* fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+ } */
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+legend {
+ border: 0;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+textarea {
+ overflow: auto; }
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+optgroup {
+ font-weight: bold; }
+
+/* Tables
+ ========================================================================== */
+/**
+ * Remove most spacing between table cells.
+ */
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td,
+th {
+ padding: 0; }
+
+.foundation-mq {
+ font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }
+
+html {
+ font-size: 90%;
+ box-sizing: border-box; }
+
+*,
+*::before,
+*::after {
+ box-sizing: inherit; }
+
+body {
+ padding: 0;
+ margin: 0;
+ font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+ font-weight: normal;
+ line-height: 1.5;
+ color: #0a0a0a;
+ background: #fefefe;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale; }
+
+img {
+ max-width: 100%;
+ height: auto;
+ -ms-interpolation-mode: bicubic;
+ display: inline-block;
+ vertical-align: middle; }
+
+textarea {
+ height: auto;
+ min-height: 50px;
+ border-radius: 0; }
+
+select {
+ width: 100%;
+ border-radius: 0; }
+
+#map_canvas img,
+#map_canvas embed,
+#map_canvas object,
+.map_canvas img,
+.map_canvas embed,
+.map_canvas object,
+.mqa-display img,
+.mqa-display embed,
+.mqa-display object {
+ max-width: none !important; }
+
+button {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ background: transparent;
+ padding: 0;
+ border: 0;
+ border-radius: 0;
+ line-height: 1; }
+ [data-whatinput='mouse'] button {
+ outline: 0; }
+
+.is-visible {
+ display: block !important; }
+
+.is-hidden {
+ display: none !important; }
+
+.row {
+ max-width: 95rem;
+ margin-left: auto;
+ margin-right: auto; }
+ .row::before, .row::after {
+ content: ' ';
+ display: table; }
+ .row::after {
+ clear: both; }
+ .row.collapse > .column, .row.collapse > .columns {
+ padding-left: 0;
+ padding-right: 0; }
+ .row .row {
+ margin-left: -0.625rem;
+ margin-right: -0.625rem; }
+ @media screen and (min-width: 40em) {
+ .row .row {
+ margin-left: -0.9375rem;
+ margin-right: -0.9375rem; } }
+ .row .row.collapse {
+ margin-left: 0;
+ margin-right: 0; }
+ .row.expanded {
+ max-width: none; }
+ .row.expanded .row {
+ margin-left: auto;
+ margin-right: auto; }
+
+.column, .columns {
+ width: 100%;
+ float: left;
+ padding-left: 0.625rem;
+ padding-right: 0.625rem; }
+ @media screen and (min-width: 40em) {
+ .column, .columns {
+ padding-left: 0.9375rem;
+ padding-right: 0.9375rem; } }
+ .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
+ float: right; }
+ .column.end:last-child:last-child, .end.columns:last-child:last-child {
+ float: left; }
+
+.column.row.row, .row.row.columns {
+ float: none; }
+
+.row .column.row.row, .row .row.row.columns {
+ padding-left: 0;
+ padding-right: 0;
+ margin-left: 0;
+ margin-right: 0; }
+
+.small-1 {
+ width: 8.33333%; }
+
+.small-push-1 {
+ position: relative;
+ left: 8.33333%; }
+
+.small-pull-1 {
+ position: relative;
+ left: -8.33333%; }
+
+.small-offset-0 {
+ margin-left: 0%; }
+
+.small-2 {
+ width: 16.66667%; }
+
+.small-push-2 {
+ position: relative;
+ left: 16.66667%; }
+
+.small-pull-2 {
+ position: relative;
+ left: -16.66667%; }
+
+.small-offset-1 {
+ margin-left: 8.33333%; }
+
+.small-3 {
+ width: 25%; }
+
+.small-push-3 {
+ position: relative;
+ left: 25%; }
+
+.small-pull-3 {
+ position: relative;
+ left: -25%; }
+
+.small-offset-2 {
+ margin-left: 16.66667%; }
+
+.small-4 {
+ width: 33.33333%; }
+
+.small-push-4 {
+ position: relative;
+ left: 33.33333%; }
+
+.small-pull-4 {
+ position: relative;
+ left: -33.33333%; }
+
+.small-offset-3 {
+ margin-left: 25%; }
+
+.small-5 {
+ width: 41.66667%; }
+
+.small-push-5 {
+ position: relative;
+ left: 41.66667%; }
+
+.small-pull-5 {
+ position: relative;
+ left: -41.66667%; }
+
+.small-offset-4 {
+ margin-left: 33.33333%; }
+
+.small-6 {
+ width: 50%; }
+
+.small-push-6 {
+ position: relative;
+ left: 50%; }
+
+.small-pull-6 {
+ position: relative;
+ left: -50%; }
+
+.small-offset-5 {
+ margin-left: 41.66667%; }
+
+.small-7 {
+ width: 58.33333%; }
+
+.small-push-7 {
+ position: relative;
+ left: 58.33333%; }
+
+.small-pull-7 {
+ position: relative;
+ left: -58.33333%; }
+
+.small-offset-6 {
+ margin-left: 50%; }
+
+.small-8 {
+ width: 66.66667%; }
+
+.small-push-8 {
+ position: relative;
+ left: 66.66667%; }
+
+.small-pull-8 {
+ position: relative;
+ left: -66.66667%; }
+
+.small-offset-7 {
+ margin-left: 58.33333%; }
+
+.small-9 {
+ width: 75%; }
+
+.small-push-9 {
+ position: relative;
+ left: 75%; }
+
+.small-pull-9 {
+ position: relative;
+ left: -75%; }
+
+.small-offset-8 {
+ margin-left: 66.66667%; }
+
+.small-10 {
+ width: 83.33333%; }
+
+.small-push-10 {
+ position: relative;
+ left: 83.33333%; }
+
+.small-pull-10 {
+ position: relative;
+ left: -83.33333%; }
+
+.small-offset-9 {
+ margin-left: 75%; }
+
+.small-11 {
+ width: 91.66667%; }
+
+.small-push-11 {
+ position: relative;
+ left: 91.66667%; }
+
+.small-pull-11 {
+ position: relative;
+ left: -91.66667%; }
+
+.small-offset-10 {
+ margin-left: 83.33333%; }
+
+.small-12 {
+ width: 100%; }
+
+.small-offset-11 {
+ margin-left: 91.66667%; }
+
+.small-up-1 > .column, .small-up-1 > .columns {
+ width: 100%;
+ float: left; }
+ .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
+ clear: both; }
+ .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
+ float: left; }
+
+.small-up-2 > .column, .small-up-2 > .columns {
+ width: 50%;
+ float: left; }
+ .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
+ clear: both; }
+ .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
+ float: left; }
+
+.small-up-3 > .column, .small-up-3 > .columns {
+ width: 33.33333%;
+ float: left; }
+ .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
+ clear: both; }
+ .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
+ float: left; }
+
+.small-up-4 > .column, .small-up-4 > .columns {
+ width: 25%;
+ float: left; }
+ .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
+ clear: both; }
+ .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
+ float: left; }
+
+.small-up-5 > .column, .small-up-5 > .columns {
+ width: 20%;
+ float: left; }
+ .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
+ clear: both; }
+ .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
+ float: left; }
+
+.small-up-6 > .column, .small-up-6 > .columns {
+ width: 16.66667%;
+ float: left; }
+ .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
+ clear: both; }
+ .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
+ float: left; }
+
+.small-up-7 > .column, .small-up-7 > .columns {
+ width: 14.28571%;
+ float: left; }
+ .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
+ clear: both; }
+ .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
+ float: left; }
+
+.small-up-8 > .column, .small-up-8 > .columns {
+ width: 12.5%;
+ float: left; }
+ .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
+ clear: both; }
+ .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
+ float: left; }
+
+.small-collapse > .column, .small-collapse > .columns {
+ padding-left: 0;
+ padding-right: 0; }
+
+.small-collapse .row {
+ margin-left: 0;
+ margin-right: 0; }
+
+.expanded.row .small-collapse.row {
+ margin-left: 0;
+ margin-right: 0; }
+
+.small-uncollapse > .column, .small-uncollapse > .columns {
+ padding-left: 0.625rem;
+ padding-right: 0.625rem; }
+
+.small-centered {
+ margin-left: auto;
+ margin-right: auto; }
+ .small-centered, .small-centered:last-child:not(:first-child) {
+ float: none;
+ clear: both; }
+
+.small-uncentered,
+.small-push-0,
+.small-pull-0 {
+ position: static;
+ margin-left: 0;
+ margin-right: 0;
+ float: left; }
+
+@media screen and (min-width: 40em) {
+ .medium-1 {
+ width: 8.33333%; }
+ .medium-push-1 {
+ position: relative;
+ left: 8.33333%; }
+ .medium-pull-1 {
+ position: relative;
+ left: -8.33333%; }
+ .medium-offset-0 {
+ margin-left: 0%; }
+ .medium-2 {
+ width: 16.66667%; }
+ .medium-push-2 {
+ position: relative;
+ left: 16.66667%; }
+ .medium-pull-2 {
+ position: relative;
+ left: -16.66667%; }
+ .medium-offset-1 {
+ margin-left: 8.33333%; }
+ .medium-3 {
+ width: 25%; }
+ .medium-push-3 {
+ position: relative;
+ left: 25%; }
+ .medium-pull-3 {
+ position: relative;
+ left: -25%; }
+ .medium-offset-2 {
+ margin-left: 16.66667%; }
+ .medium-4 {
+ width: 33.33333%; }
+ .medium-push-4 {
+ position: relative;
+ left: 33.33333%; }
+ .medium-pull-4 {
+ position: relative;
+ left: -33.33333%; }
+ .medium-offset-3 {
+ margin-left: 25%; }
+ .medium-5 {
+ width: 41.66667%; }
+ .medium-push-5 {
+ position: relative;
+ left: 41.66667%; }
+ .medium-pull-5 {
+ position: relative;
+ left: -41.66667%; }
+ .medium-offset-4 {
+ margin-left: 33.33333%; }
+ .medium-6 {
+ width: 50%; }
+ .medium-push-6 {
+ position: relative;
+ left: 50%; }
+ .medium-pull-6 {
+ position: relative;
+ left: -50%; }
+ .medium-offset-5 {
+ margin-left: 41.66667%; }
+ .medium-7 {
+ width: 58.33333%; }
+ .medium-push-7 {
+ position: relative;
+ left: 58.33333%; }
+ .medium-pull-7 {
+ position: relative;
+ left: -58.33333%; }
+ .medium-offset-6 {
+ margin-left: 50%; }
+ .medium-8 {
+ width: 66.66667%; }
+ .medium-push-8 {
+ position: relative;
+ left: 66.66667%; }
+ .medium-pull-8 {
+ position: relative;
+ left: -66.66667%; }
+ .medium-offset-7 {
+ margin-left: 58.33333%; }
+ .medium-9 {
+ width: 75%; }
+ .medium-push-9 {
+ position: relative;
+ left: 75%; }
+ .medium-pull-9 {
+ position: relative;
+ left: -75%; }
+ .medium-offset-8 {
+ margin-left: 66.66667%; }
+ .medium-10 {
+ width: 83.33333%; }
+ .medium-push-10 {
+ position: relative;
+ left: 83.33333%; }
+ .medium-pull-10 {
+ position: relative;
+ left: -83.33333%; }
+ .medium-offset-9 {
+ margin-left: 75%; }
+ .medium-11 {
+ width: 91.66667%; }
+ .medium-push-11 {
+ position: relative;
+ left: 91.66667%; }
+ .medium-pull-11 {
+ position: relative;
+ left: -91.66667%; }
+ .medium-offset-10 {
+ margin-left: 83.33333%; }
+ .medium-12 {
+ width: 100%; }
+ .medium-offset-11 {
+ margin-left: 91.66667%; }
+ .medium-up-1 > .column, .medium-up-1 > .columns {
+ width: 100%;
+ float: left; }
+ .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
+ clear: both; }
+ .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
+ float: left; }
+ .medium-up-2 > .column, .medium-up-2 > .columns {
+ width: 50%;
+ float: left; }
+ .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
+ clear: both; }
+ .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
+ float: left; }
+ .medium-up-3 > .column, .medium-up-3 > .columns {
+ width: 33.33333%;
+ float: left; }
+ .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
+ clear: both; }
+ .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
+ float: left; }
+ .medium-up-4 > .column, .medium-up-4 > .columns {
+ width: 25%;
+ float: left; }
+ .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
+ clear: both; }
+ .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
+ float: left; }
+ .medium-up-5 > .column, .medium-up-5 > .columns {
+ width: 20%;
+ float: left; }
+ .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
+ clear: both; }
+ .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
+ float: left; }
+ .medium-up-6 > .column, .medium-up-6 > .columns {
+ width: 16.66667%;
+ float: left; }
+ .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
+ clear: both; }
+ .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
+ float: left; }
+ .medium-up-7 > .column, .medium-up-7 > .columns {
+ width: 14.28571%;
+ float: left; }
+ .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
+ clear: both; }
+ .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
+ float: left; }
+ .medium-up-8 > .column, .medium-up-8 > .columns {
+ width: 12.5%;
+ float: left; }
+ .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
+ clear: both; }
+ .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
+ float: left; }
+ .medium-collapse > .column, .medium-collapse > .columns {
+ padding-left: 0;
+ padding-right: 0; }
+ .medium-collapse .row {
+ margin-left: 0;
+ margin-right: 0; }
+ .expanded.row .medium-collapse.row {
+ margin-left: 0;
+ margin-right: 0; }
+ .medium-uncollapse > .column, .medium-uncollapse > .columns {
+ padding-left: 0.9375rem;
+ padding-right: 0.9375rem; }
+ .medium-centered {
+ margin-left: auto;
+ margin-right: auto; }
+ .medium-centered, .medium-centered:last-child:not(:first-child) {
+ float: none;
+ clear: both; }
+ .medium-uncentered,
+ .medium-push-0,
+ .medium-pull-0 {
+ position: static;
+ margin-left: 0;
+ margin-right: 0;
+ float: left; } }
+
+@media screen and (min-width: 64em) {
+ .large-1 {
+ width: 8.33333%; }
+ .large-push-1 {
+ position: relative;
+ left: 8.33333%; }
+ .large-pull-1 {
+ position: relative;
+ left: -8.33333%; }
+ .large-offset-0 {
+ margin-left: 0%; }
+ .large-2 {
+ width: 16.66667%; }
+ .large-push-2 {
+ position: relative;
+ left: 16.66667%; }
+ .large-pull-2 {
+ position: relative;
+ left: -16.66667%; }
+ .large-offset-1 {
+ margin-left: 8.33333%; }
+ .large-3 {
+ width: 25%; }
+ .large-push-3 {
+ position: relative;
+ left: 25%; }
+ .large-pull-3 {
+ position: relative;
+ left: -25%; }
+ .large-offset-2 {
+ margin-left: 16.66667%; }
+ .large-4 {
+ width: 33.33333%; }
+ .large-push-4 {
+ position: relative;
+ left: 33.33333%; }
+ .large-pull-4 {
+ position: relative;
+ left: -33.33333%; }
+ .large-offset-3 {
+ margin-left: 25%; }
+ .large-5 {
+ width: 41.66667%; }
+ .large-push-5 {
+ position: relative;
+ left: 41.66667%; }
+ .large-pull-5 {
+ position: relative;
+ left: -41.66667%; }
+ .large-offset-4 {
+ margin-left: 33.33333%; }
+ .large-6 {
+ width: 50%; }
+ .large-push-6 {
+ position: relative;
+ left: 50%; }
+ .large-pull-6 {
+ position: relative;
+ left: -50%; }
+ .large-offset-5 {
+ margin-left: 41.66667%; }
+ .large-7 {
+ width: 58.33333%; }
+ .large-push-7 {
+ position: relative;
+ left: 58.33333%; }
+ .large-pull-7 {
+ position: relative;
+ left: -58.33333%; }
+ .large-offset-6 {
+ margin-left: 50%; }
+ .large-8 {
+ width: 66.66667%; }
+ .large-push-8 {
+ position: relative;
+ left: 66.66667%; }
+ .large-pull-8 {
+ position: relative;
+ left: -66.66667%; }
+ .large-offset-7 {
+ margin-left: 58.33333%; }
+ .large-9 {
+ width: 75%; }
+ .large-push-9 {
+ position: relative;
+ left: 75%; }
+ .large-pull-9 {
+ position: relative;
+ left: -75%; }
+ .large-offset-8 {
+ margin-left: 66.66667%; }
+ .large-10 {
+ width: 83.33333%; }
+ .large-push-10 {
+ position: relative;
+ left: 83.33333%; }
+ .large-pull-10 {
+ position: relative;
+ left: -83.33333%; }
+ .large-offset-9 {
+ margin-left: 75%; }
+ .large-11 {
+ width: 91.66667%; }
+ .large-push-11 {
+ position: relative;
+ left: 91.66667%; }
+ .large-pull-11 {
+ position: relative;
+ left: -91.66667%; }
+ .large-offset-10 {
+ margin-left: 83.33333%; }
+ .large-12 {
+ width: 100%; }
+ .large-offset-11 {
+ margin-left: 91.66667%; }
+ .large-up-1 > .column, .large-up-1 > .columns {
+ width: 100%;
+ float: left; }
+ .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
+ clear: both; }
+ .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
+ float: left; }
+ .large-up-2 > .column, .large-up-2 > .columns {
+ width: 50%;
+ float: left; }
+ .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
+ clear: both; }
+ .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
+ float: left; }
+ .large-up-3 > .column, .large-up-3 > .columns {
+ width: 33.33333%;
+ float: left; }
+ .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
+ clear: both; }
+ .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
+ float: left; }
+ .large-up-4 > .column, .large-up-4 > .columns {
+ width: 25%;
+ float: left; }
+ .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
+ clear: both; }
+ .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
+ float: left; }
+ .large-up-5 > .column, .large-up-5 > .columns {
+ width: 20%;
+ float: left; }
+ .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
+ clear: both; }
+ .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
+ float: left; }
+ .large-up-6 > .column, .large-up-6 > .columns {
+ width: 16.66667%;
+ float: left; }
+ .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
+ clear: both; }
+ .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
+ float: left; }
+ .large-up-7 > .column, .large-up-7 > .columns {
+ width: 14.28571%;
+ float: left; }
+ .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
+ clear: both; }
+ .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
+ float: left; }
+ .large-up-8 > .column, .large-up-8 > .columns {
+ width: 12.5%;
+ float: left; }
+ .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
+ clear: both; }
+ .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
+ float: left; }
+ .large-collapse > .column, .large-collapse > .columns {
+ padding-left: 0;
+ padding-right: 0; }
+ .large-collapse .row {
+ margin-left: 0;
+ margin-right: 0; }
+ .expanded.row .large-collapse.row {
+ margin-left: 0;
+ margin-right: 0; }
+ .large-uncollapse > .column, .large-uncollapse > .columns {
+ padding-left: 0.9375rem;
+ padding-right: 0.9375rem; }
+ .large-centered {
+ margin-left: auto;
+ margin-right: auto; }
+ .large-centered, .large-centered:last-child:not(:first-child) {
+ float: none;
+ clear: both; }
+ .large-uncentered,
+ .large-push-0,
+ .large-pull-0 {
+ position: static;
+ margin-left: 0;
+ margin-right: 0;
+ float: left; } }
+
+div,
+dl,
+dt,
+dd,
+ul,
+ol,
+li,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+pre,
+form,
+p,
+blockquote,
+th,
+td {
+ margin: 0;
+ padding: 0; }
+
+p {
+ font-size: inherit;
+ line-height: 1.6;
+ margin-bottom: 1rem;
+ text-rendering: optimizeLegibility; }
+
+em,
+i {
+ font-style: italic;
+ line-height: inherit; }
+
+strong,
+b {
+ font-weight: bold;
+ line-height: inherit; }
+
+small {
+ font-size: 80%;
+ line-height: inherit; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+ font-weight: normal;
+ font-style: normal;
+ color: inherit;
+ text-rendering: optimizeLegibility;
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ line-height: 1.4; }
+ h1 small,
+ h2 small,
+ h3 small,
+ h4 small,
+ h5 small,
+ h6 small {
+ color: #cacaca;
+ line-height: 0; }
+
+h1 {
+ font-size: 1.5rem; }
+
+h2 {
+ font-size: 1.25rem; }
+
+h3 {
+ font-size: 1.1875rem; }
+
+h4 {
+ font-size: 1.125rem; }
+
+h5 {
+ font-size: 1.0625rem; }
+
+h6 {
+ font-size: 1rem; }
+
+@media screen and (min-width: 40em) {
+ h1 {
+ font-size: 3rem; }
+ h2 {
+ font-size: 2.5rem; }
+ h3 {
+ font-size: 1.9375rem; }
+ h4 {
+ font-size: 1.5625rem; }
+ h5 {
+ font-size: 1.25rem; }
+ h6 {
+ font-size: 1rem; } }
+
+a {
+ color: #2199e8;
+ text-decoration: none;
+ line-height: inherit;
+ cursor: pointer; }
+ a:hover, a:focus {
+ color: #1585cf; }
+ a img {
+ border: 0; }
+
+hr {
+ max-width: 75rem;
+ height: 0;
+ border-right: 0;
+ border-top: 0;
+ border-bottom: 1px solid #cacaca;
+ border-left: 0;
+ margin: 1.25rem auto;
+ clear: both; }
+
+ul,
+ol,
+dl {
+ line-height: 1.6;
+ margin-bottom: 1rem;
+ list-style-position: outside; }
+
+li {
+ font-size: inherit; }
+
+ul {
+ list-style-type: disc;
+ margin-left: 1.25rem; }
+
+ol {
+ margin-left: 1.25rem; }
+
+ul ul, ol ul, ul ol, ol ol {
+ margin-left: 1.25rem;
+ margin-bottom: 0; }
+
+dl {
+ margin-bottom: 1rem; }
+ dl dt {
+ margin-bottom: 0.3rem;
+ font-weight: bold; }
+
+blockquote {
+ margin: 0 0 1rem;
+ padding: 0.5625rem 1.25rem 0 1.1875rem;
+ border-left: 1px solid #cacaca; }
+ blockquote, blockquote p {
+ line-height: 1.6;
+ color: #8a8a8a; }
+
+cite {
+ display: block;
+ font-size: 0.8125rem;
+ color: #8a8a8a; }
+ cite:before {
+ content: '\2014 \0020'; }
+
+abbr {
+ color: #0a0a0a;
+ cursor: help;
+ border-bottom: 1px dotted #0a0a0a; }
+
+code {
+ font-family: Consolas, "Liberation Mono", Courier, monospace;
+ font-weight: normal;
+ color: #0a0a0a;
+ background-color: #e6e6e6;
+ border: 1px solid #cacaca;
+ padding: 0.125rem 0.3125rem 0.0625rem; }
+
+kbd {
+ padding: 0.125rem 0.25rem 0;
+ margin: 0;
+ background-color: #e6e6e6;
+ color: #0a0a0a;
+ font-family: Consolas, "Liberation Mono", Courier, monospace; }
+
+.subheader {
+ margin-top: 0.2rem;
+ margin-bottom: 0.5rem;
+ font-weight: normal;
+ line-height: 1.4;
+ color: #8a8a8a; }
+
+.lead {
+ font-size: 125%;
+ line-height: 1.6; }
+
+.stat {
+ font-size: 2.5rem;
+ line-height: 1; }
+ p + .stat {
+ margin-top: -1rem; }
+
+.no-bullet {
+ margin-left: 0;
+ list-style: none; }
+
+.text-left {
+ text-align: left; }
+
+.text-right {
+ text-align: right; }
+
+.text-center {
+ text-align: center; }
+
+.text-justify {
+ text-align: justify; }
+
+@media screen and (min-width: 40em) {
+ .medium-text-left {
+ text-align: left; }
+ .medium-text-right {
+ text-align: right; }
+ .medium-text-center {
+ text-align: center; }
+ .medium-text-justify {
+ text-align: justify; } }
+
+@media screen and (min-width: 64em) {
+ .large-text-left {
+ text-align: left; }
+ .large-text-right {
+ text-align: right; }
+ .large-text-center {
+ text-align: center; }
+ .large-text-justify {
+ text-align: justify; } }
+
+.show-for-print {
+ display: none !important; }
+
+@media print {
+ * {
+ background: transparent !important;
+ color: black !important;
+ box-shadow: none !important;
+ text-shadow: none !important; }
+ .show-for-print {
+ display: block !important; }
+ .hide-for-print {
+ display: none !important; }
+ table.show-for-print {
+ display: table !important; }
+ thead.show-for-print {
+ display: table-header-group !important; }
+ tbody.show-for-print {
+ display: table-row-group !important; }
+ tr.show-for-print {
+ display: table-row !important; }
+ td.show-for-print {
+ display: table-cell !important; }
+ th.show-for-print {
+ display: table-cell !important; }
+ a,
+ a:visited {
+ text-decoration: underline; }
+ a[href]:after {
+ content: " (" attr(href) ")"; }
+ .ir a:after,
+ a[href^='javascript:']:after,
+ a[href^='#']:after {
+ content: ''; }
+ abbr[title]:after {
+ content: " (" attr(title) ")"; }
+ pre,
+ blockquote {
+ border: 1px solid #8a8a8a;
+ page-break-inside: avoid; }
+ thead {
+ display: table-header-group; }
+ tr,
+ img {
+ page-break-inside: avoid; }
+ img {
+ max-width: 100% !important; }
+ @page {
+ margin: 0.5cm; }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3; }
+ h2,
+ h3 {
+ page-break-after: avoid; } }
+
+.button {
+ display: inline-block;
+ text-align: center;
+ line-height: 1;
+ cursor: pointer;
+ -webkit-appearance: none;
+ transition: background-color 0.25s ease-out, color 0.25s ease-out;
+ vertical-align: middle;
+ border: 1px solid transparent;
+ border-radius: 0;
+ padding: 0.85em 1em;
+ margin: 0 0 1rem 0;
+ font-size: 0.9rem;
+ background-color: #2199e8;
+ color: #fefefe; }
+ [data-whatinput='mouse'] .button {
+ outline: 0; }
+ .button:hover, .button:focus {
+ background-color: #1583cc;
+ color: #fefefe; }
+ .button.tiny {
+ font-size: 0.6rem; }
+ .button.small {
+ font-size: 0.75rem; }
+ .button.large {
+ font-size: 1.25rem; }
+ .button.expanded {
+ display: block;
+ width: 100%;
+ margin-left: 0;
+ margin-right: 0; }
+ .button.primary {
+ background-color: #2199e8;
+ color: #fefefe; }
+ .button.primary:hover, .button.primary:focus {
+ background-color: #147cc0;
+ color: #fefefe; }
+ .button.secondary {
+ background-color: #777;
+ color: #fefefe; }
+ .button.secondary:hover, .button.secondary:focus {
+ background-color: #5f5f5f;
+ color: #fefefe; }
+ .button.success {
+ background-color: #3adb76;
+ color: #fefefe; }
+ .button.success:hover, .button.success:focus {
+ background-color: #22bb5b;
+ color: #fefefe; }
+ .button.warning {
+ background-color: #ffae00;
+ color: #fefefe; }
+ .button.warning:hover, .button.warning:focus {
+ background-color: #cc8b00;
+ color: #fefefe; }
+ .button.alert {
+ background-color: #ec5840;
+ color: #fefefe; }
+ .button.alert:hover, .button.alert:focus {
+ background-color: #da3116;
+ color: #fefefe; }
+ .button.hollow {
+ border: 1px solid #2199e8;
+ color: #2199e8; }
+ .button.hollow, .button.hollow:hover, .button.hollow:focus {
+ background-color: transparent; }
+ .button.hollow:hover, .button.hollow:focus {
+ border-color: #0c4d78;
+ color: #0c4d78; }
+ .button.hollow.primary {
+ border: 1px solid #2199e8;
+ color: #2199e8; }
+ .button.hollow.primary:hover, .button.hollow.primary:focus {
+ border-color: #0c4d78;
+ color: #0c4d78; }
+ .button.hollow.secondary {
+ border: 1px solid #777;
+ color: #777; }
+ .button.hollow.secondary:hover, .button.hollow.secondary:focus {
+ border-color: #3c3c3c;
+ color: #3c3c3c; }
+ .button.hollow.success {
+ border: 1px solid #3adb76;
+ color: #3adb76; }
+ .button.hollow.success:hover, .button.hollow.success:focus {
+ border-color: #157539;
+ color: #157539; }
+ .button.hollow.warning {
+ border: 1px solid #ffae00;
+ color: #ffae00; }
+ .button.hollow.warning:hover, .button.hollow.warning:focus {
+ border-color: #805700;
+ color: #805700; }
+ .button.hollow.alert {
+ border: 1px solid #ec5840;
+ color: #ec5840; }
+ .button.hollow.alert:hover, .button.hollow.alert:focus {
+ border-color: #881f0e;
+ color: #881f0e; }
+ .button.disabled, .button[disabled] {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
+ background-color: #2199e8;
+ color: #fefefe; }
+ .button.disabled.primary, .button[disabled].primary {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
+ background-color: #2199e8;
+ color: #fefefe; }
+ .button.disabled.secondary, .button[disabled].secondary {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
+ background-color: #777;
+ color: #fefefe; }
+ .button.disabled.success, .button[disabled].success {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
+ background-color: #3adb76;
+ color: #fefefe; }
+ .button.disabled.warning, .button[disabled].warning {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
+ background-color: #ffae00;
+ color: #fefefe; }
+ .button.disabled.alert, .button[disabled].alert {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
+ background-color: #ec5840;
+ color: #fefefe; }
+ .button.dropdown::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.4em;
+ border-color: #fefefe transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ position: relative;
+ top: 0.4em;
+ float: right;
+ margin-left: 1em;
+ display: inline-block; }
+ .button.arrow-only::after {
+ margin-left: 0;
+ float: none;
+ top: -0.1em; }
+
+[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
+textarea {
+ display: block;
+ box-sizing: border-box;
+ width: 100%;
+ height: 2.4375rem;
+ padding: 0.5rem;
+ border: 1px solid #cacaca;
+ margin: 0 0 1rem;
+ font-family: inherit;
+ font-size: 1rem;
+ color: #0a0a0a;
+ background-color: #fefefe;
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+ border-radius: 0;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
+ -webkit-appearance: none;
+ -moz-appearance: none; }
+ [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
+ textarea:focus {
+ border: 1px solid #8a8a8a;
+ background-color: #fefefe;
+ outline: none;
+ box-shadow: 0 0 5px #cacaca;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+
+textarea {
+ max-width: 100%; }
+ textarea[rows] {
+ height: auto; }
+
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+ color: #cacaca; }
+
+input::-moz-placeholder,
+textarea::-moz-placeholder {
+ color: #cacaca; }
+
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+ color: #cacaca; }
+
+input::placeholder,
+textarea::placeholder {
+ color: #cacaca; }
+
+input:disabled, input[readonly],
+textarea:disabled,
+textarea[readonly] {
+ background-color: #e6e6e6;
+ cursor: not-allowed; }
+
+[type='submit'],
+[type='button'] {
+ border-radius: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none; }
+
+input[type='search'] {
+ box-sizing: border-box; }
+
+[type='file'],
+[type='checkbox'],
+[type='radio'] {
+ margin: 0 0 1rem; }
+
+[type='checkbox'] + label,
+[type='radio'] + label {
+ display: inline-block;
+ margin-left: 0.5rem;
+ margin-right: 1rem;
+ margin-bottom: 0;
+ vertical-align: baseline; }
+ [type='checkbox'] + label[for],
+ [type='radio'] + label[for] {
+ cursor: pointer; }
+
+label > [type='checkbox'],
+label > [type='radio'] {
+ margin-right: 0.5rem; }
+
+[type='file'] {
+ width: 100%; }
+
+label {
+ display: block;
+ margin: 0;
+ font-size: 0.875rem;
+ font-weight: normal;
+ line-height: 1.8;
+ color: #0a0a0a; }
+ label.middle {
+ margin: 0 0 1rem;
+ padding: 0.5625rem 0; }
+
+.help-text {
+ margin-top: -0.5rem;
+ font-size: 0.8125rem;
+ font-style: italic;
+ color: #0a0a0a; }
+
+.input-group {
+ display: table;
+ width: 100%;
+ margin-bottom: 1rem; }
+ .input-group > :first-child {
+ border-radius: 0 0 0 0; }
+ .input-group > :last-child > * {
+ border-radius: 0 0 0 0; }
+
+.input-group-label, .input-group-field, .input-group-button {
+ margin: 0;
+ white-space: nowrap;
+ display: table-cell;
+ vertical-align: middle; }
+
+.input-group-label {
+ text-align: center;
+ padding: 0 1rem;
+ background: #e6e6e6;
+ color: #0a0a0a;
+ border: 1px solid #cacaca;
+ white-space: nowrap;
+ width: 1%;
+ height: 100%; }
+ .input-group-label:first-child {
+ border-right: 0; }
+ .input-group-label:last-child {
+ border-left: 0; }
+
+.input-group-field {
+ border-radius: 0;
+ height: 2.5rem; }
+
+.input-group-button {
+ padding-top: 0;
+ padding-bottom: 0;
+ text-align: center;
+ height: 100%;
+ width: 1%; }
+ .input-group-button a,
+ .input-group-button input,
+ .input-group-button button {
+ margin: 0; }
+
+.input-group .input-group-button {
+ display: table-cell; }
+
+fieldset {
+ border: 0;
+ padding: 0;
+ margin: 0; }
+
+legend {
+ margin-bottom: 0.5rem;
+ max-width: 100%; }
+
+.fieldset {
+ border: 1px solid #cacaca;
+ padding: 1.25rem;
+ margin: 1.125rem 0; }
+ .fieldset legend {
+ background: #fefefe;
+ padding: 0 0.1875rem;
+ margin: 0;
+ margin-left: -0.1875rem; }
+
+select {
+ height: 2.4375rem;
+ padding: 0.5rem;
+ border: 1px solid #cacaca;
+ margin: 0 0 1rem;
+ font-size: 1rem;
+ font-family: inherit;
+ line-height: normal;
+ color: #0a0a0a;
+ background-color: #fefefe;
+ border-radius: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
+ background-size: 9px 6px;
+ background-position: right -1rem center;
+ background-origin: content-box;
+ background-repeat: no-repeat;
+ padding-right: 1.5rem; }
+ @media screen and (min-width: 0\0) {
+ select {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
+ select:disabled {
+ background-color: #e6e6e6;
+ cursor: not-allowed; }
+ select::-ms-expand {
+ display: none; }
+ select[multiple] {
+ height: auto;
+ background-image: none; }
+
+.is-invalid-input:not(:focus) {
+ background-color: rgba(236, 88, 64, 0.1);
+ border-color: #ec5840; }
+
+.is-invalid-label {
+ color: #ec5840; }
+
+.form-error {
+ display: none;
+ margin-top: -0.5rem;
+ margin-bottom: 1rem;
+ font-size: 0.75rem;
+ font-weight: bold;
+ color: #ec5840; }
+ .form-error.is-visible {
+ display: block; }
+
+.accordion {
+ list-style-type: none;
+ background: #fefefe;
+ margin-left: 0; }
+
+.accordion-item:first-child > :first-child {
+ border-radius: 0 0 0 0; }
+
+.accordion-item:last-child > :last-child {
+ border-radius: 0 0 0 0; }
+
+.accordion-title {
+ display: block;
+ padding: 1.25rem 1rem;
+ line-height: 1;
+ font-size: 0.75rem;
+ color: #2199e8;
+ position: relative;
+ border: 1px solid #e6e6e6;
+ border-bottom: 0; }
+ :last-child:not(.is-active) > .accordion-title {
+ border-radius: 0 0 0 0;
+ border-bottom: 1px solid #e6e6e6; }
+ .accordion-title:hover, .accordion-title:focus {
+ background-color: #e6e6e6; }
+ .accordion-title::before {
+ content: '+';
+ position: absolute;
+ right: 1rem;
+ top: 50%;
+ margin-top: -0.5rem; }
+ .is-active > .accordion-title::before {
+ content: '–'; }
+
+.accordion-content {
+ padding: 1rem;
+ display: none;
+ border: 1px solid #e6e6e6;
+ border-bottom: 0;
+ background-color: #fefefe;
+ color: #0a0a0a; }
+ :last-child > .accordion-content:last-child {
+ border-bottom: 1px solid #e6e6e6; }
+
+.is-accordion-submenu-parent > a {
+ position: relative; }
+ .is-accordion-submenu-parent > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ border-color: #2199e8 transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ position: absolute;
+ top: 50%;
+ margin-top: -4px;
+ right: 1rem; }
+
+.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
+ -webkit-transform-origin: 50% 50%;
+ -ms-transform-origin: 50% 50%;
+ transform-origin: 50% 50%;
+ -webkit-transform: scaleY(-1);
+ -ms-transform: scaleY(-1);
+ transform: scaleY(-1); }
+
+.badge {
+ display: inline-block;
+ padding: 0.3em;
+ min-width: 2.1em;
+ font-size: 0.6rem;
+ text-align: center;
+ border-radius: 50%;
+ background: #2199e8;
+ color: #fefefe; }
+ .badge.secondary {
+ background: #777;
+ color: #fefefe; }
+ .badge.success {
+ background: #3adb76;
+ color: #fefefe; }
+ .badge.warning {
+ background: #ffae00;
+ color: #fefefe; }
+ .badge.alert {
+ background: #ec5840;
+ color: #fefefe; }
+
+.breadcrumbs {
+ list-style: none;
+ margin: 0 0 1rem 0; }
+ .breadcrumbs::before, .breadcrumbs::after {
+ content: ' ';
+ display: table; }
+ .breadcrumbs::after {
+ clear: both; }
+ .breadcrumbs li {
+ float: left;
+ color: #0a0a0a;
+ font-size: 0.6875rem;
+ cursor: default;
+ text-transform: uppercase; }
+ .breadcrumbs li:not(:last-child)::after {
+ color: #cacaca;
+ content: "/";
+ margin: 0 0.75rem;
+ position: relative;
+ top: 1px;
+ opacity: 1; }
+ .breadcrumbs a {
+ color: #2199e8; }
+ .breadcrumbs a:hover {
+ text-decoration: underline; }
+ .breadcrumbs .disabled {
+ color: #cacaca;
+ cursor: not-allowed; }
+
+.button-group {
+ margin-bottom: 1rem;
+ font-size: 0; }
+ .button-group::before, .button-group::after {
+ content: ' ';
+ display: table; }
+ .button-group::after {
+ clear: both; }
+ .button-group .button {
+ margin: 0;
+ margin-right: 1px;
+ margin-bottom: 1px;
+ font-size: 0.9rem; }
+ .button-group .button:last-child {
+ margin-right: 0; }
+ .button-group.tiny .button {
+ font-size: 0.6rem; }
+ .button-group.small .button {
+ font-size: 0.75rem; }
+ .button-group.large .button {
+ font-size: 1.25rem; }
+ .button-group.expanded {
+ margin-right: -1px; }
+ .button-group.expanded::before, .button-group.expanded::after {
+ display: none; }
+ .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
+ display: inline-block;
+ width: calc(50% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
+ display: inline-block;
+ width: calc(33.33333% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
+ display: inline-block;
+ width: calc(25% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
+ display: inline-block;
+ width: calc(20% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
+ display: inline-block;
+ width: calc(16.66667% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.primary .button {
+ background-color: #2199e8;
+ color: #fefefe; }
+ .button-group.primary .button:hover, .button-group.primary .button:focus {
+ background-color: #147cc0;
+ color: #fefefe; }
+ .button-group.secondary .button {
+ background-color: #777;
+ color: #fefefe; }
+ .button-group.secondary .button:hover, .button-group.secondary .button:focus {
+ background-color: #5f5f5f;
+ color: #fefefe; }
+ .button-group.success .button {
+ background-color: #3adb76;
+ color: #fefefe; }
+ .button-group.success .button:hover, .button-group.success .button:focus {
+ background-color: #22bb5b;
+ color: #fefefe; }
+ .button-group.warning .button {
+ background-color: #ffae00;
+ color: #fefefe; }
+ .button-group.warning .button:hover, .button-group.warning .button:focus {
+ background-color: #cc8b00;
+ color: #fefefe; }
+ .button-group.alert .button {
+ background-color: #ec5840;
+ color: #fefefe; }
+ .button-group.alert .button:hover, .button-group.alert .button:focus {
+ background-color: #da3116;
+ color: #fefefe; }
+ .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
+ width: 100%; }
+ .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
+ margin-bottom: 0; }
+ @media screen and (min-width: 40em) {
+ .button-group.stacked-for-small .button {
+ width: auto;
+ margin-bottom: 0; } }
+ @media screen and (min-width: 64em) {
+ .button-group.stacked-for-medium .button {
+ width: auto;
+ margin-bottom: 0; } }
+ @media screen and (max-width: 39.9375em) {
+ .button-group.stacked-for-small.expanded {
+ display: block; }
+ .button-group.stacked-for-small.expanded .button {
+ display: block;
+ margin-right: 0; } }
+
+.callout {
+ margin: 0 0 1rem 0;
+ padding: 1rem;
+ border: 1px solid rgba(10, 10, 10, 0.25);
+ border-radius: 0;
+ position: relative;
+ color: #0a0a0a;
+ background-color: white; }
+ .callout > :first-child {
+ margin-top: 0; }
+ .callout > :last-child {
+ margin-bottom: 0; }
+ .callout.primary {
+ background-color: #def0fc; }
+ .callout.secondary {
+ background-color: #ebebeb; }
+ .callout.success {
+ background-color: #e1faea; }
+ .callout.warning {
+ background-color: #fff3d9; }
+ .callout.alert {
+ background-color: #fce6e2; }
+ .callout.small {
+ padding-top: 0.5rem;
+ padding-right: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 0.5rem; }
+ .callout.large {
+ padding-top: 3rem;
+ padding-right: 3rem;
+ padding-bottom: 3rem;
+ padding-left: 3rem; }
+
+.close-button {
+ position: absolute;
+ color: #8a8a8a;
+ right: 1rem;
+ top: 0.5rem;
+ font-size: 2em;
+ line-height: 1;
+ cursor: pointer; }
+ [data-whatinput='mouse'] .close-button {
+ outline: 0; }
+ .close-button:hover, .close-button:focus {
+ color: #0a0a0a; }
+
+.menu {
+ margin: 0;
+ list-style-type: none; }
+ .menu > li {
+ display: table-cell;
+ vertical-align: middle; }
+ [data-whatinput='mouse'] .menu > li {
+ outline: 0; }
+ .menu > li > a {
+ display: block;
+ padding: 0.7rem 1rem;
+ line-height: 1; }
+ .menu input,
+ .menu a,
+ .menu button {
+ margin-bottom: 0; }
+ .menu > li > a img,
+ .menu > li > a i,
+ .menu > li > a svg {
+ vertical-align: middle; }
+ .menu > li > a img + span,
+ .menu > li > a i + span,
+ .menu > li > a svg + span {
+ vertical-align: middle; }
+ .menu > li > a img,
+ .menu > li > a i,
+ .menu > li > a svg {
+ margin-right: 0.25rem;
+ display: inline-block; }
+ .menu > li {
+ display: table-cell; }
+ .menu.vertical > li {
+ display: block; }
+ @media screen and (min-width: 40em) {
+ .menu.medium-horizontal > li {
+ display: table-cell; }
+ .menu.medium-vertical > li {
+ display: block; } }
+ @media screen and (min-width: 64em) {
+ .menu.large-horizontal > li {
+ display: table-cell; }
+ .menu.large-vertical > li {
+ display: block; } }
+ .menu.simple li {
+ line-height: 1;
+ display: inline-block;
+ margin-right: 1rem; }
+ .menu.simple a {
+ padding: 0; }
+ .menu.align-right::before, .menu.align-right::after {
+ content: ' ';
+ display: table; }
+ .menu.align-right::after {
+ clear: both; }
+ .menu.align-right > li {
+ float: right; }
+ .menu.expanded {
+ width: 100%;
+ display: table;
+ table-layout: fixed; }
+ .menu.expanded > li:first-child:last-child {
+ width: 100%; }
+ .menu.icon-top > li > a {
+ text-align: center; }
+ .menu.icon-top > li > a img,
+ .menu.icon-top > li > a i,
+ .menu.icon-top > li > a svg {
+ display: block;
+ margin: 0 auto 0.25rem; }
+ .menu.nested {
+ margin-left: 1rem; }
+ .menu .active > a {
+ color: #fefefe;
+ background: #2199e8; }
+
+.menu-text {
+ font-weight: bold;
+ color: inherit;
+ line-height: 1;
+ padding-top: 0;
+ padding-bottom: 0;
+ padding: 0.7rem 1rem; }
+
+.menu-centered {
+ text-align: center; }
+ .menu-centered > .menu {
+ display: inline-block; }
+
+.no-js [data-responsive-menu] ul {
+ display: none; }
+
+.menu-icon {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ cursor: pointer;
+ width: 20px;
+ height: 16px; }
+ .menu-icon::after {
+ content: '';
+ position: absolute;
+ display: block;
+ width: 100%;
+ height: 2px;
+ background: #fefefe;
+ top: 0;
+ left: 0;
+ box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; }
+ .menu-icon:hover::after {
+ background: #cacaca;
+ box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }
+
+.menu-icon.dark {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ cursor: pointer;
+ width: 20px;
+ height: 16px; }
+ .menu-icon.dark::after {
+ content: '';
+ position: absolute;
+ display: block;
+ width: 100%;
+ height: 2px;
+ background: #0a0a0a;
+ top: 0;
+ left: 0;
+ box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; }
+ .menu-icon.dark:hover::after {
+ background: #8a8a8a;
+ box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
+
+.is-drilldown {
+ position: relative;
+ overflow: hidden; }
+ .is-drilldown li {
+ display: block !important; }
+
+.is-drilldown-submenu {
+ position: absolute;
+ top: 0;
+ left: 100%;
+ z-index: -1;
+ width: 100%;
+ background: #fefefe;
+ transition: -webkit-transform 0.15s linear;
+ transition: transform 0.15s linear; }
+ .is-drilldown-submenu.is-active {
+ z-index: 1;
+ display: block;
+ -webkit-transform: translateX(-100%);
+ -ms-transform: translateX(-100%);
+ transform: translateX(-100%); }
+ .is-drilldown-submenu.is-closing {
+ -webkit-transform: translateX(100%);
+ -ms-transform: translateX(100%);
+ transform: translateX(100%); }
+
+.is-drilldown-submenu-parent > a {
+ position: relative; }
+ .is-drilldown-submenu-parent > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0;
+ position: absolute;
+ top: 50%;
+ margin-top: -6px;
+ right: 1rem; }
+
+.js-drilldown-back > a::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0;
+ border-left-width: 0;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 0.75rem; }
+
+.dropdown-pane {
+ background-color: #fefefe;
+ border: 1px solid #cacaca;
+ border-radius: 0;
+ display: block;
+ font-size: 1rem;
+ padding: 1rem;
+ position: absolute;
+ visibility: hidden;
+ width: 300px;
+ z-index: 10; }
+ .dropdown-pane.is-open {
+ visibility: visible; }
+
+.dropdown-pane.tiny {
+ width: 100px; }
+
+.dropdown-pane.small {
+ width: 200px; }
+
+.dropdown-pane.large {
+ width: 400px; }
+
+.dropdown.menu > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 0;
+ top: 100%; }
+
+.dropdown.menu > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 0;
+ top: 100%; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a {
+ padding-right: 1.5rem;
+ position: relative; }
+
+.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: #2199e8 transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ right: 5px;
+ margin-top: -2px; }
+
+[data-whatinput='mouse'] .dropdown.menu a {
+ outline: 0; }
+
+.no-js .dropdown.menu ul {
+ display: none; }
+
+.dropdown.menu.vertical > li .is-dropdown-submenu {
+ top: 0; }
+
+.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 100%; }
+
+.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
+
+.dropdown.menu.vertical > li > a::after {
+ right: 14px;
+ margin-top: -3px; }
+
+.dropdown.menu.vertical > li.opens-left > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0; }
+
+.dropdown.menu.vertical > li.opens-right > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0; }
+
+@media screen and (min-width: 40em) {
+ .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 0;
+ top: 100%; }
+ .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 0;
+ top: 100%; }
+ .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
+ padding-right: 1.5rem;
+ position: relative; }
+ .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: #2199e8 transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ right: 5px;
+ margin-top: -2px; }
+ .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
+ top: 0; }
+ .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 100%; }
+ .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
+ .dropdown.menu.medium-vertical > li > a::after {
+ right: 14px;
+ margin-top: -3px; }
+ .dropdown.menu.medium-vertical > li.opens-left > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0; }
+ .dropdown.menu.medium-vertical > li.opens-right > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0; } }
+
+@media screen and (min-width: 64em) {
+ .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 0;
+ top: 100%; }
+ .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 0;
+ top: 100%; }
+ .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
+ padding-right: 1.5rem;
+ position: relative; }
+ .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: #2199e8 transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ right: 5px;
+ margin-top: -2px; }
+ .dropdown.menu.large-vertical > li .is-dropdown-submenu {
+ top: 0; }
+ .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 100%; }
+ .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
+ .dropdown.menu.large-vertical > li > a::after {
+ right: 14px;
+ margin-top: -3px; }
+ .dropdown.menu.large-vertical > li.opens-left > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0; }
+ .dropdown.menu.large-vertical > li.opens-right > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0; } }
+
+.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
+ top: 100%;
+ left: auto;
+ right: 0; }
+
+.is-dropdown-menu.vertical {
+ width: 100px; }
+ .is-dropdown-menu.vertical.align-right {
+ float: right; }
+
+.is-dropdown-submenu-parent {
+ position: relative; }
+ .is-dropdown-submenu-parent a::after {
+ position: absolute;
+ top: 50%;
+ right: 5px;
+ margin-top: -2px; }
+ .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
+ top: 100%;
+ left: auto; }
+ .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 100%; }
+ .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
+
+.is-dropdown-submenu {
+ display: none;
+ position: absolute;
+ top: 0;
+ left: 100%;
+ min-width: 200px;
+ z-index: 1;
+ background: #fefefe;
+ border: 1px solid #cacaca; }
+ .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
+ right: 14px;
+ margin-top: -3px; }
+ .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0; }
+ .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0; }
+ .is-dropdown-submenu .is-dropdown-submenu {
+ margin-top: -1px; }
+ .is-dropdown-submenu > li {
+ width: 100%; }
+ .is-dropdown-submenu.js-dropdown-active {
+ display: block; }
+
+.flex-video {
+ position: relative;
+ height: 0;
+ padding-bottom: 75%;
+ margin-bottom: 1rem;
+ overflow: hidden; }
+ .flex-video iframe,
+ .flex-video object,
+ .flex-video embed,
+ .flex-video video {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%; }
+ .flex-video.widescreen {
+ padding-bottom: 56.25%; }
+ .flex-video.vimeo {
+ padding-top: 0; }
+
+.label {
+ display: inline-block;
+ padding: 0.33333rem 0.5rem;
+ font-size: 0.8rem;
+ line-height: 1;
+ white-space: nowrap;
+ cursor: default;
+ border-radius: 0;
+ background: #2199e8;
+ color: #fefefe; }
+ .label.secondary {
+ background: #777;
+ color: #fefefe; }
+ .label.success {
+ background: #3adb76;
+ color: #fefefe; }
+ .label.warning {
+ background: #ffae00;
+ color: #fefefe; }
+ .label.alert {
+ background: #ec5840;
+ color: #fefefe; }
+
+.media-object {
+ margin-bottom: 1rem;
+ display: block; }
+ .media-object img {
+ max-width: none; }
+ @media screen and (max-width: 39.9375em) {
+ .media-object.stack-for-small .media-object-section {
+ padding: 0;
+ padding-bottom: 1rem;
+ display: block; }
+ .media-object.stack-for-small .media-object-section img {
+ width: 100%; } }
+
+.media-object-section {
+ display: table-cell;
+ vertical-align: top; }
+ .media-object-section:first-child {
+ padding-right: 1rem; }
+ .media-object-section:last-child:not(:nth-child(2)) {
+ padding-left: 1rem; }
+ .media-object-section > :last-child {
+ margin-bottom: 0; }
+ .media-object-section.middle {
+ vertical-align: middle; }
+ .media-object-section.bottom {
+ vertical-align: bottom; }
+
+html,
+body {
+ height: 100%; }
+
+.off-canvas-wrapper {
+ width: 100%;
+ overflow-x: hidden;
+ position: relative;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-overflow-scrolling: auto; }
+
+.off-canvas-wrapper-inner {
+ position: relative;
+ width: 100%;
+ min-height: 100%;
+ transition: -webkit-transform 0.5s ease;
+ transition: transform 0.5s ease; }
+ .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
+ content: ' ';
+ display: table; }
+ .off-canvas-wrapper-inner::after {
+ clear: both; }
+
+.off-canvas-content,
+.off-canvas-content {
+ min-height: 100%;
+ background: #fefefe;
+ transition: -webkit-transform 0.5s ease;
+ transition: transform 0.5s ease;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ z-index: 1;
+ padding-bottom: 0.1px;
+ box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }
+
+.js-off-canvas-exit {
+ display: none;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(254, 254, 254, 0.25);
+ cursor: pointer;
+ transition: background 0.5s ease; }
+
+.off-canvas {
+ position: absolute;
+ background: #e6e6e6;
+ z-index: -1;
+ max-height: 100%;
+ overflow-y: auto;
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0); }
+ [data-whatinput='mouse'] .off-canvas {
+ outline: 0; }
+ .off-canvas.position-left {
+ left: -250px;
+ top: 0;
+ width: 250px; }
+ .is-open-left {
+ -webkit-transform: translateX(250px);
+ -ms-transform: translateX(250px);
+ transform: translateX(250px); }
+ .off-canvas.position-right {
+ right: -250px;
+ top: 0;
+ width: 250px; }
+ .is-open-right {
+ -webkit-transform: translateX(-250px);
+ -ms-transform: translateX(-250px);
+ transform: translateX(-250px); }
+
+@media screen and (min-width: 40em) {
+ .position-left.reveal-for-medium {
+ left: 0;
+ z-index: auto;
+ position: fixed; }
+ .position-left.reveal-for-medium ~ .off-canvas-content {
+ margin-left: 250px; }
+ .position-right.reveal-for-medium {
+ right: 0;
+ z-index: auto;
+ position: fixed; }
+ .position-right.reveal-for-medium ~ .off-canvas-content {
+ margin-right: 250px; } }
+
+@media screen and (min-width: 64em) {
+ .position-left.reveal-for-large {
+ left: 0;
+ z-index: auto;
+ position: fixed; }
+ .position-left.reveal-for-large ~ .off-canvas-content {
+ margin-left: 250px; }
+ .position-right.reveal-for-large {
+ right: 0;
+ z-index: auto;
+ position: fixed; }
+ .position-right.reveal-for-large ~ .off-canvas-content {
+ margin-right: 250px; } }
+
+.orbit {
+ position: relative; }
+
+.orbit-container {
+ position: relative;
+ margin: 0;
+ overflow: hidden;
+ list-style: none; }
+
+.orbit-slide {
+ width: 100%;
+ max-height: 100%; }
+ .orbit-slide.no-motionui.is-active {
+ top: 0;
+ left: 0; }
+
+.orbit-figure {
+ margin: 0; }
+
+.orbit-image {
+ margin: 0;
+ width: 100%;
+ max-width: 100%; }
+
+.orbit-caption {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ padding: 1rem;
+ margin-bottom: 0;
+ color: #fefefe;
+ background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous, .orbit-next {
+ position: absolute;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%);
+ z-index: 10;
+ padding: 1rem;
+ color: #fefefe; }
+ [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
+ outline: 0; }
+ .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
+ background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous {
+ left: 0; }
+
+.orbit-next {
+ left: auto;
+ right: 0; }
+
+.orbit-bullets {
+ position: relative;
+ margin-top: 0.8rem;
+ margin-bottom: 0.8rem;
+ text-align: center; }
+ [data-whatinput='mouse'] .orbit-bullets {
+ outline: 0; }
+ .orbit-bullets button {
+ width: 1.2rem;
+ height: 1.2rem;
+ margin: 0.1rem;
+ background-color: #cacaca;
+ border-radius: 50%; }
+ .orbit-bullets button:hover {
+ background-color: #8a8a8a; }
+ .orbit-bullets button.is-active {
+ background-color: #8a8a8a; }
+
+.pagination {
+ margin-left: 0;
+ margin-bottom: 1rem; }
+ .pagination::before, .pagination::after {
+ content: ' ';
+ display: table; }
+ .pagination::after {
+ clear: both; }
+ .pagination li {
+ font-size: 0.875rem;
+ margin-right: 0.0625rem;
+ border-radius: 0;
+ display: none; }
+ .pagination li:last-child, .pagination li:first-child {
+ display: inline-block; }
+ @media screen and (min-width: 40em) {
+ .pagination li {
+ display: inline-block; } }
+ .pagination a,
+ .pagination button {
+ color: #0a0a0a;
+ display: block;
+ padding: 0.1875rem 0.625rem;
+ border-radius: 0; }
+ .pagination a:hover,
+ .pagination button:hover {
+ background: #e6e6e6; }
+ .pagination .current {
+ padding: 0.1875rem 0.625rem;
+ background: #2199e8;
+ color: #fefefe;
+ cursor: default; }
+ .pagination .disabled {
+ padding: 0.1875rem 0.625rem;
+ color: #cacaca;
+ cursor: not-allowed; }
+ .pagination .disabled:hover {
+ background: transparent; }
+ .pagination .ellipsis::after {
+ content: '\2026';
+ padding: 0.1875rem 0.625rem;
+ color: #0a0a0a; }
+
+.pagination-previous a::before,
+.pagination-previous.disabled::before {
+ content: '\00ab';
+ display: inline-block;
+ margin-right: 0.5rem; }
+
+.pagination-next a::after,
+.pagination-next.disabled::after {
+ content: '\00bb';
+ display: inline-block;
+ margin-left: 0.5rem; }
+
+.progress {
+ background-color: #cacaca;
+ height: 1rem;
+ margin-bottom: 1rem;
+ border-radius: 0; }
+ .progress.primary .progress-meter {
+ background-color: #2199e8; }
+ .progress.secondary .progress-meter {
+ background-color: #777; }
+ .progress.success .progress-meter {
+ background-color: #3adb76; }
+ .progress.warning .progress-meter {
+ background-color: #ffae00; }
+ .progress.alert .progress-meter {
+ background-color: #ec5840; }
+
+.progress-meter {
+ position: relative;
+ display: block;
+ width: 0%;
+ height: 100%;
+ background-color: #2199e8; }
+
+.progress-meter-text {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ position: absolute;
+ margin: 0;
+ font-size: 0.75rem;
+ font-weight: bold;
+ color: #fefefe;
+ white-space: nowrap; }
+
+body.is-reveal-open {
+ overflow: hidden; }
+
+html.is-reveal-open,
+html.is-reveal-open body {
+ min-height: 100%;
+ overflow: hidden;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none; }
+
+.reveal-overlay {
+ display: none;
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 1005;
+ background-color: rgba(10, 10, 10, 0.45);
+ overflow-y: scroll; }
+
+.reveal {
+ display: none;
+ z-index: 1006;
+ padding: 1rem;
+ border: 1px solid #cacaca;
+ background-color: #fefefe;
+ border-radius: 0;
+ position: relative;
+ top: 100px;
+ margin-left: auto;
+ margin-right: auto;
+ overflow-y: auto; }
+ [data-whatinput='mouse'] .reveal {
+ outline: 0; }
+ @media screen and (min-width: 40em) {
+ .reveal {
+ min-height: 0; } }
+ .reveal .column, .reveal .columns,
+ .reveal .columns {
+ min-width: 0; }
+ .reveal > :last-child {
+ margin-bottom: 0; }
+ @media screen and (min-width: 40em) {
+ .reveal {
+ width: 600px;
+ max-width: 75rem; } }
+ @media screen and (min-width: 40em) {
+ .reveal .reveal {
+ left: auto;
+ right: auto;
+ margin: 0 auto; } }
+ .reveal.collapse {
+ padding: 0; }
+ @media screen and (min-width: 40em) {
+ .reveal.tiny {
+ width: 30%;
+ max-width: 75rem; } }
+ @media screen and (min-width: 40em) {
+ .reveal.small {
+ width: 50%;
+ max-width: 75rem; } }
+ @media screen and (min-width: 40em) {
+ .reveal.large {
+ width: 90%;
+ max-width: 75rem; } }
+ .reveal.full {
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ height: 100vh;
+ min-height: 100vh;
+ max-width: none;
+ margin-left: 0;
+ border: 0;
+ border-radius: 0; }
+ @media screen and (max-width: 39.9375em) {
+ .reveal {
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ height: 100vh;
+ min-height: 100vh;
+ max-width: none;
+ margin-left: 0;
+ border: 0;
+ border-radius: 0; } }
+ .reveal.without-overlay {
+ position: fixed; }
+
+.slider {
+ position: relative;
+ height: 0.5rem;
+ margin-top: 1.25rem;
+ margin-bottom: 2.25rem;
+ background-color: #e6e6e6;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -ms-touch-action: none;
+ touch-action: none; }
+
+.slider-fill {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: inline-block;
+ max-width: 100%;
+ height: 0.5rem;
+ background-color: #cacaca;
+ transition: all 0.2s ease-in-out; }
+ .slider-fill.is-dragging {
+ transition: all 0s linear; }
+
+.slider-handle {
+ position: absolute;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%);
+ position: absolute;
+ left: 0;
+ z-index: 1;
+ display: inline-block;
+ width: 1.4rem;
+ height: 1.4rem;
+ background-color: #2199e8;
+ transition: all 0.2s ease-in-out;
+ -ms-touch-action: manipulation;
+ touch-action: manipulation;
+ border-radius: 0; }
+ [data-whatinput='mouse'] .slider-handle {
+ outline: 0; }
+ .slider-handle:hover {
+ background-color: #1583cc; }
+ .slider-handle.is-dragging {
+ transition: all 0s linear; }
+
+.slider.disabled,
+.slider[disabled] {
+ opacity: 0.25;
+ cursor: not-allowed; }
+
+.slider.vertical {
+ display: inline-block;
+ width: 0.5rem;
+ height: 12.5rem;
+ margin: 0 1.25rem;
+ -webkit-transform: scale(1, -1);
+ -ms-transform: scale(1, -1);
+ transform: scale(1, -1); }
+ .slider.vertical .slider-fill {
+ top: 0;
+ width: 0.5rem;
+ max-height: 100%; }
+ .slider.vertical .slider-handle {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ width: 1.4rem;
+ height: 1.4rem;
+ -webkit-transform: translateX(-50%);
+ -ms-transform: translateX(-50%);
+ transform: translateX(-50%); }
+
+.sticky-container {
+ position: relative; }
+
+.sticky {
+ position: absolute;
+ z-index: 0;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); }
+
+.sticky.is-stuck {
+ position: fixed;
+ z-index: 5; }
+ .sticky.is-stuck.is-at-top {
+ top: 0; }
+ .sticky.is-stuck.is-at-bottom {
+ bottom: 0; }
+
+.sticky.is-anchored {
+ position: absolute;
+ left: auto;
+ right: auto; }
+ .sticky.is-anchored.is-at-bottom {
+ bottom: 0; }
+
+.switch {
+ height: 2rem;
+ margin-bottom: 1rem;
+ outline: 0;
+ position: relative;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ color: #fefefe;
+ font-weight: bold;
+ font-size: 0.875rem; }
+
+.switch-input {
+ opacity: 0;
+ position: absolute;
+ margin-bottom: 0; }
+
+.switch-paddle {
+ background: #cacaca;
+ cursor: pointer;
+ display: block;
+ position: relative;
+ width: 4rem;
+ height: 2rem;
+ transition: all 0.25s ease-out;
+ border-radius: 0;
+ color: inherit;
+ font-weight: inherit; }
+ input + .switch-paddle {
+ margin: 0; }
+ .switch-paddle::after {
+ background: #fefefe;
+ content: '';
+ display: block;
+ position: absolute;
+ height: 1.5rem;
+ left: 0.25rem;
+ top: 0.25rem;
+ width: 1.5rem;
+ transition: all 0.25s ease-out;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ border-radius: 0; }
+ input:checked ~ .switch-paddle {
+ background: #2199e8; }
+ input:checked ~ .switch-paddle::after {
+ left: 2.25rem; }
+ [data-whatinput='mouse'] input:focus ~ .switch-paddle {
+ outline: 0; }
+
+.switch-active, .switch-inactive {
+ position: absolute;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%); }
+
+.switch-active {
+ left: 8%;
+ display: none; }
+ input:checked + label > .switch-active {
+ display: block; }
+
+.switch-inactive {
+ right: 15%; }
+ input:checked + label > .switch-inactive {
+ display: none; }
+
+.switch.tiny {
+ height: 1.5rem; }
+ .switch.tiny .switch-paddle {
+ width: 3rem;
+ height: 1.5rem;
+ font-size: 0.625rem; }
+ .switch.tiny .switch-paddle::after {
+ width: 1rem;
+ height: 1rem; }
+ .switch.tiny input:checked ~ .switch-paddle::after {
+ left: 1.75rem; }
+
+.switch.small {
+ height: 1.75rem; }
+ .switch.small .switch-paddle {
+ width: 3.5rem;
+ height: 1.75rem;
+ font-size: 0.75rem; }
+ .switch.small .switch-paddle::after {
+ width: 1.25rem;
+ height: 1.25rem; }
+ .switch.small input:checked ~ .switch-paddle::after {
+ left: 2rem; }
+
+.switch.large {
+ height: 2.5rem; }
+ .switch.large .switch-paddle {
+ width: 5rem;
+ height: 2.5rem;
+ font-size: 1rem; }
+ .switch.large .switch-paddle::after {
+ width: 2rem;
+ height: 2rem; }
+ .switch.large input:checked ~ .switch-paddle::after {
+ left: 2.75rem; }
+
+table {
+ width: 100%;
+ margin-bottom: 1rem;
+ border-radius: 0; }
+ table thead,
+ table tbody,
+ table tfoot {
+ border: 1px solid #f1f1f1;
+ background-color: #fefefe; }
+ table caption {
+ font-weight: bold;
+ padding: 0.5rem 0.625rem 0.625rem; }
+ table thead {
+ background: #f8f8f8;
+ color: #0a0a0a; }
+ table tfoot {
+ background: #f1f1f1;
+ color: #0a0a0a; }
+ table thead tr,
+ table tfoot tr {
+ background: transparent; }
+ table thead th,
+ table thead td,
+ table tfoot th,
+ table tfoot td {
+ padding: 0.5rem 0.625rem 0.625rem;
+ font-weight: bold;
+ text-align: left; }
+ table tbody tr:nth-child(even) {
+ background-color: #f1f1f1; }
+ table tbody th,
+ table tbody td {
+ padding: 0.5rem 0.625rem 0.625rem; }
+
+@media screen and (max-width: 63.9375em) {
+ table.stack thead {
+ display: none; }
+ table.stack tfoot {
+ display: none; }
+ table.stack tr,
+ table.stack th,
+ table.stack td {
+ display: block; }
+ table.stack td {
+ border-top: 0; } }
+
+table.scroll {
+ display: block;
+ width: 100%;
+ overflow-x: auto; }
+
+table.hover thead tr:hover {
+ background-color: #f3f3f3; }
+
+table.hover tfoot tr:hover {
+ background-color: #ececec; }
+
+table.hover tbody tr:hover {
+ background-color: #f9f9f9; }
+
+table.hover tbody tr:nth-of-type(even):hover {
+ background-color: #ececec; }
+
+.table-scroll {
+ overflow-x: auto; }
+ .table-scroll table {
+ width: auto; }
+
+.tabs {
+ margin: 0;
+ list-style-type: none;
+ background: #fefefe;
+ border: 1px solid #e6e6e6; }
+ .tabs::before, .tabs::after {
+ content: ' ';
+ display: table; }
+ .tabs::after {
+ clear: both; }
+
+.tabs.vertical > li {
+ width: auto;
+ float: none;
+ display: block; }
+
+.tabs.simple > li > a {
+ padding: 0; }
+ .tabs.simple > li > a:hover {
+ background: transparent; }
+
+.tabs.primary {
+ background: #2199e8; }
+ .tabs.primary > li > a {
+ color: #fefefe; }
+ .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
+ background: #1893e4; }
+
+.tabs-title {
+ float: left; }
+ .tabs-title > a {
+ display: block;
+ padding: 1.25rem 1.5rem;
+ line-height: 1;
+ font-size: 0.75rem; }
+ .tabs-title > a:hover {
+ background: #fefefe; }
+ .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
+ background: #e6e6e6; }
+
+.tabs-content {
+ background: #fefefe;
+ transition: all 0.5s ease;
+ border: 1px solid #e6e6e6;
+ border-top: 0; }
+
+.tabs-content.vertical {
+ border: 1px solid #e6e6e6;
+ border-left: 0; }
+
+.tabs-panel {
+ display: none;
+ padding: 1rem; }
+ .tabs-panel.is-active {
+ display: block; }
+
+.thumbnail {
+ border: solid 4px #fefefe;
+ box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+ display: inline-block;
+ line-height: 0;
+ max-width: 100%;
+ transition: box-shadow 200ms ease-out;
+ border-radius: 0;
+ margin-bottom: 1rem; }
+ .thumbnail:hover, .thumbnail:focus {
+ box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }
+
+.title-bar {
+ background: #0a0a0a;
+ color: #fefefe;
+ padding: 0.5rem; }
+ .title-bar::before, .title-bar::after {
+ content: ' ';
+ display: table; }
+ .title-bar::after {
+ clear: both; }
+ .title-bar .menu-icon {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem; }
+
+.title-bar-left {
+ float: left; }
+
+.title-bar-right {
+ float: right;
+ text-align: right; }
+
+.title-bar-title {
+ font-weight: bold;
+ vertical-align: middle;
+ display: inline-block; }
+
+.has-tip {
+ border-bottom: dotted 1px #8a8a8a;
+ font-weight: bold;
+ position: relative;
+ display: inline-block;
+ cursor: help; }
+
+.tooltip {
+ background-color: #0a0a0a;
+ color: #fefefe;
+ font-size: 80%;
+ padding: 0.75rem;
+ position: absolute;
+ z-index: 10;
+ top: calc(100% + 0.6495rem);
+ max-width: 10rem !important;
+ border-radius: 0; }
+ .tooltip::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ border-color: transparent transparent #0a0a0a;
+ border-bottom-style: solid;
+ border-top-width: 0;
+ bottom: 100%;
+ position: absolute;
+ left: 50%;
+ -webkit-transform: translateX(-50%);
+ -ms-transform: translateX(-50%);
+ transform: translateX(-50%); }
+ .tooltip.top::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ border-color: #0a0a0a transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ top: 100%;
+ bottom: auto; }
+ .tooltip.left::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ border-color: transparent transparent transparent #0a0a0a;
+ border-left-style: solid;
+ border-right-width: 0;
+ bottom: auto;
+ left: 100%;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%); }
+ .tooltip.right::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ border-color: transparent #0a0a0a transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0;
+ bottom: auto;
+ left: auto;
+ right: 100%;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%); }
+
+.top-bar {
+ padding: 0.5rem; }
+ .top-bar::before, .top-bar::after {
+ content: ' ';
+ display: table; }
+ .top-bar::after {
+ clear: both; }
+ .top-bar,
+ .top-bar ul {
+ background-color: #e6e6e6; }
+ .top-bar input {
+ max-width: 200px;
+ margin-right: 1rem; }
+ .top-bar .input-group-field {
+ width: 100%;
+ margin-right: 0; }
+ .top-bar input.button {
+ width: auto; }
+ .top-bar .top-bar-left,
+ .top-bar .top-bar-right {
+ width: 100%; }
+ @media screen and (min-width: 40em) {
+ .top-bar .top-bar-left,
+ .top-bar .top-bar-right {
+ width: auto; } }
+ @media screen and (max-width: 63.9375em) {
+ .top-bar.stacked-for-medium .top-bar-left,
+ .top-bar.stacked-for-medium .top-bar-right {
+ width: 100%; } }
+ @media screen and (max-width: 74.9375em) {
+ .top-bar.stacked-for-large .top-bar-left,
+ .top-bar.stacked-for-large .top-bar-right {
+ width: 100%; } }
+
+.top-bar-title {
+ float: left;
+ margin-right: 1rem; }
+
+.top-bar-left {
+ float: left; }
+
+.top-bar-right {
+ float: right; }
+
+.hide {
+ display: none !important; }
+
+.invisible {
+ visibility: hidden; }
+
+@media screen and (max-width: 39.9375em) {
+ .hide-for-small-only {
+ display: none !important; } }
+
+@media screen and (max-width: 0em), screen and (min-width: 40em) {
+ .show-for-small-only {
+ display: none !important; } }
+
+@media screen and (min-width: 40em) {
+ .hide-for-medium {
+ display: none !important; } }
+
+@media screen and (max-width: 39.9375em) {
+ .show-for-medium {
+ display: none !important; } }
+
+@media screen and (min-width: 40em) and (max-width: 63.9375em) {
+ .hide-for-medium-only {
+ display: none !important; } }
+
+@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
+ .show-for-medium-only {
+ display: none !important; } }
+
+@media screen and (min-width: 64em) {
+ .hide-for-large {
+ display: none !important; } }
+
+@media screen and (max-width: 63.9375em) {
+ .show-for-large {
+ display: none !important; } }
+
+@media screen and (min-width: 64em) and (max-width: 74.9375em) {
+ .hide-for-large-only {
+ display: none !important; } }
+
+@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
+ .show-for-large-only {
+ display: none !important; } }
+
+.show-for-sr,
+.show-on-focus {
+ position: absolute !important;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0); }
+
+.show-on-focus:active, .show-on-focus:focus {
+ position: static !important;
+ height: auto;
+ width: auto;
+ overflow: visible;
+ clip: auto; }
+
+.show-for-landscape,
+.hide-for-portrait {
+ display: block !important; }
+ @media screen and (orientation: landscape) {
+ .show-for-landscape,
+ .hide-for-portrait {
+ display: block !important; } }
+ @media screen and (orientation: portrait) {
+ .show-for-landscape,
+ .hide-for-portrait {
+ display: none !important; } }
+
+.hide-for-landscape,
+.show-for-portrait {
+ display: none !important; }
+ @media screen and (orientation: landscape) {
+ .hide-for-landscape,
+ .show-for-portrait {
+ display: none !important; } }
+ @media screen and (orientation: portrait) {
+ .hide-for-landscape,
+ .show-for-portrait {
+ display: block !important; } }
+
+.float-left {
+ float: left !important; }
+
+.float-right {
+ float: right !important; }
+
+.float-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto; }
+
+.clearfix::before, .clearfix::after {
+ content: ' ';
+ display: table; }
+
+.clearfix::after {
+ clear: both; }
+
+.slide-in-down.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: translateY(-100%);
+ -ms-transform: translateY(-100%);
+ transform: translateY(-100%);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-in-down.mui-enter.mui-enter-active {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ transform: translateY(0); }
+
+.slide-in-left.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: translateX(-100%);
+ -ms-transform: translateX(-100%);
+ transform: translateX(-100%);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-in-left.mui-enter.mui-enter-active {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0); }
+
+.slide-in-up.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: translateY(100%);
+ -ms-transform: translateY(100%);
+ transform: translateY(100%);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-in-up.mui-enter.mui-enter-active {
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ transform: translateY(0); }
+
+.slide-in-right.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: translateX(100%);
+ -ms-transform: translateX(100%);
+ transform: translateX(100%);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-in-right.mui-enter.mui-enter-active {
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0); }
+
+.slide-out-down.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ transform: translateY(0);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-out-down.mui-leave.mui-leave-active {
+ -webkit-transform: translateY(100%);
+ -ms-transform: translateY(100%);
+ transform: translateY(100%); }
+
+.slide-out-right.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-out-right.mui-leave.mui-leave-active {
+ -webkit-transform: translateX(100%);
+ -ms-transform: translateX(100%);
+ transform: translateX(100%); }
+
+.slide-out-up.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: translateY(0);
+ -ms-transform: translateY(0);
+ transform: translateY(0);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-out-up.mui-leave.mui-leave-active {
+ -webkit-transform: translateY(-100%);
+ -ms-transform: translateY(-100%);
+ transform: translateY(-100%); }
+
+.slide-out-left.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden; }
+
+.slide-out-left.mui-leave.mui-leave-active {
+ -webkit-transform: translateX(-100%);
+ -ms-transform: translateX(-100%);
+ transform: translateX(-100%); }
+
+.fade-in.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ opacity: 0;
+ transition-property: opacity; }
+
+.fade-in.mui-enter.mui-enter-active {
+ opacity: 1; }
+
+.fade-out.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ opacity: 1;
+ transition-property: opacity; }
+
+.fade-out.mui-leave.mui-leave-active {
+ opacity: 0; }
+
+.hinge-in-from-top.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotateX(-90deg);
+ transform: perspective(2000px) rotateX(-90deg);
+ -webkit-transform-origin: top;
+ -ms-transform-origin: top;
+ transform-origin: top;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-top.mui-enter.mui-enter-active {
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-right.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotateY(-90deg);
+ transform: perspective(2000px) rotateY(-90deg);
+ -webkit-transform-origin: right;
+ -ms-transform-origin: right;
+ transform-origin: right;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-right.mui-enter.mui-enter-active {
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-bottom.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotateX(90deg);
+ transform: perspective(2000px) rotateX(90deg);
+ -webkit-transform-origin: bottom;
+ -ms-transform-origin: bottom;
+ transform-origin: bottom;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-bottom.mui-enter.mui-enter-active {
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-left.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotateY(90deg);
+ transform: perspective(2000px) rotateY(90deg);
+ -webkit-transform-origin: left;
+ -ms-transform-origin: left;
+ transform-origin: left;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-left.mui-enter.mui-enter-active {
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-middle-x.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotateX(-90deg);
+ transform: perspective(2000px) rotateX(-90deg);
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-middle-x.mui-enter.mui-enter-active {
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-in-from-middle-y.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotateY(-90deg);
+ transform: perspective(2000px) rotateY(-90deg);
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.hinge-in-from-middle-y.mui-enter.mui-enter-active {
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ opacity: 1; }
+
+.hinge-out-from-top.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ -webkit-transform-origin: top;
+ -ms-transform-origin: top;
+ transform-origin: top;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-top.mui-leave.mui-leave-active {
+ -webkit-transform: perspective(2000px) rotateX(-90deg);
+ transform: perspective(2000px) rotateX(-90deg);
+ opacity: 0; }
+
+.hinge-out-from-right.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ -webkit-transform-origin: right;
+ -ms-transform-origin: right;
+ transform-origin: right;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-right.mui-leave.mui-leave-active {
+ -webkit-transform: perspective(2000px) rotateY(-90deg);
+ transform: perspective(2000px) rotateY(-90deg);
+ opacity: 0; }
+
+.hinge-out-from-bottom.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ -webkit-transform-origin: bottom;
+ -ms-transform-origin: bottom;
+ transform-origin: bottom;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-bottom.mui-leave.mui-leave-active {
+ -webkit-transform: perspective(2000px) rotateX(90deg);
+ transform: perspective(2000px) rotateX(90deg);
+ opacity: 0; }
+
+.hinge-out-from-left.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ -webkit-transform-origin: left;
+ -ms-transform-origin: left;
+ transform-origin: left;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-left.mui-leave.mui-leave-active {
+ -webkit-transform: perspective(2000px) rotateY(90deg);
+ transform: perspective(2000px) rotateY(90deg);
+ opacity: 0; }
+
+.hinge-out-from-middle-x.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-middle-x.mui-leave.mui-leave-active {
+ -webkit-transform: perspective(2000px) rotateX(-90deg);
+ transform: perspective(2000px) rotateX(-90deg);
+ opacity: 0; }
+
+.hinge-out-from-middle-y.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: perspective(2000px) rotate(0deg);
+ transform: perspective(2000px) rotate(0deg);
+ -webkit-transform-origin: center;
+ -ms-transform-origin: center;
+ transform-origin: center;
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.hinge-out-from-middle-y.mui-leave.mui-leave-active {
+ -webkit-transform: perspective(2000px) rotateY(-90deg);
+ transform: perspective(2000px) rotateY(-90deg);
+ opacity: 0; }
+
+.scale-in-up.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: scale(0.5);
+ -ms-transform: scale(0.5);
+ transform: scale(0.5);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.scale-in-up.mui-enter.mui-enter-active {
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; }
+
+.scale-in-down.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: scale(1.5);
+ -ms-transform: scale(1.5);
+ transform: scale(1.5);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.scale-in-down.mui-enter.mui-enter-active {
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+ opacity: 1; }
+
+.scale-out-up.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.scale-out-up.mui-leave.mui-leave-active {
+ -webkit-transform: scale(1.5);
+ -ms-transform: scale(1.5);
+ transform: scale(1.5);
+ opacity: 0; }
+
+.scale-out-down.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.scale-out-down.mui-leave.mui-leave-active {
+ -webkit-transform: scale(0.5);
+ -ms-transform: scale(0.5);
+ transform: scale(0.5);
+ opacity: 0; }
+
+.spin-in.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: rotate(-0.75turn);
+ -ms-transform: rotate(-0.75turn);
+ transform: rotate(-0.75turn);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.spin-in.mui-enter.mui-enter-active {
+ -webkit-transform: rotate(0);
+ -ms-transform: rotate(0);
+ transform: rotate(0);
+ opacity: 1; }
+
+.spin-out.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: rotate(0);
+ -ms-transform: rotate(0);
+ transform: rotate(0);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.spin-out.mui-leave.mui-leave-active {
+ -webkit-transform: rotate(0.75turn);
+ -ms-transform: rotate(0.75turn);
+ transform: rotate(0.75turn);
+ opacity: 0; }
+
+.spin-in-ccw.mui-enter {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: rotate(0.75turn);
+ -ms-transform: rotate(0.75turn);
+ transform: rotate(0.75turn);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 0; }
+
+.spin-in-ccw.mui-enter.mui-enter-active {
+ -webkit-transform: rotate(0);
+ -ms-transform: rotate(0);
+ transform: rotate(0);
+ opacity: 1; }
+
+.spin-out-ccw.mui-leave {
+ transition-duration: 500ms;
+ transition-timing-function: linear;
+ -webkit-transform: rotate(0);
+ -ms-transform: rotate(0);
+ transform: rotate(0);
+ transition-property: -webkit-transform, opacity;
+ transition-property: transform, opacity;
+ opacity: 1; }
+
+.spin-out-ccw.mui-leave.mui-leave-active {
+ -webkit-transform: rotate(-0.75turn);
+ -ms-transform: rotate(-0.75turn);
+ transform: rotate(-0.75turn);
+ opacity: 0; }
+
+.slow {
+ transition-duration: 750ms !important; }
+
+.fast {
+ transition-duration: 250ms !important; }
+
+.linear {
+ transition-timing-function: linear !important; }
+
+.ease {
+ transition-timing-function: ease !important; }
+
+.ease-in {
+ transition-timing-function: ease-in !important; }
+
+.ease-out {
+ transition-timing-function: ease-out !important; }
+
+.ease-in-out {
+ transition-timing-function: ease-in-out !important; }
+
+.bounce-in {
+ transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }
+
+.bounce-out {
+ transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }
+
+.bounce-in-out {
+ transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }
+
+.short-delay {
+ transition-delay: 300ms !important; }
+
+.long-delay {
+ transition-delay: 700ms !important; }
+
+.shake {
+ -webkit-animation-name: shake-7;
+ animation-name: shake-7; }
+
+@-webkit-keyframes shake-7 {
+ 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
+ -webkit-transform: translateX(7%);
+ transform: translateX(7%); }
+ 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
+ -webkit-transform: translateX(-7%);
+ transform: translateX(-7%); } }
+
+@keyframes shake-7 {
+ 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
+ -webkit-transform: translateX(7%);
+ transform: translateX(7%); }
+ 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
+ -webkit-transform: translateX(-7%);
+ transform: translateX(-7%); } }
+
+.spin-cw {
+ -webkit-animation-name: spin-cw-1turn;
+ animation-name: spin-cw-1turn; }
+
+@-webkit-keyframes spin-cw-1turn {
+ 0% {
+ -webkit-transform: rotate(-1turn);
+ transform: rotate(-1turn); }
+ 100% {
+ -webkit-transform: rotate(0);
+ transform: rotate(0); } }
+
+@keyframes spin-cw-1turn {
+ 0% {
+ -webkit-transform: rotate(-1turn);
+ transform: rotate(-1turn); }
+ 100% {
+ -webkit-transform: rotate(0);
+ transform: rotate(0); } }
+
+.spin-ccw {
+ -webkit-animation-name: spin-cw-1turn;
+ animation-name: spin-cw-1turn; }
+
+@keyframes spin-cw-1turn {
+ 0% {
+ -webkit-transform: rotate(0);
+ transform: rotate(0); }
+ 100% {
+ -webkit-transform: rotate(1turn);
+ transform: rotate(1turn); } }
+
+.wiggle {
+ -webkit-animation-name: wiggle-7deg;
+ animation-name: wiggle-7deg; }
+
+@-webkit-keyframes wiggle-7deg {
+ 40%, 50%, 60% {
+ -webkit-transform: rotate(7deg);
+ transform: rotate(7deg); }
+ 35%, 45%, 55%, 65% {
+ -webkit-transform: rotate(-7deg);
+ transform: rotate(-7deg); }
+ 0%, 30%, 70%, 100% {
+ -webkit-transform: rotate(0);
+ transform: rotate(0); } }
+
+@keyframes wiggle-7deg {
+ 40%, 50%, 60% {
+ -webkit-transform: rotate(7deg);
+ transform: rotate(7deg); }
+ 35%, 45%, 55%, 65% {
+ -webkit-transform: rotate(-7deg);
+ transform: rotate(-7deg); }
+ 0%, 30%, 70%, 100% {
+ -webkit-transform: rotate(0);
+ transform: rotate(0); } }
+
+.shake,
+.spin-cw,
+.spin-ccw,
+.wiggle {
+ -webkit-animation-duration: 500ms;
+ animation-duration: 500ms; }
+
+.infinite {
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite; }
+
+.slow {
+ -webkit-animation-duration: 750ms !important;
+ animation-duration: 750ms !important; }
+
+.fast {
+ -webkit-animation-duration: 250ms !important;
+ animation-duration: 250ms !important; }
+
+.linear {
+ -webkit-animation-timing-function: linear !important;
+ animation-timing-function: linear !important; }
+
+.ease {
+ -webkit-animation-timing-function: ease !important;
+ animation-timing-function: ease !important; }
+
+.ease-in {
+ -webkit-animation-timing-function: ease-in !important;
+ animation-timing-function: ease-in !important; }
+
+.ease-out {
+ -webkit-animation-timing-function: ease-out !important;
+ animation-timing-function: ease-out !important; }
+
+.ease-in-out {
+ -webkit-animation-timing-function: ease-in-out !important;
+ animation-timing-function: ease-in-out !important; }
+
+.bounce-in {
+ -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
+ animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }
+
+.bounce-out {
+ -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
+ animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }
+
+.bounce-in-out {
+ -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
+ animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }
+
+.short-delay {
+ -webkit-animation-delay: 300ms !important;
+ animation-delay: 300ms !important; }
+
+.long-delay {
+ -webkit-animation-delay: 700ms !important;
+ animation-delay: 700ms !important; }
diff --git a/output/css/foundation.min.css b/output/css/foundation.min.css
new file mode 100644
index 0000000..43418f7
--- /dev/null
+++ b/output/css/foundation.min.css
@@ -0,0 +1,2 @@
+@charset "UTF-8";
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[ti [...]
diff --git a/output/css/headerlink.css b/output/css/headerlink.css
new file mode 100644
index 0000000..c7e11d2
--- /dev/null
+++ b/output/css/headerlink.css
@@ -0,0 +1,16 @@
+/*
+* Hide class="elementid-permalink", except when an enclosing heading
+* has the :hover property.
+*/
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h1:hover > .headerlink,
+h2:hover > .headerlink,
+h3:hover > .headerlink,
+h4:hover > .headerlink,
+h5:hover > .headerlink,
+h6:hover > .headerlink,
+dt:hover > .elementid-permalink {
+ visibility: visible
+}
diff --git a/output/css/webfonts/fa-brands-400.ttf b/output/css/webfonts/fa-brands-400.ttf
new file mode 100644
index 0000000..502f362
Binary files /dev/null and b/output/css/webfonts/fa-brands-400.ttf differ
diff --git a/output/css/webfonts/fa-brands-400.woff2 b/output/css/webfonts/fa-brands-400.woff2
new file mode 100644
index 0000000..d801b51
Binary files /dev/null and b/output/css/webfonts/fa-brands-400.woff2 differ
diff --git a/output/css/webfonts/fa-regular-400.ttf b/output/css/webfonts/fa-regular-400.ttf
new file mode 100644
index 0000000..e0abe27
Binary files /dev/null and b/output/css/webfonts/fa-regular-400.ttf differ
diff --git a/output/css/webfonts/fa-regular-400.woff2 b/output/css/webfonts/fa-regular-400.woff2
new file mode 100644
index 0000000..d736e4b
Binary files /dev/null and b/output/css/webfonts/fa-regular-400.woff2 differ
diff --git a/output/css/webfonts/fa-solid-900.ttf b/output/css/webfonts/fa-solid-900.ttf
new file mode 100644
index 0000000..13c9489
Binary files /dev/null and b/output/css/webfonts/fa-solid-900.ttf differ
diff --git a/output/css/webfonts/fa-solid-900.woff2 b/output/css/webfonts/fa-solid-900.woff2
new file mode 100644
index 0000000..3516fdb
Binary files /dev/null and b/output/css/webfonts/fa-solid-900.woff2 differ
diff --git a/output/css/webfonts/fa-v4compatibility.ttf b/output/css/webfonts/fa-v4compatibility.ttf
new file mode 100644
index 0000000..dc29819
Binary files /dev/null and b/output/css/webfonts/fa-v4compatibility.ttf differ
diff --git a/output/css/webfonts/fa-v4compatibility.woff2 b/output/css/webfonts/fa-v4compatibility.woff2
new file mode 100644
index 0000000..28d46b1
Binary files /dev/null and b/output/css/webfonts/fa-v4compatibility.woff2 differ
diff --git a/output/eu-ai-act.html b/output/eu-ai-act.html
new file mode 100644
index 0000000..b3ba4bd
--- /dev/null
+++ b/output/eu-ai-act.html
@@ -0,0 +1,371 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>EU AI Act and copyright - Apache Responsible AI</title>
+<link rel="icon" href="images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Apache Software Foundation Responsible AI initiative">
+<link href="css/bootstrap.min.css" rel="stylesheet">
+<link href="css/fontawesome.all.min.css" rel="stylesheet">
+<link href="css/headerlink.css" rel="stylesheet">
+<link href="css/app.css" rel="stylesheet">
+<link href="highlight/github.min.css" rel="stylesheet">
+<script src="highlight/highlight.min.js"></script>
+<script src="js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="index.html">
+ <img src="images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+ <div>
+<!-- page contents -->
+<div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>EU AI Act and copyright</h1>
+ <h2>DRAFT DOCUMENT</h2>
+<p><strong>This document is an UNOFFICIAL DRAFT and should not be considered official
+policy. Substantial changes may be made before being published as an official
+policy. Direct any questions to <a href="mailto:discuss@rai.apache.org">discuss@rai.apache.org</a>.</strong></p>
+<h2>The EU AI Act and its impact on Apache projects</h2>
+<p>The European Union's <strong>Artificial Intelligence Act</strong> (Regulation (EU) 2024/1689)
+is the first comprehensive AI law in the world. It has phased into effect over
+time, and as of August 2026, several key provisions are already in force.</p>
+<p>This page summarizes the Act's relevance to the Apache Software Foundation and
+to Apache contributors who use AI tools.</p>
+<h2>The AI Act timeline</h2>
+<p>The Act entered into force on <strong>1 August 2024</strong>. Obligations apply in phases:</p>
+<table>
+<thead>
+<tr>
+<th>Date</th>
+<th>Provision</th>
+<th>Status</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><strong>February 2025</strong></td>
+<td>Prohibited AI practices (Article 5) and AI literacy requirements (Article 4)</td>
+<td>In force</td>
+</tr>
+<tr>
+<td><strong>August 2025</strong></td>
+<td>General-purpose AI (GPAI) model rules (Articles 51–56)</td>
+<td>In force</td>
+</tr>
+<tr>
+<td><strong>2 August 2026</strong></td>
+<td>Transparency obligations (Article 50)</td>
+<td><strong>In force</strong></td>
+</tr>
+<tr>
+<td><strong>2 December 2027</strong></td>
+<td>High-risk system rules (standalone Annex III systems), deferred by the Digital Omnibus Regulation</td>
+<td>Deferred</td>
+</tr>
+<tr>
+<td><strong>2 August 2028</strong></td>
+<td>High-risk systems embedded in regulated products (Annex I), deferred</td>
+<td>Deferred</td>
+</tr></tbody></table>
+<p>The Act also established enforcement powers for the AI Office as of 2 August
+2026.</p>
+<h2>Key transparency rules: Article 50</h2>
+<p>Article 50 is the most relevant provision for Apache contributors. It contains
+transparency obligations for both <strong>providers</strong> (those who build and distribute
+AI systems) and <strong>deployers</strong> (those who use AI systems).</p>
+<h3>What providers must do</h3>
+<p>Providers of generative AI systems must ensure that their outputs (synthetic text,
+images, audio, video) carry effective, <strong>machine-readable marks</strong> so they can be
+detected as AI-generated. There is a transition period until 2 December 2026 for
+systems that were already on the market before 2 August 2026.</p>
+<h3>What deployers must do</h3>
+<p>Deployers (such as an organization that uses a third-party AI service) must:</p>
+<ul>
+<li>Clearly label <strong>deepfakes</strong> — AI-generated or manipulated images, audio, or
+video that resemble real persons, objects, or events and could appear authentic.</li>
+<li>Label <strong>AI-generated or manipulated text</strong> that is published to inform the
+public on matters of public interest (e.g., topics related to politics,
+democracy, public administration, public health), <strong>but only if</strong> the text has
+<strong>not</strong> undergone genuine human review or editorial control, and no natural or
+legal person assumes editorial responsibility for the publication.</li>
+</ul>
+<h3>The human-review exception</h3>
+<p>This is an important exception: if the AI-generated text has gone through genuine
+human review and someone takes editorial responsibility for it, the labeling duty
+does not apply. This exception is central to the Act's design — it targets
+unreviewed AI-generated content that could mislead the public, not every piece of
+AI-assisted writing.</p>
+<p>Artistic, creative, satirical, and fictional works also receive lighter or
+different treatment.</p>
+<h2>Article 50(4): the "public interest text" labeling duty</h2>
+<p>Article 50(4) is the specific paragraph that obligates deployers to label
+AI-generated or manipulated text. The labeling duty applies when <strong>all three</strong>
+of the following conditions are met:</p>
+<ol>
+<li><strong>Published</strong> — the text is made available to the public.</li>
+<li><strong>To inform the public</strong> — the purpose is to inform, not merely to share
+or entertain.</li>
+<li><strong>On a matter of public interest</strong> — this covers politics and democratic
+processes, public administration, justice, fundamental rights, public
+security and health, environment, consumer safety, and economic, financial,
+scientific, or cultural developments that are subjects of public debate.</li>
+</ol>
+<p>These three conditions must <strong>all</strong> be satisfied for the duty to trigger.</p>
+<p><strong>Exception:</strong> The duty does <strong>not</strong> apply if the text has undergone genuine
+human review or editorial control, and a natural or legal person has assumed
+editorial responsibility for the publication.</p>
+<h3>What this means for ASF projects</h3>
+<ul>
+<li><strong>Code, commit messages, PR discussions, issue trackers, technical READMEs,
+API docs, and design docs</strong> are not "informing the public on matters of
+public interest" — they are technical materials, not news-like content on
+politics, democracy, public administration, or similar topics.</li>
+<li><strong>Release notes</strong> about a software release are also not "public interest
+text" in the sense targeted by the Act.</li>
+<li><strong>Blog posts or press releases</strong> on technology policy topics could fall
+closer to the line — but the ASF's normal review process (PMC review,
+committer oversight) would normally satisfy the human-review exception.</li>
+<li><strong>Deepfakes</strong> (AI-generated/manipulated images, audio, or video of real
+persons, objects, or events) require disclosure regardless of whether
+they relate to a public-interest topic.</li>
+</ul>
+<h2>How this applies to the Apache Software Foundation</h2>
+<p>The AI Act has <strong>extraterritorial reach</strong> (Article 2): it applies to non-EU
+providers and deployers if their AI output is used in the EU. Because the ASF is
+a US-based nonprofit with European participants, websites, mailing lists, and
+tools accessed from the EU, some provisions can apply.</p>
+<p>However, for most ordinary ASF activities, the direct compliance burden under the
+transparency provisions is expected to be <strong>low to negligible</strong> for several reasons:</p>
+<ul>
+<li><strong>Most ASF output is software and technical documentation</strong>, not "text published
+to inform the public on matters of public interest" as defined by the Act.</li>
+<li><strong>Source code is explicitly carved out</strong> from the labeling requirements. The
+Commission's guidance on Article 50(2) states that source code (and by extension
+typical code comments and docstrings) is a technical output, not human-facing
+content that risks misleading the public.</li>
+<li><strong>ASF processes involve human review and editorial control</strong> — PMC review,
+committer oversight, and the contribution review process — which normally satisfy
+the human-review exception.</li>
+<li><strong>ASF is a deployer, not a provider</strong> — when ASF or its contributors use
+third-party LLM APIs, the third-party company is the provider of the model.
+ASF is deploying those services, not selling them.</li>
+</ul>
+<h3>Where the AI Act could matter for ASF</h3>
+<p>There are limited scenarios where the AI Act could create obligations:</p>
+<ol>
+<li>
+<p><strong>AI-assisted public-facing text</strong> on topics of public interest (e.g.,
+an AI-drafted blog post about technology policy that is lightly or not
+reviewed) could trigger the labeling duty.</p>
+</li>
+<li>
+<p><strong>Public-facing chatbots or interactive AI assistants</strong> on ASF sites would
+need to disclose when users are interacting with an AI system.</p>
+</li>
+<li>
+<p><strong>Releasing generative AI systems</strong> (not just using one) — if a project
+releases a generative AI model or tool that is made available in the EU,
+provider-side rules could apply.</p>
+</li>
+</ol>
+<h2>The EU AI Act and copyright for contributors</h2>
+<p>For individual Apache contributors using AI tools, the most relevant provisions
+are:</p>
+<ul>
+<li>
+<p><strong>Article 4 (AI literacy):</strong> Organizations deploying AI should ensure their
+staff understand how those systems work. This is a soft obligation — take
+reasonable measures so that people using AI tools understand their capabilities
+and limitations.</p>
+</li>
+<li>
+<p><strong>Article 5 (Prohibited practices):</strong> Already in force. These include practices
+like manipulative or deceptive techniques, exploitative behavior toward
+vulnerable groups, and social scoring. These are unlikely to affect typical
+AI-assisted code contributions but are worth knowing.</p>
+</li>
+<li>
+<p><strong>Source code carve-out:</strong> As noted above, source code is not subject to the
+AI Act's transparency labeling requirements. This means AI-generated code in
+an Apache project is not treated the same way as AI-generated blog posts or
+news articles.</p>
+</li>
+</ul>
+<h2>Bottom line</h2>
+<p>The EU AI Act has partially entered into force. The transparency rules that are
+live (Article 50) have a broad scope but important exceptions — particularly the
+human-review exception and the source-code carve-out — that shield most ordinary
+Apache activities from direct compliance obligations.</p>
+<p>If your project uses AI in a novel way (e.g., a public chatbot, a generative
+AI tool, or AI-drafted public-interest content), those use cases should be
+reviewed against the specific Article 50 criteria.</p>
+<p><em>Back to <a href="best-practices.html">Best practices</a>.</em></p>
+
+ </div>
+ </div>
+</div> <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="about.html">About</a></li>
+ <li><a href="what-we-do.html">What we do</a></li>
+ <li><a href="best-practices.html">Best practices</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </div>
+ </main>
+ <script src="js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/faq.html b/output/faq.html
new file mode 100644
index 0000000..9d17e4d
--- /dev/null
+++ b/output/faq.html
@@ -0,0 +1,218 @@
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>FAQ - Apache Responsible AI</title>
+<link rel="icon" href="images/rai-mark.svg" type="image/svg+xml">
+<link rel="shortcut icon" href="https://apache.org/favicons/favicon.ico">
+<meta name="description" content="The Apache Software Foundation Responsible AI initiative">
+<link href="css/bootstrap.min.css" rel="stylesheet">
+<link href="css/fontawesome.all.min.css" rel="stylesheet">
+<link href="css/headerlink.css" rel="stylesheet">
+<link href="css/app.css" rel="stylesheet">
+<link href="highlight/github.min.css" rel="stylesheet">
+<script src="highlight/highlight.min.js"></script>
+<script src="js/mermaid.min.js"></script>
+<!-- pagefind search -->
+<link href="_pagefind/pagefind-ui.css" rel="stylesheet">
+<script src="_pagefind/pagefind-ui.js"></script>
+<script>
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#pagefind-search", bundlePath: "_pagefind/" });
+ });
+ var pageTitle = '';
+ if(pageTitle === '404'){
+ window.addEventListener('DOMContentLoaded', (event) => {
+ new PagefindUI({ element: "#page-404-search", bundlePath: "_pagefind/" });
+ });
+ }
+</script>
+<script>
+ mermaid.initialize({
+ startOnLoad: true,
+ theme: "default"
+ });
+</script> </head>
+ <body class="d-flex flex-column h-100">
+<!-- nav bar -->
+<nav class="navbar navbar-expand-lg navbar-light rai-nav fixed-top" aria-label="Responsible AI Navigation">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="index.html">
+ <img src="images/rai-mark.svg" alt="" aria-hidden="true">
+ <span>Responsible AI</span>
+ </a>
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarADP">
+ <ul class="navbar-nav me-auto">
+ <li class="nav-item"><a class="nav-link" href="about.html">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="what-we-do.html">What we do</a></li>
+ <li class="nav-item"><a class="nav-link" href="projects.html">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="strategy.html">Strategy</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">Best practices</a>
+ <ul class="dropdown-menu">
+ <li><a class="dropdown-item" href="best-practices.html">Overview</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="ai-generated-code.html">AI-generated code</a></li>
+ <li><a class="dropdown-item" href="commit-messages.html">Commit messages</a></li>
+ <li><a class="dropdown-item" href="authored-by-tags.html">Authored-by tags</a></li>
+ <li><a class="dropdown-item" href="policy-recommendations.html">Policy recommendations</a></li>
+ <li><a class="dropdown-item" href="tool-use-risk.html">Tool-use risk</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="us-copyright-law.html">US copyright law</a></li>
+ <li><a class="dropdown-item" href="eu-ai-act.html">EU AI Act</a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="get-involved.html">Get involved</a></li>
+ <li class="nav-item"><a class="nav-link" href="faq.html">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="whats-new.html">What's
+ New</a></li>
+ <li class="nav-item"><a class="nav-link" href="blog/">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a href="javascript:void(0)" class="nav-link dropdown-toggle hidden-xs" role="button" data-bs-toggle="dropdown"><span class="fa-solid fa-magnifying-glass" aria-hidden="true"></span> Search</a>
+ <ul class="search-form dropdown-menu">
+ <li>
+ <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="navbar-nav align-items-lg-center">
+ <li class="nav-item me-lg-3 my-2 my-lg-0">
+ <a class="rai-support" href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
+ The ASF
+ </a>
+ <ul class="dropdown-menu dropdown-menu-end">
+ <li><a class="dropdown-item" href="https://www.apache.org/">Foundation</a></li>
+ <li><a class="dropdown-item" href="https://github.com/apache/rai-site/">Website repository</a></li>
+ <li><a class="dropdown-item" href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list archive</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><hr class="dropdown-divider"></li>
+ <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
+ <li><a class="dropdown-item" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav> <main class="flex-shrink-0">
+ <div>
+<!-- page contents -->
+<div id="contents">
+ <div class="bg-white rounded">
+ <div class="mx-auto">
+ <h1>FAQ</h1>
+ <h2>What is the Responsible AI initiative?</h2>
+<p>An Apache Software Foundation effort to strengthen the open source technologies that underpin
+modern AI and to help ASF communities adopt AI responsibly. It provides access to AI models and
+tooling, ecosystem support for AI-focused projects, and a place to share good practices. See
+<a href="about.html">About</a>.</p>
+<h2>Who leads it?</h2>
+<p>A <strong>Vice President, Responsible AI</strong>, appointed by the ASF Board. The work itself is open to
+contributors from across the Foundation and the wider community. See <a href="about.html">About</a> for the
+current officeholder.</p>
+<h2>Is the initiative's guidance binding on my project?</h2>
+<p>No. The initiative offers guidance, resources, and shared good practices. Apache projects remain
+self-governing and adopt what is useful to them.</p>
+<h2>What principles guide the responsible use of AI at the ASF?</h2>
+<p>Four core principles — human oversight, licensing integrity, security, and documentation — rooted
+in the ASF philosophy of <em>community over code</em>. They are set out in full on
+<a href="what-we-do.html#guiding-principles">What we do</a>.</p>
+<h2>How can I get involved in a specific area?</h2>
+<p>Volunteers organize around four work streams. Pick one from
+<a href="what-we-do.html#work-streams">What we do</a> and reply on the mailing list to join it.</p>
+<h2>How can I take part or ask a question?</h2>
+<p>Through the mailing list or the ASF Slack channel — both are listed on
+<a href="get-involved.html">Get involved</a>.</p>
+<h2>How can I support the initiative?</h2>
+<p>See <a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a> on
+apache.org.</p>
+<p><em>This FAQ will grow as questions come up on the mailing list.</em></p>
+
+ </div>
+ </div>
+</div> <!-- footer -->
+ <footer class="rai-footer">
+ <div class="rai-footer-inner">
+ <div>
+ <h4>Initiative</h4>
+ <ul>
+ <li><a href="about.html">About</a></li>
+ <li><a href="what-we-do.html">What we do</a></li>
+ <li><a href="best-practices.html">Best practices</a></li>
+ <li><a href="faq.html">FAQ</a></li>
+ <li><a href="blog/">Blog</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Participate</h4>
+ <ul>
+ <li><a href="get-involved.html">Get involved</a></li>
+ <li><a href="https://lists.apache.org/list.html?discuss@rai.apache.org">Mailing list</a></li>
+ <li><a href="https://infra.apache.org/slack.html">ASF Slack</a></li>
+ <li><a href="https://github.com/apache/rai-site">Source repository</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Support</h4>
+ <ul>
+ <li><a href="https://apache.org/foundation/initiatives/responsibleai">Support the initiative</a></li>
+ <li><a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation">Announcement</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ </ul>
+ </div>
+ <div>
+ <h4>Foundation</h4>
+ <ul>
+ <li><a href="https://www.apache.org/">apache.org</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="https://www.apache.org/security/">Security</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="rai-legal">
+ Copyright 2026, <a href="https://www.apache.org/">The Apache Software Foundation</a>, licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+ Apache® and the Apache logo are trademarks or registered trademarks of The Apache Software Foundation.
+ </div>
+ </footer> </div>
+ </main>
+ <script src="js/bootstrap.bundle.min.js" integrity="sha384-TYMA+uAx4f43rilxPIhmlqA+Vi+xbyMe+YVR3BcL15NyHLqd+7WYNtyBPdayiOPx"></script>
+ <script>
+ document.addEventListener("DOMContentLoaded", () => {
+ function decodeHtmlEntities(str) {
+ const txt = document.createElement("textarea");
+ txt.innerHTML = str;
+ return txt.value;
+ }
+ document.querySelectorAll("pre > code.language-mermaid").forEach((code, i) => {
+ let decoded = decodeHtmlEntities(code.innerHTML);
+ // Normalize whitespace
+ decoded = decoded.replace(/\t/g, " ");
+ decoded = decoded.replace(/^\s*\n/, "").replace(/\n\s*$/, "");
+ const div = document.createElement("div");
+ div.className = "mermaid";
+ div.textContent = decoded;
+ code.parentElement.replaceWith(div);
+ console.log(`=== Mermaid block ${i} ===`);
+ console.log(decoded);
+ });
+ // Mermaid v10+ runs asynchronously
+ mermaid.run({ querySelector: ".mermaid" })
+ .catch(err => {
+ console.error("Mermaid rendering failed:", err);
+ });
+ });
+ </script>
+ <script>hljs.highlightAll();</script> </body>
+</html>
diff --git a/output/feeds/all-en.atom.xml b/output/feeds/all-en.atom.xml
new file mode 100644
index 0000000..c308f22
--- /dev/null
+++ b/output/feeds/all-en.atom.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom"><title>Apache Responsible AI</title><link href="https://rai.apache.org/" rel="alternate"></link><link href="https://rai.apache.org/feeds/all-en.atom.xml" rel="self"></link><id>https://rai.apache.org/</id><updated>2026-10-21T00:00:00+00:00</updated><subtitle></subtitle><entry><title>Responsible AI at Community Over Code, Glasgow</title><link href="https://rai.apache.org/blog/responsible-ai-at-community-over-code-glasgow.html" rel="alternate"></lin [...]
+initiative was there with two sessions on the Monday and a slot in the hackathon room alongside
+them. This is a short account of what we did, what we heard, and what happens next.</p>
+<h2>The hackathon: getting people onto llm.apache.org</h2>
+<p>The RAI hackathon session was built around one practical goal: get committers signed in to
+<a href="https://llm.apache.org">llm.apache.org</a> and making their first model call before they left the
+room.</p>
+<p>LLMAO is the Foundation's LLM gateway. It exists because the alternative &mdash; every project signing
+up for its own provider account and holding its own keys &mdash; scales badly and leaves the Foundation
+with no way to see what is being spent, on whose behalf, or against which model. The gateway gives
+the ASF a single sanctioned path to inference: you authenticate with your Apache identity, you get
+a credential scoped to a project, and the usage is attributed to that project and to you. Projects
+do not need their own vendor relationship to get useful work done, and the Foundation can answer
+for the cost and the policy in one place.</p>
+<p>For anyone who did not make it to Glasgow, the sign-up path is the same one we walked through in
+the room, and the gateway is OpenAI-compatible &mdash; in most cases pointing an existing client at a new
+base URL and key is the whole integration.</p>
+<p>The hackathon ran Monday through Wednesday in the Wee Dram Room, with projects claiming half-day
+slots across the three days. Responsible AI shared the schedule with ASF Tooling, Apache Magpie,
+Apache Sourcelume, Apache Search and a long list of others &mdash; see the
+<a href="https://events.apache.org/events/2026/community-over-code/hackathon.html">hackathon page</a> for how
+the time was carved up.</p>
+<h2>The roundtable: what AI is doing to maintainership</h2>
+<p>The Responsible AI Roundtable put six people on a panel &mdash; David Fisher, Jeff Genender, Holden
+Karau, Andrew Musselman, Jarek Potiuk and Tim Storer &mdash; and opened the floor.</p>
+<p>The questions on the table were the uncomfortable ones rather than the promotional ones:</p>
+<ul>
+<li>How do you attract and keep committers when automated shortcuts are available for the work that
+used to be how people earned their way in?</li>
+<li>What does meritocracy mean under the Apache Way when a contribution's provenance is harder to
+read than it used to be?</li>
+<li>How do you re-engage maintainers staring down a large legacy refactor that a model could attempt
+but not be accountable for?</li>
+<li>What do projects do about the rising volume of automated vulnerability reports and low-quality
+submissions, which cost real maintainer attention whether or not they are valid?</li>
+<li>And underneath all of it: what is the risk to open source innovation if the answer to each of
+these is handled badly?</li>
+</ul>
+<p>These are not questions the initiative is in a position to answer on anyone's behalf, and the
+session was not structured to produce a verdict. It was structured to get the problems stated
+plainly by the people living them, in a room where the Foundation's own tooling people were
+present to hear it.</p>
+<h2>Where the platform actually is</h2>
+<p>The sessions were grounded in work that already exists rather than a roadmap, so it is worth
+saying plainly what runs today and what does not.</p>
+<p><strong>LLMAO</strong> is the gateway described above: metered, attributed model access for Apache projects, at
+<a href="https://llm.apache.org">llm.apache.org</a>.</p>
+<p><strong>Gofannon</strong> is an agent workbench for the Foundation, based on the project of the same name that
+originated at the AI Alliance. It is where agents get built and run, so that a project can get
+useful work done without standing up its own infrastructure.</p>
+<p><strong>Memory</strong> is the newest piece, and the least built. The problem it addresses is that agents start
+every run empty: a scan run this month has no idea what last month's scan found or what the project
+already fixed. Memory gives agents somewhere to write down what is worth keeping and somewhere to
+read what an earlier run learned, with provenance attached so a human can see where a claim came
+from. It is being built at pilot scope, on the services the platform already runs.</p>
+<p>Alongside the platform, Foundation-scale security scanning has continued &mdash; a recent pass covered
+230 repositories across 75 project management committees in three days. The results of that work
+are what the memory pilot is being tested against first.</p>
+<p>Two adjacent projects came up repeatedly in the hallway track as well:
+<a href="../projects.html">Apache Magpie</a>, agent-assisted infrastructure for maintaining open source
+repositories, and <a href="../projects.html">Apache Sourcelume</a>, instrumentation for tracking the provenance
+of AI training data.</p>
+<h2>Coming up: FeatherCast</h2>
+<p>We recorded with <a href="https://feathercast.apache.org/">FeatherCast</a>, the ASF's podcast, while we were
+in Glasgow. The episode is not out yet &mdash; we will link it here and on
+<a href="../whats-new.html">What's New</a> when it lands.</p>
+<h2>Getting involved</h2>
+<p>The initiative does its work in public and the easiest way in is to show up on the list.</p>
+<ul>
+<li>Mailing list: <a href="https://lists.apache.org/list.html?discuss@rai.apache.org">discuss@rai.apache.org</a></li>
+<li>ASF Slack: <code>#rai-discuss</code></li>
+<li>The gateway: <a href="https://llm.apache.org">llm.apache.org</a></li>
+<li>More ways in: <a href="../get-involved.html">Get involved</a></li>
+</ul>
+<!--
+ TO FILL IN BEFORE PUBLISHING — things only someone who was in the room knows:
+ * Hackathon: how many people signed up for gateway access, which projects,
+ anything notable that got built or unblocked in the session.
+ * Roundtable: the two or three points that actually landed with the room,
+ and anything the audience raised that we had not anticipated.
+ * FeatherCast: host, recording date, and the episode link once published.
+ * Photos: the ASF blog recap will have some; add one or two here if useful
+ (put files in content/images/ and reference them as ../images/<name>).
+ Everything else on this page is checkable against the sources linked above.
+-->
+</content><category term="blog"></category></entry></feed>
\ No newline at end of file
diff --git a/output/feeds/blog.atom.xml b/output/feeds/blog.atom.xml
new file mode 100644
index 0000000..9f39081
--- /dev/null
+++ b/output/feeds/blog.atom.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom"><title>Apache Responsible AI - blog</title><link href="https://rai.apache.org/" rel="alternate"></link><link href="https://rai.apache.org/feeds/blog.atom.xml" rel="self"></link><id>https://rai.apache.org/</id><updated>2026-10-21T00:00:00+00:00</updated><subtitle></subtitle><entry><title>Responsible AI at Community Over Code, Glasgow</title><link href="https://rai.apache.org/blog/responsible-ai-at-community-over-code-glasgow.html" rel="alternate"> [...]
+initiative was there with two sessions on the Monday and a slot in the hackathon room alongside
+them. This is a short account of what we did, what we heard, and what happens next.</p>
+<h2>The hackathon: getting people onto llm.apache.org</h2>
+<p>The RAI hackathon session was built around one practical goal: get committers signed in to
+<a href="https://llm.apache.org">llm.apache.org</a> and making their first model call before they left the
+room.</p>
+<p>LLMAO is the Foundation's LLM gateway. It exists because the alternative &mdash; every project signing
+up for its own provider account and holding its own keys &mdash; scales badly and leaves the Foundation
+with no way to see what is being spent, on whose behalf, or against which model. The gateway gives
+the ASF a single sanctioned path to inference: you authenticate with your Apache identity, you get
+a credential scoped to a project, and the usage is attributed to that project and to you. Projects
+do not need their own vendor relationship to get useful work done, and the Foundation can answer
+for the cost and the policy in one place.</p>
+<p>For anyone who did not make it to Glasgow, the sign-up path is the same one we walked through in
+the room, and the gateway is OpenAI-compatible &mdash; in most cases pointing an existing client at a new
+base URL and key is the whole integration.</p>
+<p>The hackathon ran Monday through Wednesday in the Wee Dram Room, with projects claiming half-day
+slots across the three days. Responsible AI shared the schedule with ASF Tooling, Apache Magpie,
+Apache Sourcelume, Apache Search and a long list of others &mdash; see the
+<a href="https://events.apache.org/events/2026/community-over-code/hackathon.html">hackathon page</a> for how
+the time was carved up.</p>
+<h2>The roundtable: what AI is doing to maintainership</h2>
+<p>The Responsible AI Roundtable put six people on a panel &mdash; David Fisher, Jeff Genender, Holden
+Karau, Andrew Musselman, Jarek Potiuk and Tim Storer &mdash; and opened the floor.</p>
+<p>The questions on the table were the uncomfortable ones rather than the promotional ones:</p>
+<ul>
+<li>How do you attract and keep committers when automated shortcuts are available for the work that
+used to be how people earned their way in?</li>
+<li>What does meritocracy mean under the Apache Way when a contribution's provenance is harder to
+read than it used to be?</li>
+<li>How do you re-engage maintainers staring down a large legacy refactor that a model could attempt
+but not be accountable for?</li>
+<li>What do projects do about the rising volume of automated vulnerability reports and low-quality
+submissions, which cost real maintainer attention whether or not they are valid?</li>
+<li>And underneath all of it: what is the risk to open source innovation if the answer to each of
+these is handled badly?</li>
+</ul>
+<p>These are not questions the initiative is in a position to answer on anyone's behalf, and the
+session was not structured to produce a verdict. It was structured to get the problems stated
+plainly by the people living them, in a room where the Foundation's own tooling people were
+present to hear it.</p>
+<h2>Where the platform actually is</h2>
+<p>The sessions were grounded in work that already exists rather than a roadmap, so it is worth
+saying plainly what runs today and what does not.</p>
+<p><strong>LLMAO</strong> is the gateway described above: metered, attributed model access for Apache projects, at
+<a href="https://llm.apache.org">llm.apache.org</a>.</p>
+<p><strong>Gofannon</strong> is an agent workbench for the Foundation, based on the project of the same name that
+originated at the AI Alliance. It is where agents get built and run, so that a project can get
+useful work done without standing up its own infrastructure.</p>
+<p><strong>Memory</strong> is the newest piece, and the least built. The problem it addresses is that agents start
+every run empty: a scan run this month has no idea what last month's scan found or what the project
+already fixed. Memory gives agents somewhere to write down what is worth keeping and somewhere to
+read what an earlier run learned, with provenance attached so a human can see where a claim came
+from. It is being built at pilot scope, on the services the platform already runs.</p>
+<p>Alongside the platform, Foundation-scale security scanning has continued &mdash; a recent pass covered
+230 repositories across 75 project management committees in three days. The results of that work
+are what the memory pilot is being tested against first.</p>
+<p>Two adjacent projects came up repeatedly in the hallway track as well:
+<a href="../projects.html">Apache Magpie</a>, agent-assisted infrastructure for maintaining open source
+repositories, and <a href="../projects.html">Apache Sourcelume</a>, instrumentation for tracking the provenance
+of AI training data.</p>
+<h2>Coming up: FeatherCast</h2>
+<p>We recorded with <a href="https://feathercast.apache.org/">FeatherCast</a>, the ASF's podcast, while we were
+in Glasgow. The episode is not out yet &mdash; we will link it here and on
+<a href="../whats-new.html">What's New</a> when it lands.</p>
+<h2>Getting involved</h2>
+<p>The initiative does its work in public and the easiest way in is to show up on the list.</p>
+<ul>
+<li>Mailing list: <a href="https://lists.apache.org/list.html?discuss@rai.apache.org">discuss@rai.apache.org</a></li>
+<li>ASF Slack: <code>#rai-discuss</code></li>
+<li>The gateway: <a href="https://llm.apache.org">llm.apache.org</a></li>
+<li>More ways in: <a href="../get-involved.html">Get involved</a></li>
+</ul>
+<!--
+ TO FILL IN BEFORE PUBLISHING — things only someone who was in the room knows:
+ * Hackathon: how many people signed up for gateway access, which projects,
+ anything notable that got built or unblocked in the session.
+ * Roundtable: the two or three points that actually landed with the room,
+ and anything the audience raised that we had not anticipated.
+ * FeatherCast: host, recording date, and the episode link once published.
+ * Photos: the ASF blog recap will have some; add one or two here if useful
+ (put files in content/images/ and reference them as ../images/<name>).
+ Everything else on this page is checkable against the sources linked above.
+-->
+</content><category term="blog"></category></entry></feed>
\ No newline at end of file
diff --git a/output/fonts/FontAwesome.otf b/output/fonts/FontAwesome.otf
new file mode 100644
index 0000000..401ec0f
Binary files /dev/null and b/output/fonts/FontAwesome.otf differ
diff --git a/output/fonts/fontawesome-webfont.eot b/output/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000..e9f60ca
Binary files /dev/null and b/output/fonts/fontawesome-webfont.eot differ
diff --git a/output/fonts/fontawesome-webfont.svg b/output/fonts/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/output/fonts/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
+ By ,,,
+Copyright Dave Gandy 2016. All rights reserved.
+</metadata>
+<defs>
+<font id="FontAwesome" horiz-adv-x="1536" >
+ <font-face
+ font-family="FontAwesome"
+ font-weight="400"
+ font-stretch="normal"
+ units-per-em="1792"
+ panose-1="0 0 0 0 0 0 0 0 0 0"
+ ascent="1536"
+ descent="-256"
+ bbox="-1.02083 -256.962 2304.6 1537.02"
+ underline-thickness="0"
+ underline-position="0"
+ unicode-range="U+0020-F500"
+ />
+<missing-glyph horiz-adv-x="896"
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+ <glyph glyph-name=".notdef" horiz-adv-x="896"
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+ <glyph glyph-name=".null" horiz-adv-x="0"
+ />
+ <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597"
+ />
+ <glyph glyph-name="space" unicode=" " horiz-adv-x="448"
+ />
+ <glyph glyph-name="dieresis" unicode="¨" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="copyright" unicode="©" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="registered" unicode="®" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="acute" unicode="´" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="AE" unicode="Æ" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="Oslash" unicode="Ø" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="trademark" unicode="™" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="infinity" unicode="∞" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="notequal" unicode="≠" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="glass" unicode="" horiz-adv-x="1792"
+d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
+ <glyph glyph-name="music" unicode=""
+d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
+t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="search" unicode="" horiz-adv-x="1664"
+d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
+t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+ <glyph glyph-name="envelope" unicode="" horiz-adv-x="1792"
+d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
+t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
+M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="heart" unicode="" horiz-adv-x="1792"
+d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
+q-18 -18 -44 -18z" />
+ <glyph glyph-name="star" unicode="" horiz-adv-x="1664"
+d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
+l502 -73q56 -9 56 -46z" />
+ <glyph glyph-name="star_empty" unicode="" horiz-adv-x="1664"
+d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
+l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
+ <glyph glyph-name="user" unicode="" horiz-adv-x="1280"
+d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
+t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+ <glyph glyph-name="film" unicode="" horiz-adv-x="1920"
+d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
+q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
+t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
+q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
+t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="th_large" unicode="" horiz-adv-x="1664"
+d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
+h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+ <glyph glyph-name="th" unicode="" horiz-adv-x="1792"
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="th_list" unicode="" horiz-adv-x="1792"
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="ok" unicode="" horiz-adv-x="1792"
+d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
+ <glyph glyph-name="remove" unicode="" horiz-adv-x="1408"
+d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
+t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
+ <glyph glyph-name="zoom_in" unicode="" horiz-adv-x="1664"
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
+q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
+t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+ <glyph glyph-name="zoom_out" unicode="" horiz-adv-x="1664"
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
+M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
+" />
+ <glyph glyph-name="off" unicode=""
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
+t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
+ <glyph glyph-name="signal" unicode="" horiz-adv-x="1792"
+d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
+ <glyph glyph-name="cog" unicode=""
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
+q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
+l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
+q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
+ <glyph glyph-name="trash" unicode="" horiz-adv-x="1408"
+d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
+q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+ <glyph glyph-name="home" unicode="" horiz-adv-x="1664"
+d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
+l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
+ <glyph glyph-name="file_alt" unicode=""
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+" />
+ <glyph glyph-name="time" unicode=""
+d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="road" unicode="" horiz-adv-x="1920"
+d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
+q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
+ <glyph glyph-name="download_alt" unicode="" horiz-adv-x="1664"
+d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
+q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
+ <glyph glyph-name="download" unicode=""
+d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
+t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="upload" unicode=""
+d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
+t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="inbox" unicode=""
+d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
+q25 -61 25 -123z" />
+ <glyph glyph-name="play_circle" unicode=""
+d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="repeat" unicode=""
+d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
+l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
+ <glyph glyph-name="refresh" unicode=""
+d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
+q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
+q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
+ <glyph glyph-name="list_alt" unicode="" horiz-adv-x="1792"
+d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
+M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
+t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
+t47 -113z" />
+ <glyph glyph-name="lock" unicode="" horiz-adv-x="1152"
+d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="flag" unicode="" horiz-adv-x="1792"
+d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
+t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="headphones" unicode="" horiz-adv-x="1664"
+d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
+t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
+t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
+ <glyph glyph-name="volume_off" unicode="" horiz-adv-x="768"
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
+ <glyph glyph-name="volume_down" unicode="" horiz-adv-x="1152"
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
+ <glyph glyph-name="volume_up" unicode="" horiz-adv-x="1664"
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
+t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
+t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
+ <glyph glyph-name="qrcode" unicode="" horiz-adv-x="1408"
+d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
+M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
+ <glyph glyph-name="barcode" unicode="" horiz-adv-x="1792"
+d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
+M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
+ <glyph glyph-name="tag" unicode=""
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91z" />
+ <glyph glyph-name="tags" unicode="" horiz-adv-x="1920"
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
+ <glyph glyph-name="book" unicode="" horiz-adv-x="1664"
+d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
+q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
+q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
+t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
+ <glyph glyph-name="bookmark" unicode="" horiz-adv-x="1280"
+d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+ <glyph glyph-name="print" unicode="" horiz-adv-x="1664"
+d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
+v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
+ <glyph glyph-name="camera" unicode="" horiz-adv-x="1920"
+d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
+q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+ <glyph glyph-name="font" unicode="" horiz-adv-x="1664"
+d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
+q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
+q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
+ <glyph glyph-name="bold" unicode="" horiz-adv-x="1408"
+d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
+q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
+t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
+t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
+ <glyph glyph-name="italic" unicode="" horiz-adv-x="1024"
+d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
+q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
+ <glyph glyph-name="text_height" unicode="" horiz-adv-x="1792"
+d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
+t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
+q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
+ <glyph glyph-name="text_width" unicode=""
+d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
+t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
+t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
+t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
+ <glyph glyph-name="align_left" unicode="" horiz-adv-x="1792"
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="align_center" unicode="" horiz-adv-x="1792"
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
+h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="align_right" unicode="" horiz-adv-x="1792"
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="align_justify" unicode="" horiz-adv-x="1792"
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="list" unicode="" horiz-adv-x="1792"
+d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
+t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
+q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
+q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
+ <glyph glyph-name="indent_left" unicode="" horiz-adv-x="1792"
+d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+ <glyph glyph-name="indent_right" unicode="" horiz-adv-x="1792"
+d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+ <glyph glyph-name="facetime_video" unicode="" horiz-adv-x="1792"
+d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
+q39 -17 39 -59z" />
+ <glyph glyph-name="picture" unicode="" horiz-adv-x="1920"
+d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
+q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="pencil" unicode=""
+d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
+q53 0 91 -38l235 -234q37 -39 37 -91z" />
+ <glyph glyph-name="map_marker" unicode="" horiz-adv-x="1024"
+d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
+ <glyph glyph-name="adjust" unicode=""
+d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="tint" unicode="" horiz-adv-x="1024"
+d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
+q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
+ <glyph glyph-name="edit" unicode="" horiz-adv-x="1792"
+d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
+l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
+ <glyph glyph-name="share" unicode="" horiz-adv-x="1664"
+d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
+q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
+t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
+ <glyph glyph-name="check" unicode="" horiz-adv-x="1664"
+d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
+q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
+q24 -24 24 -57t-24 -57z" />
+ <glyph glyph-name="move" unicode="" horiz-adv-x="1792"
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
+t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+ <glyph glyph-name="step_backward" unicode="" horiz-adv-x="1024"
+d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
+ <glyph glyph-name="fast_backward" unicode="" horiz-adv-x="1792"
+d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
+q19 19 32 13t13 -32v-710q4 10 13 19z" />
+ <glyph glyph-name="backward" unicode="" horiz-adv-x="1664"
+d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
+ <glyph glyph-name="play" unicode="" horiz-adv-x="1408"
+d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
+ <glyph glyph-name="pause" unicode=""
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="stop" unicode=""
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="forward" unicode="" horiz-adv-x="1664"
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+ <glyph glyph-name="fast_forward" unicode="" horiz-adv-x="1792"
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
+q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+ <glyph glyph-name="step_forward" unicode="" horiz-adv-x="1024"
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
+ <glyph glyph-name="eject" unicode="" horiz-adv-x="1538"
+d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
+ <glyph glyph-name="chevron_left" unicode="" horiz-adv-x="1280"
+d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
+ <glyph glyph-name="chevron_right" unicode="" horiz-adv-x="1280"
+d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
+ <glyph glyph-name="plus_sign" unicode=""
+d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
+t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="minus_sign" unicode=""
+d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+ <glyph glyph-name="remove_sign" unicode=""
+d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
+q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="ok_sign" unicode=""
+d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="question_sign" unicode=""
+d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
+q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="info_sign" unicode=""
+d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
+t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="screenshot" unicode=""
+d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
+q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
+q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="remove_circle" unicode=""
+d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
+t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="ok_circle" unicode=""
+d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
+t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="ban_circle" unicode=""
+d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
+t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
+ <glyph glyph-name="arrow_left" unicode=""
+d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
+t32.5 -90.5z" />
+ <glyph glyph-name="arrow_right" unicode=""
+d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
+ <glyph glyph-name="arrow_up" unicode="" horiz-adv-x="1664"
+d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
+q37 -39 37 -91z" />
+ <glyph glyph-name="arrow_down" unicode="" horiz-adv-x="1664"
+d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
+ <glyph glyph-name="share_alt" unicode="" horiz-adv-x="1792"
+d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
+t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
+ <glyph glyph-name="resize_full" unicode=""
+d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
+q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="resize_small" unicode=""
+d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
+t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
+ <glyph glyph-name="plus" unicode="" horiz-adv-x="1408"
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="minus" unicode="" horiz-adv-x="1408"
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="asterisk" unicode="" horiz-adv-x="1664"
+d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
+q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
+ <glyph glyph-name="exclamation_sign" unicode=""
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
+q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
+ <glyph glyph-name="gift" unicode=""
+d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
+q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
+t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
+ <glyph glyph-name="leaf" unicode="" horiz-adv-x="1792"
+d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
+q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
+t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
+ <glyph glyph-name="fire" unicode="" horiz-adv-x="1408"
+d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
+q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
+ <glyph glyph-name="eye_open" unicode="" horiz-adv-x="1792"
+d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
+t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
+ <glyph glyph-name="eye_close" unicode="" horiz-adv-x="1792"
+d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
+q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
+q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
+" />
+ <glyph glyph-name="warning_sign" unicode="" horiz-adv-x="1792"
+d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
+q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
+ <glyph glyph-name="plane" unicode="" horiz-adv-x="1408"
+d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
+q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
+ <glyph glyph-name="calendar" unicode="" horiz-adv-x="1664"
+d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
+M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
+q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
+h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+ <glyph glyph-name="random" unicode="" horiz-adv-x="1792"
+d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
+t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
+v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
+t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+ <glyph glyph-name="comment" unicode="" horiz-adv-x="1792"
+d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
+q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
+ <glyph glyph-name="magnet" unicode=""
+d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
+q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="chevron_up" unicode="" horiz-adv-x="1792"
+d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
+ <glyph glyph-name="chevron_down" unicode="" horiz-adv-x="1792"
+d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
+ <glyph glyph-name="retweet" unicode="" horiz-adv-x="1920"
+d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
+zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
+" />
+ <glyph glyph-name="shopping_cart" unicode="" horiz-adv-x="1664"
+d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
+t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="folder_close" unicode="" horiz-adv-x="1664"
+d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+ <glyph glyph-name="folder_open" unicode="" horiz-adv-x="1920"
+d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
+t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
+ <glyph glyph-name="resize_vertical" unicode="" horiz-adv-x="768"
+d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
+ <glyph glyph-name="resize_horizontal" unicode="" horiz-adv-x="1792"
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+ <glyph glyph-name="bar_chart" unicode="" horiz-adv-x="2048"
+d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
+ <glyph glyph-name="twitter_sign" unicode=""
+d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
+q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
+t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="facebook_sign" unicode=""
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960z" />
+ <glyph glyph-name="camera_retro" unicode="" horiz-adv-x="1792"
+d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
+t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
+q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
+ <glyph glyph-name="key" unicode="" horiz-adv-x="1792"
+d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
+l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
+t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
+ <glyph glyph-name="cogs" unicode="" horiz-adv-x="1920"
+d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
+l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
+l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
+q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
+t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
+q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
+q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
+ <glyph glyph-name="comments" unicode="" horiz-adv-x="1792"
+d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
+q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
+q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
+ <glyph glyph-name="thumbs_up_alt" unicode=""
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
+t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
+q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
+q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
+ <glyph glyph-name="thumbs_down_alt" unicode=""
+d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
+t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
+M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
+h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
+ <glyph glyph-name="star_half" unicode="" horiz-adv-x="896"
+d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
+ <glyph glyph-name="heart_empty" unicode="" horiz-adv-x="1792"
+d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
+q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
+q224 0 351 -124t127 -344z" />
+ <glyph glyph-name="signout" unicode="" horiz-adv-x="1664"
+d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
+q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
+ <glyph glyph-name="linkedin_sign" unicode=""
+d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
+q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="pushpin" unicode="" horiz-adv-x="1152"
+d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
+t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
+ <glyph glyph-name="external_link" unicode="" horiz-adv-x="1792"
+d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="signin" unicode=""
+d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
+q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="trophy" unicode="" horiz-adv-x="1664"
+d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
+t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
+q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="github_sign" unicode=""
+d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
+q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
+t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
+q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="upload_alt" unicode="" horiz-adv-x="1664"
+d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
+t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
+ <glyph glyph-name="lemon" unicode=""
+d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
+q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
+q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
+q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
+ <glyph glyph-name="phone" unicode="" horiz-adv-x="1408"
+d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
+q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
+t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
+ <glyph glyph-name="check_empty" unicode="" horiz-adv-x="1408"
+d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="bookmark_empty" unicode="" horiz-adv-x="1280"
+d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
+q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+ <glyph glyph-name="phone_sign" unicode=""
+d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
+t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
+t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
+" />
+ <glyph glyph-name="twitter" unicode="" horiz-adv-x="1664"
+d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
+q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
+ <glyph glyph-name="facebook" unicode="" horiz-adv-x="1024"
+d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
+ <glyph glyph-name="github" unicode=""
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
+q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
+t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
+q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
+M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
+ <glyph glyph-name="unlock" unicode="" horiz-adv-x="1664"
+d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
+t316.5 -131.5t131.5 -316.5z" />
+ <glyph glyph-name="credit_card" unicode="" horiz-adv-x="1920"
+d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
+q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
+ <glyph glyph-name="rss" unicode="" horiz-adv-x="1408"
+d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
+t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
+q187 -186 294 -425.5t120 -501.5z" />
+ <glyph glyph-name="hdd" unicode=""
+d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
+h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
+l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
+ <glyph glyph-name="bullhorn" unicode="" horiz-adv-x="1792"
+d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
+t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
+ <glyph glyph-name="bell" unicode="" horiz-adv-x="1792"
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
+M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
+t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+ <glyph glyph-name="certificate" unicode=""
+d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
+l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
+l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
+ <glyph glyph-name="hand_right" unicode="" horiz-adv-x="1792"
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
+q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
+q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
+t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
+ <glyph glyph-name="hand_left" unicode="" horiz-adv-x="1792"
+d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
+t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
+M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
+q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
+ <glyph glyph-name="hand_up" unicode=""
+d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
+q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
+t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
+q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
+ <glyph glyph-name="hand_down" unicode=""
+d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
+t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
+q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
+q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
+ <glyph glyph-name="circle_arrow_left" unicode=""
+d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="circle_arrow_right" unicode=""
+d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="circle_arrow_up" unicode=""
+d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="circle_arrow_down" unicode=""
+d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="globe" unicode=""
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
+q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
+q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
+q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
+t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
+q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
+q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
+t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
+t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
+q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
+q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
+q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
+t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
+q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
+q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
+ <glyph glyph-name="wrench" unicode="" horiz-adv-x="1664"
+d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
+t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
+ <glyph glyph-name="tasks" unicode="" horiz-adv-x="1792"
+d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
+t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="filter" unicode="" horiz-adv-x="1408"
+d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
+ <glyph glyph-name="briefcase" unicode="" horiz-adv-x="1792"
+d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
+t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="fullscreen" unicode=""
+d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
+l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
+" />
+ <glyph glyph-name="group" unicode="" horiz-adv-x="1920"
+d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
+t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
+t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
... 27413 lines suppressed ...